Add ctor with shared GLCanvas ( to be gtk compliant)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Sylvain Bougnoux 2000-02-07 20:47:05 +00:00
parent ec90f5e53a
commit bd1b0b3ed1
2 changed files with 33 additions and 11 deletions

View File

@ -141,13 +141,12 @@ wxGLCanvas::wxGLCanvas(wxWindow *parent, wxWindowID id,
SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT)); SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
} }
m_hDC = (WXHDC) ::GetDC((HWND) GetHWND()); m_hDC = (WXHDC) ::GetDC((HWND) GetHWND());
SetupPixelFormat(); SetupPixelFormat();
SetupPalette(palette); SetupPalette(palette);
m_glContext = new wxGLContext(TRUE, this, palette); m_glContext = new wxGLContext(TRUE, this, palette);
} }
wxGLCanvas::wxGLCanvas( wxWindow *parent, wxGLCanvas::wxGLCanvas( wxWindow *parent,
@ -156,9 +155,9 @@ wxGLCanvas::wxGLCanvas( wxWindow *parent,
int *attribList, const wxPalette& palette ) int *attribList, const wxPalette& palette )
: wxScrolledWindow() : wxScrolledWindow()
{ {
m_glContext = (wxGLContext*) NULL; m_glContext = (wxGLContext*) NULL;
bool ret = Create(parent, id, pos, size, style, name); bool ret = Create(parent, id, pos, size, style, name);
if ( ret ) if ( ret )
{ {
@ -174,6 +173,33 @@ wxGLCanvas::wxGLCanvas( wxWindow *parent,
m_glContext = new wxGLContext(TRUE, this, palette, shared ); m_glContext = new wxGLContext(TRUE, this, palette, shared );
} }
// Not very usefull for wxMSW, but this is to be wxGTK compliant
wxGLCanvas::wxGLCanvas( wxWindow *parent, const wxGLCanvas *shared, wxWindowID id,
const wxPoint& pos, const wxSize& size, long style, const wxString& name,
int *attribList, const wxPalette& palette ):
wxScrolledWindow()
{
m_glContext = (wxGLContext*) NULL;
bool ret = Create(parent, id, pos, size, style, name);
if ( ret )
{
SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE));
SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
}
m_hDC = (WXHDC) ::GetDC((HWND) GetHWND());
SetupPixelFormat();
SetupPalette(palette);
wxGLContext *sharedContext=0;
if (shared) sharedContext=shared->GetContext();
m_glContext = new wxGLContext(TRUE, this, palette, sharedContext );
}
wxGLCanvas::~wxGLCanvas() wxGLCanvas::~wxGLCanvas()
{ {
if (m_glContext) if (m_glContext)

View File

@ -69,12 +69,6 @@ class wxGLCanvas: public wxScrolledWindow
{ {
DECLARE_CLASS(wxGLCanvas) DECLARE_CLASS(wxGLCanvas)
public: public:
wxGLCanvas()
{
m_glContext = (wxGLContext*) NULL;
m_hDC = 0;
}
wxGLCanvas(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, wxGLCanvas(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = 0, const wxSize& size = wxDefaultSize, long style = 0,
const wxString& name = "GLCanvas", int *attribList = 0, const wxPalette& palette = wxNullPalette); const wxString& name = "GLCanvas", int *attribList = 0, const wxPalette& palette = wxNullPalette);
@ -82,7 +76,9 @@ class wxGLCanvas: public wxScrolledWindow
wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = "GLCanvas", const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = "GLCanvas",
int *attribList = (int*) NULL, const wxPalette& palette = wxNullPalette ); 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 );
~wxGLCanvas(); ~wxGLCanvas();
// Replaces wxWindow::Create functionality, since we need to use a different window class // Replaces wxWindow::Create functionality, since we need to use a different window class