www.pudn.com > Spere.rar > OpenGL.h


#if !defined(__OPENGL_H__) 
#define		 __OPENGL_H__ 
 
//#include  
//#include  
#include "gl\gl.h" 
#include "gl\glu.h" 
 
 
 
 
 
 
 
class COpenGL 
{ 
public: 
 
 
 
	 
	COpenGL(); 
	~COpenGL() { ; } 
	 
	// OpenGL initialization 
	bool InitOpenGL(HWND hWnd); 
	void DestroyOpenGL(); 
	void OpenGLSize(int cx, int cy); 
 
//	void SetOpenGLTimer(int); 
//	void KillOpenGLTimer(int); 
	void MouseMove(UINT nFlags, POINT point); 
	void LButtonDown(POINT point)	{ m_bLButtonDown = TRUE; m_LDownPos = point; } 
	void LButtonUp(POINT point)		{ m_bLButtonDown = false; } 
 
	// raster font support 
//	void RasterFont(); 
	void PrintString(const char *str); 
 
	void OpenGLRendering(); 
	void DrawBorder(); 
	void DrawAxis(); 
	void DrawLegend(); 
 
//	virtual void OpenGLDrawMap() = 0; 
//	virtual void GDIDrawMap() = 0; 
	virtual void OpenGLDrawBanner(); 
	virtual void GDIDrawBanner(); 
//	virtual void ColorLevel(float level); 
//	virtual void DrawBox() {} 
//	virtual void Legend(RECT& rt) {} 
//	virtual void OpenMaps(unsigned int) {} 
//	virtual void SaveMaps(unsigned int) {} 
 
 
	bool LoadMarkerData(const char* FileName); 
 
	HWND	m_hWnd; 
	HDC		m_hDC; 
	HGLRC	m_hGLContext; 
	GLuint  m_nFontOffset; 
	int     m_nTimerSpeed; 
 
	// Mouse  
	bool	m_bLButtonDown; 
	bool	m_bRButtonDown; 
	bool	m_bDrawNothing; 
	POINT	m_LDownPos; 
	POINT	m_RDownPos; 
	HCURSOR m_CursorRotation; 
	float	m_fC;			// For coordinate transform 
 
	// Position, rotation ,scaling 
	float	m_fDY; 
	float	m_fAngleX; 
	float	m_fAngleY; 
	float	m_fAngleZ; 
 
	float	m_fDelta; 
	int		m_nD; 
	bool	m_bDraw; 
 
private: 
	bool	SetWindowPixelFormat(); 
	bool	CreateViewGLContext(); 
 
	int     m_nWidth; 
	int     m_nHeight; 
	float   m_fDV; 
}; 
 
#endif