]> git.saurik.com Git - wxWidgets.git/blob - utils/glcanvas/samples/cube/cube.h
wxGTK now works a little again.
[wxWidgets.git] / utils / glcanvas / samples / cube / cube.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: cube.h
3 // Purpose: wxGLCanvas demo program
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 04/01/98
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_CUBE_H_
13 #define _WX_CUBE_H_
14
15 #include "glcanvas.h"
16
17 // Define a new application type
18 class MyApp: public wxApp
19 {
20 public:
21 bool OnInit(void);
22 };
23
24 // Define a new frame type
25 class TestGLCanvas;
26 class MyFrame: public wxFrame
27 {
28 public:
29 MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size,
30 long style = wxDEFAULT_FRAME_STYLE);
31
32 void OnExit(wxCommandEvent& event);
33 void OnNewWindow();
34 void OnDefRotateLeftKey();
35 void OnDefRotateRightKey();
36
37 public:
38 TestGLCanvas* m_canvas;
39
40 DECLARE_EVENT_TABLE()
41 };
42
43 class TestGLCanvas: public wxGLCanvas
44 {
45 friend class MyFrame;
46
47 public:
48 TestGLCanvas(wxWindow *parent, const wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
49 const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = "TestGLCanvas");
50 TestGLCanvas(wxWindow *parent, const TestGLCanvas &other,
51 const wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
52 const wxSize& size = wxDefaultSize, long style = 0,
53 const wxString& name = "TestGLCanvas" );
54
55 ~TestGLCanvas(void);
56
57 void OnPaint(wxPaintEvent& event);
58 void OnSize(wxSizeEvent& event);
59 void OnEraseBackground(wxEraseEvent& event);
60 void OnKeyDown(wxKeyEvent& event);
61 void OnKeyUp(wxKeyEvent& event);
62 void InitGL(void);
63 void Rotate( double deg );
64
65 private:
66 bool m_init;
67 GLuint m_gllist;
68 long m_rleft;
69 long m_rright;
70
71 DECLARE_EVENT_TABLE()
72 };
73
74 #endif
75