diff options
Diffstat (limited to 'source/gameengine/GamePlayer/common/windows/GPW_Canvas.cpp')
-rw-r--r-- | source/gameengine/GamePlayer/common/windows/GPW_Canvas.cpp | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/source/gameengine/GamePlayer/common/windows/GPW_Canvas.cpp b/source/gameengine/GamePlayer/common/windows/GPW_Canvas.cpp deleted file mode 100644 index 44437820bd2..00000000000 --- a/source/gameengine/GamePlayer/common/windows/GPW_Canvas.cpp +++ /dev/null @@ -1,171 +0,0 @@ -/** - * $Id$ - * - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -#include "GPW_Canvas.h" - -GPW_Canvas::GPW_Canvas(HWND hWnd, HDC hDC, int width, int height) - : GPC_Canvas(width, height), m_hWnd(hWnd), m_hRC(0), m_hDC(hDC) -{ -} - - -GPW_Canvas::~GPW_Canvas() -{ - if (m_hRC) { - ::wglDeleteContext(m_hRC); - } - //if (m_hDC) { - // ::ReleaseDC(m_hWnd, m_hDC); - //} -} - - -void GPW_Canvas::Init() -{ - -// log_entry("GPW_Canvas::Init"); - - /* - * Color and depth bit values are not to be trusted. - * For instance, on TNT2: - * When the screen color depth is set to 16 bit, we get 5 color bits - * and 16 depth bits. - * When the screen color depth is set to 32 bit, we get 8 color bits - * and 24 depth bits. - * Just to be safe, we request high quality settings. - */ - PIXELFORMATDESCRIPTOR pfd = - { - sizeof(PIXELFORMATDESCRIPTOR), // iSize - 1, // iVersion - PFD_DRAW_TO_WINDOW | - PFD_SUPPORT_OPENGL | -// PFD_STEREO | - PFD_DOUBLEBUFFER, // dwFlags - PFD_TYPE_RGBA, // iPixelType - 32, // cColorBits - 0, 0, // cRedBits, cRedShift (ignored) - 0, 0, // cGreenBits, cGreenShift (ignored) - 0, 0, // cBlueBits, cBlueShift (ignored) - 0, 0, // cAlphaBits, cAlphaShift (ignored) - 0, 0, 0, 0, 0, // cAccum_X_Bits - 32, // cDepthBits - 0, // cStencilBits - 0, // cAuxBuffers - PFD_MAIN_PLANE, // iLayerType - 0, // bReserved - 0, // dwLayerMask - 0, // dwVisibleMask - 0 // dwDamageMask - }; - PIXELFORMATDESCRIPTOR match; - - // Look what we get back for this pixel format - int pixelFormat = ::ChoosePixelFormat(m_hDC, &pfd); - if (!pixelFormat) { - DWORD error = ::GetLastError(); - } - ::DescribePixelFormat(m_hDC, pixelFormat, sizeof(match), &match); - - // Activate the pixel format for this context - ::SetPixelFormat(m_hDC, ::ChoosePixelFormat(m_hDC, &match), &match); - - // Create the OpenGL context and make it current - m_hRC = ::wglCreateContext(m_hDC); - ::wglMakeCurrent(m_hDC, m_hRC); - -} - -void GPW_Canvas::SetMousePosition(int x, int y) -{ - POINT point = { x, y }; - if (m_hWnd) - { - ::ClientToScreen(m_hWnd, &point); - ::SetCursorPos(point.x, point.y); - } -} - - -void GPW_Canvas::SetMouseState(RAS_MouseState mousestate) -{ - LPCSTR id; - switch (mousestate) - { - case MOUSE_INVISIBLE: - HideCursor(); - break; - case MOUSE_WAIT: - ::SetCursor(::LoadCursor(0, IDC_WAIT)); - ShowCursor(); - break; - case MOUSE_NORMAL: - ::SetCursor(::LoadCursor(0, IDC_ARROW)); - ShowCursor(); - break; - } -} - - -bool GPW_Canvas::BeginDraw(void) -{ - ::wglMakeCurrent(m_hDC, m_hRC); - // check errors, anyone? - return true; -} - - -void GPW_Canvas::EndDraw(void) -{ - ::wglMakeCurrent(NULL, NULL); -} - -void GPW_Canvas::SwapBuffers(void) -{ - if (m_hDC) { - ::SwapBuffers(m_hDC); - } -} - - -void GPW_Canvas::HideCursor(void) -{ - int count = ::ShowCursor(FALSE); - while (count >= 0) - { - count = ::ShowCursor(FALSE); - } -} - - -void GPW_Canvas::ShowCursor(void) -{ - ::ShowCursor(TRUE); -} - |