X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8b089c5e8c8a2140258d150ca1ce42afd3b79e1b..d15040492413b54a530b5a291b26750f3d265d23:/samples/opengl/penguin/penguin.cpp diff --git a/samples/opengl/penguin/penguin.cpp b/samples/opengl/penguin/penguin.cpp index 8eaed6a1d9..1b09d9530c 100644 --- a/samples/opengl/penguin/penguin.cpp +++ b/samples/opengl/penguin/penguin.cpp @@ -25,8 +25,20 @@ #include "wx/wx.h" #endif +#if !wxUSE_GLCANVAS +#error Please set wxUSE_GLCANVAS to 1 in setup.h. +#endif + #include "penguin.h" -#include +#ifdef __WXMAC__ +# ifdef __DARWIN__ +# include +# else +# include +# endif +#else +# include +#endif #define VIEW_ASPECT 1.3 @@ -45,7 +57,7 @@ bool MyApp::OnInit(void) menuBar->Append(fileMenu, "&File"); frame->SetMenuBar(menuBar); - frame->m_canvas = new TestGLCanvas(frame, -1, wxPoint(0, 0), wxSize(200, 200)); + frame->m_canvas = new TestGLCanvas(frame, -1, wxPoint(0, 0), wxSize(200, 200), wxSUNKEN_BORDER); /* Load file wiht mesh data */ frame->m_canvas->LoadLWO( "penguin.lwo" ); @@ -143,15 +155,18 @@ void TestGLCanvas::OnPaint( wxPaintEvent& event ) void TestGLCanvas::OnSize(wxSizeEvent& event) { - int width, height; - GetClientSize(& width, & height); + // this is also necessary to update the context on some platforms + wxGLCanvas::OnSize(event); + // set GL viewport (not called by wxGLCanvas::OnSize on all platforms...) + int w, h; + GetClientSize(&w, &h); #ifndef __WXMOTIF__ if (GetContext()) #endif { SetCurrent(); - glViewport(0, 0, width, height); + glViewport(0, 0, (GLint) w, (GLint) h); } }