X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/451c13c85ce4338db0853cfc1f148f8c92eaf91c..01495abf8755b0be46b4c65d6c7c48e9460f102b:/samples/opengl/isosurf/isosurf.h diff --git a/samples/opengl/isosurf/isosurf.h b/samples/opengl/isosurf/isosurf.h index 15f6dc2164..75e6c48d52 100644 --- a/samples/opengl/isosurf/isosurf.h +++ b/samples/opengl/isosurf/isosurf.h @@ -12,23 +12,41 @@ #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 { public: virtual bool OnInit(); + + virtual void OnInitCmdLine(wxCmdLineParser& parser); + virtual bool OnCmdLineParsed(wxCmdLineParser& parser); }; +// 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); virtual ~TestGLCanvas(); @@ -38,22 +56,33 @@ public: void OnChar(wxKeyEvent& event); void OnMouseEvent(wxMouseEvent& event); + void LoadSurface(const wxString& filename); + void InitMaterials(); + void InitGL(); private: wxGLContext* m_glRC; - DECLARE_NO_COPY_CLASS(TestGLCanvas) + 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() }; +// The frame containing the GL canvas class MyFrame : public wxFrame { public: MyFrame(wxFrame *frame, const wxString& title, - const wxPoint& pos, - const wxSize& size, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE); virtual ~MyFrame(); @@ -66,5 +95,6 @@ private : DECLARE_EVENT_TABLE() }; + #endif // _WX_ISOSURF_H_