X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/43c742d0054f02319a623e9d19f3f140213784b5..c84030e020e56735cb4b7c1534e99d21a8bb48c0:/samples/opengl/cube/cube.h?ds=inline diff --git a/samples/opengl/cube/cube.h b/samples/opengl/cube/cube.h index 9b2c7ac63d..36769b884f 100644 --- a/samples/opengl/cube/cube.h +++ b/samples/opengl/cube/cube.h @@ -14,14 +14,29 @@ #include "wx/glcanvas.h" +// the rendering context used by all GL canvases +class TestGLContext : public wxGLContext +{ +public: + TestGLContext(wxGLCanvas *canvas); + + // render the cube showing it at given angles + void DrawRotatedCube(float xangle, float yangle); + +private: + // textures for the cube faces + GLuint m_textures[6]; +}; + // Define a new application type -class MyApp: public wxApp +class MyApp : public wxApp { public: MyApp() { m_glContext = NULL; } - // set the specified canvas for current output - void SetCurrent(wxGLCanvas *canvas); + // Returns the shared context used by all frames and sets it as current for + // the given canvas. + TestGLContext& GetContext(wxGLCanvas *canvas); // virtual wxApp methods virtual bool OnInit(); @@ -29,24 +44,18 @@ public: private: // the GL context we use for all our windows - wxGLContext *m_glContext; + TestGLContext *m_glContext; }; // Define a new frame type -class TestGLCanvas; - -class MyFrame: public wxFrame +class MyFrame : public wxFrame { public: MyFrame(); - void OnExit(wxCommandEvent& event); - void OnNewWindow(wxCommandEvent& event); - void OnDefRotateLeftKey(wxCommandEvent& event); - void OnDefRotateRightKey(wxCommandEvent& event); - private: - TestGLCanvas *m_canvas; + void OnClose(wxCommandEvent& event); + void OnNewWindow(wxCommandEvent& event); DECLARE_EVENT_TABLE() }; @@ -56,23 +65,15 @@ class TestGLCanvas : public wxGLCanvas public: TestGLCanvas(wxWindow *parent); +private: void OnPaint(wxPaintEvent& event); - void OnSize(wxSizeEvent& event); void OnKeyDown(wxKeyEvent& event); -private: - // one-time OpenGL initialization - void InitGL(); - - // render to window - void Render(); - - - // the list of commands to draw the cube - GLuint m_gllist; + // angles of rotation around x- and y- axis + float m_xangle, + m_yangle; DECLARE_EVENT_TABLE() }; #endif // _WX_CUBE_H_ -