Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/******************************Module*Header*******************************\
* Module Name: wglsrv.c * * Routines to support OpenGL client-server implementation on Windows NT. * * Created: 01-17-1995 * Author: Hock San Lee [hockl] * * Copyright (c) 1995 Microsoft Corporation \**************************************************************************/
#include "precomp.h"
#pragma hdrstop
#include "wgldef.h"
#ifndef _CLIENTSIDE_
HANDLE __wglCreateContext(HDC hdc, HDC hdcSrvIn, LONG iLayerPlane) { HDC hdcSrv; HANDLE hrcSrv = (HANDLE) 0;
// Get the server-side DC handle.
if (hdcSrvIn != NULL) { hdcSrv = hdcSrvIn; } else { hdcSrv = GdiConvertDC(hdc); } if (hdcSrv == (HDC) 0) { WARNING1("__wglCreateContext: unexpected bad hdc: 0x%lx\n", hdc); return(hrcSrv); }
BEGINMSG(MSG_WGLCREATECONTEXT,WGLCREATECONTEXT) pmsg->hdc = hdcSrv; hrcSrv = (HANDLE) CALLSERVER(); ENDMSG MSGERROR: return(hrcSrv); }
BOOL __wglDeleteContext(HANDLE hrcSrv) { BOOL bRet = FALSE;
BEGINMSG(MSG_WGLDELETECONTEXT,WGLDELETECONTEXT) pmsg->hrc = (HGLRC) hrcSrv; bRet = CALLSERVER(); ENDMSG MSGERROR: return(bRet); }
BOOL __wglMakeCurrent(HDC hdc, HANDLE hrcSrv, HDC hdcSrvIn) { HDC hdcSrv = (HDC) 0; BOOL bRet = FALSE;
// Get the server-side DC handle.
if (hdc) { if (hdcSrvIn != NULL) { hdcSrv = hdcSrvIn; } else { hdcSrv = GdiConvertDC(hdc); } if (hdcSrv == (HDC) 0) { WARNING1("__wglMakeCurrent: unexpected bad hdc: 0x%lx\n", hdc); return(bRet); } }
BEGINMSG(MSG_WGLMAKECURRENT,WGLMAKECURRENT) pmsg->hdc = hdcSrv; pmsg->hrc = hrcSrv; bRet = CALLSERVER(); ENDMSG MSGERROR: return(bRet); }
BOOL __wglShareLists(HANDLE hrcSrvShare, HANDLE hrcSrvSource) { BOOL bRet = FALSE;
BEGINMSG(MSG_WGLSHARELISTS, WGLSHARELISTS) pmsg->hrcSource = hrcSrvSource; pmsg->hrcShare = hrcSrvShare; bRet = CALLSERVER(); ENDMSG MSGERROR: return(bRet); }
BOOL __wglAttention() { BOOL bRet = FALSE;
// reset user's poll count so it counts this as output
// put it right next to BEGINMSG so that NtCurrentTeb() is optimized
RESETUSERPOLLCOUNT();
BEGINMSG(MSG_GLSBATTENTION, GLSBATTENTION) bRet = CALLSERVER(); ENDMSG MSGERROR: return(bRet); }
BOOL __wglCopyContext(HANDLE hrcSrvSrc, HANDLE hrcSrvDest, UINT fuFlags) { // Server implementation doesn't support this call
return FALSE; }
#endif // !_CLIENTSIDE_
|