]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/glcanvas/samples/cube/cube.h
after a seek, reset error if error==EOF
[wxWidgets.git] / utils / glcanvas / samples / cube / cube.h
index f3dc44ac49f3ff24082217558878e9c17705a5d2..ecbabfb177252f44f2f26006239c21e5e67a0249 100644 (file)
@@ -19,7 +19,6 @@ class MyApp: public wxApp
 {
 public:
     bool OnInit(void);
-    void InitGL(void);
 };
 
 // Define a new frame type
@@ -27,11 +26,14 @@ class TestGLCanvas;
 class MyFrame: public wxFrame
 {
 public:
-    MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size,
-        long style = wxDEFAULT_FRAME_STYLE);
+    MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos,
+            const wxSize& size, long style = wxDEFAULT_FRAME_STYLE);
 
     void OnExit(wxCommandEvent& event);
-    bool OnClose(void);
+    void OnNewWindow();
+    void OnDefRotateLeftKey();
+    void OnDefRotateRightKey();
+    
 public:
     TestGLCanvas*    m_canvas;
 
@@ -40,14 +42,49 @@ DECLARE_EVENT_TABLE()
 
 class TestGLCanvas: public wxGLCanvas
 {
- public:
-   TestGLCanvas(wxWindow *parent, const wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
-      const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = "TestGLCanvas");
-   ~TestGLCanvas(void);
-
-   void OnPaint(wxPaintEvent& event);
-   void OnSize(wxSizeEvent& event);
-   void OnEraseBackground(wxEraseEvent& event);
+  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 = "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 = "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 );
+   
+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;
 
 DECLARE_EVENT_TABLE()
 };