/////////////////////////////////////////////////////////////////////////////
-// Name: glcanvas.cpp
+// Name: src/msw/glcanvas.cpp
// Purpose: wxGLCanvas, for using OpenGL with wxWindows under MS Windows
// Author: Julian Smart
// Modified by:
// Created: 04/01/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma hdrstop
#endif
-#include <wx/setup.h>
-
#if wxUSE_GLCANVAS
#ifndef WX_PRECOMP
-#include <wx/frame.h>
+ #include "wx/frame.h"
+ #include "wx/settings.h"
+ #include "wx/intl.h"
+ #include "wx/log.h"
#endif
-#include <wx/msw/private.h>
-#include <wx/settings.h>
-#include <wx/log.h>
+#include "wx/msw/private.h"
-#include <wx/glcanvas.h>
+#include "wx/glcanvas.h"
static const wxChar *wxGLCanvasClassName = wxT("wxGLCanvasClass");
static const wxChar *wxGLCanvasClassNameNoRedraw = wxT("wxGLCanvasClassNR");
if ( ret )
{
- SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE));
- SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
+ SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE));
+ SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
}
m_hDC = (WXHDC) ::GetDC((HWND) GetHWND());
if ( ret )
{
- SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE));
- SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
+ SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE));
+ SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
}
m_hDC = (WXHDC) ::GetDC((HWND) GetHWND());
if ( ret )
{
- SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE));
- SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
+ SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE));
+ SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
}
m_hDC = (WXHDC) ::GetDC((HWND) GetHWND());
msflags |= WS_BORDER;
}
- // calculate the value to return from WM_GETDLGCODE handler
- if ( GetWindowStyleFlag() & wxWANTS_CHARS )
- {
- // want everything: i.e. all keys and WM_CHAR message
- m_lDlgCode = DLGC_WANTARROWS | DLGC_WANTCHARS |
- DLGC_WANTTAB | DLGC_WANTMESSAGE;
- }
-
return MSWCreate(wxGLCanvasClassName, NULL, pos, size, msflags, exStyle);
}
case WX_GL_LEVEL:
// this member looks like it may be obsolete
if (attribList[arg] > 0) {
- pfd.iLayerType = PFD_OVERLAY_PLANE;
+ pfd.iLayerType = (BYTE)PFD_OVERLAY_PLANE;
} else if (attribList[arg] < 0) {
- pfd.iLayerType = PFD_UNDERLAY_PLANE;
+ pfd.iLayerType = (BYTE)PFD_UNDERLAY_PLANE;
} else {
- pfd.iLayerType = PFD_MAIN_PLANE;
+ pfd.iLayerType = (BYTE)PFD_MAIN_PLANE;
}
arg++;
break;
void wxGLCanvas::OnSize(wxSizeEvent& event)
{
- int width, height;
- GetClientSize(& width, & height);
-
- if (m_glContext)
- {
- m_glContext->SetCurrent();
-
- glViewport(0, 0, (GLint)width, (GLint)height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 15.0 );
- glMatrixMode(GL_MODELVIEW);
- }
}
void wxGLCanvas::SetCurrent()
AdjustPFDForAttributes(pfd, attribList);
// use DC for whole (root) screen, since no windows have yet been created
- pixelFormat = ChoosePixelFormat((HDC) ::GetDC(NULL), &pfd);
+ pixelFormat = ChoosePixelFormat(ScreenHDC(), &pfd);
if (pixelFormat == 0) {
wxLogError(_("Failed to initialize OpenGL"));