19fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*==========================================================================;
29fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
39fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *  Copyright (C) 1994-1996 Microsoft Corporation.  All Rights Reserved.
49fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
59fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *  File:       ddraw.h
69fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *  Content:    DirectDraw include file
79fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
89fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ***************************************************************************/
99fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#ifndef __DDRAW_INCLUDED__
119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define __DDRAW_INCLUDED__
129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#if defined( _WIN32 )  && !defined( _NO_COM )
139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define COM_NO_WINDOWS_H
149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#include <objbase.h>
159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#else
169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IUnknown            void
179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define CO_E_NOTINITIALIZED 0x800401F0L
189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define _FACDD  0x876
219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define MAKE_DDHRESULT( code )  MAKE_HRESULT( 1, _FACDD, code )
229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#ifdef __cplusplus
249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamextern "C" {
259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * GUIDS used by DirectDraw objects
299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#if defined( _WIN32 ) && !defined( _NO_COM )
319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamDEFINE_GUID( CLSID_DirectDraw,                  0xD7B70EE0,0x4340,0x11CF,0xB0,0x63,0x00,0x20,0xAF,0xC2,0xCD,0x35 );
329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamDEFINE_GUID( CLSID_DirectDrawClipper,           0x593817A0,0x7DB3,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xb9,0x33,0x56 );
339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamDEFINE_GUID( IID_IDirectDraw,                   0x6C14DB80,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamDEFINE_GUID( IID_IDirectDraw2,                  0xB3A6F3E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 );
359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamDEFINE_GUID( IID_IDirectDrawSurface,            0x6C14DB81,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamDEFINE_GUID( IID_IDirectDrawSurface2,           0x57805885,0x6eec,0x11cf,0x94,0x41,0xa8,0x23,0x03,0xc1,0x0e,0x27 );
379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamDEFINE_GUID( IID_IDirectDrawPalette,            0x6C14DB84,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamDEFINE_GUID( IID_IDirectDrawClipper,            0x6C14DB85,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*============================================================================
449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw Structures
469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Various structures used to invoke DirectDraw.
489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *==========================================================================*/
509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamstruct IDirectDraw;
529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamstruct IDirectDrawSurface;
539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamstruct IDirectDrawPalette;
549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamstruct IDirectDrawClipper;
559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct IDirectDraw                      FAR *LPDIRECTDRAW;
579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct IDirectDraw2                     FAR *LPDIRECTDRAW2;
589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct IDirectDrawSurface               FAR *LPDIRECTDRAWSURFACE;
599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct IDirectDrawSurface2              FAR *LPDIRECTDRAWSURFACE2;
609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct IDirectDrawPalette               FAR *LPDIRECTDRAWPALETTE;
629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct IDirectDrawClipper               FAR *LPDIRECTDRAWCLIPPER;
639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _DDFXROP                 FAR *LPDDFXROP;
659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _DDSURFACEDESC           FAR *LPDDSURFACEDESC;
669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * API's
699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#if (defined (WIN32) || defined( _WIN32 ) ) && !defined( _NO_COM )
719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream//#if defined( _WIN32 ) && !defined( _NO_ENUM )
729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKA)(GUID FAR *, LPSTR, LPSTR, LPVOID);
739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKW)(GUID FAR *, LPWSTR, LPWSTR, LPVOID);
749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    extern HRESULT WINAPI DirectDrawEnumerateW( LPDDENUMCALLBACKW lpCallback, LPVOID lpContext );
759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    extern HRESULT WINAPI DirectDrawEnumerateA( LPDDENUMCALLBACKA lpCallback, LPVOID lpContext );
769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    #ifdef UNICODE
779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        typedef LPDDENUMCALLBACKW       LPDDENUMCALLBACK;
789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        #define DirectDrawEnumerate     DirectDrawEnumerateW
799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    #else
809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        typedef LPDDENUMCALLBACKA       LPDDENUMCALLBACK;
819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        #define DirectDrawEnumerate     DirectDrawEnumerateA
829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    #endif
839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    extern HRESULT WINAPI DirectDrawCreate( GUID FAR *lpGUID, LPDIRECTDRAW FAR *lplpDD, IUnknown FAR *pUnkOuter );
849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    extern HRESULT WINAPI DirectDrawCreateClipper( DWORD dwFlags, LPDIRECTDRAWCLIPPER FAR *lplpDDClipper, IUnknown FAR *pUnkOuter );
859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    #ifdef WINNT
869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        //This is the user-mode entry stub to the kernel mode procedure.
879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        extern HRESULT NtDirectDrawCreate( GUID FAR *lpGUID, HANDLE *lplpDD, IUnknown FAR *pUnkOuter );
889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    #endif
899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define REGSTR_KEY_DDHW_DESCRIPTION     "Description"
929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define REGSTR_KEY_DDHW_DRIVERNAME      "DriverName"
939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define REGSTR_PATH_DDHW                "Hardware\\DirectDrawDrivers"
949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCREATE_HARDWAREONLY           0x00000001l
969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCREATE_EMULATIONONLY          0x00000002l
979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#ifdef WINNT
999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef long HRESULT;
1009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
1019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
1029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream//#ifndef WINNT
1039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef HRESULT (FAR PASCAL * LPDDENUMMODESCALLBACK)(LPDDSURFACEDESC, LPVOID);
1049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef HRESULT (FAR PASCAL * LPDDENUMSURFACESCALLBACK)(LPDIRECTDRAWSURFACE, LPDDSURFACEDESC, LPVOID);
1059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream//#endif
1069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
1079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDCOLORKEY
1089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
1099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _DDCOLORKEY
1109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream{
1119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwColorSpaceLowValue;   // low boundary of color space that is to
1129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream                                        // be treated as Color Key, inclusive
1139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwColorSpaceHighValue;  // high boundary of color space that is
1149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream                                        // to be treated as Color Key, inclusive
1159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} DDCOLORKEY;
1169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
1179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef DDCOLORKEY FAR* LPDDCOLORKEY;
1189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
1199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
1209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDBLTFX
1219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Used to pass override information to the DIRECTDRAWSURFACE callback Blt.
1229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
1239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _DDBLTFX
1249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream{
1259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwSize;                         // size of structure
1269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwDDFX;                         // FX operations
1279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwROP;                          // Win32 raster operations
1289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwDDROP;                        // Raster operations new for DirectDraw
1299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwRotationAngle;                // Rotation angle for blt
1309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwZBufferOpCode;                // ZBuffer compares
1319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwZBufferLow;                   // Low limit of Z buffer
1329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwZBufferHigh;                  // High limit of Z buffer
1339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwZBufferBaseDest;              // Destination base value
1349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwZDestConstBitDepth;           // Bit depth used to specify Z constant for destination
1359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    union
1369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    {
1379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwZDestConst;                   // Constant to use as Z buffer for dest
1389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        LPDIRECTDRAWSURFACE lpDDSZBufferDest;   // Surface to use as Z buffer for dest
1399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    };
1409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwZSrcConstBitDepth;            // Bit depth used to specify Z constant for source
1419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    union
1429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    {
1439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwZSrcConst;                    // Constant to use as Z buffer for src
1449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        LPDIRECTDRAWSURFACE lpDDSZBufferSrc;    // Surface to use as Z buffer for src
1459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    };
1469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlphaEdgeBlendBitDepth;       // Bit depth used to specify constant for alpha edge blend
1479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlphaEdgeBlend;               // Alpha for edge blending
1489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwReserved;
1499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlphaDestConstBitDepth;       // Bit depth used to specify alpha constant for destination
1509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    union
1519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    {
1529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwAlphaDestConst;               // Constant to use as Alpha Channel
1539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        LPDIRECTDRAWSURFACE lpDDSAlphaDest;     // Surface to use as Alpha Channel
1549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    };
1559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlphaSrcConstBitDepth;        // Bit depth used to specify alpha constant for source
1569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    union
1579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    {
1589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwAlphaSrcConst;                // Constant to use as Alpha Channel
1599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        LPDIRECTDRAWSURFACE lpDDSAlphaSrc;      // Surface to use as Alpha Channel
1609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    };
1619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    union
1629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    {
1639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwFillColor;                    // color in RGB or Palettized
1649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwFillDepth;                    // depth value for z-buffer
1659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        LPDIRECTDRAWSURFACE lpDDSPattern;       // Surface to use as pattern
1669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    };
1679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DDCOLORKEY  ddckDestColorkey;               // DestColorkey override
1689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DDCOLORKEY  ddckSrcColorkey;                // SrcColorkey override
1699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} DDBLTFX;
1709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
1719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef DDBLTFX FAR* LPDDBLTFX;
1729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
1739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
1749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
1759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDSCAPS
1769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
1779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _DDSCAPS
1789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream{
1799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwCaps;         // capabilities of surface wanted
1809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} DDSCAPS;
1819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
1829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef DDSCAPS FAR* LPDDSCAPS;
1839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
1849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
1859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDCAPS
1869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
1879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DD_ROP_SPACE            (256/32)        // space required to store ROP array
1889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
1899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _DDCAPS
1909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream{
1919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwSize;                 // size of the DDDRIVERCAPS structure
1929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwCaps;                 // driver specific capabilities
1939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwCaps2;                // more driver specific capabilites
1949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwCKeyCaps;             // color key capabilities of the surface
1959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwFXCaps;               // driver specific stretching and effects capabilites
1969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwFXAlphaCaps;          // alpha driver specific capabilities
1979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwPalCaps;              // palette capabilities
1989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwSVCaps;               // stereo vision capabilities
1999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlphaBltConstBitDepths;       // DDBD_2,4,8
2009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlphaBltPixelBitDepths;       // DDBD_1,2,4,8
2019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlphaBltSurfaceBitDepths;     // DDBD_1,2,4,8
2029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlphaOverlayConstBitDepths;   // DDBD_2,4,8
2039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlphaOverlayPixelBitDepths;   // DDBD_1,2,4,8
2049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlphaOverlaySurfaceBitDepths; // DDBD_1,2,4,8
2059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwZBufferBitDepths;             // DDBD_8,16,24,32
2069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwVidMemTotal;          // total amount of video memory
2079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwVidMemFree;           // amount of free video memory
2089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwMaxVisibleOverlays;   // maximum number of visible overlays
2099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwCurrVisibleOverlays;  // current number of visible overlays
2109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwNumFourCCCodes;       // number of four cc codes
2119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlignBoundarySrc;     // source rectangle alignment
2129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlignSizeSrc;         // source rectangle byte size
2139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlignBoundaryDest;    // dest rectangle alignment
2149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlignSizeDest;        // dest rectangle byte size
2159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlignStrideAlign;     // stride alignment
2169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwRops[DD_ROP_SPACE];   // ROPS supported
2179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DDSCAPS     ddsCaps;                // DDSCAPS structure has all the general capabilities
2189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwMinOverlayStretch;    // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
2199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwMaxOverlayStretch;    // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
2209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwMinLiveVideoStretch;  // minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
2219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwMaxLiveVideoStretch;  // maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
2229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwMinHwCodecStretch;    // minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
2239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwMaxHwCodecStretch;    // maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
2249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwReserved1;            // reserved
2259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwReserved2;            // reserved
2269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwReserved3;            // reserved
2279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwSVBCaps;              // driver specific capabilities for System->Vmem blts
2289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwSVBCKeyCaps;          // driver color key capabilities for System->Vmem blts
2299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwSVBFXCaps;            // driver FX capabilities for System->Vmem blts
2309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwSVBRops[DD_ROP_SPACE];// ROPS supported for System->Vmem blts
2319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwVSBCaps;              // driver specific capabilities for Vmem->System blts
2329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwVSBCKeyCaps;          // driver color key capabilities for Vmem->System blts
2339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwVSBFXCaps;            // driver FX capabilities for Vmem->System blts
2349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwVSBRops[DD_ROP_SPACE];// ROPS supported for Vmem->System blts
2359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwSSBCaps;              // driver specific capabilities for System->System blts
2369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwSSBCKeyCaps;          // driver color key capabilities for System->System blts
2379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwSSBFXCaps;            // driver FX capabilities for System->System blts
2389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwSSBRops[DD_ROP_SPACE];// ROPS supported for System->System blts
2399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwReserved4;            // reserved
2409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwReserved5;            // reserved
2419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwReserved6;            // reserved
2429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} DDCAPS;
2439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
2449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef DDCAPS FAR* LPDDCAPS;
2459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
2469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
2479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
2489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
2499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDPIXELFORMAT
2509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
2519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _DDPIXELFORMAT
2529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream{
2539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwSize;                 // size of structure
2549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwFlags;                // pixel format flags
2559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwFourCC;               // (FOURCC code)
2569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    union
2579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    {
2589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwRGBBitCount;          // how many bits per pixel (BD_4,8,16,24,32)
2599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwYUVBitCount;          // how many bits per pixel (BD_4,8,16,24,32)
2609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwZBufferBitDepth;      // how many bits for z buffers (BD_8,16,24,32)
2619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwAlphaBitDepth;        // how many bits for alpha channels (BD_1,2,4,8)
2629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    };
2639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    union
2649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    {
2659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwRBitMask;             // mask for red bit
2669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwYBitMask;             // mask for Y bits
2679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    };
2689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    union
2699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    {
2709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwGBitMask;             // mask for green bits
2719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwUBitMask;             // mask for U bits
2729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    };
2739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    union
2749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    {
2759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwBBitMask;             // mask for blue bits
2769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwVBitMask;             // mask for V bits
2779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    };
2789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    union
2799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    {
2809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwRGBAlphaBitMask;      // mask for alpha channel
2819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwYUVAlphaBitMask;      // mask for alpha channel
2829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    };
2839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} DDPIXELFORMAT;
2849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
2859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef DDPIXELFORMAT FAR* LPDDPIXELFORMAT;
2869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
2879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
2889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDOVERLAYFX
2899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
2909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _DDOVERLAYFX
2919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream{
2929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwSize;                         // size of structure
2939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlphaEdgeBlendBitDepth;       // Bit depth used to specify constant for alpha edge blend
2949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlphaEdgeBlend;               // Constant to use as alpha for edge blend
2959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwReserved;
2969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlphaDestConstBitDepth;       // Bit depth used to specify alpha constant for destination
2979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    union
2989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    {
2999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwAlphaDestConst;               // Constant to use as alpha channel for dest
3009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        LPDIRECTDRAWSURFACE lpDDSAlphaDest;     // Surface to use as alpha channel for dest
3019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    };
3029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwAlphaSrcConstBitDepth;        // Bit depth used to specify alpha constant for source
3039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    union
3049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    {
3059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD   dwAlphaSrcConst;                // Constant to use as alpha channel for src
3069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        LPDIRECTDRAWSURFACE lpDDSAlphaSrc;      // Surface to use as alpha channel for src
3079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    };
3089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DDCOLORKEY  dckDestColorkey;                // DestColorkey override
3099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DDCOLORKEY  dckSrcColorkey;                 // DestColorkey override
3109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwDDFX;                         // Overlay FX
3119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD       dwFlags;                        // flags
3129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} DDOVERLAYFX;
3139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
3149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef DDOVERLAYFX FAR *LPDDOVERLAYFX;
3159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
3169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
3179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDBLTBATCH: BltBatch entry structure
3189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
3199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _DDBLTBATCH
3209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream{
3219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    LPRECT              lprDest;
3229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    LPDIRECTDRAWSURFACE lpDDSSrc;
3239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    LPRECT              lprSrc;
3249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD               dwFlags;
3259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    LPDDBLTFX           lpDDBltFx;
3269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} DDBLTBATCH;
3279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
3289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef DDBLTBATCH FAR * LPDDBLTBATCH;
3299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
3309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
3319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * callbacks
3329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
3339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef DWORD   (FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper, HWND hWnd, DWORD code, LPVOID lpContext );
3349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#ifdef STREAMING
3359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef DWORD   (FAR PASCAL *LPSURFACESTREAMINGCALLBACK)(DWORD);
3369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
3379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
3389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
3399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
3409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * INTERACES FOLLOW:
3419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *      IDirectDraw
3429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *      IDirectDrawClipper
3439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *      IDirectDrawPalette
3449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *      IDirectDrawSurface
3459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
3469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
3479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
3489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * IDirectDraw
3499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
3509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#if defined( _WIN32 ) && !defined( _NO_COM )
3519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#undef INTERFACE
3529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define INTERFACE IDirectDraw
3539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamDECLARE_INTERFACE_( IDirectDraw, IUnknown )
3549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream{
3559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    /*** IUnknown methods ***/
3569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
3579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
3589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD_(ULONG,Release) (THIS) PURE;
3599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    /*** IDirectDraw methods ***/
3609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Compact)(THIS) PURE;
3619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
3629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;
3639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(CreateSurface)(THIS_  LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *) PURE;
3649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * ) PURE;
3659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE;
3669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE;
3679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(FlipToGDISurface)(THIS) PURE;
3689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;
3699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE;
3709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetFourCCCodes)(THIS_  LPDWORD, LPDWORD ) PURE;
3719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;
3729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
3739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
3749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
3759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
3769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(RestoreDisplayMode)(THIS) PURE;
3779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
3789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD) PURE;
3799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;
3809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream};
3819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
3829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#if !defined(__cplusplus) || defined(CINTERFACE)
3839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_QueryInterface(p, a, b)         (p)->lpVtbl->QueryInterface(p, a, b)
3849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_AddRef(p)                       (p)->lpVtbl->AddRef(p)
3859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_Release(p)                      (p)->lpVtbl->Release(p)
3869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_Compact(p)                      (p)->lpVtbl->Compact(p)
3879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_CreateClipper(p, a, b, c)       (p)->lpVtbl->CreateClipper(p, a, b, c)
3889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_CreatePalette(p, a, b, c, d)    (p)->lpVtbl->CreatePalette(p, a, b, c, d)
3899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_CreateSurface(p, a, b, c)       (p)->lpVtbl->CreateSurface(p, a, b, c)
3909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_DuplicateSurface(p, a, b)       (p)->lpVtbl->DuplicateSurface(p, a, b)
3919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)
3929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_EnumSurfaces(p, a, b, c, d)     (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)
3939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_FlipToGDISurface(p)             (p)->lpVtbl->FlipToGDISurface(p)
3949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_GetCaps(p, a, b)                (p)->lpVtbl->GetCaps(p, a, b)
3959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_GetDisplayMode(p, a)            (p)->lpVtbl->GetDisplayMode(p, a)
3969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_GetFourCCCodes(p, a, b)         (p)->lpVtbl->GetFourCCCodes(p, a, b)
3979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_GetGDISurface(p, a)             (p)->lpVtbl->GetGDISurface(p, a)
3989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_GetMonitorFrequency(p, a)       (p)->lpVtbl->GetMonitorFrequency(p, a)
3999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_GetScanLine(p, a)               (p)->lpVtbl->GetScanLine(p, a)
4009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_GetVerticalBlankStatus(p, a)    (p)->lpVtbl->GetVerticalBlankStatus(p, a)
4019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_Initialize(p, a)                (p)->lpVtbl->Initialize(p, a)
4029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_RestoreDisplayMode(p)           (p)->lpVtbl->RestoreDisplayMode(p)
4039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_SetCooperativeLevel(p, a, b)    (p)->lpVtbl->SetCooperativeLevel(p, a, b)
4049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_SetDisplayMode(p, a, b, c)      (p)->lpVtbl->SetDisplayMode(p, a, b, c)
4059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw_WaitForVerticalBlank(p, a, b)   (p)->lpVtbl->WaitForVerticalBlank(p, a, b)
4069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
4079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
4089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
4099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
4109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#if defined( _WIN32 ) && !defined( _NO_COM )
4119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#undef INTERFACE
4129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define INTERFACE IDirectDraw2
4139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamDECLARE_INTERFACE_( IDirectDraw2, IUnknown )
4149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream{
4159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    /*** IUnknown methods ***/
4169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
4179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
4189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD_(ULONG,Release) (THIS) PURE;
4199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    /*** IDirectDraw methods ***/
4209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Compact)(THIS) PURE;
4219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
4229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;
4239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(CreateSurface)(THIS_  LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *) PURE;
4249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * ) PURE;
4259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE;
4269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE;
4279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(FlipToGDISurface)(THIS) PURE;
4289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;
4299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE;
4309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetFourCCCodes)(THIS_  LPDWORD, LPDWORD ) PURE;
4319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;
4329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
4339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
4349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
4359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
4369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(RestoreDisplayMode)(THIS) PURE;
4379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
4389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE;
4399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;
4409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    /*** Added in the v2 interface ***/
4419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS, LPDWORD, LPDWORD) PURE;
4429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream};
4439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#if !defined(__cplusplus) || defined(CINTERFACE)
4449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_QueryInterface(p, a, b)         (p)->lpVtbl->QueryInterface(p, a, b)
4459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_AddRef(p)                       (p)->lpVtbl->AddRef(p)
4469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_Release(p)                      (p)->lpVtbl->Release(p)
4479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_Compact(p)                      (p)->lpVtbl->Compact(p)
4489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_CreateClipper(p, a, b, c)       (p)->lpVtbl->CreateClipper(p, a, b, c)
4499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_CreatePalette(p, a, b, c, d)    (p)->lpVtbl->CreatePalette(p, a, b, c, d)
4509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_CreateSurface(p, a, b, c)       (p)->lpVtbl->CreateSurface(p, a, b, c)
4519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_DuplicateSurface(p, a, b)       (p)->lpVtbl->DuplicateSurface(p, a, b)
4529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)
4539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_EnumSurfaces(p, a, b, c, d)     (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)
4549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_FlipToGDISurface(p)             (p)->lpVtbl->FlipToGDISurface(p)
4559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_GetCaps(p, a, b)                (p)->lpVtbl->GetCaps(p, a, b)
4569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_GetDisplayMode(p, a)            (p)->lpVtbl->GetDisplayMode(p, a)
4579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_GetFourCCCodes(p, a, b)         (p)->lpVtbl->GetFourCCCodes(p, a, b)
4589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_GetGDISurface(p, a)             (p)->lpVtbl->GetGDISurface(p, a)
4599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_GetMonitorFrequency(p, a)       (p)->lpVtbl->GetMonitorFrequency(p, a)
4609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_GetScanLine(p, a)               (p)->lpVtbl->GetScanLine(p, a)
4619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_GetVerticalBlankStatus(p, a)    (p)->lpVtbl->GetVerticalBlankStatus(p, a)
4629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_Initialize(p, a)                (p)->lpVtbl->Initialize(p, a)
4639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_RestoreDisplayMode(p)           (p)->lpVtbl->RestoreDisplayMode(p)
4649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_SetCooperativeLevel(p, a, b)    (p)->lpVtbl->SetCooperativeLevel(p, a, b)
4659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_SetDisplayMode(p, a, b, c, d)   (p)->lpVtbl->SetDisplayMode(p, a, b, c, d)
4669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_WaitForVerticalBlank(p, a, b)   (p)->lpVtbl->WaitForVerticalBlank(p, a, b)
4679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDraw2_GetAvailableVidMem(p, a, b, c)  (p)->lpVtbl->GetAvailableVidMem(p, a, b, c)
4689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
4699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
4709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
4719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
4729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
4739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * IDirectDrawPalette
4749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
4759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#if defined( _WIN32 ) && !defined( _NO_COM )
4769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#undef INTERFACE
4779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define INTERFACE IDirectDrawPalette
4789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamDECLARE_INTERFACE_( IDirectDrawPalette, IUnknown )
4799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream{
4809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    /*** IUnknown methods ***/
4819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
4829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
4839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD_(ULONG,Release) (THIS) PURE;
4849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    /*** IDirectDrawPalette methods ***/
4859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetCaps)(THIS_ LPDWORD) PURE;
4869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetEntries)(THIS_ DWORD,DWORD,DWORD,LPPALETTEENTRY) PURE;
4879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD, LPPALETTEENTRY) PURE;
4889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetEntries)(THIS_ DWORD,DWORD,DWORD,LPPALETTEENTRY) PURE;
4899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream};
4909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
4919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#if !defined(__cplusplus) || defined(CINTERFACE)
4929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawPalette_QueryInterface(p, a, b)      (p)->lpVtbl->QueryInterface(p, a, b)
4939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawPalette_AddRef(p)                    (p)->lpVtbl->AddRef(p)
4949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawPalette_Release(p)                   (p)->lpVtbl->Release(p)
4959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawPalette_GetCaps(p, a)                (p)->lpVtbl->GetCaps(p, a)
4969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawPalette_GetEntries(p, a, b, c, d)    (p)->lpVtbl->GetEntries(p, a, b, c, d)
4979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawPalette_Initialize(p, a, b, c)       (p)->lpVtbl->Initialize(p, a, b, c)
4989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawPalette_SetEntries(p, a, b, c, d)    (p)->lpVtbl->SetEntries(p, a, b, c, d)
4999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
5009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
5019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
5029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
5039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
5049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * IDirectDrawClipper
5059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
5069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#if defined( _WIN32 ) && !defined( _NO_COM )
5079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#undef INTERFACE
5089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define INTERFACE IDirectDrawClipper
5099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamDECLARE_INTERFACE_( IDirectDrawClipper, IUnknown )
5109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream{
5119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    /*** IUnknown methods ***/
5129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
5139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
5149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD_(ULONG,Release) (THIS) PURE;
5159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    /*** IDirectDrawClipper methods ***/
5169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetClipList)(THIS_ LPRECT, LPRGNDATA, LPDWORD) PURE;
5179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetHWnd)(THIS_ HWND FAR *) PURE;
5189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD) PURE;
5199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(IsClipListChanged)(THIS_ BOOL FAR *) PURE;
5209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetClipList)(THIS_ LPRGNDATA,DWORD) PURE;
5219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetHWnd)(THIS_ DWORD, HWND ) PURE;
5229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream};
5239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
5249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#if !defined(__cplusplus) || defined(CINTERFACE)
5259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawClipper_QueryInterface(p, a, b)  (p)->lpVtbl->QueryInterface(p, a, b)
5269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawClipper_AddRef(p)                (p)->lpVtbl->AddRef(p)
5279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawClipper_Release(p)               (p)->lpVtbl->Release(p)
5289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawClipper_GetClipList(p, a, b, c)  (p)->lpVtbl->GetClipList(p, a, b, c)
5299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawClipper_GetHWnd(p, a)            (p)->lpVtbl->GetHWnd(p, a)
5309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawClipper_Initialize(p, a, b)      (p)->lpVtbl->Initialize(p, a, b)
5319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawClipper_IsClipListChanged(p, a)  (p)->lpVtbl->IsClipListChanged(p, a)
5329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawClipper_SetClipList(p, a, b)     (p)->lpVtbl->SetClipList(p, a, b)
5339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawClipper_SetHWnd(p, a, b)         (p)->lpVtbl->SetHWnd(p, a, b)
5349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
5359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
5369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
5379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
5389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
5399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * IDirectDrawSurface and related interfaces
5409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
5419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#if defined( _WIN32 ) && !defined( _NO_COM )
5429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#undef INTERFACE
5439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define INTERFACE IDirectDrawSurface
5449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamDECLARE_INTERFACE_( IDirectDrawSurface, IUnknown )
5459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream{
5469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    /*** IUnknown methods ***/
5479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
5489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
5499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD_(ULONG,Release) (THIS) PURE;
5509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    /*** IDirectDrawSurface methods ***/
5519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE) PURE;
5529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
5539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE, LPRECT,DWORD, LPDDBLTFX) PURE;
5549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
5559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE, LPRECT,DWORD) PURE;
5569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE) PURE;
5579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
5589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
5599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE, DWORD) PURE;
5609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE FAR *) PURE;
5619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
5629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;
5639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
5649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
5659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
5669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
5679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
5689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
5699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
5709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;
5719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;
5729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(IsLost)(THIS) PURE;
5739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;
5749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
5759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Restore)(THIS) PURE;
5769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
5779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
5789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
5799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
5809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Unlock)(THIS_ LPVOID) PURE;
5819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
5829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
5839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE) PURE;
5849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream};
5859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
5869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#if !defined(__cplusplus) || defined(CINTERFACE)
5879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)
5889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_AddRef(p)                    (p)->lpVtbl->AddRef(p)
5899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_Release(p)                   (p)->lpVtbl->Release(p)
5909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_AddAttachedSurface(p,a)      (p)->lpVtbl->AddAttachedSurface(p,a)
5919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_AddOverlayDirtyRect(p,a)     (p)->lpVtbl->AddOverlayDirtyRect(p,a)
5929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_Blt(p,a,b,c,d,e)             (p)->lpVtbl->Blt(p,a,b,c,d,e)
5939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_BltBatch(p,a,b,c)            (p)->lpVtbl->BltBatch(p,a,b,c)
5949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_BltFast(p,a,b,c,d,e)         (p)->lpVtbl->BltFast(p,a,b,c,d,e)
5959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
5969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b)  (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
5979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c)  (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
5989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_Flip(p,a,b)                  (p)->lpVtbl->Flip(p,a,b)
5999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_GetAttachedSurface(p,a,b)    (p)->lpVtbl->GetAttachedSurface(p,a,b)
6009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_GetBltStatus(p,a)            (p)->lpVtbl->GetBltStatus(p,a)
6019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_GetCaps(p,b)                 (p)->lpVtbl->GetCaps(p,b)
6029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_GetClipper(p,a)              (p)->lpVtbl->GetClipper(p,a)
6039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_GetColorKey(p,a,b)           (p)->lpVtbl->GetColorKey(p,a,b)
6049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_GetDC(p,a)                   (p)->lpVtbl->GetDC(p,a)
6059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_GetFlipStatus(p,a)           (p)->lpVtbl->GetFlipStatus(p,a)
6069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_GetOverlayPosition(p,a,b)    (p)->lpVtbl->GetOverlayPosition(p,a,b)
6079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_GetPalette(p,a)              (p)->lpVtbl->GetPalette(p,a)
6089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_GetPixelFormat(p,a)          (p)->lpVtbl->GetPixelFormat(p,a)
6099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_GetSurfaceDesc(p,a)          (p)->lpVtbl->GetSurfaceDesc(p,a)
6109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_Initialize(p,a,b)            (p)->lpVtbl->Initialize(p,a,b)
6119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_IsLost(p)                    (p)->lpVtbl->IsLost(p)
6129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_Lock(p,a,b,c,d)              (p)->lpVtbl->Lock(p,a,b,c,d)
6139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_ReleaseDC(p,a)               (p)->lpVtbl->ReleaseDC(p,a)
6149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_Restore(p)                   (p)->lpVtbl->Restore(p)
6159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_SetClipper(p,a)              (p)->lpVtbl->SetClipper(p,a)
6169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_SetColorKey(p,a,b)           (p)->lpVtbl->SetColorKey(p,a,b)
6179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_SetOverlayPosition(p,a,b)    (p)->lpVtbl->SetOverlayPosition(p,a,b)
6189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_SetPalette(p,a)              (p)->lpVtbl->SetPalette(p,a)
6199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_Unlock(p,b)                  (p)->lpVtbl->Unlock(p,b)
6209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e)   (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
6219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_UpdateOverlayDisplay(p,a)    (p)->lpVtbl->UpdateOverlayDisplay(p,a)
6229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b)   (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
6239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
6249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
6259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
6269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * IDirectDrawSurface2 and related interfaces
6279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
6289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#undef INTERFACE
6299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define INTERFACE IDirectDrawSurface2
6309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamDECLARE_INTERFACE_( IDirectDrawSurface2, IUnknown )
6319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream{
6329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    /*** IUnknown methods ***/
6339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
6349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
6359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD_(ULONG,Release) (THIS) PURE;
6369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    /*** IDirectDrawSurface methods ***/
6379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE2) PURE;
6389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
6399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE2, LPRECT,DWORD, LPDDBLTFX) PURE;
6409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
6419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE2, LPRECT,DWORD) PURE;
6429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE2) PURE;
6439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
6449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
6459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE2, DWORD) PURE;
6469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE2 FAR *) PURE;
6479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
6489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;
6499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
6509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
6519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
6529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
6539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
6549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
6559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
6569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;
6579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;
6589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(IsLost)(THIS) PURE;
6599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;
6609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
6619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Restore)(THIS) PURE;
6629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
6639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
6649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
6659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
6669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(Unlock)(THIS_ LPVOID) PURE;
6679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE2,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
6689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
6699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE2) PURE;
6709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    /*** Added in the v2 interface ***/
6719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
6729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(PageLock)(THIS_ DWORD) PURE;
6739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;
6749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream};
6759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
6769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#if !defined(__cplusplus) || defined(CINTERFACE)
6779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)
6789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_AddRef(p)                    (p)->lpVtbl->AddRef(p)
6799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_Release(p)                   (p)->lpVtbl->Release(p)
6809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_AddAttachedSurface(p,a)      (p)->lpVtbl->AddAttachedSurface(p,a)
6819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_AddOverlayDirtyRect(p,a)     (p)->lpVtbl->AddOverlayDirtyRect(p,a)
6829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_Blt(p,a,b,c,d,e)             (p)->lpVtbl->Blt(p,a,b,c,d,e)
6839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_BltBatch(p,a,b,c)            (p)->lpVtbl->BltBatch(p,a,b,c)
6849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_BltFast(p,a,b,c,d,e)         (p)->lpVtbl->BltFast(p,a,b,c,d,e)
6859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
6869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_EnumAttachedSurfaces(p,a,b)  (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
6879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_EnumOverlayZOrders(p,a,b,c)  (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
6889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_Flip(p,a,b)                  (p)->lpVtbl->Flip(p,a,b)
6899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_GetAttachedSurface(p,a,b)    (p)->lpVtbl->GetAttachedSurface(p,a,b)
6909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_GetBltStatus(p,a)            (p)->lpVtbl->GetBltStatus(p,a)
6919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_GetCaps(p,b)                 (p)->lpVtbl->GetCaps(p,b)
6929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_GetClipper(p,a)              (p)->lpVtbl->GetClipper(p,a)
6939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_GetColorKey(p,a,b)           (p)->lpVtbl->GetColorKey(p,a,b)
6949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_GetDC(p,a)                   (p)->lpVtbl->GetDC(p,a)
6959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_GetFlipStatus(p,a)           (p)->lpVtbl->GetFlipStatus(p,a)
6969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_GetOverlayPosition(p,a,b)    (p)->lpVtbl->GetOverlayPosition(p,a,b)
6979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_GetPalette(p,a)              (p)->lpVtbl->GetPalette(p,a)
6989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_GetPixelFormat(p,a)          (p)->lpVtbl->GetPixelFormat(p,a)
6999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_GetSurfaceDesc(p,a)          (p)->lpVtbl->GetSurfaceDesc(p,a)
7009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_Initialize(p,a,b)            (p)->lpVtbl->Initialize(p,a,b)
7019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_IsLost(p)                    (p)->lpVtbl->IsLost(p)
7029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_Lock(p,a,b,c,d)              (p)->lpVtbl->Lock(p,a,b,c,d)
7039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_ReleaseDC(p,a)               (p)->lpVtbl->ReleaseDC(p,a)
7049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_Restore(p)                   (p)->lpVtbl->Restore(p)
7059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_SetClipper(p,a)              (p)->lpVtbl->SetClipper(p,a)
7069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_SetColorKey(p,a,b)           (p)->lpVtbl->SetColorKey(p,a,b)
7079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_SetOverlayPosition(p,a,b)    (p)->lpVtbl->SetOverlayPosition(p,a,b)
7089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_SetPalette(p,a)              (p)->lpVtbl->SetPalette(p,a)
7099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_Unlock(p,b)                  (p)->lpVtbl->Unlock(p,b)
7109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_UpdateOverlay(p,a,b,c,d,e)   (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
7119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_UpdateOverlayDisplay(p,a)    (p)->lpVtbl->UpdateOverlayDisplay(p,a)
7129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_UpdateOverlayZOrder(p,a,b)   (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
7139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_GetDDInterface(p,a)          (p)->lpVtbl->GetDDInterface(p,a)
7149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_PageLock(p,a)                (p)->lpVtbl->PageLock(p,a)
7159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define IDirectDrawSurface2_PageUnlock(p,a)              (p)->lpVtbl->PageUnlock(p,a)
7169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
7179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
7209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
7239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDSURFACEDESC
7249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
7259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _DDSURFACEDESC
7269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream{
7279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD               dwSize;                 // size of the DDSURFACEDESC structure
7289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD               dwFlags;                // determines what fields are valid
7299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD               dwHeight;               // height of surface to be created
7309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD               dwWidth;                // width of input surface
7319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    LONG                lPitch;                 // distance to start of next line (return value only)
7329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD               dwBackBufferCount;      // number of back buffers requested
7339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    union
7349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    {
7359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD           dwMipMapCount;          // number of mip-map levels requested
7369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD           dwZBufferBitDepth;      // depth of Z buffer requested
7379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream        DWORD           dwRefreshRate;          // refresh rate (used when display mode is described)
7389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    };
7399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD               dwAlphaBitDepth;        // depth of alpha buffer requested
7409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DWORD               dwReserved;             // reserved
7419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    LPVOID              lpSurface;              // pointer to the associated surface memory
7429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DDCOLORKEY          ddckCKDestOverlay;      // color key for destination overlay use
7439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DDCOLORKEY          ddckCKDestBlt;          // color key for destination blt use
7449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DDCOLORKEY          ddckCKSrcOverlay;       // color key for source overlay use
7459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DDCOLORKEY          ddckCKSrcBlt;           // color key for source blt use
7469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DDPIXELFORMAT       ddpfPixelFormat;        // pixel format description of the surface
7479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream    DDSCAPS             ddsCaps;                // direct draw surface capabilities
7489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} DDSURFACEDESC;
7499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
7519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * ddsCaps field is valid.
7529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
7539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_CAPS               0x00000001l     // default
7549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
7569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * dwHeight field is valid.
7579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
7589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_HEIGHT             0x00000002l
7599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
7619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * dwWidth field is valid.
7629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
7639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_WIDTH              0x00000004l
7649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
7669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * lPitch is valid.
7679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
7689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_PITCH              0x00000008l
7699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
7719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * dwBackBufferCount is valid.
7729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
7739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_BACKBUFFERCOUNT    0x00000020l
7749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
7769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * dwZBufferBitDepth is valid.
7779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
7789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_ZBUFFERBITDEPTH    0x00000040l
7799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
7819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * dwAlphaBitDepth is valid.
7829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
7839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_ALPHABITDEPTH      0x00000080l
7849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
7889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * ddpfPixelFormat is valid.
7899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
7909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_PIXELFORMAT        0x00001000l
7919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
7939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * ddckCKDestOverlay is valid.
7949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
7959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_CKDESTOVERLAY      0x00002000l
7969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
7979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
7989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * ddckCKDestBlt is valid.
7999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
8009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_CKDESTBLT          0x00004000l
8019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
8029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
8039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * ddckCKSrcOverlay is valid.
8049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
8059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_CKSRCOVERLAY       0x00008000l
8069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
8079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
8089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * ddckCKSrcBlt is valid.
8099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
8109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_CKSRCBLT           0x00010000l
8119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
8129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
8139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * dwMipMapCount is valid.
8149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
8159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_MIPMAPCOUNT        0x00020000l
8169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
8179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream /*
8189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream  * dwRefreshRate is valid
8199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream  */
8209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_REFRESHRATE        0x00040000l
8219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
8229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
8239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
8249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * All input fields are valid.
8259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
8269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSD_ALL                0x0007f9eel
8279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
8289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
8299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*============================================================================
8309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
8319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Direct Draw Capability Flags
8329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
8339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * These flags are used to describe the capabilities of a given Surface.
8349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * All flags are bit flags.
8359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
8369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *==========================================================================*/
8379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
8389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
8399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
8409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAWSURFACE CAPABILITY FLAGS
8419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
8429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
8439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
8449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This bit currently has no meaning.
8459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
8469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_3D                              0x00000001l
8479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
8489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
8499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that this surface contains alpha information.  The pixel
8509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * format must be interrogated to determine whether this surface
8519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * contains only alpha information or alpha information interlaced
8529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * with pixel color data (e.g. RGBA or YUVA).
8539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
8549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_ALPHA                           0x00000002l
8559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
8569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
8579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that this surface is a backbuffer.  It is generally
8589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * set by CreateSurface when the DDSCAPS_FLIP capability bit is set.
8599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * It indicates that this surface is THE back buffer of a surface
8609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * flipping structure.  DirectDraw supports N surfaces in a
8619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * surface flipping structure.  Only the surface that immediately
8629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * precedeces the DDSCAPS_FRONTBUFFER has this capability bit set.
8639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The other surfaces are identified as back buffers by the presence
8649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * of the DDSCAPS_FLIP capability, their attachment order, and the
8659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * absence of the DDSCAPS_FRONTBUFFER and DDSCAPS_BACKBUFFER
8669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * capabilities.  The bit is sent to CreateSurface when a standalone
8679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * back buffer is being created.  This surface could be attached to
8689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * a front buffer and/or back buffers to form a flipping surface
8699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * structure after the CreateSurface call.  See AddAttachments for
8709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * a detailed description of the behaviors in this case.
8719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
8729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_BACKBUFFER                      0x00000004l
8739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
8749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
8759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates a complex surface structure is being described.  A
8769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * complex surface structure results in the creation of more than
8779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * one surface.  The additional surfaces are attached to the root
8789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * surface.  The complex structure can only be destroyed by
8799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * destroying the root.
8809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
8819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_COMPLEX                         0x00000008l
8829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
8839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
8849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that this surface is a part of a surface flipping structure.
8859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * When it is passed to CreateSurface the DDSCAPS_FRONTBUFFER and
8869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDSCAP_BACKBUFFER bits are not set.  They are set by CreateSurface
8879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * on the resulting creations.  The dwBackBufferCount field in the
8889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDSURFACEDESC structure must be set to at least 1 in order for
8899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * the CreateSurface call to succeed.  The DDSCAPS_COMPLEX capability
8909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * must always be set with creating multiple surfaces through CreateSurface.
8919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
8929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_FLIP                            0x00000010l
8939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
8949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
8959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that this surface is THE front buffer of a surface flipping
8969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * structure.  It is generally set by CreateSurface when the DDSCAPS_FLIP
8979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * capability bit is set.
8989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * If this capability is sent to CreateSurface then a standalonw front buffer
8999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * is created.  This surface will not have the DDSCAPS_FLIP capability.
9009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * It can be attached to other back buffers to form a flipping structure.
9019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * See AddAttachments for a detailed description of the behaviors in this
9029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * case.
9039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_FRONTBUFFER                     0x00000020l
9059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that this surface is any offscreen surface that is not an overlay,
9089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * texture, zbuffer, front buffer, back buffer, or alpha surface.  It is used
9099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * to identify plain vanilla surfaces.
9109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_OFFSCREENPLAIN                  0x00000040l
9129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that this surface is an overlay.  It may or may not be directly visible
9159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * depending on whether or not it is currently being overlayed onto the primary
9169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * surface.  DDSCAPS_VISIBLE can be used to determine whether or not it is being
9179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * overlayed at the moment.
9189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_OVERLAY                         0x00000080l
9209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that unique DirectDrawPalette objects can be created and
9239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * attached to this surface.
9249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_PALETTE                         0x00000100l
9269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that this surface is the primary surface.  The primary
9299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * surface represents what the user is seeing at the moment.
9309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_PRIMARYSURFACE                  0x00000200l
9329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that this surface is the primary surface for the left eye.
9359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The primary surface for the left eye represents what the user is seeing
9369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * at the moment with the users left eye.  When this surface is created the
9379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDSCAPS_PRIMARYSURFACE represents what the user is seeing with the users
9389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * right eye.
9399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_PRIMARYSURFACELEFT              0x00000400l
9419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that this surface memory was allocated in system memory
9449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_SYSTEMMEMORY                    0x00000800l
9469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that this surface can be used as a 3D texture.  It does not
9499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * indicate whether or not the surface is being used for that purpose.
9509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_TEXTURE                         0x00001000l
9529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that a surface may be a destination for 3D rendering.  This
9559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * bit must be set in order to query for a Direct3D Device Interface
9569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * from this surface.
9579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_3DDEVICE                        0x00002000l
9599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that this surface exists in video memory.
9629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_VIDEOMEMORY                     0x00004000l
9649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that changes made to this surface are immediately visible.
9679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * It is always set for the primary surface and is set for overlays while
9689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * they are being overlayed and texture maps while they are being textured.
9699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_VISIBLE                         0x00008000l
9719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that only writes are permitted to the surface.  Read accesses
9749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * from the surface may or may not generate a protection fault, but the
9759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * results of a read from this surface will not be meaningful.  READ ONLY.
9769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_WRITEONLY                       0x00010000l
9789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that this surface is a z buffer. A z buffer does not contain
9819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * displayable information.  Instead it contains bit depth information that is
9829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * used to determine which pixels are visible and which are obscured.
9839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_ZBUFFER                         0x00020000l
9859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates surface will have a DC associated long term
9889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_OWNDC                           0x00040000l
9909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates surface should be able to receive live video
9939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
9949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_LIVEVIDEO                       0x00080000l
9959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
9969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
9979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates surface should be able to have a stream decompressed
9989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * to it by the hardware.
9999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_HWCODEC                         0x00100000l
10019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Surface is a 320x200 or 320x240 ModeX surface
10049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_MODEX                           0x00200000l
10069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates surface is one level of a mip-map. This surface will
10099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * be attached to other DDSCAPS_MIPMAP surfaces to form the mip-map.
10109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This can be done explicitly, by creating a number of surfaces and
10119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * attaching them with AddAttachedSurface or by implicitly by CreateSurface.
10129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * If this bit is set then DDSCAPS_TEXTURE must also be set.
10139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_MIPMAP                          0x00400000l
10159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that memory for the surface is not allocated until the surface
10209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * is loaded (via the Direct3D texture Load() function).
10219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCAPS_ALLOCONLOAD                     0x04000000l
10239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream /****************************************************************************
10279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
10289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW DRIVER CAPABILITY FLAGS
10299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
10309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
10319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware has 3D acceleration.
10349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_3D                       0x00000001l
10369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that DirectDraw will support only dest rectangles that are aligned
10399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * on DIRECTDRAWCAPS.dwAlignBoundaryDest boundaries of the surface, respectively.
10409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * READ ONLY.
10419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_ALIGNBOUNDARYDEST        0x00000002l
10439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that DirectDraw will support only source rectangles  whose sizes in
10469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * BYTEs are DIRECTDRAWCAPS.dwAlignSizeDest multiples, respectively.  READ ONLY.
10479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_ALIGNSIZEDEST            0x00000004l
10499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that DirectDraw will support only source rectangles that are aligned
10519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * on DIRECTDRAWCAPS.dwAlignBoundarySrc boundaries of the surface, respectively.
10529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * READ ONLY.
10539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_ALIGNBOUNDARYSRC         0x00000008l
10559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that DirectDraw will support only source rectangles  whose sizes in
10589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * BYTEs are DIRECTDRAWCAPS.dwAlignSizeSrc multiples, respectively.  READ ONLY.
10599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_ALIGNSIZESRC             0x00000010l
10619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that DirectDraw will create video memory surfaces that have a stride
10649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * alignment equal to DIRECTDRAWCAPS.dwAlignStride.  READ ONLY.
10659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_ALIGNSTRIDE              0x00000020l
10679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware is capable of blt operations.
10709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_BLT                      0x00000040l
10729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware is capable of asynchronous blt operations.
10759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_BLTQUEUE                 0x00000080l
10779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware is capable of color space conversions during the blt operation.
10809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_BLTFOURCC                0x00000100l
10829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware is capable of stretching during blt operations.
10859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_BLTSTRETCH               0x00000200l
10879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware is shared with GDI.
10909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_GDI                      0x00000400l
10929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware can overlay.
10959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
10969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_OVERLAY                  0x00000800l
10979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
10989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
10999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Set if display hardware supports overlays but can not clip them.
11009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_OVERLAYCANTCLIP          0x00001000l
11029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that overlay hardware is capable of color space conversions during
11059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * the overlay operation.
11069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_OVERLAYFOURCC            0x00002000l
11089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that stretching can be done by the overlay hardware.
11119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_OVERLAYSTRETCH           0x00004000l
11139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that unique DirectDrawPalettes can be created for DirectDrawSurfaces
11169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * other than the primary surface.
11179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_PALETTE                  0x00008000l
11199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that palette changes can be syncd with the veritcal refresh.
11229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_PALETTEVSYNC             0x00010000l
11249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware can return the current scan line.
11279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_READSCANLINE             0x00020000l
11299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware has stereo vision capabilities.  DDSCAPS_PRIMARYSURFACELEFT
11329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * can be created.
11339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_STEREOVIEW               0x00040000l
11359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware is capable of generating a vertical blank interrupt.
11389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_VBI                      0x00080000l
11409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports the use of z buffers with blt operations.
11439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_ZBLTS                    0x00100000l
11459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports Z Ordering of overlays.
11489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_ZOVERLAYS                0x00200000l
11509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports color key
11539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_COLORKEY                 0x00400000l
11559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports alpha surfaces
11589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_ALPHA                    0x00800000l
11609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * colorkey is hardware assisted(DDCAPS_COLORKEY will also be set)
11639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_COLORKEYHWASSIST         0x01000000l
11659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * no hardware support at all
11689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_NOHARDWARE               0x02000000l
11709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware is capable of color fill with bltter
11739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_BLTCOLORFILL             0x04000000l
11759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware is bank switched, and potentially very slow at
11789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * random access to VRAM.
11799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_BANKSWITCHED             0x08000000l
11819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware is capable of depth filling Z-buffers with bltter
11849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_BLTDEPTHFILL             0x10000000l
11869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware is capable of clipping while bltting.
11899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_CANCLIP                  0x20000000l
11919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware is capable of clipping while stretch bltting.
11949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
11959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_CANCLIPSTRETCHED         0x40000000l
11969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
11979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
11989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware is capable of bltting to or from system memory
11999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
12009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS_CANBLTSYSMEM             0x80000000l
12019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream /****************************************************************************
12049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
12059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * MORE DIRECTDRAW DRIVER CAPABILITY FLAGS (dwCaps2)
12069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
12079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
12089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
12109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Display hardware is certified
12119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
12129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS2_CERTIFIED               0x00000001l
12139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
12159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Driver cannot interleave 2D operations (lock and blt) to surfaces with
12169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Direct3D rendering operations between calls to BeginScene() and EndScene()
12179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
12189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCAPS2_NO2DDURING3DSCENE       0x00000002l
12199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
12219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
12229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW FX ALPHA CAPABILITY FLAGS
12239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
12249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
12259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
12279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports alpha blending around the edge of a source color keyed surface.
12289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * For Blt.
12299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
12309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXALPHACAPS_BLTALPHAEDGEBLEND         0x00000001l
12319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
12339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports alpha information in the pixel format.  The bit depth of alpha
12349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * information in the pixel format can be 1,2,4, or 8.  The alpha value becomes
12359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * more opaque as the alpha value increases.  (0 is transparent.)
12369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * For Blt.
12379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
12389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXALPHACAPS_BLTALPHAPIXELS            0x00000002l
12399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
12419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports alpha information in the pixel format.  The bit depth of alpha
12429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * information in the pixel format can be 1,2,4, or 8.  The alpha value
12439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * becomes more transparent as the alpha value increases.  (0 is opaque.)
12449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This flag can only be set if DDCAPS_ALPHA is set.
12459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * For Blt.
12469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
12479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXALPHACAPS_BLTALPHAPIXELSNEG         0x00000004l
12489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
12509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports alpha only surfaces.  The bit depth of an alpha only surface can be
12519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * 1,2,4, or 8.  The alpha value becomes more opaque as the alpha value increases.
12529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * (0 is transparent.)
12539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * For Blt.
12549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
12559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXALPHACAPS_BLTALPHASURFACES          0x00000008l
12569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
12589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The depth of the alpha channel data can range can be 1,2,4, or 8.
12599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The NEG suffix indicates that this alpha channel becomes more transparent
12609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * as the alpha value increases. (0 is opaque.)  This flag can only be set if
12619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDCAPS_ALPHA is set.
12629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * For Blt.
12639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
12649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXALPHACAPS_BLTALPHASURFACESNEG       0x00000010l
12659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
12679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports alpha blending around the edge of a source color keyed surface.
12689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * For Overlays.
12699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
12709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND     0x00000020l
12719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
12739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports alpha information in the pixel format.  The bit depth of alpha
12749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * information in the pixel format can be 1,2,4, or 8.  The alpha value becomes
12759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * more opaque as the alpha value increases.  (0 is transparent.)
12769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * For Overlays.
12779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
12789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXALPHACAPS_OVERLAYALPHAPIXELS        0x00000040l
12799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
12819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports alpha information in the pixel format.  The bit depth of alpha
12829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * information in the pixel format can be 1,2,4, or 8.  The alpha value
12839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * becomes more transparent as the alpha value increases.  (0 is opaque.)
12849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This flag can only be set if DDCAPS_ALPHA is set.
12859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * For Overlays.
12869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
12879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG     0x00000080l
12889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
12909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports alpha only surfaces.  The bit depth of an alpha only surface can be
12919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * 1,2,4, or 8.  The alpha value becomes more opaque as the alpha value increases.
12929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * (0 is transparent.)
12939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * For Overlays.
12949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
12959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXALPHACAPS_OVERLAYALPHASURFACES      0x00000100l
12969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
12979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
12989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The depth of the alpha channel data can range can be 1,2,4, or 8.
12999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The NEG suffix indicates that this alpha channel becomes more transparent
13009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * as the alpha value increases. (0 is opaque.)  This flag can only be set if
13019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDCAPS_ALPHA is set.
13029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * For Overlays.
13039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXALPHACAPS_OVERLAYALPHASURFACESNEG   0x00000200l
13059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
13079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
13089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW FX CAPABILITY FLAGS
13099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
13109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
13119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Uses arithmetic operations to stretch and shrink surfaces during blt
13149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * rather than pixel doubling techniques.  Along the Y axis.
13159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_BLTARITHSTRETCHY       0x00000020l
13179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Uses arithmetic operations to stretch during blt
13209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * rather than pixel doubling techniques.  Along the Y axis. Only
13219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * works for x1, x2, etc.
13229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_BLTARITHSTRETCHYN      0x00000010l
13249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports mirroring left to right in blt.
13279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_BLTMIRRORLEFTRIGHT     0x00000040l
13299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports mirroring top to bottom in blt.
13329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_BLTMIRRORUPDOWN        0x00000080l
13349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports arbitrary rotation for blts.
13379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_BLTROTATION            0x00000100l
13399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports 90 degree rotations for blts.
13429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_BLTROTATION90          0x00000200l
13449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports arbitrary shrinking of a surface along the
13479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * x axis (horizontal direction) for blts.
13489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_BLTSHRINKX             0x00000400l
13509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports integer shrinking (1x,2x,) of a surface
13539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * along the x axis (horizontal direction) for blts.
13549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_BLTSHRINKXN            0x00000800l
13569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports arbitrary shrinking of a surface along the
13599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * y axis (horizontal direction) for blts.
13609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_BLTSHRINKY             0x00001000l
13629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports integer shrinking (1x,2x,) of a surface
13659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * along the y axis (vertical direction) for blts.
13669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_BLTSHRINKYN            0x00002000l
13689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports arbitrary stretching of a surface along the
13719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * x axis (horizontal direction) for blts.
13729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_BLTSTRETCHX            0x00004000l
13749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports integer stretching (1x,2x,) of a surface
13779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * along the x axis (horizontal direction) for blts.
13789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_BLTSTRETCHXN           0x00008000l
13809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports arbitrary stretching of a surface along the
13839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * y axis (horizontal direction) for blts.
13849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_BLTSTRETCHY            0x00010000l
13869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports integer stretching (1x,2x,) of a surface
13899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * along the y axis (vertical direction) for blts.
13909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_BLTSTRETCHYN           0x00020000l
13929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
13939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
13949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Uses arithmetic operations to stretch and shrink surfaces during
13959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * overlay rather than pixel doubling techniques.  Along the Y axis
13969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for overlays.
13979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
13989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_OVERLAYARITHSTRETCHY   0x00040000l
13999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Uses arithmetic operations to stretch surfaces during
14029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * overlay rather than pixel doubling techniques.  Along the Y axis
14039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for overlays. Only works for x1, x2, etc.
14049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_OVERLAYARITHSTRETCHYN  0x00000008l
14069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports arbitrary shrinking of a surface along the
14099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * x axis (horizontal direction) for overlays.
14109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_OVERLAYSHRINKX         0x00080000l
14129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports integer shrinking (1x,2x,) of a surface
14159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * along the x axis (horizontal direction) for overlays.
14169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_OVERLAYSHRINKXN        0x00100000l
14189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports arbitrary shrinking of a surface along the
14219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * y axis (horizontal direction) for overlays.
14229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_OVERLAYSHRINKY         0x00200000l
14249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports integer shrinking (1x,2x,) of a surface
14279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * along the y axis (vertical direction) for overlays.
14289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_OVERLAYSHRINKYN        0x00400000l
14309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports arbitrary stretching of a surface along the
14339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * x axis (horizontal direction) for overlays.
14349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_OVERLAYSTRETCHX        0x00800000l
14369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports integer stretching (1x,2x,) of a surface
14399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * along the x axis (horizontal direction) for overlays.
14409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_OVERLAYSTRETCHXN       0x01000000l
14429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports arbitrary stretching of a surface along the
14459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * y axis (horizontal direction) for overlays.
14469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_OVERLAYSTRETCHY        0x02000000l
14489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports integer stretching (1x,2x,) of a surface
14519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * along the y axis (vertical direction) for overlays.
14529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_OVERLAYSTRETCHYN       0x04000000l
14549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports mirroring of overlays across the vertical axis
14579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_OVERLAYMIRRORLEFTRIGHT 0x08000000l
14599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw supports mirroring of overlays across the horizontal axis
14629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFXCAPS_OVERLAYMIRRORUPDOWN    0x10000000l
14649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
14669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
14679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW STEREO VIEW CAPABILITIES
14689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
14699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
14709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The stereo view is accomplished via enigma encoding.
14739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSVCAPS_ENIGMA                 0x00000001l
14759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The stereo view is accomplished via high frequency flickering.
14789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSVCAPS_FLICKER                0x00000002l
14809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The stereo view is accomplished via red and blue filters applied
14839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * to the left and right eyes.  All images must adapt their colorspaces
14849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for this process.
14859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSVCAPS_REDBLUE                0x00000004l
14879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
14899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The stereo view is accomplished with split screen technology.
14909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
14919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSVCAPS_SPLIT                  0x00000008l
14929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
14949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
14959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAWPALETTE CAPABILITIES
14969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
14979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
14989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
14999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
15009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Index is 4 bits.  There are sixteen color entries in the palette table.
15019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
15029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPCAPS_4BIT                    0x00000001l
15039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
15059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Index is onto a 8 bit color index.  This field is only valid with the
15069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDPCAPS_1BIT, DDPCAPS_2BIT or DDPCAPS_4BIT capability and the target
15079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * surface is in 8bpp. Each color entry is one byte long and is an index
15089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * into destination surface's 8bpp palette.
15099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
15109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPCAPS_8BITENTRIES             0x00000002l
15119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
15139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Index is 8 bits.  There are 256 color entries in the palette table.
15149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
15159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPCAPS_8BIT                    0x00000004l
15169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
15189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that this DIRECTDRAWPALETTE should use the palette color array
15199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * passed into the lpDDColorArray parameter to initialize the DIRECTDRAWPALETTE
15209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * object.
15219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
15229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPCAPS_INITIALIZE              0x00000008l
15239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
15259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This palette is the one attached to the primary surface.  Changing this
15269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * table has immediate effect on the display unless DDPSETPAL_VSYNC is specified
15279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * and supported.
15289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
15299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPCAPS_PRIMARYSURFACE          0x00000010l
15309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
15329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This palette is the one attached to the primary surface left.  Changing
15339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * this table has immediate effect on the display for the left eye unless
15349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDPSETPAL_VSYNC is specified and supported.
15359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
15369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPCAPS_PRIMARYSURFACELEFT      0x00000020l
15379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
15399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This palette can have all 256 entries defined
15409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
15419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPCAPS_ALLOW256                0x00000040l
15429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
15449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This palette can have modifications to it synced with the monitors
15459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * refresh rate.
15469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
15479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPCAPS_VSYNC                   0x00000080l
15489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
15509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Index is 1 bit.  There are two color entries in the palette table.
15519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
15529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPCAPS_1BIT                    0x00000100l
15539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
15559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Index is 2 bit.  There are four color entries in the palette table.
15569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
15579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPCAPS_2BIT                    0x00000200l
15589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
15619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
15629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAWPALETTE SETENTRY CONSTANTS
15639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
15649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
15659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
15689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
15699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAWPALETTE GETENTRY CONSTANTS
15709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
15719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
15729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* 0 is the only legal value */
15749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
15769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
15779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAWSURFACE SETPALETTE CONSTANTS
15789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
15799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
15809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
15839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
15849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW BITDEPTH CONSTANTS
15859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
15869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * NOTE:  These are only used to indicate supported bit depths.   These
15879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * are flags only, they are not to be used as an actual bit depth.   The
15889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * absolute numbers 1, 2, 4, 8, 16, 24 and 32 are used to indicate actual
15899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * bit depths in a surface or for changing the display mode.
15909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
15919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
15929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
15949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * 1 bit per pixel.
15959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
15969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBD_1                  0x00004000l
15979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
15989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
15999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * 2 bits per pixel.
16009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBD_2                  0x00002000l
16029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * 4 bits per pixel.
16059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBD_4                  0x00001000l
16079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * 8 bits per pixel.
16109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBD_8                  0x00000800l
16129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * 16 bits per pixel.
16159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBD_16                 0x00000400l
16179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * 24 bits per pixel.
16209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBD_24                 0X00000200l
16229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * 32 bits per pixel.
16259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBD_32                 0x00000100l
16279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
16299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
16309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAWSURFACE SET/GET COLOR KEY FLAGS
16319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
16329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
16339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Set if the structure contains a color space.  Not set if the structure
16369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * contains a single color key.
16379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEY_COLORSPACE       0x00000001l
16399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Set if the structure specifies a color key or color space which is to be
16429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * used as a destination color key for blt operations.
16439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEY_DESTBLT          0x00000002l
16459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Set if the structure specifies a color key or color space which is to be
16489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * used as a destination color key for overlay operations.
16499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEY_DESTOVERLAY      0x00000004l
16519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Set if the structure specifies a color key or color space which is to be
16549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * used as a source color key for blt operations.
16559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEY_SRCBLT           0x00000008l
16579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Set if the structure specifies a color key or color space which is to be
16609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * used as a source color key for overlay operations.
16619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEY_SRCOVERLAY       0x00000010l
16639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
16669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
16679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW COLOR KEY CAPABILITY FLAGS
16689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
16699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
16709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports transparent blting using a color key to identify the replaceable
16739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * bits of the destination surface for RGB colors.
16749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_DESTBLT                      0x00000001l
16769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports transparent blting using a color space to identify the replaceable
16799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * bits of the destination surface for RGB colors.
16809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_DESTBLTCLRSPACE              0x00000002l
16829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports transparent blting using a color space to identify the replaceable
16859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * bits of the destination surface for YUV colors.
16869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_DESTBLTCLRSPACEYUV           0x00000004l
16889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports transparent blting using a color key to identify the replaceable
16919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * bits of the destination surface for YUV colors.
16929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_DESTBLTYUV                   0x00000008l
16949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
16959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
16969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports overlaying using colorkeying of the replaceable bits of the surface
16979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * being overlayed for RGB colors.
16989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
16999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_DESTOVERLAY                  0x00000010l
17009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports a color space as the color key for the destination for RGB colors.
17039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_DESTOVERLAYCLRSPACE          0x00000020l
17059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports a color space as the color key for the destination for YUV colors.
17089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV       0x00000040l
17109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports only one active destination color key value for visible overlay
17139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * surfaces.
17149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_DESTOVERLAYONEACTIVE         0x00000080l
17169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports overlaying using colorkeying of the replaceable bits of the
17199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * surface being overlayed for YUV colors.
17209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_DESTOVERLAYYUV               0x00000100l
17229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports transparent blting using the color key for the source with
17259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * this surface for RGB colors.
17269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_SRCBLT                       0x00000200l
17289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports transparent blting using a color space for the source with
17319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * this surface for RGB colors.
17329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_SRCBLTCLRSPACE               0x00000400l
17349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports transparent blting using a color space for the source with
17379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * this surface for YUV colors.
17389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_SRCBLTCLRSPACEYUV            0x00000800l
17409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports transparent blting using the color key for the source with
17439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * this surface for YUV colors.
17449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_SRCBLTYUV                    0x00001000l
17469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports overlays using the color key for the source with this
17499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * overlay surface for RGB colors.
17509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_SRCOVERLAY                   0x00002000l
17529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports overlays using a color space as the source color key for
17559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * the overlay surface for RGB colors.
17569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_SRCOVERLAYCLRSPACE           0x00004000l
17589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports overlays using a color space as the source color key for
17619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * the overlay surface for YUV colors.
17629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV        0x00008000l
17649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports only one active source color key value for visible
17679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * overlay surfaces.
17689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_SRCOVERLAYONEACTIVE          0x00010000l
17709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Supports overlays using the color key for the source with this
17739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * overlay surface for YUV colors.
17749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_SRCOVERLAYYUV                0x00020000l
17769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * there are no bandwidth trade-offs for using colorkey with an overlay
17799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDCKEYCAPS_NOCOSTOVERLAY                0x00040000l
17819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
17849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
17859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW PIXELFORMAT FLAGS
17869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
17879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
17889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The surface has alpha channel information in the pixel format.
17919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPF_ALPHAPIXELS                        0x00000001l
17939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
17959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The pixel format contains alpha only information
17969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
17979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPF_ALPHA                              0x00000002l
17989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
17999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The FourCC code is valid.
18019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPF_FOURCC                             0x00000004l
18039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The surface is 4-bit color indexed.
18069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPF_PALETTEINDEXED4                    0x00000008l
18089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The surface is indexed into a palette which stores indices
18119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * into the destination surface's 8-bit palette.
18129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPF_PALETTEINDEXEDTO8                  0x00000010l
18149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The surface is 8-bit color indexed.
18179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPF_PALETTEINDEXED8                    0x00000020l
18199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The RGB data in the pixel format structure is valid.
18229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPF_RGB                                0x00000040l
18249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The surface will accept pixel data in the format specified
18279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * and compress it during the write.
18289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPF_COMPRESSED                         0x00000080l
18309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The surface will accept RGB data and translate it during
18339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * the write to YUV data.  The format of the data to be written
18349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * will be contained in the pixel format structure.  The DDPF_RGB
18359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * flag will be set.
18369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPF_RGBTOYUV                           0x00000100l
18389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * pixel format is YUV - YUV data in pixel format struct is valid
18419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPF_YUV                                0x00000200l
18439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * pixel format is a z buffer only surface
18469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPF_ZBUFFER                            0x00000400l
18489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The surface is 1-bit color indexed.
18519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPF_PALETTEINDEXED1                    0x00000800l
18539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The surface is 2-bit color indexed.
18569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDPF_PALETTEINDEXED2                    0x00001000l
18589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*===========================================================================
18609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
18619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
18629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW CALLBACK FLAGS
18639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
18649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
18659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *==========================================================================*/
18669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
18689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
18699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW ENUMSURFACES FLAGS
18709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
18719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
18729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Enumerate all of the surfaces that meet the search criterion.
18759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDENUMSURFACES_ALL                      0x00000001l
18779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * A search hit is a surface that matches the surface description.
18809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDENUMSURFACES_MATCH                    0x00000002l
18829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * A search hit is a surface that does not match the surface description.
18859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDENUMSURFACES_NOMATCH                  0x00000004l
18879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Enumerate the first surface that can be created which meets the search criterion.
18909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDENUMSURFACES_CANBECREATED             0x00000008l
18929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
18949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Enumerate the surfaces that already exist that meet the search criterion.
18959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
18969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDENUMSURFACES_DOESEXIST                0x00000010l
18979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
18999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
19009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
19019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW ENUMDISPLAYMODES FLAGS
19029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
19039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
19049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
19069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Enumerate Modes with different refresh rates.  EnumDisplayModes guarantees
19079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * that a particular mode will be enumerated only once.  This flag specifies whether
19089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * the refresh rate is taken into account when determining if a mode is unique.
19099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
19109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDEDM_REFRESHRATES                      0x00000001l
19119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
19149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
19159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW SETCOOPERATIVELEVEL FLAGS
19169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
19179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
19189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
19209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Exclusive mode owner will be responsible for the entire primary surface.
19219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * GDI can be ignored. used with DD
19229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
19239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCL_FULLSCREEN                        0x00000001l
19249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
19269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * allow CTRL_ALT_DEL to work while in fullscreen exclusive mode
19279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
19289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCL_ALLOWREBOOT                       0x00000002l
19299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
19319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * prevents DDRAW from modifying the application window.
19329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * prevents DDRAW from minimize/restore the application window on activation.
19339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
19349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCL_NOWINDOWCHANGES                   0x00000004l
19359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
19379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * app wants to work as a regular Windows application
19389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
19399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCL_NORMAL                            0x00000008l
19409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
19429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * app wants exclusive access
19439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
19449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCL_EXCLUSIVE                         0x00000010l
19459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
19489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * app can deal with non-windows display modes
19499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
19509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDSCL_ALLOWMODEX                        0x00000040l
19519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
19549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
19559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW BLT FLAGS
19569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
19579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
19589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
19609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the alpha information in the pixel format or the alpha channel surface
19619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * attached to the destination surface as the alpha channel for this blt.
19629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
19639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ALPHADEST                         0x00000001l
19649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
19669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the dwConstAlphaDest field in the DDBLTFX structure as the alpha channel
19679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for the destination surface for this blt.
19689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
19699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ALPHADESTCONSTOVERRIDE            0x00000002l
19709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
19729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The NEG suffix indicates that the destination surface becomes more
19739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * transparent as the alpha value increases. (0 is opaque)
19749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
19759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ALPHADESTNEG                      0x00000004l
19769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
19789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the lpDDSAlphaDest field in the DDBLTFX structure as the alpha
19799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * channel for the destination for this blt.
19809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
19819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ALPHADESTSURFACEOVERRIDE          0x00000008l
19829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
19849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the dwAlphaEdgeBlend field in the DDBLTFX structure as the alpha channel
19859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for the edges of the image that border the color key colors.
19869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
19879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ALPHAEDGEBLEND                    0x00000010l
19889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
19909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the alpha information in the pixel format or the alpha channel surface
19919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * attached to the source surface as the alpha channel for this blt.
19929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
19939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ALPHASRC                          0x00000020l
19949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
19959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
19969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the dwConstAlphaSrc field in the DDBLTFX structure as the alpha channel
19979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for the source for this blt.
19989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
19999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ALPHASRCCONSTOVERRIDE             0x00000040l
20009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The NEG suffix indicates that the source surface becomes more transparent
20039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * as the alpha value increases. (0 is opaque)
20049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ALPHASRCNEG                       0x00000080l
20069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the lpDDSAlphaSrc field in the DDBLTFX structure as the alpha channel
20099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for the source for this blt.
20109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ALPHASRCSURFACEOVERRIDE           0x00000100l
20129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Do this blt asynchronously through the FIFO in the order received.  If
20159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * there is no room in the hardware FIFO fail the call.
20169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ASYNC                             0x00000200l
20189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Uses the dwFillColor field in the DDBLTFX structure as the RGB color
20219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * to fill the destination rectangle on the destination surface with.
20229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_COLORFILL                         0x00000400l
20249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Uses the dwDDFX field in the DDBLTFX structure to specify the effects
20279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * to use for the blt.
20289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_DDFX                              0x00000800l
20309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Uses the dwDDROPS field in the DDBLTFX structure to specify the ROPS
20339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * that are not part of the Win32 API.
20349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_DDROPS                            0x00001000l
20369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the color key associated with the destination surface.
20399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_KEYDEST                           0x00002000l
20419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the dckDestColorkey field in the DDBLTFX structure as the color key
20449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for the destination surface.
20459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_KEYDESTOVERRIDE                   0x00004000l
20479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the color key associated with the source surface.
20509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_KEYSRC                            0x00008000l
20529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the dckSrcColorkey field in the DDBLTFX structure as the color key
20559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for the source surface.
20569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_KEYSRCOVERRIDE                    0x00010000l
20589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the dwROP field in the DDBLTFX structure for the raster operation
20619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for this blt.  These ROPs are the same as the ones defined in the Win32 API.
20629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ROP                               0x00020000l
20649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the dwRotationAngle field in the DDBLTFX structure as the angle
20679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * (specified in 1/100th of a degree) to rotate the surface.
20689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ROTATIONANGLE                     0x00040000l
20709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Z-buffered blt using the z-buffers attached to the source and destination
20739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * surfaces and the dwZBufferOpCode field in the DDBLTFX structure as the
20749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * z-buffer opcode.
20759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ZBUFFER                           0x00080000l
20779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Z-buffered blt using the dwConstDest Zfield and the dwZBufferOpCode field
20809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * in the DDBLTFX structure as the z-buffer and z-buffer opcode respectively
20819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for the destination.
20829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ZBUFFERDESTCONSTOVERRIDE          0x00100000l
20849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Z-buffered blt using the lpDDSDestZBuffer field and the dwZBufferOpCode
20879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * field in the DDBLTFX structure as the z-buffer and z-buffer opcode
20889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * respectively for the destination.
20899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ZBUFFERDESTOVERRIDE               0x00200000l
20919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
20939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Z-buffered blt using the dwConstSrcZ field and the dwZBufferOpCode field
20949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * in the DDBLTFX structure as the z-buffer and z-buffer opcode respectively
20959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for the source.
20969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
20979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ZBUFFERSRCCONSTOVERRIDE           0x00400000l
20989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
20999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
21009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Z-buffered blt using the lpDDSSrcZBuffer field and the dwZBufferOpCode
21019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * field in the DDBLTFX structure as the z-buffer and z-buffer opcode
21029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * respectively for the source.
21039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
21049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_ZBUFFERSRCOVERRIDE                0x00800000l
21059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
21079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * wait until the device is ready to handle the blt
21089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * this will cause blt to not return DDERR_WASSTILLDRAWING
21099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
21109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_WAIT                              0x01000000l
21119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
21139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Uses the dwFillDepth field in the DDBLTFX structure as the depth value
21149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * to fill the destination rectangle on the destination Z-buffer surface
21159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * with.
21169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
21179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLT_DEPTHFILL                         0x02000000l
21189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
21219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
21229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * BLTFAST FLAGS
21239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
21249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
21259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLTFAST_NOCOLORKEY                    0x00000000
21279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLTFAST_SRCCOLORKEY                   0x00000001
21289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLTFAST_DESTCOLORKEY                  0x00000002
21299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLTFAST_WAIT                          0x00000010
21309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
21329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
21339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * FLIP FLAGS
21349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
21359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
21369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDFLIP_WAIT                          0x00000001l
21389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
21419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
21429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW SURFACE OVERLAY FLAGS
21439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
21449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
21459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
21479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the alpha information in the pixel format or the alpha channel surface
21489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * attached to the destination surface as the alpha channel for the
21499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * destination overlay.
21509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
21519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_ALPHADEST                        0x00000001l
21529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
21549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the dwConstAlphaDest field in the DDOVERLAYFX structure as the
21559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * destination alpha channel for this overlay.
21569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
21579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_ALPHADESTCONSTOVERRIDE           0x00000002l
21589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
21609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The NEG suffix indicates that the destination surface becomes more
21619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * transparent as the alpha value increases.
21629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
21639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_ALPHADESTNEG                     0x00000004l
21649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
21669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the lpDDSAlphaDest field in the DDOVERLAYFX structure as the alpha
21679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * channel destination for this overlay.
21689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
21699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_ALPHADESTSURFACEOVERRIDE         0x00000008l
21709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
21729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the dwAlphaEdgeBlend field in the DDOVERLAYFX structure as the alpha
21739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * channel for the edges of the image that border the color key colors.
21749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
21759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_ALPHAEDGEBLEND                   0x00000010l
21769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
21789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the alpha information in the pixel format or the alpha channel surface
21799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * attached to the source surface as the source alpha channel for this overlay.
21809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
21819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_ALPHASRC                         0x00000020l
21829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
21849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the dwConstAlphaSrc field in the DDOVERLAYFX structure as the source
21859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * alpha channel for this overlay.
21869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
21879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_ALPHASRCCONSTOVERRIDE            0x00000040l
21889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
21909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The NEG suffix indicates that the source surface becomes more transparent
21919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * as the alpha value increases.
21929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
21939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_ALPHASRCNEG                      0x00000080l
21949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
21959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
21969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the lpDDSAlphaSrc field in the DDOVERLAYFX structure as the alpha channel
21979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * source for this overlay.
21989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
21999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_ALPHASRCSURFACEOVERRIDE          0x00000100l
22009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Turn this overlay off.
22039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_HIDE                             0x00000200l
22059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the color key associated with the destination surface.
22089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_KEYDEST                          0x00000400l
22109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the dckDestColorkey field in the DDOVERLAYFX structure as the color key
22139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for the destination surface
22149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_KEYDESTOVERRIDE                  0x00000800l
22169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the color key associated with the source surface.
22199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_KEYSRC                           0x00001000l
22219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the dckSrcColorkey field in the DDOVERLAYFX structure as the color key
22249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for the source surface.
22259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_KEYSRCOVERRIDE                   0x00002000l
22279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Turn this overlay on.
22309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_SHOW                             0x00004000l
22329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Add a dirty rect to an emulated overlayed surface.
22359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_ADDDIRTYRECT                     0x00008000l
22379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Redraw all dirty rects on an emulated overlayed surface.
22409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_REFRESHDIRTYRECTS                0x00010000l
22429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Redraw the entire surface on an emulated overlayed surface.
22459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_REFRESHALL                      0x00020000l
22479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Use the overlay FX flags to define special overlay FX
22519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVER_DDFX                             0x00080000l
22539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
22569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
22579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAWSURFACE LOCK FLAGS
22589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
22599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
22609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The default.  Set to indicate that Lock should return a valid memory pointer
22639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * to the top of the specified rectangle.  If no rectangle is specified then a
22649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * pointer to the top of the surface is returned.
22659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDLOCK_SURFACEMEMORYPTR                 0x00000000L     // default
22679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Set to indicate that Lock should wait until it can obtain a valid memory
22709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * pointer before returning.  If this bit is set, Lock will never return
22719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DDERR_WASSTILLDRAWING.
22729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDLOCK_WAIT                             0x00000001L
22749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Set if an event handle is being passed to Lock.  Lock will trigger the event
22779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * when it can return the surface memory pointer requested.
22789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDLOCK_EVENT                            0x00000002L
22809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that the surface being locked will only be read from.
22839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDLOCK_READONLY                         0x00000010L
22859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Indicates that the surface being locked will only be written to
22889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
22899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDLOCK_WRITEONLY                        0x00000020L
22909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
22939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
22949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAWSURFACE PAGELOCK FLAGS
22959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
22969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
22979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
22989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
22999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * No flags defined at present
23009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
23049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
23059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAWSURFACE PAGEUNLOCK FLAGS
23069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
23079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
23089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
23109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * No flags defined at present
23119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
23159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
23169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAWSURFACE BLT FX FLAGS
23179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
23189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
23199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
23219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * If stretching, use arithmetic stretching along the Y axis for this blt.
23229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLTFX_ARITHSTRETCHY                   0x00000001l
23249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
23269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Do this blt mirroring the surface left to right.  Spin the
23279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * surface around its y-axis.
23289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLTFX_MIRRORLEFTRIGHT                 0x00000002l
23309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
23329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Do this blt mirroring the surface up and down.  Spin the surface
23339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * around its x-axis.
23349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLTFX_MIRRORUPDOWN                    0x00000004l
23369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
23389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Schedule this blt to avoid tearing.
23399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLTFX_NOTEARING                       0x00000008l
23419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
23439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Do this blt rotating the surface one hundred and eighty degrees.
23449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLTFX_ROTATE180                       0x00000010l
23469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
23489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Do this blt rotating the surface two hundred and seventy degrees.
23499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLTFX_ROTATE270                       0x00000020l
23519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
23539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Do this blt rotating the surface ninety degrees.
23549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLTFX_ROTATE90                        0x00000040l
23569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
23589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Do this z blt using dwZBufferLow and dwZBufferHigh as  range values
23599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * specified to limit the bits copied from the source surface.
23609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLTFX_ZBUFFERRANGE                    0x00000080l
23629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
23649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Do this z blt adding the dwZBufferBaseDest to each of the sources z values
23659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * before comparing it with the desting z values.
23669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDBLTFX_ZBUFFERBASEDEST                 0x00000100l
23689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
23709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
23719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAWSURFACE OVERLAY FX FLAGS
23729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
23739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
23749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
23769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * If stretching, use arithmetic stretching along the Y axis for this overlay.
23779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVERFX_ARITHSTRETCHY                  0x00000001l
23799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
23819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Mirror the overlay across the vertical axis
23829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVERFX_MIRRORLEFTRIGHT                0x00000002l
23849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
23869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Mirror the overlay across the horizontal axis
23879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVERFX_MIRRORUPDOWN                   0x00000004l
23899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
23919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
23929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW WAITFORVERTICALBLANK FLAGS
23939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
23949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
23959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
23969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
23979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * return when the vertical blank interval begins
23989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
23999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDWAITVB_BLOCKBEGIN                     0x00000001l
24009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
24029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * set up an event to trigger when the vertical blank begins
24039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
24049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDWAITVB_BLOCKBEGINEVENT                0x00000002l
24059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
24079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * return when the vertical blank interval ends and display begins
24089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
24099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDWAITVB_BLOCKEND                       0x00000004l
24109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
24129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
24139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW GETFLIPSTATUS FLAGS
24149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
24159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
24169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
24189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * is it OK to flip now?
24199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
24209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDGFS_CANFLIP                   0x00000001l
24219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
24239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * is the last flip finished?
24249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
24259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDGFS_ISFLIPDONE                0x00000002l
24269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
24289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
24299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW GETBLTSTATUS FLAGS
24309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
24319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
24329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
24349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * is it OK to blt now?
24359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
24369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDGBS_CANBLT                    0x00000001l
24379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
24399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * is the blt to the surface finished?
24409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
24419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDGBS_ISBLTDONE                 0x00000002l
24429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
24459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
24469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW ENUMOVERLAYZORDER FLAGS
24479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
24489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
24499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
24519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Enumerate overlays back to front.
24529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
24539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDENUMOVERLAYZ_BACKTOFRONT      0x00000000l
24549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
24569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Enumerate overlays front to back
24579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
24589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDENUMOVERLAYZ_FRONTTOBACK      0x00000001l
24599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
24619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
24629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW UPDATEOVERLAYZORDER FLAGS
24639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
24649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
24659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
24679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Send overlay to front
24689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
24699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVERZ_SENDTOFRONT             0x00000000l
24709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
24729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Send overlay to back
24739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
24749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVERZ_SENDTOBACK              0x00000001l
24759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
24779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Move Overlay forward
24789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
24799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVERZ_MOVEFORWARD             0x00000002l
24809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
24829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Move Overlay backward
24839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
24849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVERZ_MOVEBACKWARD            0x00000003l
24859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
24879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Move Overlay in front of relative surface
24889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
24899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVERZ_INSERTINFRONTOF         0x00000004l
24909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
24929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Move Overlay in back of relative surface
24939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
24949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDOVERZ_INSERTINBACKOF          0x00000005l
24959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
24969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*===========================================================================
24979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
24989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
24999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW RETURN CODES
25009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
25019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The return values from DirectDraw Commands and Surface that return an HRESULT
25029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * are codes from DirectDraw concerning the results of the action
25039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * requested by DirectDraw.
25049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
25059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *==========================================================================*/
25069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Status is OK
25099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
25109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Issued by: DirectDraw Commands and all callbacks
25119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
25129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DD_OK                                   0
25139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
25159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
25169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW ENUMCALLBACK RETURN VALUES
25179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
25189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * EnumCallback returns are used to control the flow of the DIRECTDRAW and
25199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAWSURFACE object enumerations.   They can only be returned by
25209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * enumeration callback routines.
25219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
25229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
25239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * stop the enumeration
25269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
25279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDENUMRET_CANCEL                        0
25289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * continue the enumeration
25319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
25329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDENUMRET_OK                            1
25339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/****************************************************************************
25359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
25369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DIRECTDRAW ERRORS
25379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
25389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Errors are represented by negative values and cannot be combined.
25399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream *
25409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ****************************************************************************/
25419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This object is already initialized
25449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
25459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_ALREADYINITIALIZED                MAKE_DDHRESULT( 5 )
25469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This surface can not be attached to the requested surface.
25499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
25509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_CANNOTATTACHSURFACE               MAKE_DDHRESULT( 10 )
25519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This surface can not be detached from the requested surface.
25549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
25559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_CANNOTDETACHSURFACE               MAKE_DDHRESULT( 20 )
25569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Support is currently not available.
25599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
25609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_CURRENTLYNOTAVAIL                 MAKE_DDHRESULT( 40 )
25619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * An exception was encountered while performing the requested operation
25649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
25659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_EXCEPTION                         MAKE_DDHRESULT( 55 )
25669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Generic failure.
25699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
25709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_GENERIC                           E_FAIL
25719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Height of rectangle provided is not a multiple of reqd alignment
25749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
25759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_HEIGHTALIGN                       MAKE_DDHRESULT( 90 )
25769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Unable to match primary surface creation request with existing
25799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * primary surface.
25809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
25819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_INCOMPATIBLEPRIMARY               MAKE_DDHRESULT( 95 )
25829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * One or more of the caps bits passed to the callback are incorrect.
25859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
25869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_INVALIDCAPS                       MAKE_DDHRESULT( 100 )
25879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw does not support provided Cliplist.
25909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
25919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_INVALIDCLIPLIST                   MAKE_DDHRESULT( 110 )
25929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw does not support the requested mode
25959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
25969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_INVALIDMODE                       MAKE_DDHRESULT( 120 )
25979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
25989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
25999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw received a pointer that was an invalid DIRECTDRAW object.
26009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_INVALIDOBJECT                     MAKE_DDHRESULT( 130 )
26029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * One or more of the parameters passed to the callback function are
26059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * incorrect.
26069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_INVALIDPARAMS                     E_INVALIDARG
26089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * pixel format was invalid as specified
26119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_INVALIDPIXELFORMAT                MAKE_DDHRESULT( 145 )
26139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Rectangle provided was invalid.
26169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_INVALIDRECT                       MAKE_DDHRESULT( 150 )
26189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Operation could not be carried out because one or more surfaces are locked
26219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_LOCKEDSURFACES                    MAKE_DDHRESULT( 160 )
26239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * There is no 3D present.
26269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NO3D                              MAKE_DDHRESULT( 170 )
26289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Operation could not be carried out because there is no alpha accleration
26319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * hardware present or available.
26329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOALPHAHW                         MAKE_DDHRESULT( 180 )
26349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * no clip list available
26389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOCLIPLIST                        MAKE_DDHRESULT( 205 )
26409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Operation could not be carried out because there is no color conversion
26439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * hardware present or available.
26449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOCOLORCONVHW                     MAKE_DDHRESULT( 210 )
26469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Create function called without DirectDraw object method SetCooperativeLevel
26499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * being called.
26509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOCOOPERATIVELEVELSET             MAKE_DDHRESULT( 212 )
26529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Surface doesn't currently have a color key
26559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOCOLORKEY                        MAKE_DDHRESULT( 215 )
26579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Operation could not be carried out because there is no hardware support
26609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * of the dest color key.
26619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOCOLORKEYHW                      MAKE_DDHRESULT( 220 )
26639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * No DirectDraw support possible with current display driver
26669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NODIRECTDRAWSUPPORT               MAKE_DDHRESULT( 222 )
26689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Operation requires the application to have exclusive mode but the
26719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * application does not have exclusive mode.
26729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOEXCLUSIVEMODE                   MAKE_DDHRESULT( 225 )
26749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Flipping visible surfaces is not supported.
26779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOFLIPHW                          MAKE_DDHRESULT( 230 )
26799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * There is no GDI present.
26829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOGDI                             MAKE_DDHRESULT( 240 )
26849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Operation could not be carried out because there is no hardware present
26879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * or available.
26889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOMIRRORHW                        MAKE_DDHRESULT( 250 )
26909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Requested item was not found
26939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
26949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOTFOUND                          MAKE_DDHRESULT( 255 )
26959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
26969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
26979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Operation could not be carried out because there is no overlay hardware
26989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * present or available.
26999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOOVERLAYHW                       MAKE_DDHRESULT( 260 )
27019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Operation could not be carried out because there is no appropriate raster
27049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * op hardware present or available.
27059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NORASTEROPHW                      MAKE_DDHRESULT( 280 )
27079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Operation could not be carried out because there is no rotation hardware
27109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * present or available.
27119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOROTATIONHW                      MAKE_DDHRESULT( 290 )
27139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Operation could not be carried out because there is no hardware support
27169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for stretching
27179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOSTRETCHHW                       MAKE_DDHRESULT( 310 )
27199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDrawSurface is not in 4 bit color palette and the requested operation
27229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * requires 4 bit color palette.
27239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOT4BITCOLOR                      MAKE_DDHRESULT( 316 )
27259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDrawSurface is not in 4 bit color index palette and the requested
27289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * operation requires 4 bit color index palette.
27299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOT4BITCOLORINDEX                 MAKE_DDHRESULT( 317 )
27319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw Surface is not in 8 bit color mode and the requested operation
27349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * requires 8 bit color.
27359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOT8BITCOLOR                      MAKE_DDHRESULT( 320 )
27379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Operation could not be carried out because there is no texture mapping
27409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * hardware present or available.
27419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOTEXTUREHW                       MAKE_DDHRESULT( 330 )
27439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Operation could not be carried out because there is no hardware support
27469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for vertical blank synchronized operations.
27479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOVSYNCHW                         MAKE_DDHRESULT( 335 )
27499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Operation could not be carried out because there is no hardware support
27529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for zbuffer blting.
27539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOZBUFFERHW                       MAKE_DDHRESULT( 340 )
27559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Overlay surfaces could not be z layered based on their BltOrder because
27589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * the hardware does not support z layering of overlays.
27599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOZOVERLAYHW                      MAKE_DDHRESULT( 350 )
27619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The hardware needed for the requested operation has already been
27649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * allocated.
27659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_OUTOFCAPS                         MAKE_DDHRESULT( 360 )
27679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw does not have enough memory to perform the operation.
27709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_OUTOFMEMORY                       E_OUTOFMEMORY
27729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * DirectDraw does not have enough memory to perform the operation.
27759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_OUTOFVIDEOMEMORY                  MAKE_DDHRESULT( 380 )
27779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * hardware does not support clipped overlays
27809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_OVERLAYCANTCLIP                   MAKE_DDHRESULT( 382 )
27829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Can only have ony color key active at one time for overlays
27859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_OVERLAYCOLORKEYONLYONEACTIVE      MAKE_DDHRESULT( 384 )
27879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Access to this palette is being refused because the palette is already
27909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * locked by another thread.
27919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_PALETTEBUSY                       MAKE_DDHRESULT( 387 )
27939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
27959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * No src color key specified for this operation.
27969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
27979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_COLORKEYNOTSET                    MAKE_DDHRESULT( 400 )
27989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
27999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This surface is already attached to the surface it is being attached to.
28019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_SURFACEALREADYATTACHED            MAKE_DDHRESULT( 410 )
28039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This surface is already a dependency of the surface it is being made a
28069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * dependency of.
28079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_SURFACEALREADYDEPENDENT           MAKE_DDHRESULT( 420 )
28099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Access to this surface is being refused because the surface is already
28129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * locked by another thread.
28139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_SURFACEBUSY                       MAKE_DDHRESULT( 430 )
28159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Access to this surface is being refused because no driver exists
28189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * which can supply a pointer to the surface.
28199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This is most likely to happen when attempting to lock the primary
28209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * surface when no DCI provider is present.
28219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_CANTLOCKSURFACE                   MAKE_DDHRESULT( 435 )
28239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Access to Surface refused because Surface is obscured.
28269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_SURFACEISOBSCURED                 MAKE_DDHRESULT( 440 )
28289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Access to this surface is being refused because the surface is gone.
28319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The DIRECTDRAWSURFACE object representing this surface should
28329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * have Restore called on it.
28339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_SURFACELOST                       MAKE_DDHRESULT( 450 )
28359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The requested surface is not attached.
28389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_SURFACENOTATTACHED                MAKE_DDHRESULT( 460 )
28409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Height requested by DirectDraw is too large.
28439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_TOOBIGHEIGHT                      MAKE_DDHRESULT( 470 )
28459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Size requested by DirectDraw is too large --  The individual height and
28489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * width are OK.
28499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_TOOBIGSIZE                        MAKE_DDHRESULT( 480 )
28519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Width requested by DirectDraw is too large.
28549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_TOOBIGWIDTH                       MAKE_DDHRESULT( 490 )
28569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Action not supported.
28599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_UNSUPPORTED                       E_NOTIMPL
28619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * FOURCC format requested is unsupported by DirectDraw
28649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_UNSUPPORTEDFORMAT                 MAKE_DDHRESULT( 510 )
28669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Bitmask in the pixel format requested is unsupported by DirectDraw
28699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_UNSUPPORTEDMASK                   MAKE_DDHRESULT( 520 )
28719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * vertical blank is in progress
28749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_VERTICALBLANKINPROGRESS           MAKE_DDHRESULT( 537 )
28769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Informs DirectDraw that the previous Blt which is transfering information
28799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * to or from this Surface is incomplete.
28809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_WASSTILLDRAWING                   MAKE_DDHRESULT( 540 )
28829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Rectangle provided was not horizontally aligned on reqd. boundary
28859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_XALIGN                            MAKE_DDHRESULT( 560 )
28879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The GUID passed to DirectDrawCreate is not a valid DirectDraw driver
28909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * identifier.
28919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_INVALIDDIRECTDRAWGUID             MAKE_DDHRESULT( 561 )
28939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
28949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
28959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * A DirectDraw object representing this driver has already been created
28969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * for this process.
28979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
28989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_DIRECTDRAWALREADYCREATED          MAKE_DDHRESULT( 562 )
28999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * A hardware only DirectDraw object creation was attempted but the driver
29029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * did not support any hardware.
29039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NODIRECTDRAWHW                    MAKE_DDHRESULT( 563 )
29059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * this process already has created a primary surface
29089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_PRIMARYSURFACEALREADYEXISTS       MAKE_DDHRESULT( 564 )
29109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * software emulation not available.
29139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOEMULATION                       MAKE_DDHRESULT( 565 )
29159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * region passed to Clipper::GetClipList is too small.
29189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_REGIONTOOSMALL                    MAKE_DDHRESULT( 566 )
29209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * an attempt was made to set a clip list for a clipper objec that
29239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * is already monitoring an hwnd.
29249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_CLIPPERISUSINGHWND                MAKE_DDHRESULT( 567 )
29269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * No clipper object attached to surface object
29299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOCLIPPERATTACHED                 MAKE_DDHRESULT( 568 )
29319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Clipper notification requires an HWND or
29349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * no HWND has previously been set as the CooperativeLevel HWND.
29359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOHWND                            MAKE_DDHRESULT( 569 )
29379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * HWND used by DirectDraw CooperativeLevel has been subclassed,
29409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * this prevents DirectDraw from restoring state.
29419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_HWNDSUBCLASSED                    MAKE_DDHRESULT( 570 )
29439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The CooperativeLevel HWND has already been set.
29469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * It can not be reset while the process has surfaces or palettes created.
29479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_HWNDALREADYSET                    MAKE_DDHRESULT( 571 )
29499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * No palette object attached to this surface.
29529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOPALETTEATTACHED                 MAKE_DDHRESULT( 572 )
29549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * No hardware support for 16 or 256 color palettes.
29579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOPALETTEHW                       MAKE_DDHRESULT( 573 )
29599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * If a clipper object is attached to the source surface passed into a
29629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * BltFast call.
29639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_BLTFASTCANTCLIP                   MAKE_DDHRESULT( 574 )
29659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * No blter.
29689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOBLTHW                           MAKE_DDHRESULT( 575 )
29709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * No DirectDraw ROP hardware.
29739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NODDROPSHW                        MAKE_DDHRESULT( 576 )
29759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * returned when GetOverlayPosition is called on a hidden overlay
29789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_OVERLAYNOTVISIBLE                 MAKE_DDHRESULT( 577 )
29809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * returned when GetOverlayPosition is called on a overlay that UpdateOverlay
29839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * has never been called on to establish a destionation.
29849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOOVERLAYDEST                     MAKE_DDHRESULT( 578 )
29869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * returned when the position of the overlay on the destionation is no longer
29899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * legal for that destionation.
29909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_INVALIDPOSITION                   MAKE_DDHRESULT( 579 )
29929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * returned when an overlay member is called for a non-overlay surface
29959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
29969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOTAOVERLAYSURFACE                MAKE_DDHRESULT( 580 )
29979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
29989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * An attempt was made to set the cooperative level when it was already
30009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * set to exclusive.
30019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_EXCLUSIVEMODEALREADYSET           MAKE_DDHRESULT( 581 )
30039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * An attempt has been made to flip a surface that is not flippable.
30069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOTFLIPPABLE                      MAKE_DDHRESULT( 582 )
30089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Can't duplicate primary & 3D surfaces, or surfaces that are implicitly
30119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * created.
30129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_CANTDUPLICATE                     MAKE_DDHRESULT( 583 )
30149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Surface was not locked.  An attempt to unlock a surface that was not
30179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * locked at all, or by this process, has been attempted.
30189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOTLOCKED                         MAKE_DDHRESULT( 584 )
30209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Windows can not create any more DCs
30239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_CANTCREATEDC                      MAKE_DDHRESULT( 585 )
30259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * No DC was ever created for this surface.
30289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NODC                              MAKE_DDHRESULT( 586 )
30309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This surface can not be restored because it was created in a different
30339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * mode.
30349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_WRONGMODE                         MAKE_DDHRESULT( 587 )
30369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This surface can not be restored because it is an implicitly created
30399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * surface.
30409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_IMPLICITLYCREATED                 MAKE_DDHRESULT( 588 )
30429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The surface being used is not a palette-based surface
30459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOTPALETTIZED                     MAKE_DDHRESULT( 589 )
30479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The display is currently in an unsupported mode
30519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_UNSUPPORTEDMODE                   MAKE_DDHRESULT( 590 )
30539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Operation could not be carried out because there is no mip-map
30569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * texture mapping hardware present or available.
30579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOMIPMAPHW                        MAKE_DDHRESULT( 591 )
30599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The requested action could not be performed because the surface was of
30629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * the wrong type.
30639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_INVALIDSURFACETYPE                MAKE_DDHRESULT( 592 )
30659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * A DC has already been returned for this surface. Only one DC can be
30709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * retrieved per surface.
30719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_DCALREADYCREATED                  MAKE_DDHRESULT( 620 )
30739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The attempt to page lock a surface failed.
30769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_CANTPAGELOCK                      MAKE_DDHRESULT( 640 )
30789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * The attempt to page unlock a surface failed.
30819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_CANTPAGEUNLOCK                    MAKE_DDHRESULT( 660 )
30839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * An attempt was made to page unlock a surface with no outstanding page locks.
30869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOTPAGELOCKED                     MAKE_DDHRESULT( 680 )
30889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
30909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * An attempt was made to invoke an interface member of a DirectDraw object
30919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * created by CoCreateInstance() before it was initialized.
30929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */
30939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define DDERR_NOTINITIALIZED                    CO_E_NOTINITIALIZED
30949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* Alpha bit depth constants */
30969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
30989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#ifdef __cplusplus
30999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream};
31009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
31019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
31029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif
3103