]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/opengl/isosurf/isosurf.cpp
don't show line numbers as 0 when they're not available, show empty string instead
[wxWidgets.git] / samples / opengl / isosurf / isosurf.cpp
index 3eda7123bb9ac1c78e1b11d46fcf40de1712a7df..781d2a8a16ebd9c647dfb235055f1da32fa4076b 100644 (file)
@@ -9,11 +9,6 @@
 // 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 "wx/timer.h"
 #include "wx/glcanvas.h"
+#include "wx/math.h"
 
-#ifdef __WXMAC__
+#if defined(__WXMAC__) || defined(__WXCOCOA__)
 #   ifdef __DARWIN__
 #       include <OpenGL/gl.h>
 #       include <OpenGL/glu.h>
@@ -49,9 +49,9 @@
 
 #include "isosurf.h"
 
-// The following part is taken largely unchanged from the original C Version
+#include "../../sample.xpm"
 
-#include <math.h>
+// The following part is taken largely unchanged from the original C Version
 
 GLboolean speed_test = GL_FALSE;
 GLboolean use_vertex_arrays = GL_FALSE;
@@ -238,7 +238,7 @@ static GLenum Args(int argc, wxChar **argv)
     return GL_TRUE;
 }
 
-// The following part was written for wxWindows 1.66
+// The following part was written for wxWidgets 1.66
 MyFrame *frame = NULL;
 
 IMPLEMENT_APP(MyApp)
@@ -249,7 +249,7 @@ bool MyApp::OnInit()
     Args(argc, argv);
 
     // Create the main frame window
-    frame = new MyFrame(NULL, wxT("wxWindows OpenGL Isosurf Sample"),
+    frame = new MyFrame(NULL, wxT("wxWidgets OpenGL Isosurf Sample"),
         wxDefaultPosition, wxDefaultSize);
 
     // Give it an icon
@@ -272,7 +272,7 @@ bool MyApp::OnInit()
     int gl_attrib[20] = { WX_GL_RGBA, WX_GL_MIN_RED, 1, WX_GL_MIN_GREEN, 1,
         WX_GL_MIN_BLUE, 1, WX_GL_DEPTH_SIZE, 1,
         WX_GL_DOUBLEBUFFER,
-#  ifdef __WXMAC__
+#  if defined(__WXMAC__) || defined(__WXCOCOA__)
         GL_NONE };
 #  else
         None };
@@ -288,8 +288,6 @@ bool MyApp::OnInit()
         doubleBuffer = GL_FALSE;
     }
 
-#if wxUSE_GLCANVAS
-
     frame->m_canvas = new TestGLCanvas(frame, wxID_ANY, wxDefaultPosition,
         wxDefaultSize, 0, _T("TestGLCanvas"), gl_attrib );
 
@@ -302,13 +300,6 @@ bool MyApp::OnInit()
     Init();
 
     return true;
-
-#else
-
-    wxMessageBox( _T("This sample has to be compiled with wxUSE_GLCANVAS"), _T("Building error"), wxOK);
-
-    return false;
-#endif
 }
 
 BEGIN_EVENT_TABLE(MyFrame, wxFrame)
@@ -320,19 +311,13 @@ MyFrame::MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos,
     const wxSize& size, long style)
     : wxFrame(frame, wxID_ANY, title, pos, size, style)
 {
-#if wxUSE_GLCANVAS
     m_canvas = NULL;
-#endif
+    SetIcon(wxIcon(sample_xpm));
 }
 
 MyFrame::~MyFrame()
 {
-#if wxUSE_GLCANVAS
-    if (m_canvas)
-    {
-        delete m_canvas; m_canvas = NULL;
-    }
-#endif
+    delete m_canvas;
 }
 
 // Intercept menu commands
@@ -346,8 +331,6 @@ void MyFrame::OnExit( wxCommandEvent& WXUNUSED(event) )
  * TestGLCanvas implementation
  */
 
-#if wxUSE_GLCANVAS
-
 BEGIN_EVENT_TABLE(TestGLCanvas, wxGLCanvas)
     EVT_SIZE(TestGLCanvas::OnSize)
     EVT_PAINT(TestGLCanvas::OnPaint)
@@ -359,7 +342,7 @@ END_EVENT_TABLE()
 TestGLCanvas::TestGLCanvas(wxWindow *parent, wxWindowID id,
     const wxPoint& pos, const wxSize& size, long style,
     const wxString& name, int* gl_attrib)
-    : wxGLCanvas(parent, id, pos, size, style, name, gl_attrib)
+    : wxGLCanvas(parent, id, pos, size, style|wxFULL_REPAINT_ON_RESIZE, name, gl_attrib)
 {
     parent->Show(true);
     SetCurrent();
@@ -373,10 +356,6 @@ TestGLCanvas::TestGLCanvas(wxWindow *parent, wxWindowID id,
 }
 
 
-TestGLCanvas::~TestGLCanvas()
-{
-}
-
 void TestGLCanvas::OnPaint( wxPaintEvent& WXUNUSED(event) )
 {
     // This is a dummy, to avoid an endless succession of paint messages.
@@ -497,5 +476,3 @@ void TestGLCanvas::OnEraseBackground( wxEraseEvent& WXUNUSED(event) )
     // Do nothing, to avoid flashing.
 }
 
-#endif // #if wxUSE_GLCANVAS
-