1db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca/**************************************************************************
219641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca *
319641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca * Copyright 2009 VMware, Inc.
4db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * All Rights Reserved.
519641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca *
6db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * Permission is hereby granted, free of charge, to any person obtaining a
7db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * copy of this software and associated documentation files (the
8db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * "Software"), to deal in the Software without restriction, including
9db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * without limitation the rights to use, copy, modify, merge, publish,
10db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * distribute, sub license, and/or sell copies of the Software, and to
11db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * permit persons to whom the Software is furnished to do so, subject to
12db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * the following conditions:
1319641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca *
14db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * The above copyright notice and this permission notice (including the
15db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * next paragraph) shall be included in all copies or substantial portions
16db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * of the Software.
1719641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca *
18db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
2119641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
22db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2519641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca *
26db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca **************************************************************************/
27db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca
2819641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca#ifndef STW_WGL_H_
2919641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca#define STW_WGL_H_
30db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca
31db19578b52e7f3d6209568e2e0fa7a7107f42cd4José Fonseca
3219641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca#include <windows.h>
3319641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca
34d32ae764e930abb70ca2cc79ad18fdb32141ca0dJosé Fonseca#include <GL/gl.h>
3519641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca
3619641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca
3719641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca/*
3819641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca * Undeclared APIs exported by opengl32.dll
3919641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca */
4019641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca
4119641a9295f5d14919480124575c6727a0ad79cfJosé FonsecaWINGDIAPI BOOL WINAPI
4219641a9295f5d14919480124575c6727a0ad79cfJosé FonsecawglSwapBuffers(HDC hdc);
4319641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca
4419641a9295f5d14919480124575c6727a0ad79cfJosé FonsecaWINGDIAPI int WINAPI
4519641a9295f5d14919480124575c6727a0ad79cfJosé FonsecawglChoosePixelFormat(HDC hdc,
4619641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca                     CONST PIXELFORMATDESCRIPTOR *ppfd);
4719641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca
4819641a9295f5d14919480124575c6727a0ad79cfJosé FonsecaWINGDIAPI int WINAPI
4919641a9295f5d14919480124575c6727a0ad79cfJosé FonsecawglDescribePixelFormat(HDC hdc,
5019641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca                       int iPixelFormat,
5119641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca                       UINT nBytes,
5219641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca                       LPPIXELFORMATDESCRIPTOR ppfd);
5319641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca
5419641a9295f5d14919480124575c6727a0ad79cfJosé FonsecaWINGDIAPI int WINAPI
5519641a9295f5d14919480124575c6727a0ad79cfJosé FonsecawglGetPixelFormat(HDC hdc);
5619641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca
5719641a9295f5d14919480124575c6727a0ad79cfJosé FonsecaWINGDIAPI BOOL WINAPI
5819641a9295f5d14919480124575c6727a0ad79cfJosé FonsecawglSetPixelFormat(HDC hdc,
5919641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca                  int iPixelFormat,
6019641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca                  CONST PIXELFORMATDESCRIPTOR *ppfd);
6119641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca
62ec759b37553226b2b945d6c5d93c4bfb630a38a4José Fonseca#ifndef WGL_SWAPMULTIPLE_MAX
63a583c3ab476078332679f96d2ca7fe8aab4c8d2dJosé Fonseca
64a583c3ab476078332679f96d2ca7fe8aab4c8d2dJosé Fonsecatypedef struct _WGLSWAP
65a583c3ab476078332679f96d2ca7fe8aab4c8d2dJosé Fonseca{
66a583c3ab476078332679f96d2ca7fe8aab4c8d2dJosé Fonseca   HDC hdc;
67a583c3ab476078332679f96d2ca7fe8aab4c8d2dJosé Fonseca   UINT uiFlags;
68a583c3ab476078332679f96d2ca7fe8aab4c8d2dJosé Fonseca} WGLSWAP;
69a583c3ab476078332679f96d2ca7fe8aab4c8d2dJosé Fonseca
70a583c3ab476078332679f96d2ca7fe8aab4c8d2dJosé Fonseca#define WGL_SWAPMULTIPLE_MAX 16
71a583c3ab476078332679f96d2ca7fe8aab4c8d2dJosé Fonseca
72a583c3ab476078332679f96d2ca7fe8aab4c8d2dJosé FonsecaWINGDIAPI DWORD WINAPI
73a583c3ab476078332679f96d2ca7fe8aab4c8d2dJosé FonsecawglSwapMultipleBuffers(UINT n,
74a583c3ab476078332679f96d2ca7fe8aab4c8d2dJosé Fonseca                       CONST WGLSWAP *ps);
75a583c3ab476078332679f96d2ca7fe8aab4c8d2dJosé Fonseca
76ec759b37553226b2b945d6c5d93c4bfb630a38a4José Fonseca#endif /* !WGL_SWAPMULTIPLE_MAX */
77a583c3ab476078332679f96d2ca7fe8aab4c8d2dJosé Fonseca
7819641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca
7919641a9295f5d14919480124575c6727a0ad79cfJosé Fonseca#endif /* STW_WGL_H_ */
80