X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/72adfc4ba718412b278282463fd46e96b78bfa5d..bf532053942f79a2ca0e093b361724ad6a4d8c77:/src/msw/glcanvas.cpp diff --git a/src/msw/glcanvas.cpp b/src/msw/glcanvas.cpp index 5cbfd68cfb..5180f0d602 100644 --- a/src/msw/glcanvas.cpp +++ b/src/msw/glcanvas.cpp @@ -32,6 +32,28 @@ #include "wx/glcanvas.h" +/* + The following two compiler directives are specific to the Microsoft Visual + C++ family of compilers + + Fundementally what they do is instruct the linker to use these two libraries + for the resolution of symbols. In essence, this is the equivalent of adding + these two libraries to either the Makefile or project file. + + This is NOT a recommended technique, and certainly is unlikely to be used + anywhere else in wxWindows given it is so specific to not only wxMSW, but + also the VC compiler. However, in the case of opengl support, it's an + applicable technique as opengl is optional in setup.h This code (wrapped by + wxUSE_GLCANVAS), now allows opengl support to be added purely by modifying + setup.h rather than by having to modify either the project or DSP fle. + + See MSDN for further information on the exact usage of these commands. +*/ +#ifdef _MSC_VER +# pragma comment( lib, "opengl32" ) +# pragma comment( lib, "glu32" ) +#endif + static const wxChar *wxGLCanvasClassName = wxT("wxGLCanvasClass"); static const wxChar *wxGLCanvasClassNameNoRedraw = wxT("wxGLCanvasClassNR"); @@ -104,7 +126,7 @@ void wxGLContext::SetCurrent() */ } -void wxGLContext::SetColour(const char *colour) +void wxGLContext::SetColour(const wxChar *colour) { float r = 0.0; float g = 0.0; @@ -293,10 +315,6 @@ bool wxGLCanvas::Create(wxWindow *parent, parent->AddChild(this); DWORD msflags = 0; - if ( style & wxBORDER ) - msflags |= WS_BORDER; - if ( style & wxTHICK_FRAME ) - msflags |= WS_THICKFRAME; /* A general rule with OpenGL and Win32 is that any window that will have a @@ -305,18 +323,9 @@ bool wxGLCanvas::Create(wxWindow *parent, books that contain the wgl function descriptions. */ + WXDWORD exStyle = 0; msflags |= WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN; - - bool want3D; - WXDWORD exStyle = Determine3DEffects(WS_EX_CLIENTEDGE, &want3D); - - // Even with extended styles, need to combine with WS_BORDER - // for them to look right. - if ( want3D || (m_windowStyle & wxSIMPLE_BORDER) || (m_windowStyle & wxRAISED_BORDER ) || - (m_windowStyle & wxSUNKEN_BORDER) || (m_windowStyle & wxDOUBLE_BORDER)) - { - msflags |= WS_BORDER; - } + msflags |= MSWGetStyle(style, & exStyle) ; return MSWCreate(wxGLCanvasClassName, NULL, pos, size, msflags, exStyle); } @@ -522,7 +531,7 @@ void wxGLCanvas::SetCurrent() } } -void wxGLCanvas::SetColour(const char *colour) +void wxGLCanvas::SetColour(const wxChar *colour) { if (m_glContext) m_glContext->SetColour(colour);