Leaked source code of windows server 2003
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: dl_table.c * * Display list API rountines. * * Copyright (c) 1995 Microsoft Corporation \**************************************************************************/ /*
** Copyright 1991, 1922, Silicon Graphics, Inc. ** All Rights Reserved. ** ** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.; ** the contents of this file may not be disclosed to third parties, copied or ** duplicated in any form, in whole or in part, without the prior written ** permission of Silicon Graphics, Inc. ** ** RESTRICTED RIGHTS LEGEND: ** Use, duplication or disclosure by the Government is subject to restrictions ** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data ** and Computer Software clause at DFARS 252.227-7013, and/or in similar or ** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished - ** rights reserved under the Copyright Laws of the United States. ** ** Display list table management routines. ** ** $Revision: 1.12 $ ** $Date: 1993/10/30 00:06:54 $ */ #include "precomp.h"
#pragma hdrstop
/*
** The next three routines are used as callbacks by the ** name space management code. */
/*
** Delete the specified display list. This typically just means free it, ** but if it is refcounted we just decrement the ref count. */ void WINAPIV __glDisposeDlist(__GLcontext *gc, void *pData) { __GLdlist *list = pData;
__GL_NAMES_ASSERT_LOCKED(gc->dlist.namesArray); list->refcount--; /* less than zero references? */ ASSERTOPENGL((GLint) list->refcount >= 0, "negative refcount!\n"); if (list->refcount == 0) __glFreeDlist(gc, list); }
GLboolean APIENTRY glcltIsList ( IN GLuint list ) { __GL_SETUP();
// Must use the client side begin state
if (gc->paTeb->flags & POLYARRAY_IN_BEGIN) { GLSETERROR(GL_INVALID_OPERATION); return FALSE; }
return __glNamesIsName(gc, gc->dlist.namesArray, list); }
GLuint APIENTRY glcltGenLists ( IN GLsizei range ) { __GL_SETUP();
// Must use the client side begin state
if (gc->paTeb->flags & POLYARRAY_IN_BEGIN) { GLSETERROR(GL_INVALID_OPERATION); return 0; }
if (range < 0) { GLSETERROR(GL_INVALID_VALUE); return 0; } if (range == 0) { return 0; }
return __glNamesGenRange(gc, gc->dlist.namesArray, range); }
void APIENTRY glcltListBase ( IN GLuint base ) { __GL_SETUP();
// Must use the client side begin state
if (gc->paTeb->flags & POLYARRAY_IN_BEGIN) { GLSETERROR(GL_INVALID_OPERATION); return; }
gc->state.list.listBase = base; }
void APIENTRY glcltDeleteLists ( IN GLuint list, IN GLsizei range ) { __GL_SETUP();
// Must use the client side begin state
if (gc->paTeb->flags & POLYARRAY_IN_BEGIN) { GLSETERROR(GL_INVALID_OPERATION); return; }
if (range < 0) { GLSETERROR(GL_INVALID_VALUE); return; } if (range == 0) return;
__glNamesDeleteRange(gc, gc->dlist.namesArray, list, range); }
|