X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/925e9792d32e353233985f53a4845f154e455a58..8076df5d81549d5afe7afe392e3b531964e33d47:/samples/opengl/isosurf/isosurf.h?ds=sidebyside diff --git a/samples/opengl/isosurf/isosurf.h b/samples/opengl/isosurf/isosurf.h index cc85da042d..75e6c48d52 100644 --- a/samples/opengl/isosurf/isosurf.h +++ b/samples/opengl/isosurf/isosurf.h @@ -12,55 +12,89 @@ #ifndef _WX_ISOSURF_H_ #define _WX_ISOSURF_H_ +// we need OpenGL headers for GLfloat/GLint types used below +#if defined(__WXMAC__) || defined(__WXCOCOA__) +# ifdef __DARWIN__ +# include +# include +# else +# include +# include +# endif +#else +# include +# include +#endif + +// the maximum number of vertex in the loaded .dat file +#define MAXVERTS 10000 + + // Define a new application type -class MyApp: public wxApp +class MyApp : public wxApp { public: - bool OnInit(); + virtual bool OnInit(); + + virtual void OnInitCmdLine(wxCmdLineParser& parser); + virtual bool OnCmdLineParsed(wxCmdLineParser& parser); }; -#if wxUSE_GLCANVAS -class TestGLCanvas: public wxGLCanvas +// The OpenGL-enabled canvas +class TestGLCanvas : public wxGLCanvas { public: - TestGLCanvas(wxWindow *parent, wxWindowID id = wxID_ANY, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0, - const wxString& name = _T("TestGLCanvas"), int *gl_attrib = NULL); + TestGLCanvas(wxWindow *parent, + wxWindowID id = wxID_ANY, + int *gl_attrib = NULL); - ~TestGLCanvas(){}; + virtual ~TestGLCanvas(); void OnPaint(wxPaintEvent& event); void OnSize(wxSizeEvent& event); - void OnEraseBackground(wxEraseEvent& event); void OnChar(wxKeyEvent& event); void OnMouseEvent(wxMouseEvent& event); + void LoadSurface(const wxString& filename); + void InitMaterials(); + void InitGL(); + +private: + wxGLContext* m_glRC; + + GLfloat m_verts[MAXVERTS][3]; + GLfloat m_norms[MAXVERTS][3]; + GLint m_numverts; + + GLfloat m_xrot; + GLfloat m_yrot; + + wxDECLARE_NO_COPY_CLASS(TestGLCanvas); DECLARE_EVENT_TABLE() }; -#endif // #if wxUSE_GLCANVAS - -class MyFrame: public wxFrame +// The frame containing the GL canvas +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 = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxDEFAULT_FRAME_STYLE); virtual ~MyFrame(); -#if wxUSE_GLCANVAS TestGLCanvas *m_canvas; -#endif private : - void OnExit(wxCommandEvent& event); -DECLARE_EVENT_TABLE() + DECLARE_EVENT_TABLE() }; -#endif // #ifndef _WX_ISOSURF_H_ + +#endif // _WX_ISOSURF_H_