X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bd2af428570c0a05177b8fb715660fa9e78fd720..09b895cb4a954494063eb17d3dc302a654fd99e5:/include/wx/cocoa/glcanvas.h?ds=sidebyside diff --git a/include/wx/cocoa/glcanvas.h b/include/wx/cocoa/glcanvas.h index 49f6a52595..8e20a0c4eb 100644 --- a/include/wx/cocoa/glcanvas.h +++ b/include/wx/cocoa/glcanvas.h @@ -12,90 +12,70 @@ #ifndef _WX_COCOA_GLCANVAS_H__ #define _WX_COCOA_GLCANVAS_H__ +#include "wx/window.h" + // #include "wx/cocoa/NSOpenGLView.h" // Include gl.h from the OpenGL framework #include -class WXDLLIMPEXP_GL wxGLCanvas; +class WXDLLIMPEXP_FWD_GL wxGLCanvas; DECLARE_WXCOCOA_OBJC_CLASS(NSOpenGLContext); -//DECLARE_WXCOCOA_OBJC_CLASS(NSOpenGLView); +DECLARE_WXCOCOA_OBJC_CLASS(NSOpenGLView); // ======================================================================== // wxGLContext // ======================================================================== -class WXDLLIMPEXP_GL wxGLContext: public wxObject + +class WXDLLIMPEXP_GL wxGLContext : public wxGLContextBase { public: - wxGLContext(bool isRGB, wxGLCanvas *win, const wxPalette& palette = wxNullPalette); - - wxGLContext( bool isRGB, wxGLCanvas *win, - const wxPalette& WXUNUSED(palette), - const wxGLContext *other /* for sharing display lists */ ); - - ~wxGLContext(); - - - void SetCurrent(); - - void SetColour(const wxChar *colour); - - void SwapBuffers(); + wxGLContext(wxGLCanvas *win, const wxGLContext *other = NULL); + virtual ~wxGLContext(); - inline wxWindow* GetWindow() const - { return m_window; } + virtual void SetCurrent(const wxGLCanvas& win) const; - inline WX_NSOpenGLContext GetNSOpenGLContext() const - { return m_cocoaNSOpenGLContext; } + WX_NSOpenGLContext GetNSOpenGLContext() const + { return m_cocoaNSOpenGLContext; } -public: +private: WX_NSOpenGLContext m_cocoaNSOpenGLContext; - wxWindow* m_window; }; - - // ======================================================================== // wxGLCanvas // ======================================================================== -class WXDLLIMPEXP_GL wxGLCanvas: public wxWindow// , protected wxCocoaNSOpenGLView + +class WXDLLIMPEXP_GL wxGLCanvas : public wxGLCanvasBase + // , protected wxCocoaNSOpenGLView { DECLARE_DYNAMIC_CLASS(wxGLCanvas) - DECLARE_EVENT_TABLE() // WX_DECLARE_COCOA_OWNER(NSOpenGLView,NSView,NSView) // ------------------------------------------------------------------------ // initialization // ------------------------------------------------------------------------ public: - wxGLCanvas() - : m_glContext(NULL) - { } - wxGLCanvas(wxWindow *parent, wxWindowID winid = wxID_ANY, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, const wxString& name = wxGLCanvasName, - int *attribList = NULL, const wxPalette& palette = wxNullPalette); - wxGLCanvas(wxWindow *parent, - const wxGLContext *shared = NULL, - wxWindowID winid = wxID_ANY, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, const wxString& name = wxGLCanvasName, - int *attribList = NULL, const wxPalette& palette = wxNullPalette); + wxWindowID id = wxID_ANY, + const int *attribList = NULL, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxGLCanvasName, + const wxPalette& palette = wxNullPalette) + { + Create(parent, id, pos, size, style, name, attribList, palette); + } + + bool Create(wxWindow *parent, + wxWindowID id = wxID_ANY, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxGLCanvasName, + const int *attribList = NULL, + const wxPalette& palette = wxNullPalette); - wxGLCanvas(wxWindow *parent, - const wxGLCanvas *shared = NULL, - wxWindowID winid = wxID_ANY, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, const wxString& name = wxGLCanvasName, - int *attribList = NULL, const wxPalette& palette = wxNullPalette); - - bool Create(wxWindow *parent, wxWindowID winid, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, const wxString& name = wxGLCanvasName); virtual ~wxGLCanvas(); // ------------------------------------------------------------------------ @@ -108,16 +88,11 @@ protected: // Implementation // ------------------------------------------------------------------------ public: - void SetCurrent(); - void SwapBuffers(); + virtual void SwapBuffers(); - void OnSize(wxSizeEvent& event) - {} - inline wxGLContext* GetContext() const - { return m_glContext; } -protected: - wxGLContext *m_glContext; - wxPalette m_palette; + + NSOpenGLView *GetNSOpenGLView() const + { return (NSOpenGLView *)m_cocoaNSView; } }; #endif //ndef _WX_COCOA_GLCANVAS_H__