#ifndef _VIEW_H_
#define _VIEW_H_

#include "glwindow.h"

class Camera;
class Project;

class View : public GLWindow
{
public:
	View(Project *pProject, GLWindow *share);
	virtual ~View();

	void OnDraw();
	void OnInitialUpdate();
	void OnLeftButtonDown(int x, int y, bool bControl, bool bShift);
	void OnLeftButtonUp(int x, int y, bool bControl, bool bShift);
	void OnLeftButtonDoubleClick(int x, int y, bool bControl, bool bShift);
	void OnMiddleButtonDown(int x, int y, bool bControl, bool bShift);
	void OnMiddleButtonUp(int x, int y, bool bControl, bool bShift);
	void OnRightButtonDown(int x, int y, bool bControl, bool bShift);
	void OnRightButtonUp(int x, int y, bool bControl, bool bShift);
	void OnMouseMove(int x, int y, bool bControl, bool bShift);

	LC_CURSOR_TYPE GetCursor(int x, int y) const;

	Project* m_Project;
	Camera* m_Camera;
	float m_OverlayScale;
};

#endif // _VIEW_H_