]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/glcanvas.h
define wxCHECK_W32API_VERSION for OpenWatcom and DigitalMars
[wxWidgets.git] / include / wx / mac / glcanvas.h
index 73e067d3019c4b34401ba47b8970e86fca49ea2f..a94814f6a69821fbca826b979d09af14731034ee 100644 (file)
@@ -1,16 +1,16 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        glcanvas.h
 // Purpose:     wxGLCanvas, for using OpenGL with wxWindows under Macintosh
-// Author:      AUTHOR
+// Author:      Stefan Csomor
 // Modified by:
-// Created:     ??/??/98
+// Created:     1998-01-01
 // RCS-ID:      $Id$
-// Copyright:   (c) AUTHOR
-// Licence:    wxWindows licence
+// Copyright:   (c) Stefan Csomor
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma interface "glcanvas.h"
+#if defined(__GNUG__) && !defined(__APPLE__)
+#  pragma interface "glcanvas.h"
 #endif
 
 #ifndef _WX_GLCANVAS_H_
 
 #include "wx/palette.h"
 #include "wx/scrolwin.h"
-
-#include <gl.h>
-#include <agl.h>
+#include "wx/app.h"
+
+#ifdef __DARWIN__
+#  include <OpenGL/gl.h>
+#  include <AGL/agl.h>
+#else
+#  include <gl.h>
+#  include <agl.h>
+#endif
 
 //---------------------------------------------------------------------------
 // Constants for attriblist
@@ -63,7 +69,7 @@ public:
 
    void SetCurrent();
    void Update();  // must be called after window drag/grows/zoom or clut change
-   void SetColour(const char *colour);
+   void SetColour(const wxChar *colour);
    void SwapBuffers();
 
 
@@ -76,44 +82,51 @@ public:
    wxWindow*        m_window;
 };
 
-class WXDLLEXPORT wxGLCanvas: public wxScrolledWindow
+class WXDLLEXPORT wxGLCanvas: public wxWindow
 {
    DECLARE_CLASS(wxGLCanvas)
  public:
    wxGLCanvas(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
         const wxSize& size = wxDefaultSize, long style = 0,
-        const wxString& name = "GLCanvas", int *attribList = 0, const wxPalette& palette = wxNullPalette);
+        const wxString& name = wxT("GLCanvas") , int *attribList = 0, const wxPalette& palette = wxNullPalette);
    wxGLCanvas( wxWindow *parent, const wxGLContext *shared = (wxGLContext *)NULL,
         wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
-        const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = "GLCanvas"
-             int *attribList = (int*) NULL, const wxPalette& palette = wxNullPalette );
+        const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxT("GLCanvas")
+          int *attribList = (int*) NULL, const wxPalette& palette = wxNullPalette );
 
    wxGLCanvas( wxWindow *parent, const wxGLCanvas *shared = (wxGLCanvas *)NULL, wxWindowID id = -1,
         const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, 
-               const wxString& name = "GLCanvas", int *attribList = 0, const wxPalette& palette = wxNullPalette );
+        const wxString& name = wxT("GLCanvas"), int *attribList = 0, const wxPalette& palette = wxNullPalette );
 
    ~wxGLCanvas();
 
    bool Create(wxWindow *parent, const wxGLContext *shared, wxWindowID id,
                const wxPoint& pos, const wxSize& size, long style, const wxString& name,
-              int *attribList, const wxPalette& palette);
+           int *attribList, const wxPalette& palette);
 
    void SetCurrent();
-   void SetColour(const char *colour);
+   void SetColour(const wxChar *colour);
    void SwapBuffers();
    void UpdateContext();
    void SetViewport();
+   virtual bool Show(bool show = TRUE) ;
    
    // Unlike some other platforms, this must get called if you override it.
    // It sets the viewport correctly and update the context.
    // You shouldn't call glViewport yourself either (use SetViewport if you must reset it.)
    void OnSize(wxSizeEvent& event);
+   
+     virtual void MacSuperChangedPosition() ;
+     virtual void MacTopLevelWindowChangedPosition() ;
+     virtual void MacSuperShown( bool show ) ;
+
+     void MacUpdateView() ;
 
    inline wxGLContext* GetContext() const { return m_glContext; }
 
 protected:
     wxGLContext*   m_glContext;
-
+       bool m_macCanvasIsShown ;
 DECLARE_EVENT_TABLE()
 };