// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
-#pragma implementation
-#pragma interface
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#include "wx/wx.h"
#endif
+#if !wxUSE_GLCANVAS
+ #error "OpenGL required: set wxUSE_GLCANVAS to 1 and rebuild the library"
+#endif
+
#include "penguin.h"
#ifdef __WXMAC__
# ifdef __DARWIN__
# include <GL/glu.h>
#endif
+#include "../../sample.xpm"
+
#define VIEW_ASPECT 1.3
// `Main program' equivalent, creating windows and returning main app frame
bool MyApp::OnInit()
{
-
// Create the main frame window
- MyFrame *frame = new MyFrame(NULL, wxT("wxWindows OpenGL Penguin Sample"),
+ MyFrame *frame = new MyFrame(NULL, wxT("wxWidgets OpenGL Penguin Sample"),
wxDefaultPosition, wxDefaultSize);
/* Make a menubar */
menuBar->Append(fileMenu, wxT("&File"));
frame->SetMenuBar(menuBar);
-#if wxUSE_GLCANVAS
frame->SetCanvas( new TestGLCanvas(frame, wxID_ANY, wxDefaultPosition,
wxSize(200, 200), wxSUNKEN_BORDER) );
frame->Show(true);
return true;
-#else
-
- wxMessageBox( _T("This sample has to be compiled with wxUSE_GLCANVAS"),
- _T("Building error"), wxOK);
-
- return false;
-
-#endif
}
IMPLEMENT_APP(MyApp)
const wxSize& size, long style)
: wxFrame(frame, wxID_ANY, title, pos, size, style)
{
-#if wxUSE_GLCANVAS
m_canvas = NULL;
-#endif
+ SetIcon(wxIcon(sample_xpm));
}
/* Intercept menu commands */
Close(true);
}
-#if wxUSE_GLCANVAS
-
BEGIN_EVENT_TABLE(TestGLCanvas, wxGLCanvas)
EVT_SIZE(TestGLCanvas::OnSize)
EVT_PAINT(TestGLCanvas::OnPaint)
TestGLCanvas::TestGLCanvas(wxWindow *parent, wxWindowID id,
const wxPoint& pos, const wxSize& size, long style, const wxString& name)
- : wxGLCanvas(parent, id, pos, size, style, name)
+ : wxGLCanvas(parent, id, pos, size, style|wxFULL_REPAINT_ON_RESIZE, name)
{
block = false;
}
glEnable(GL_COLOR_MATERIAL);
}
-
-#endif // #if wxUSE_GLCANVAS