ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

gld_driver.h
Go to the documentation of this file.
00001 /****************************************************************************
00002 *
00003 *                        Mesa 3-D graphics library
00004 *                        Direct3D Driver Interface
00005 *
00006 *  ========================================================================
00007 *
00008 *   Copyright (C) 1991-2004 SciTech Software, Inc. All rights reserved.
00009 *
00010 *   Permission is hereby granted, free of charge, to any person obtaining a
00011 *   copy of this software and associated documentation files (the "Software"),
00012 *   to deal in the Software without restriction, including without limitation
00013 *   the rights to use, copy, modify, merge, publish, distribute, sublicense,
00014 *   and/or sell copies of the Software, and to permit persons to whom the
00015 *   Software is furnished to do so, subject to the following conditions:
00016 *
00017 *   The above copyright notice and this permission notice shall be included
00018 *   in all copies or substantial portions of the Software.
00019 *
00020 *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00021 *   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00022 *   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
00023 *   SCITECH SOFTWARE INC BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
00024 *   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
00025 *   OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
00026 *   SOFTWARE.
00027 *
00028 *  ======================================================================
00029 *
00030 * Language:     ANSI C
00031 * Environment:  Windows 9x/2000/XP/XBox (Win32)
00032 *
00033 * Description:  Driver functions and interfaces
00034 *
00035 ****************************************************************************/
00036 
00037 #ifndef _GLD_DRIVER_H
00038 #define _GLD_DRIVER_H
00039 
00040 // This file is only useful is we're using the new GLD3 WGL code.
00041 #ifdef _USE_GLD3_WGL
00042 
00043 #include "dglcontext.h"
00044 
00045 // Same as DX8 D3DDISPLAYMODE
00046 typedef struct {
00047     DWORD   Width;
00048     DWORD   Height;
00049     DWORD   Refresh;
00050     DWORD   BPP;
00051 } GLD_displayMode;
00052 
00053 typedef struct {
00054     // Returns a string for a given HRESULT error code.
00055     BOOL    (*GetDXErrorString)(HRESULT hr, char *buf, int nBufSize);
00056 
00057     // Driver functions for managing drawables.
00058     // Functions must respect persistant buffers / persistant interface.
00059     // NOTE: Persistant interface is: DirectDraw, pre-DX8; Direct3D, DX8 and above.
00060     BOOL    (*CreateDrawable)(DGL_ctx *ctx, BOOL bPersistantInterface, BOOL bPersistantBuffers);
00061     BOOL    (*ResizeDrawable)(DGL_ctx *ctx, BOOL bDefaultDriver, BOOL bPersistantInterface, BOOL bPersistantBuffers);
00062     BOOL    (*DestroyDrawable)(DGL_ctx *ctx);
00063 
00064     // Create/Destroy private globals belonging to driver
00065     BOOL    (*CreatePrivateGlobals)(void);
00066     BOOL    (*DestroyPrivateGlobals)(void);
00067 
00068     // Build pixelformat list
00069     BOOL    (*BuildPixelformatList)(void);
00070 
00071     // Initialise Mesa's driver pointers
00072     BOOL    (*InitialiseMesa)(DGL_ctx *ctx);
00073 
00074     // Swap buffers
00075     BOOL    (*SwapBuffers)(DGL_ctx *ctx, HDC hDC, HWND hWnd);
00076 
00077     // wglGetProcAddress()
00078     PROC    (*wglGetProcAddress)(LPCSTR a);
00079 
00080     BOOL    (*GetDisplayMode)(DGL_ctx *ctx, GLD_displayMode *glddm);
00081 } GLD_driver;
00082 
00083 extern GLD_driver _gldDriver;
00084 
00085 BOOL gldInitDriverPointers(DWORD dwDriver);
00086 const GLubyte* _gldGetStringGeneric(GLcontext *ctx, GLenum name);
00087 
00088 #endif // _USE_GLD3_WGL
00089 
00090 #endif // _GLD_DRIVER_H

Generated on Sat May 26 2012 04:18:45 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.