]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/glcanvas/gtk/glcanvas.h
Cured memory leak report in wxDateTime; wxGLCanvas corrections
[wxWidgets.git] / utils / glcanvas / gtk / glcanvas.h
index fc0d51561e1fe3fb2da4bf8c1879849d7585c630..b67e1ba7c830d94cdb8e0ec52433d6959eb05325 100644 (file)
@@ -94,6 +94,13 @@ private:
 class wxGLCanvas: public wxScrolledWindow
 {
 public:
+   inline wxGLCanvas() {
+      m_glContext = (wxGLContext*) NULL;
+      m_sharedContext = (wxGLContext*) NULL;
+      m_glWidget = (GtkWidget*) NULL;
+      m_vi = (void*) NULL;
+      m_exposed = FALSE;
+   }
    wxGLCanvas( wxWindow *parent, wxWindowID id = -1, 
         const wxPoint& pos = wxDefaultPosition,
         const wxSize& size = wxDefaultSize, 
@@ -107,8 +114,17 @@ public:
         long style = 0, const wxString& name = "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 = (int*) NULL, 
+        const wxPalette& palette = wxNullPalette );
 
-   bool Create( wxWindow *parent, const wxGLContext *shared = (wxGLContext *)NULL,
+   bool Create( wxWindow *parent, 
+       const wxGLContext *shared = (wxGLContext*)NULL,
+       const wxGLCanvas *shared_context_of = (wxGLCanvas*)NULL,
         wxWindowID id = -1, 
         const wxPoint& pos = wxDefaultPosition,
         const wxSize& size = wxDefaultSize, 
@@ -123,16 +139,19 @@ public:
    void SwapBuffers();
 
    void OnSize(wxSizeEvent& event);
+   
+   void OnInternalIdle();
 
    inline wxGLContext* GetContext() const { return m_glContext; } 
 
  // implementation
   
-    virtual GtkWidget *GetConnectWidget();
-    bool IsOwnGtkWindow( GdkWindow *window );
-  
-    wxGLContext      *m_glContext; 
+    wxGLContext      *m_glContext,
+                     *m_sharedContext;
+    wxGLCanvas       *m_sharedContextOf;
+    void             *m_vi;
     GtkWidget        *m_glWidget;
+    bool              m_exposed;
 
 private:
     DECLARE_EVENT_TABLE()