class MyApp: public wxApp
{
public:
- bool OnInit(void);
+ bool OnInit();
};
// Define a new frame type
class TestGLCanvas;
+
class MyFrame: public wxFrame
{
public:
- MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos,
- const wxSize& size, long style = wxDEFAULT_FRAME_STYLE);
+ static MyFrame *Create(MyFrame *parentFrame, bool isCloneWindow = false);
void OnExit(wxCommandEvent& event);
void OnNewWindow(wxCommandEvent& event);
void OnDefRotateLeftKey(wxCommandEvent& event);
void OnDefRotateRightKey(wxCommandEvent& event);
-
-public:
- TestGLCanvas* m_canvas;
-DECLARE_EVENT_TABLE()
+private:
+
+ MyFrame(wxWindow *parent, const wxString& title, const wxPoint& pos,
+ const wxSize& size, long style = wxDEFAULT_FRAME_STYLE);
+
+
+ TestGLCanvas *m_canvas;
+
+ DECLARE_EVENT_TABLE()
};
#if wxUSE_GLCANVAS
class TestGLCanvas: public wxGLCanvas
{
- friend class MyFrame;
+ friend class MyFrame;
public:
- TestGLCanvas(wxWindow *parent, const wxWindowID id = -1,
- const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
- long style = 0, const wxString& name = _T("TestGLCanvas"));
- TestGLCanvas(wxWindow *parent, const TestGLCanvas &other,
- const wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize, long style = 0,
- const wxString& name = _T("TestGLCanvas") );
-
- ~TestGLCanvas(void);
-
- void OnPaint(wxPaintEvent& event);
- void OnSize(wxSizeEvent& event);
- void OnEraseBackground(wxEraseEvent& event);
- void OnKeyDown(wxKeyEvent& event);
- void OnKeyUp(wxKeyEvent& event);
- void OnEnterWindow( wxMouseEvent& event );
-
- void Render( void );
- void InitGL(void);
- void Rotate( GLfloat deg );
- static GLfloat CalcRotateSpeed( unsigned long acceltime );
- static GLfloat CalcRotateAngle( unsigned long lasttime,
- unsigned long acceltime );
- void Action( long code, unsigned long lasttime,
- unsigned long acceltime );
-
+ TestGLCanvas( wxWindow *parent, wxWindowID id = wxID_ANY,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0, const wxString& name = _T("TestGLCanvas") );
+
+ TestGLCanvas( wxWindow *parent, const TestGLCanvas *other,
+ wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxString& name = _T("TestGLCanvas") );
+
+ ~TestGLCanvas();
+
+ void OnPaint(wxPaintEvent& event);
+ void OnSize(wxSizeEvent& event);
+ void OnEraseBackground(wxEraseEvent& event);
+ void OnKeyDown(wxKeyEvent& event);
+ void OnKeyUp(wxKeyEvent& event);
+ void OnEnterWindow(wxMouseEvent& event);
+
+ void Render();
+ void InitGL();
+ void Rotate(GLfloat deg);
+ static GLfloat CalcRotateSpeed(unsigned long acceltime);
+ static GLfloat CalcRotateAngle( unsigned long lasttime,
+ unsigned long acceltime );
+ void Action( long code, unsigned long lasttime,
+ unsigned long acceltime );
+
private:
- bool m_init;
- GLuint m_gllist;
- long m_rleft;
- long m_rright;
-
- static unsigned long m_secbase;
- static int m_TimeInitialized;
- static unsigned long m_xsynct;
- static unsigned long m_gsynct;
-
- long m_Key;
- unsigned long m_StartTime;
- unsigned long m_LastTime;
- unsigned long m_LastRedraw;
+ bool m_init;
+ GLuint m_gllist;
+ long m_rleft;
+ long m_rright;
+
+ static unsigned long m_secbase;
+ static int m_TimeInitialized;
+ static unsigned long m_xsynct;
+ static unsigned long m_gsynct;
+
+ long m_Key;
+ unsigned long m_StartTime;
+ unsigned long m_LastTime;
+ unsigned long m_LastRedraw;
DECLARE_EVENT_TABLE()
};
-#endif
+#endif // #if wxUSE_GLCANVAS
-#endif
+#endif // #ifndef _WX_CUBE_H_