X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e8b04eb349f772582534d3e466983ada85f2460d..d624fd67f82a90d74c7f796b241508663367134f:/utils/glcanvas/gtk/glcanvas.h diff --git a/utils/glcanvas/gtk/glcanvas.h b/utils/glcanvas/gtk/glcanvas.h index 985fb626b6..b67e1ba7c8 100644 --- a/utils/glcanvas/gtk/glcanvas.h +++ b/utils/glcanvas/gtk/glcanvas.h @@ -54,10 +54,7 @@ class wxGLCanvas; class wxGLContext: public wxObject { - DECLARE_CLASS(wxGLContext) - - public: - +public: wxGLContext( bool isRGB, wxWindow *win, const wxPalette& palette = wxNullPalette ); wxGLContext( bool WXUNUSED(isRGB), wxWindow *win, @@ -79,13 +76,15 @@ class wxGLContext: public wxObject inline GtkWidget* GetWidget() const { return m_widget; } inline GLXContext GetContext() const { return m_glContext; } - public: - +public: GLXContext m_glContext; GtkWidget *m_widget; wxPalette m_palette; wxWindow* m_window; + +private: + DECLARE_CLASS(wxGLContext) }; //--------------------------------------------------------------------------- @@ -94,9 +93,14 @@ class wxGLContext: public wxObject class wxGLCanvas: public wxScrolledWindow { - DECLARE_CLASS(wxGLCanvas) - - public: +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, @@ -110,8 +114,17 @@ class wxGLCanvas: public wxScrolledWindow 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, @@ -126,18 +139,23 @@ class wxGLCanvas: public wxScrolledWindow 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; - DECLARE_EVENT_TABLE() +private: + DECLARE_EVENT_TABLE() + DECLARE_CLASS(wxGLCanvas) }; #endif