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:
parent
ec90f5e53a
commit
bd1b0b3ed1
@ -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)
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user