mycolorpalettewnd.h
上传用户:shxiangxiu
上传日期:2007-01-03
资源大小:1101k
文件大小:8k
源码类别:

OpenGL

开发平台:

Visual C++

  1. /////////////////////////////////////////////////////////////////////////////
  2. // MyColorPaletteWnd.h : Header file; Defines the class definitions
  3. //
  4. // glOOP (OpenGL Object Oriented Programming library)
  5. // Copyright (c) Craig Fahrnbach 1997, 1999
  6. //
  7. // OpenGL is a registered trademark of Silicon Graphics
  8. //
  9. //
  10. // This program is provided for educational and personal use only and
  11. // is provided without guarantee or warrantee expressed or implied.
  12. //
  13. // Commercial use is strickly prohibited without written permission
  14. // from ImageWare Development.
  15. //
  16. // This program is -not- in the public domain.
  17. //
  18. /////////////////////////////////////////////////////////////////////////////
  19. /////////////////////////////////////////////////////////////////////////////
  20. // Global definitions
  21. #define WM_CPW_LBUTTONDOWN   WM_USER+20
  22. #define WM_CPW_RBUTTONDOWN   WM_USER+21
  23. class CEditColorsDlg;
  24. /////////////////////////////////////////////////////////////////////////////
  25. // CMyglWnd class
  26. class AFX_EXT_CLASS CMyglWnd : public CWnd
  27. {
  28. DECLARE_DYNCREATE(CMyglWnd)
  29. // Operations
  30. public:
  31. // public constructor used by dynamic creation
  32. CMyglWnd();
  33. virtual ~CMyglWnd();
  34. // Overrides
  35. // ClassWizard generated virtual function overrides
  36. //{{AFX_VIRTUAL(CMyglWnd)
  37. public:
  38. virtual BOOL Create(DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext);
  39. protected:
  40. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  41. //}}AFX_VIRTUAL
  42. // Attributes
  43. public:
  44. protected:
  45. C3dCamera m_Camera; // Our windows camera
  46. CClientDC* m_pDC; // Pointer to our Device Context
  47. HGLRC m_hRC; // Handle to our Rendering Context
  48. // Implementation
  49. protected:
  50. // Generated message map functions
  51. //{{AFX_MSG(CMyglWnd)
  52. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  53. afx_msg void OnSize(UINT nType, int cx, int cy);
  54. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  55. afx_msg void OnPaletteChanged(CWnd* pFocusWnd);
  56. afx_msg BOOL OnQueryNewPalette();
  57. afx_msg void OnDestroy();
  58. //}}AFX_MSG
  59. DECLARE_MESSAGE_MAP()
  60. };
  61. /////////////////////////////////////////////////////////////////////////////
  62. /////////////////////////////////////////////////////////////////////////////
  63. class AFX_EXT_CLASS CMyColorPaletteWnd : public CMyglWnd
  64. {
  65. DECLARE_DYNCREATE(CMyColorPaletteWnd)
  66. // Operations
  67. public:
  68. // public constructor used by dynamic creation
  69. CMyColorPaletteWnd();
  70. virtual ~CMyColorPaletteWnd();
  71. // Overrides
  72. // ClassWizard generated virtual function overrides
  73. //{{AFX_VIRTUAL(CMyColorPaletteWnd)
  74. public:
  75. virtual BOOL Create(DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
  76. //}}AFX_VIRTUAL
  77. // Attributes
  78. public:
  79. GLfloat m_fRed; // User selected Red color component
  80. GLfloat m_fGrn; // User selected Green color component
  81. GLfloat m_fBlu; // User selected Blue color component
  82. protected:
  83. // Implementation
  84. protected:
  85. GLfloat Normal360(GLfloat fSource);
  86. void RenderColorCube();
  87. // Generated message map functions
  88. //{{AFX_MSG(CMyColorPaletteWnd)
  89. afx_msg void OnPaint();
  90. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  91. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  92. afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  93. afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
  94. afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
  95. afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
  96. afx_msg void OnDestroy();
  97. afx_msg void OnSize(UINT nType, int cx, int cy);
  98. afx_msg BOOL OnQueryNewPalette();
  99. afx_msg void OnPaletteChanged(CWnd* pFocusWnd);
  100. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  101. //}}AFX_MSG
  102. DECLARE_MESSAGE_MAP()
  103. };
  104. /////////////////////////////////////////////////////////////////////////////
  105. /////////////////////////////////////////////////////////////////////////////
  106. class AFX_EXT_CLASS CMyMaterialWnd : public CMyglWnd
  107. {
  108. DECLARE_DYNCREATE(CMyMaterialWnd)
  109. // Operations
  110. public:
  111. // public constructor used by dynamic creation
  112. CMyMaterialWnd();
  113. virtual ~CMyMaterialWnd();
  114. // Overrides
  115. // ClassWizard generated virtual function overrides
  116. //{{AFX_VIRTUAL(CMyMaterialWnd)
  117. public:
  118. virtual BOOL Create(DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
  119. //}}AFX_VIRTUAL
  120. // Attributes
  121. public:
  122. C3dMaterial* m_pMaterial; // Our objects' material
  123. GLUquadricObj* m_pQuad;
  124. protected:
  125. // Implementation
  126. protected:
  127. void RenderMaterial();
  128. // Generated message map functions
  129. //{{AFX_MSG(CMyMaterialWnd)
  130. afx_msg void OnPaint();
  131. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  132. afx_msg void OnDestroy();
  133. afx_msg void OnSize(UINT nType, int cx, int cy);
  134. afx_msg void OnPaletteChanged(CWnd* pFocusWnd);
  135. afx_msg BOOL OnQueryNewPalette();
  136. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  137. //}}AFX_MSG
  138. DECLARE_MESSAGE_MAP()
  139. };
  140. /////////////////////////////////////////////////////////////////////////////
  141. /////////////////////////////////////////////////////////////////////////////
  142. class AFX_EXT_CLASS CMyTerrainWnd : public CMyglWnd
  143. {
  144. DECLARE_DYNCREATE(CMyTerrainWnd)
  145. // Operations
  146. public:
  147. // public constructor used by dynamic creation
  148. CMyTerrainWnd();
  149. virtual ~CMyTerrainWnd();
  150. // Overrides
  151. // ClassWizard generated virtual function overrides
  152. //{{AFX_VIRTUAL(CMyTerrainWnd)
  153. public:
  154. virtual BOOL Create(DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
  155. //}}AFX_VIRTUAL
  156. // Attributes
  157. public:
  158. C3dObjectTerrain* m_pTerrainObject; // Our terrain preview object
  159. protected:
  160. // Implementation
  161. protected:
  162. void RenderPreviewWnd();
  163. // Generated message map functions
  164. //{{AFX_MSG(CMyTerrainWnd)
  165. afx_msg void OnPaint();
  166. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  167. afx_msg void OnDestroy();
  168. afx_msg void OnSize(UINT nType, int cx, int cy);
  169. afx_msg void OnPaletteChanged(CWnd* pFocusWnd);
  170. afx_msg BOOL OnQueryNewPalette();
  171. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  172. //}}AFX_MSG
  173. DECLARE_MESSAGE_MAP()
  174. };
  175. /////////////////////////////////////////////////////////////////////////////
  176. /////////////////////////////////////////////////////////////////////////////
  177. class AFX_EXT_CLASS CMyCloudWnd : public CMyglWnd
  178. {
  179. DECLARE_DYNCREATE(CMyCloudWnd)
  180. // Operations
  181. public:
  182. // public constructor used by dynamic creation
  183. CMyCloudWnd();
  184. virtual ~CMyCloudWnd();
  185. // Overrides
  186. // ClassWizard generated virtual function overrides
  187. //{{AFX_VIRTUAL(CMyCloudWnd)
  188. public:
  189. virtual BOOL Create(DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
  190. //}}AFX_VIRTUAL
  191. // Attributes
  192. public:
  193. C3dObjectCloud* m_pCloudObject; // Our cloud preview object
  194. protected:
  195. // Implementation
  196. protected:
  197. void RenderPreviewWnd();
  198. // Generated message map functions
  199. //{{AFX_MSG(CMyCloudWnd)
  200. afx_msg void OnPaint();
  201. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  202. afx_msg void OnDestroy();
  203. afx_msg void OnSize(UINT nType, int cx, int cy);
  204. afx_msg void OnPaletteChanged(CWnd* pFocusWnd);
  205. afx_msg BOOL OnQueryNewPalette();
  206. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  207. //}}AFX_MSG
  208. DECLARE_MESSAGE_MAP()
  209. };
  210. /////////////////////////////////////////////////////////////////////////////