1441 lines
53 KiB
C
1441 lines
53 KiB
C
/*
|
|
* ddrawint.h DirectDraw internal definitions
|
|
*
|
|
* =========================================================================
|
|
*
|
|
* Open Watcom Project
|
|
*
|
|
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
|
|
*
|
|
* This file is automatically generated. Do not edit directly.
|
|
*
|
|
* =========================================================================
|
|
*/
|
|
|
|
#ifndef __DD_INCLUDED__
|
|
#define __DD_INCLUDED__
|
|
|
|
#ifndef _ENABLE_AUTODEPEND
|
|
#pragma read_only_file;
|
|
#endif
|
|
|
|
#include <ddraw.h>
|
|
#include <dvp.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Primitive data types */
|
|
typedef ULONG_PTR FLATPTR;
|
|
typedef DDSURFACEDESC *PDD_SURFACEDESC;
|
|
typedef DDVIDEOPORTINFO *PDD_VIDEOPORTINFO;
|
|
|
|
/* Maximum number of autoflip buffers */
|
|
#define MAX_AUTOFLIP_BUFFERS 10
|
|
|
|
/* DirectDraw surface capability flags */
|
|
#define DDSCAPS_EXECUTEBUFFER 0x00800000L
|
|
#define DDSCAPS_COMMANDBUFFER 0x00000400L
|
|
#define DDSCAPS_VERTEXBUFFER 0x00000004L
|
|
|
|
/* DirectDraw pixel format flags */
|
|
#define DDPF_D3DFORMAT 0x00200000L
|
|
|
|
/* Direct3D format operations */
|
|
#define D3DFORMAT_OP_TEXTURE 0x00000001L
|
|
#define D3DFORMAT_OP_VOLUMETEXTURE 0x00000002L
|
|
#define D3DFORMAT_OP_CUBETEXTURE 0x00000004L
|
|
#define D3DFORMAT_OP_OFFSCREEN_RENDERTARGET 0x00000008L
|
|
#define D3DFORMAT_OP_SAME_FORMAT_RENDERTARGET 0x00000010L
|
|
#define D3DFORMAT_OP_ZSTENCIL 0x00000040L
|
|
#define D3DFORMAT_OP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH 0x00000080L
|
|
#define D3DFORMAT_OP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET 0x00000100L
|
|
#define D3DFORMAT_OP_DISPLAYMODE 0x00000400L
|
|
#define D3DFORMAT_OP_3DACCELERATION 0x00000800L
|
|
#define D3DFORMAT_OP_PIXELSIZE 0x00001000L
|
|
#define D3DFORMAT_OP_CONVERT_TO_ARGB 0x00002000L
|
|
#define D3DFORMAT_OP_OFFSCREENPLAIN 0x00004000L
|
|
#define D3DFORMAT_OP_SRGBREAD 0x00008000L
|
|
#define D3DFORMAT_OP_BUMPMAP 0x00010000L
|
|
#define D3DFORMAT_OP_DMAP 0x00020000L
|
|
#define D3DFORMAT_OP_NOFILTER 0x00040000L
|
|
#define D3DFORMAT_MEMBEROFGROUP_ARGB 0x00080000L
|
|
#define D3DFORMAT_OP_SRGBWRITE 0x00100000L
|
|
#define D3DFORMAT_OP_NOALPHABLEND 0x00200000L
|
|
#define D3DFORMAT_OP_AUTOGENMIPMAP 0x00400000L
|
|
#define D3DFORMAT_OP_VERTEXTEXTURE 0x00800000L
|
|
#define D3DFORMAT_OP_NOTEXCOORDWRAPNORMIP 0x01000000L
|
|
|
|
/* DirectDraw video memory flags */
|
|
#define DDHAL_PLEASEALLOC_BLOCKSIZE 0x00000002L
|
|
#define DDHAL_PLEASEALLOC_USERMEM 0x00000004L
|
|
|
|
/* Video memory data flags */
|
|
#define VIDMEM_ISLINEAR 0x00000001L
|
|
#define VIDMEM_ISRECTANGULAR 0x00000002L
|
|
#define VIDMEM_ISHEAP 0x00000004L
|
|
#define VIDMEM_ISNONLOCAL 0x00000008L
|
|
#define VIDMEM_ISWC 0x00000010L
|
|
#define VIDMEM_HEAPDISABLED 0x00000020L
|
|
|
|
/* DirectDraw callback flags */
|
|
#define DDHAL_CB32_DESTROYDRIVER 0x00000001L
|
|
#define DDHAL_CB32_CREATESURFACE 0x00000002L
|
|
#define DDHAL_CB32_SETCOLORKEY 0x00000004L
|
|
#define DDHAL_CB32_SETMODE 0x00000008L
|
|
#define DDHAL_CB32_WAITFORVERTICALBLANK 0x00000010L
|
|
#define DDHAL_CB32_CANCREATESURFACE 0x00000020L
|
|
#define DDHAL_CB32_CREATEPALETTE 0x00000040L
|
|
#define DDHAL_CB32_GETSCANLINE 0x00000080L
|
|
#define DDHAL_CB32_MAPMEMORY 0x80000000L
|
|
|
|
/* DirectDraw miscellaneous callback flags */
|
|
#define DDHAL_MISCCB32_GETAVAILDRIVERMEMORY 0x00000001L
|
|
|
|
/* DirectDraw miscellaneous callback flags (level 2) */
|
|
#define DDHAL_MISC2CB32_ALPHABLT 0x00000001L
|
|
#define DDHAL_MISC2CB32_CREATESURFACEEX 0x00000002L
|
|
#define DDHAL_MISC2CB32_GETDRIVERSTATE 0x00000004L
|
|
#define DDHAL_MISC2CB32_DESTROYDDLOCAL 0x00000008L
|
|
|
|
/* CreateSurfaceEx flags */
|
|
#define DDHAL_CREATESURFACEEX_SWAPHANDLES 0x00000001L
|
|
|
|
/* DirectDraw NT callback flags */
|
|
#define DDHAL_NTCB32_FREEDRIVERMEMORY 0x00000001L
|
|
#define DDHAL_NTCB32_SETEXCLUSIVEMODE 0x00000002L
|
|
#define DDHAL_NTCB32_FLIPTOGDISURFACE 0x00000004L
|
|
|
|
/* DirectDraw palette callback flags */
|
|
#define DDHAL_PALCB32_DESTROYPALETTE 0x00000001L
|
|
#define DDHAL_PALCB32_SETENTRIES 0x00000002L
|
|
|
|
/* DirectDraw surface callback flags */
|
|
#define DDHAL_SURFCB32_DESTROYSURFACE 0x00000001L
|
|
#define DDHAL_SURFCB32_FLIP 0x00000002L
|
|
#define DDHAL_SURFCB32_SETCLIPLIST 0x00000004L
|
|
#define DDHAL_SURFCB32_LOCK 0x00000008L
|
|
#define DDHAL_SURFCB32_UNLOCK 0x00000010L
|
|
#define DDHAL_SURFCB32_BLT 0x00000020L
|
|
#define DDHAL_SURFCB32_SETCOLORKEY 0x00000040L
|
|
#define DDHAL_SURFCB32_ADDATTACHEDSURFACE 0x00000080L
|
|
#define DDHAL_SURFCB32_GETBLTSTATUS 0x00000100L
|
|
#define DDHAL_SURFCB32_GETFLIPSTATUS 0x00000200L
|
|
#define DDHAL_SURFCB32_UPDATEOVERLAY 0x00000400L
|
|
#define DDHAL_SURFCB32_SETOVERLAYPOSITION 0x00000800L
|
|
#define DDHAL_SURFCB32_SETPALETTE 0x00002000L
|
|
|
|
/* DirectDraw video port callback flags */
|
|
#define DDHAL_VPORT32_CANCREATEVIDEOPORT 0x00000001L
|
|
#define DDHAL_VPORT32_CREATEVIDEOPORT 0x00000002L
|
|
#define DDHAL_VPORT32_FLIP 0x00000004L
|
|
#define DDHAL_VPORT32_GETBANDWIDTH 0x00000008L
|
|
#define DDHAL_VPORT32_GETINPUTFORMATS 0x00000010L
|
|
#define DDHAL_VPORT32_GETOUTPUTFORMATS 0x00000020L
|
|
#define DDHAL_VPORT32_GETAUTOFLIPSURF 0x00000040L
|
|
#define DDHAL_VPORT32_GETFIELD 0x00000080L
|
|
#define DDHAL_VPORT32_GETLINE 0x00000100L
|
|
#define DDHAL_VPORT32_GETCONNECT 0x00000200L
|
|
#define DDHAL_VPORT32_DESTROY 0x00000400L
|
|
#define DDHAL_VPORT32_GETFLIPSTATUS 0x00000800L
|
|
#define DDHAL_VPORT32_UPDATE 0x00001000L
|
|
#define DDHAL_VPORT32_WAITFORSYNC 0x00002000L
|
|
#define DDHAL_VPORT32_GETSIGNALSTATUS 0x00004000L
|
|
#define DDHAL_VPORT32_COLORCONTROL 0x00008000L
|
|
|
|
/* DirectDraw color control callback flags */
|
|
#define DDHAL_COLOR_COLORCONTROL 0x00000001L
|
|
|
|
/* DirectDraw kernel surface callback flags */
|
|
#define DDHAL_KERNEL_SYNCSURFACEDATA 0x00000001L
|
|
#define DDHAL_KERNEL_SYNCVIDEOPORTDATA 0x00000002L
|
|
|
|
/* DirectDraw video callback flags */
|
|
#define DDHAL_MOCOMP32_GETGUIDS 0x00000001L
|
|
#define DDHAL_MOCOMP32_GETFORMATS 0x00000002L
|
|
#define DDHAL_MOCOMP32_CREATE 0x00000004L
|
|
#define DDHAL_MOCOMP32_GETCOMPBUFFINFO 0x00000008L
|
|
#define DDHAL_MOCOMP32_GETINTERNALINFO 0x00000010L
|
|
#define DDHAL_MOCOMP32_BEGINFRAME 0x00000020L
|
|
#define DDHAL_MOCOMP32_ENDFRAME 0x00000040L
|
|
#define DDHAL_MOCOMP32_RENDER 0x00000080L
|
|
#define DDHAL_MOCOMP32_QUERYSTATUS 0x00000100L
|
|
#define DDHAL_MOCOMP32_DESTROY 0x00000200L
|
|
|
|
/* Callback return values */
|
|
#define DDHAL_DRIVER_NOTHANDLED 0x00000000L
|
|
#define DDHAL_DRIVER_HANDLED 0x00000001L
|
|
#define DDHAL_DRIVER_NOCKEYHW 0x00000002L
|
|
|
|
/* DirectDraw surface flags */
|
|
#define DDRAWISURF_HASCKEYSRCBLT 0x00000800L
|
|
#define DDRAWISURF_HASPIXELFORMAT 0x00002000L
|
|
#define DDRAWISURF_HASOVERLAYDATA 0x00004000L
|
|
#define DDRAWISURF_FRONTBUFFER 0x04000000L
|
|
#define DDRAWISURF_BACKBUFFER 0x08000000L
|
|
#define DDRAWISURF_INVALID 0x10000000L
|
|
#define DDRAWISURF_DRIVERMANAGED 0x40000000L
|
|
|
|
/* Raster operations */
|
|
#define ROP_HAS_SOURCE 0x00000001L
|
|
#define ROP_HAS_PATTERN 0x00000002L
|
|
#define ROP_HAS_SOURCEPATTERN (ROP_HAS_SOURCE | ROP_HAS_PATTERN)
|
|
|
|
/* DirectDraw Direct3D buffer callback flags */
|
|
#define DDHAL_EXEBUFCB32_CANCREATEEXEBUF 0x00000001L
|
|
#define DDHAL_EXEBUFCB32_CREATEEXEBUF 0x00000002L
|
|
#define DDHAL_EXEBUFCB32_DESTROYEXEBUF 0x00000004L
|
|
#define DDHAL_EXEBUFCB32_LOCKEXEBUF 0x00000008L
|
|
#define DDHAL_EXEBUFCB32_UNLOCKEXEBUF 0x00000010L
|
|
#define DDHAL_D3DBUFCB32_CANCREATED3DBUF DDHAL_EXEBUFCB32_CANCREATEEXEBUF
|
|
#define DDHAL_D3DBUFCB32_CREATED3DBUF DDHAL_EXEBUFCB32_CREATEEXEBUF
|
|
#define DDHAL_D3DBUFCB32_DESTROYD3DBUF DDHAL_EXEBUFCB32_DESTROYEXEBUF
|
|
#define DDHAL_D3DBUFCB32_LOCKD3DBUF DDHAL_EXEBUFCB32_LOCKEXEBUF
|
|
#define DDHAL_D3DBUFCB32_UNLOCKD3DBUF DDHAL_EXEBUFCB32_UNLOCKEXEBUF
|
|
|
|
/* DirectDraw hardware abstraction layer information flags */
|
|
#define DDHALINFO_GETDRIVERINFOSET 0x00000004L
|
|
#define DDHALINFO_GETDRIVERINFO2 0x00000008L
|
|
|
|
/* DirectDraw video port flags */
|
|
#define DDRAWIVPORT_ON 0x00000001L
|
|
#define DDRAWIVPORT_SOFTWARE_AUTOFLIP 0x00000002L
|
|
#define DDRAWIVPORT_COLORKEYANDINTERP 0x00000004L
|
|
|
|
/* DirectDraw NT private driver capability flags */
|
|
#define DDHAL_PRIVATECAP_ATOMICSURFACECREATION 0x00000001L
|
|
#define DDHAL_PRIVATECAP_NOTIFYPRIMARYCREATION 0x00000002L
|
|
|
|
/* Blt flags */
|
|
#define DDBLT_AFLAGS 0x80000000L
|
|
|
|
/* AlphaBlt flags */
|
|
#define DDABLT_SRCOVERDEST 0x00000001L
|
|
|
|
/* WaitForVerticalBlank flags */
|
|
#define DDWAITVB_I_TESTVB 0x80000006L
|
|
|
|
/* UpdateVideoPort flags */
|
|
#define DDRAWI_VPORTSTART 0x00000001L
|
|
#define DDRAWI_VPORTSTOP 0x00000002L
|
|
#define DDRAWI_VPORTUPDATE 0x00000003L
|
|
|
|
/* ColorControl flags */
|
|
#define DDRAWI_VPORTGETCOLOR 0x00000001L
|
|
#define DDRAWI_VPORTSETCOLOR 0x00000002L
|
|
#define DDRAWI_GETCOLOR 0x00000001L
|
|
#define DDRAWI_SETCOLOR 0x00000002L
|
|
|
|
/* QueryMoCompStatus flags */
|
|
#define DDMCQUERY_READ 0x00000001L
|
|
|
|
/* Opaque data types */
|
|
typedef struct _DD_DESTROYDRIVERDATA *PDD_DESTROYDRIVERDATA;
|
|
typedef struct _DD_SETMODEDATA *PDD_SETMODEDATA;
|
|
typedef struct _DD_GETVPORTAUTOFLIPSURFACEDATA *PDD_GETVPORTAUTOFLIPSURFACEDATA;
|
|
typedef struct _DD_GETHEAPALIGNMENTDATA *PDD_GETHEAPALIGNMENTDATA;
|
|
|
|
/* Video memory data */
|
|
typedef struct _VIDEOMEMORY {
|
|
DWORD dwFlags;
|
|
FLATPTR fpStart;
|
|
union {
|
|
FLATPTR fpEnd;
|
|
DWORD dwWidth;
|
|
};
|
|
DDSCAPS ddsCaps;
|
|
DDSCAPS ddsCapsAlt;
|
|
union {
|
|
struct _VMEMHEAP *lpHeap;
|
|
DWORD dwHeight;
|
|
};
|
|
} VIDEOMEMORY;
|
|
typedef VIDEOMEMORY *LPVIDEOMEMORY;
|
|
|
|
/* Video memory information */
|
|
typedef struct _VIDEOMEMORYINFO {
|
|
FLATPTR fpPrimary;
|
|
DWORD dwFlags;
|
|
DWORD dwDisplayWidth;
|
|
DWORD dwDisplayHeight;
|
|
LONG lDisplayPitch;
|
|
DDPIXELFORMAT ddpfDisplay;
|
|
DWORD dwOffScreenAlign;
|
|
DWORD dwOverlayAlign;
|
|
DWORD dwTextureAlign;
|
|
DWORD dwZBufferAlign;
|
|
DWORD dwAlphaAlign;
|
|
PVOID pvPrimary;
|
|
} VIDEOMEMORYINFO;
|
|
typedef VIDEOMEMORYINFO *LPVIDEOMEMORYINFO;
|
|
|
|
/* DirectDraw callbacks */
|
|
typedef DWORD (APIENTRY *PDD_SETCOLORKEY)( struct _DD_DRVSETCOLORKEYDATA * );
|
|
typedef DWORD (APIENTRY *PDD_CANCREATESURFACE)( struct _DD_CANCREATESURFACEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_WAITFORVERTICALBLANK)( struct _DD_WAITFORVERTICALBLANKDATA * );
|
|
typedef DWORD (APIENTRY *PDD_CREATESURFACE)( struct _DD_CREATESURFACEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_DESTROYDRIVER)( struct _DD_DESTROYDRIVERDATA * );
|
|
typedef DWORD (APIENTRY *PDD_SETMODE)( struct _DD_SETMODEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_CREATEPALETTE)( struct _DD_CREATEPALETTEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_GETSCANLINE)( struct _DD_GETSCANLINEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_MAPMEMORY)( struct _DD_MAPMEMORY * );
|
|
typedef DWORD (APIENTRY *PDD_GETDRIVERINFO)( struct _DD_GETDRIVERINFODATA * );
|
|
typedef struct DD_CALLBACKS {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
PDD_DESTROYDRIVER DestroyDriver;
|
|
PDD_CREATESURFACE CreateSurface;
|
|
PDD_SETCOLORKEY SetColorKey;
|
|
PDD_SETMODE SetMode;
|
|
PDD_WAITFORVERTICALBLANK WaitForVerticalBlank;
|
|
PDD_CANCREATESURFACE CanCreateSurface;
|
|
PDD_CREATEPALETTE CreatePalette;
|
|
PDD_GETSCANLINE GetScanLine;
|
|
PDD_MAPMEMORY MapMemory;
|
|
} DD_CALLBACKS;
|
|
typedef DD_CALLBACKS *PDD_CALLBACKS;
|
|
|
|
/* DirectDraw miscellaneous callbacks */
|
|
typedef DWORD (APIENTRY *PDD_GETAVAILDRIVERMEMORY)( struct _DD_GETAVAILDRIVERMEMORYDATA * );
|
|
typedef struct _DD_MISCELLANEOUSCALLBACKS {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
PDD_GETAVAILDRIVERMEMORY GetAvailDriveMemory;
|
|
} DD_MISCELLANEOUSCALLBACKS;
|
|
typedef DD_MISCELLANEOUSCALLBACKS *PDD_MISCELLANEOUSCALLBACKS;
|
|
|
|
/* DirectDraw miscellaneous callbacks (level 2)*/
|
|
typedef DWORD (APIENTRY *PDD_ALPHABLT)( struct _DD_BLTDATA * );
|
|
typedef DWORD (APIENTRY *PDD_CREATESURFACEEX)( struct _DD_CREATESURFACEEXDATA * );
|
|
typedef DWORD (APIENTRY *PDD_GETDRIVERSTATE)( struct _DD_GETDRIVERSTATEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_DESTROYDDLOCAL)( struct _DD_DESTROYDDLOCALDATA * );
|
|
typedef struct _DD_MISCELLANEOUS2CALLBACKS {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
PDD_ALPHABLT AlphaBlt;
|
|
PDD_CREATESURFACEEX CreateSurfaceEx;
|
|
PDD_GETDRIVERSTATE GetDriverState;
|
|
PDD_DESTROYDDLOCAL DestroyDDLocal;
|
|
} DD_MISCELLANEOUS2CALLBACKS;
|
|
typedef DD_MISCELLANEOUS2CALLBACKS *PDD_MISCELLANEOUS2CALLBACKS;
|
|
|
|
/* DirectDraw NT callbacks */
|
|
typedef DWORD (APIENTRY *PDD_FREEDRIVERMEMORY)( struct _DD_FREEDRIVERMEMORYDATA * );
|
|
typedef DWORD (APIENTRY *PDD_SETEXCLUSIVEMODE)( struct _DD_SETEXCLUSIVEMODEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_FLIPTOGDISURFACE)( struct _DD_FLIPTOGDISURFACEDATA * );
|
|
typedef struct _DD_NTCALLBACKS {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
PDD_FREEDRIVERMEMORY FreeDriverMemory;
|
|
PDD_SETEXCLUSIVEMODE SetExclusiveMode;
|
|
PDD_FLIPTOGDISURFACE FlipToGDISurface;
|
|
} DD_NTCALLBACKS;
|
|
typedef DD_NTCALLBACKS *PDD_NTCALLBACKS;
|
|
|
|
/* DirectDraw palette callbacks */
|
|
typedef DWORD (APIENTRY *PDD_PALCB_DESTROYPALETTE)( struct _DD_DESTROYPALETTEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_PALCB_SETENTRIES)( struct _DD_SETENTRIESDATA * );
|
|
typedef struct DD_PALETTECALLBACKS {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
PDD_PALCB_DESTROYPALETTE DestroyPalette;
|
|
PDD_PALCB_SETENTRIES SetEntries;
|
|
} DD_PALETTECALLBACKS;
|
|
typedef DD_PALETTECALLBACKS *PDD_PALETTECALLBACKS;
|
|
|
|
/* DirectDraw surface callbacks */
|
|
typedef DWORD (APIENTRY *PDD_SURFCB_LOCK)( struct _DD_LOCKDATA * );
|
|
typedef DWORD (APIENTRY *PDD_SURFCB_UNLOCK)( struct _DD_UNLOCKDATA * );
|
|
typedef DWORD (APIENTRY *PDD_SURFCB_BLT)( struct _DD_BLTDATA * );
|
|
typedef DWORD (APIENTRY *PDD_SURFCB_UPDATEOVERLAY)( struct _DD_UPDATEOVERLAYDATA * );
|
|
typedef DWORD (APIENTRY *PDD_SURFCB_SETOVERLAYPOSITION)( struct _DD_SETOVERLAYPOSITIONDATA * );
|
|
typedef DWORD (APIENTRY *PDD_SURFCB_SETPALETTE)( struct _DD_SETPALETTEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_SURFCB_FLIP)( struct _DD_FLIPDATA * );
|
|
typedef DWORD (APIENTRY *PDD_SURFCB_DESTROYSURFACE)( struct _DD_DESTROYSURFACEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_SURFCB_SETCLIPLIST)( struct _DD_SETCLIPLISTDATA * );
|
|
typedef DWORD (APIENTRY *PDD_SURFCB_ADDATTACHEDSURFACE)( struct _DD_ADDATTACHEDSURFACEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_SURFCB_SETCOLORKEY)( struct _DD_SETCOLORKEYDATA * );
|
|
typedef DWORD (APIENTRY *PDD_SURFCB_GETBLTSTATUS)( struct _DD_GETBLTSTATUSDATA * );
|
|
typedef DWORD (APIENTRY *PDD_SURFCB_GETFLIPSTATUS)( struct _DD_GETFLIPSTATUSDATA * );
|
|
typedef struct DD_SURFACECALLBACKS {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
PDD_SURFCB_DESTROYSURFACE DestroySurface;
|
|
PDD_SURFCB_FLIP Flip;
|
|
PDD_SURFCB_SETCLIPLIST SetClipList;
|
|
PDD_SURFCB_LOCK Lock;
|
|
PDD_SURFCB_UNLOCK Unlock;
|
|
PDD_SURFCB_BLT Blt;
|
|
PDD_SURFCB_SETCOLORKEY SetColorKey;
|
|
PDD_SURFCB_ADDATTACHEDSURFACE AddAttachedSurface;
|
|
PDD_SURFCB_GETBLTSTATUS GetBltStatus;
|
|
PDD_SURFCB_GETFLIPSTATUS GetFlipStatus;
|
|
PDD_SURFCB_UPDATEOVERLAY UpdateOverlay;
|
|
PDD_SURFCB_SETOVERLAYPOSITION SetOverlayPosition;
|
|
LPVOID reserved4;
|
|
PDD_SURFCB_SETPALETTE SetPalette;
|
|
} DD_SURFACECALLBACKS;
|
|
typedef DD_SURFACECALLBACKS *PDD_SURFACECALLBACKS;
|
|
|
|
/* DirectDraw video port callbacks */
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_CANCREATEVIDEOPORT)( struct _DD_CANCREATEVPORTDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_CREATEVIDEOPORT)( struct _DD_CREATEVPORTDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_FLIP)( struct _DD_FLIPVPORTDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_GETBANDWIDTH)( struct _DD_GETVPORTBANDWIDTHDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_GETINPUTFORMATS)( struct _DD_GETVPORTINPUTFORMATDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_GETOUTPUTFORMATS)( struct _DD_GETVPORTOUTPUTFORMATDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_GETAUTOFLIPSURF)( struct _DD_GETVPORTAUTOFLIPSURFACEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_GETFIELD)( struct _DD_GETVPORTFIELDDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_GETLINE)( struct _DD_GETVPORTLINEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_GETVPORTCONNECT)( struct _DD_GETVPORTCONNECTDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_DESTROYVPORT)( struct _DD_DESTROYVPORTDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_GETFLIPSTATUS)( struct _DD_GETVPORTFLIPSTATUSDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_UPDATE)( struct _DD_UPDATEVPORTDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_WAITFORSYNC)( struct _DD_WAITFORVPORTSYNCDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_GETSIGNALSTATUS)( struct _DD_GETVPORTSIGNALDATA * );
|
|
typedef DWORD (APIENTRY *PDD_VPORTCB_COLORCONTROL)( struct _DD_VPORTCOLORDATA * );
|
|
typedef struct DD_VIDEOPORTCALLBACKS {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
PDD_VPORTCB_CANCREATEVIDEOPORT CanCreateVideoPort;
|
|
PDD_VPORTCB_CREATEVIDEOPORT CreateVideoPort;
|
|
PDD_VPORTCB_FLIP FlipVideoPort;
|
|
PDD_VPORTCB_GETBANDWIDTH GetVideoPortBandwidth;
|
|
PDD_VPORTCB_GETINPUTFORMATS GetVideoPortInputFormats;
|
|
PDD_VPORTCB_GETOUTPUTFORMATS GetVideoPortOutputFormats;
|
|
LPVOID lpReserved1;
|
|
PDD_VPORTCB_GETFIELD GetVideoPortField;
|
|
PDD_VPORTCB_GETLINE GetVideoPortLine;
|
|
PDD_VPORTCB_GETVPORTCONNECT GetVideoPortConnectInfo;
|
|
PDD_VPORTCB_DESTROYVPORT DestroyVideoPort;
|
|
PDD_VPORTCB_GETFLIPSTATUS GetVideoPortFlipStatus;
|
|
PDD_VPORTCB_UPDATE UpdateVideoPort;
|
|
PDD_VPORTCB_WAITFORSYNC WaitForVideoPortSync;
|
|
PDD_VPORTCB_GETSIGNALSTATUS GetVideoSignalStatus;
|
|
PDD_VPORTCB_COLORCONTROL ColorControl;
|
|
} DD_VIDEOPORTCALLBACKS;
|
|
typedef DD_VIDEOPORTCALLBACKS *PDD_VIDEOPORTCALLBACKS;
|
|
|
|
/* DirectDraw color control callbacks */
|
|
typedef DWORD (APIENTRY *PDD_COLORCB_COLORCONTROL)( struct _DD_COLORCONTROLDATA * );
|
|
typedef struct _DD_COLORCONTROLCALLBACKS {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
PDD_COLORCB_COLORCONTROL ColorControl;
|
|
} DD_COLORCONTROLCALLBACKS;
|
|
typedef DD_COLORCONTROLCALLBACKS *PDD_COLORCONTROLCALLBACKS;
|
|
|
|
/* DirectDraw surface kernel callbacks */
|
|
typedef DWORD (APIENTRY *PDD_KERNELCB_SYNCSURFACE)( struct _DD_SYNCSURFACEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_KERNELCB_SYNCVIDEOPORT)( struct _DD_SYNCVIDEOPORTDATA * );
|
|
typedef struct DD_KERNELCALLBACKS {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
PDD_KERNELCB_SYNCSURFACE SyncSurfaceData;
|
|
PDD_KERNELCB_SYNCVIDEOPORT SyncVideoPortData;
|
|
} DD_KERNELCALLBACKS;
|
|
typedef DD_KERNELCALLBACKS *PDD_KERNELCALLBACKS;
|
|
|
|
/* DirectDraw video callbacks */
|
|
typedef DWORD (APIENTRY *PDD_MOCOMPCB_GETGUIDS)( struct _DD_GETMOCOMPGUIDSDATA * );
|
|
typedef DWORD (APIENTRY *PDD_MOCOMPCB_GETFORMATS)( struct _DD_GETMOCOMPFORMATSDATA * );
|
|
typedef DWORD (APIENTRY *PDD_MOCOMPCB_CREATE)( struct _DD_CREATEMOCOMPDATA * );
|
|
typedef DWORD (APIENTRY *PDD_MOCOMPCB_GETCOMPBUFFINFO)( struct _DD_GETMOCOMPCOMPBUFFDATA * );
|
|
typedef DWORD (APIENTRY *PDD_MOCOMPCB_GETINTERNALINFO)( struct _DD_GETINTERNALMOCOMPDATA * );
|
|
typedef DWORD (APIENTRY *PDD_MOCOMPCB_BEGINFRAME)( struct _DD_BEGINMOCOMPFRAMEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_MOCOMPCB_ENDFRAME)( struct _DD_ENDMOCOMPFRAMEDATA * );
|
|
typedef DWORD (APIENTRY *PDD_MOCOMPCB_RENDER)( struct _DD_RENDERMOCOMPDATA * );
|
|
typedef DWORD (APIENTRY *PDD_MOCOMPCB_QUERYSTATUS)( struct _DD_QUERYMOCOMPSTATUSDATA * );
|
|
typedef DWORD (APIENTRY *PDD_MOCOMPCB_DESTROY)( struct _DD_DESTROYMOCOMPDATA * );
|
|
typedef struct DD_MOTIONCOMPCALLBACKS {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
PDD_MOCOMPCB_GETGUIDS GetMoCompGuids;
|
|
PDD_MOCOMPCB_GETFORMATS GetMoCompFormats;
|
|
PDD_MOCOMPCB_CREATE CreateMoComp;
|
|
PDD_MOCOMPCB_GETCOMPBUFFINFO GetMoCompBuffInfo;
|
|
PDD_MOCOMPCB_GETINTERNALINFO GetInternalMoCompBuffInfo;
|
|
PDD_MOCOMPCB_BEGINFRAME BeginMoCompFrame;
|
|
PDD_MOCOMPCB_ENDFRAME EndMoCompFrame;
|
|
PDD_MOCOMPCB_RENDER RenderMoComp;
|
|
PDD_MOCOMPCB_QUERYSTATUS QueryMoCompStatus;
|
|
PDD_MOCOMPCB_DESTROY DestroyMoComp;
|
|
} DD_MOTIONCOMPCALLBACKS;
|
|
typedef DD_MOTIONCOMPCALLBACKS *PDD_MOTIONCOMPCALLBACKS;
|
|
|
|
/* Nonlocal video memory capabilities */
|
|
typedef struct _DD_NONLOCALVIDMEMCAPS {
|
|
DWORD dwSize;
|
|
DWORD dwNLVBCaps;
|
|
DWORD dwNLVBCaps2;
|
|
DWORD dwNLVBCKeyCaps;
|
|
DWORD dwNLVBFXCaps;
|
|
DWORD dwNLVBRops[DD_ROP_SPACE];
|
|
} DD_NONLOCALVIDMEMCAPS;
|
|
typedef DD_NONLOCALVIDMEMCAPS *PDD_NONLOCALVIDMEMCAPS;
|
|
|
|
/* DirectDraw global palette */
|
|
typedef struct _DD_PALETTE_GLOBAL {
|
|
ULONG_PTR dwReserved1;
|
|
} DD_PALETTE_GLOBAL;
|
|
typedef DD_PALETTE_GLOBAL *PDD_PALETTE_GLOBAL;
|
|
|
|
/* DirectDraw local palette */
|
|
typedef struct _DD_PALETTE_LOCAL {
|
|
ULONG dwReserved0;
|
|
ULONG_PTR dwReserved1;
|
|
} DD_PALETTE_LOCAL;
|
|
typedef DD_PALETTE_LOCAL *PDD_PALETTE_LOCAL;
|
|
|
|
/* DirectDraw global clipper */
|
|
typedef struct _DD_CLIPPER_GLOBAL {
|
|
ULONG_PTR dwReserved1;
|
|
} DD_CLIPPER_GLOBAL;
|
|
typedef DD_CLIPPER_GLOBAL *PDD_CLIPPER_GLOBAL;
|
|
|
|
/* DirectDraw local clipper */
|
|
typedef struct _DD_CLIPPER_LOCAL {
|
|
ULONG_PTR dwReserved1;
|
|
} DD_CLIPPER_LOCAL;
|
|
typedef DD_CLIPPER_LOCAL *PDD_CLIPPER_LOCAL;
|
|
|
|
/* DirectDraw attach list */
|
|
typedef struct _DD_ATTACHLIST {
|
|
struct _DD_ATTACHLIST *lpLink;
|
|
struct _DD_SURFACE_LOCAL *lpAttached;
|
|
} DD_ATTACHLIST;
|
|
typedef DD_ATTACHLIST *PDD_ATTACHLIST;
|
|
|
|
/* DirectDraw surface interface */
|
|
typedef struct _DD_SURFACE_INT {
|
|
struct _DD_SURFACE_LOCAL *lpLcl;
|
|
} DD_SURFACE_INT;
|
|
typedef DD_SURFACE_INT *PDD_SURFACE_INT;
|
|
|
|
/* DirectDraw global surface */
|
|
typedef struct _DD_SURFACE_GLOBAL {
|
|
union {
|
|
DWORD dwBlockSizeY;
|
|
LONG lSlicePitch;
|
|
};
|
|
union {
|
|
LPVIDEOMEMORY lpVidMemHeap;
|
|
DWORD dwBlockSizeX;
|
|
DWORD dwUserMemSize;
|
|
};
|
|
FLATPTR fpVidMem;
|
|
union {
|
|
LONG lPitch;
|
|
DWORD dwLinearSize;
|
|
};
|
|
LONG yHint;
|
|
LONG xHint;
|
|
DWORD wHeight;
|
|
DWORD wWidth;
|
|
ULONG_PTR dwReserved1;
|
|
DDPIXELFORMAT ddpfSurface;
|
|
FLATPTR fpHeapOffset;
|
|
HANDLE hCreatorProcess;
|
|
} DD_SURFACE_GLOBAL;
|
|
typedef DD_SURFACE_GLOBAL *PDD_SURFACE_GLOBAL;
|
|
|
|
/* DirectDraw more surface */
|
|
typedef struct _DD_SURFACE_MORE {
|
|
DWORD dwMipMapCount;
|
|
struct _DD_VIDEOPORT_LOCAL *lpVideoPort;
|
|
DWORD dwOverlayFlags;
|
|
DDSCAPSEX ddsCapsEx;
|
|
DWORD dwSurfaceHandle;
|
|
} DD_SURFACE_MORE;
|
|
typedef DD_SURFACE_MORE *PDD_SURFACE_MORE;
|
|
|
|
/* DirectDraw local surface */
|
|
typedef struct _DD_SURFACE_LOCAL {
|
|
PDD_SURFACE_GLOBAL lpGbl;
|
|
DWORD dwFlags;
|
|
DDSCAPS ddsCaps;
|
|
ULONG_PTR dwReserved1;
|
|
union {
|
|
DDCOLORKEY ddckCKSrcOverlay;
|
|
DDCOLORKEY ddckCKSrcBlt;
|
|
};
|
|
union {
|
|
DDCOLORKEY ddckCKDestOverlay;
|
|
DDCOLORKEY ddckCKDestBlt;
|
|
};
|
|
PDD_SURFACE_MORE lpSurfMore;
|
|
PDD_ATTACHLIST lpAttachList;
|
|
PDD_ATTACHLIST lpAttachListFrom;
|
|
RECT rcOverlaySrc;
|
|
} DD_SURFACE_LOCAL;
|
|
typedef DD_SURFACE_LOCAL *PDD_SURFACE_LOCAL;
|
|
|
|
/* DirectDraw more capabilities */
|
|
typedef struct _DD_MORECAPS {
|
|
DWORD dwSize;
|
|
DWORD dwAlphaCaps;
|
|
DWORD dwSVBAlphaCaps;
|
|
DWORD dwVSBAlphaCaps;
|
|
DWORD dwSSBAlphaCaps;
|
|
DWORD dwFilterCaps;
|
|
DWORD dwSVBFilterCaps;
|
|
DWORD dwVSBFilterCaps;
|
|
DWORD dwSSBFilterCaps;
|
|
} DD_MORECAPS;
|
|
typedef DD_MORECAPS *PDD_MORECAPS;
|
|
|
|
/* DirectDraw NT capabilities */
|
|
typedef struct _DDNTCORECAPS {
|
|
DWORD dwSize;
|
|
DWORD dwCaps;
|
|
DWORD dwCaps2;
|
|
DWORD dwCKeyCaps;
|
|
DWORD dwFXCaps;
|
|
DWORD dwFXAlphaCaps;
|
|
DWORD dwPalCaps;
|
|
DWORD dwSVCaps;
|
|
DWORD dwAlphaBltConstBitDepths;
|
|
DWORD dwAlphaBltPixelBitDepths;
|
|
DWORD dwAlphaBltSurfaceBitDepths;
|
|
DWORD dwAlphaOverlayConstBitDepths;
|
|
DWORD dwAlphaOverlayPixelBitDepths;
|
|
DWORD dwAlphaOverlaySurfaceBitDepths;
|
|
DWORD dwZBufferBitDepths;
|
|
DWORD dwVidMemTotal;
|
|
DWORD dwVidMemFree;
|
|
DWORD dwMaxVisibleOverlays;
|
|
DWORD dwCurrVisibleOverlays;
|
|
DWORD dwNumFourCCCodes;
|
|
DWORD dwAlignBoundarySrc;
|
|
DWORD dwAlignSizeSrc;
|
|
DWORD dwAlignBoundaryDest;
|
|
DWORD dwAlignSizeDest;
|
|
DWORD dwAlignStrideAlign;
|
|
DWORD dwRops[DD_ROP_SPACE];
|
|
DDSCAPS ddsCaps;
|
|
DWORD dwMinOverlayStretch;
|
|
DWORD dwMaxOverlayStretch;
|
|
DWORD dwMinLiveVideoStretch;
|
|
DWORD dwMaxLiveVideoStretch;
|
|
DWORD dwMinHwCodecStretch;
|
|
DWORD dwMaxHwCodecStretch;
|
|
DWORD dwReserved1;
|
|
DWORD dwReserved2;
|
|
DWORD dwReserved3;
|
|
DWORD dwSVBCaps;
|
|
DWORD dwSVBCKeyCaps;
|
|
DWORD dwSVBFXCaps;
|
|
DWORD dwSVBRops[DD_ROP_SPACE];
|
|
DWORD dwVSBCaps;
|
|
DWORD dwVSBCKeyCaps;
|
|
DWORD dwVSBFXCaps;
|
|
DWORD dwVSBRops[DD_ROP_SPACE];
|
|
DWORD dwSSBCaps;
|
|
DWORD dwSSBCKeyCaps;
|
|
DWORD dwSSBFXCaps;
|
|
DWORD dwSSBRops[DD_ROP_SPACE];
|
|
DWORD dwMaxVideoPorts;
|
|
DWORD dwCurrVideoPorts;
|
|
DWORD dwSVBCaps2;
|
|
} DDNTCORECAPS;
|
|
typedef DDNTCORECAPS *PDDNTCORECAPS;
|
|
|
|
/* DirectDraw Direct3D buffer callbacks */
|
|
typedef struct _DD_D3DBUFCALLBACKS {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
PDD_CANCREATESURFACE CanCreateD3DBuffer;
|
|
PDD_CREATESURFACE CreateD3DBuffer;
|
|
PDD_SURFCB_DESTROYSURFACE DestroyD3DBuffer;
|
|
PDD_SURFCB_LOCK LockD3DBuffer;
|
|
PDD_SURFCB_UNLOCK UnlockD3DBuffer;
|
|
} DD_D3DBUFCALLBACKS;
|
|
typedef DD_D3DBUFCALLBACKS *PDD_D3DBUFCALLBACKS;
|
|
|
|
/* DirectDraw hardware abstraction layer information (version 4) */
|
|
typedef struct _DD_HALINFO_V4 {
|
|
DWORD dwSize;
|
|
VIDEOMEMORYINFO vmiData;
|
|
DDNTCORECAPS ddCaps;
|
|
PDD_GETDRIVERINFO GetDriverInfo;
|
|
DWORD dwFlags;
|
|
} DD_HALINFO_V4;
|
|
typedef DD_HALINFO_V4 *PDD_HALINFO_V4;
|
|
|
|
/* DirectDraw hardware abstraction layer information */
|
|
typedef struct _DD_HALINFO {
|
|
DWORD dwSize;
|
|
VIDEOMEMORYINFO vmiData;
|
|
DDNTCORECAPS ddCaps;
|
|
PDD_GETDRIVERINFO GetDriverInfo;
|
|
DWORD dwFlags;
|
|
LPVOID lpD3DGlobalDriverData;
|
|
LPVOID lpD3DHALCallbacks;
|
|
PDD_D3DBUFCALLBACKS lpD3DBufCallbacks;
|
|
} DD_HALINFO;
|
|
typedef DD_HALINFO *PDD_HALINFO;
|
|
|
|
/* DirectDraw global */
|
|
typedef struct _DD_DIRECTDRAW_GLOBAL {
|
|
VOID *dhpdev;
|
|
ULONG_PTR dwReserved1;
|
|
ULONG_PTR dwReserved2;
|
|
LPDDVIDEOPORTCAPS lpDDVideoPortCaps;
|
|
} DD_DIRECTDRAW_GLOBAL;
|
|
typedef DD_DIRECTDRAW_GLOBAL *PDD_DIRECTDRAW_GLOBAL;
|
|
|
|
/* DirectDraw local */
|
|
typedef struct _DD_DIRECTDRAW_LOCAL {
|
|
PDD_DIRECTDRAW_GLOBAL lpGbl;
|
|
} DD_DIRECTDRAW_LOCAL;
|
|
typedef DD_DIRECTDRAW_LOCAL *PDD_DIRECTDRAW_LOCAL;
|
|
|
|
/* DirectDraw local videoport */
|
|
typedef struct _DD_VIDEOPORT_LOCAL {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
DDVIDEOPORTDESC ddvpDesc;
|
|
DDVIDEOPORTINFO ddvpInfo;
|
|
PDD_SURFACE_INT lpSurface;
|
|
PDD_SURFACE_INT lpVBISurface;
|
|
DWORD dwNumAutoflip;
|
|
DWORD dwNumVBIAutoflip;
|
|
ULONG_PTR dwReserved1;
|
|
ULONG_PTR dwReserved2;
|
|
ULONG_PTR dwReserved3;
|
|
} DD_VIDEOPORT_LOCAL;
|
|
typedef DD_VIDEOPORT_LOCAL *PDD_VIDEOPORT_LOCAL;
|
|
|
|
/* DirectDraw local video */
|
|
typedef struct _DD_MOTIONCOMP_LOCAL {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
GUID guid;
|
|
DWORD dwUncompWidth;
|
|
DWORD dwUncompHeight;
|
|
DDPIXELFORMAT dwUncompPixelFormat;
|
|
DWORD dwDriverReserved1;
|
|
DWORD dwDriverReserved2;
|
|
DWORD dwDriverReserved3;
|
|
LPVOID lpDriverReserved1;
|
|
LPVOID lpDriverReserved2;
|
|
LPVOID lpDriverReserved3;
|
|
} DD_MOTIONCOMP_LOCAL;
|
|
typedef DD_MOTIONCOMP_LOCAL *PDD_MOTIONCOMP_LOCAL;
|
|
|
|
/* DirectDraw more surface capabilities */
|
|
typedef struct _DD_MORESURFACECAPS {
|
|
DWORD dwSize;
|
|
DDSCAPSEX ddsCapsMore;
|
|
struct tagNTExtendedHeapRestrictions {
|
|
DDSCAPSEX ddsCapsEx;
|
|
DDSCAPSEX ddsCapsExAlt;
|
|
} ddsExtendedHeapRestrictions[1];
|
|
} DD_MORESURFACECAPS;
|
|
typedef DD_MORESURFACECAPS *PDD_MORESURFACECAPS;
|
|
|
|
/* DirectDraw stereo mode */
|
|
typedef struct _DD_STEREOMODE {
|
|
DWORD dwSize;
|
|
DWORD dwHeight;
|
|
DWORD dwWidth;
|
|
DWORD dwBpp;
|
|
DWORD dwRefreshRate;
|
|
BOOL bSupported;
|
|
} DD_STEREOMODE;
|
|
typedef DD_STEREOMODE *PDD_STEREOMODE;
|
|
|
|
/* DirectDraw update nonlocal heap data */
|
|
typedef struct _DD_UPDATENONLOCALHEAPDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
DWORD dwHeap;
|
|
FLATPTR fpGARTLin;
|
|
FLATPTR fpGARTDev;
|
|
ULONG_PTR ulPolicyMaxBytes;
|
|
HRESULT ddRVal;
|
|
VOID *UpdateNonLocalHeap;
|
|
} DD_UPDATENONLOCALHEAPDATA;
|
|
typedef DD_UPDATENONLOCALHEAPDATA *PDD_UPDATENONLOCALHEAPDATA;
|
|
|
|
/* DirectDraw NT private driver capabilities */
|
|
typedef struct DD_NTPRIVATEDRIVERCAPS {
|
|
DWORD dwSize;
|
|
DWORD dwPrivateCaps;
|
|
} DD_NTPRIVATEDRIVERCAPS;
|
|
|
|
/* Blt parameters */
|
|
typedef struct _DD_BLTDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDDestSurface;
|
|
RECTL rDest;
|
|
PDD_SURFACE_LOCAL lpDDSrcSurface;
|
|
RECTL rSrc;
|
|
DWORD dwFlags;
|
|
DWORD dwROPFlags;
|
|
DDBLTFX bltFX;
|
|
HRESULT ddRVal;
|
|
VOID *Blt;
|
|
BOOL IsClipped;
|
|
RECTL rOrigDest;
|
|
RECTL rOrigSrc;
|
|
DWORD dwRectCnt;
|
|
LPRECT prDestRects;
|
|
DWORD dwAFlags;
|
|
DDARGB ddargbScaleFactors;
|
|
} DD_BLTDATA;
|
|
typedef DD_BLTDATA *PDD_BLTDATA;
|
|
|
|
/* Lock parameters */
|
|
typedef struct _DD_LOCKDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDSurface;
|
|
DWORD bHasRect;
|
|
RECTL rArea;
|
|
LPVOID lpSurfData;
|
|
HRESULT ddRVal;
|
|
VOID *Lock;
|
|
DWORD dwFlags;
|
|
FLATPTR fpProcess;
|
|
} DD_LOCKDATA;
|
|
typedef DD_LOCKDATA *PDD_LOCKDATA;
|
|
|
|
/* Unlock parameters */
|
|
typedef struct _DD_UNLOCKDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDSurface;
|
|
HRESULT ddRVal;
|
|
VOID *Unlock;
|
|
} DD_UNLOCKDATA;
|
|
typedef DD_UNLOCKDATA *PDD_UNLOCKDATA;
|
|
|
|
/* UpdateOverlay parameters */
|
|
typedef struct _DD_UPDATEOVERLAYDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDDestSurface;
|
|
RECTL rDest;
|
|
PDD_SURFACE_LOCAL lpDDSrcSurface;
|
|
RECTL rSrc;
|
|
DWORD dwFlags;
|
|
DDOVERLAYFX overlayFX;
|
|
HRESULT ddRVal;
|
|
VOID *UpdateOverlay;
|
|
} DD_UPDATEOVERLAYDATA;
|
|
typedef DD_UPDATEOVERLAYDATA *PDD_UPDATEOVERLAYDATA;
|
|
|
|
/* SetOverlayPosition parameters */
|
|
typedef struct _DD_SETOVERLAYPOSITIONDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDSrcSurface;
|
|
PDD_SURFACE_LOCAL lpDDDestSurface;
|
|
LONG lXPos;
|
|
LONG lYPos;
|
|
HRESULT ddRVal;
|
|
VOID *SetOverlayPosition;
|
|
} DD_SETOVERLAYPOSITIONDATA;
|
|
typedef DD_SETOVERLAYPOSITIONDATA *PDD_SETOVERLAYPOSITIONDATA;
|
|
|
|
/* SetPalette parameters */
|
|
typedef struct _DD_SETPALETTEDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDSurface;
|
|
PDD_PALETTE_GLOBAL lpDDPalette;
|
|
HRESULT ddRVal;
|
|
VOID *SetPalette;
|
|
BOOL Attach;
|
|
} DD_SETPALETTEDATA;
|
|
typedef DD_SETPALETTEDATA *PDD_SETPALETTEDATA;
|
|
|
|
/* Flip parameters */
|
|
typedef struct _DD_FLIPDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpSurfCurr;
|
|
PDD_SURFACE_LOCAL lpSurfTarg;
|
|
DWORD dwFlags;
|
|
HRESULT ddRVal;
|
|
VOID *Flip;
|
|
PDD_SURFACE_LOCAL lpSurfCurrLeft;
|
|
PDD_SURFACE_LOCAL lpSurfTargLeft;
|
|
} DD_FLIPDATA;
|
|
typedef DD_FLIPDATA *PDD_FLIPDATA;
|
|
|
|
/* DestroySurface parameters */
|
|
typedef struct _DD_DESTROYSURFACEDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDSurface;
|
|
HRESULT ddRVal;
|
|
VOID *DestroySurface;
|
|
} DD_DESTROYSURFACEDATA;
|
|
typedef DD_DESTROYSURFACEDATA *PDD_DESTROYSURFACEDATA;
|
|
|
|
/* SetClipList parameters */
|
|
typedef struct _DD_SETCLIPLISTDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDSurface;
|
|
HRESULT ddRVal;
|
|
VOID *SetClipList;
|
|
} DD_SETCLIPLISTDATA;
|
|
typedef DD_SETCLIPLISTDATA *PDD_SETCLIPLISTDATA;
|
|
|
|
/* AddAttachedSurface parameters */
|
|
typedef struct _DD_ADDATTACHEDSURFACEDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDSurface;
|
|
PDD_SURFACE_LOCAL lpSurfAttached;
|
|
HRESULT ddRVal;
|
|
VOID *AddAttachedSurface;
|
|
} DD_ADDATTACHEDSURFACEDATA;
|
|
typedef DD_ADDATTACHEDSURFACEDATA *PDD_ADDATTACHEDSURFACEDATA;
|
|
|
|
/* SetColorKey parameters */
|
|
typedef struct _DD_SETCOLORKEYDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDSurface;
|
|
DWORD dwFlags;
|
|
DDCOLORKEY ckNew;
|
|
HRESULT ddRVal;
|
|
VOID *SetColorKey;
|
|
} DD_SETCOLORKEYDATA;
|
|
typedef DD_SETCOLORKEYDATA *PDD_SETCOLORKEYDATA;
|
|
|
|
/* GetBltStatus parameters */
|
|
typedef struct _DD_GETBLTSTATUSDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDSurface;
|
|
DWORD dwFlags;
|
|
HRESULT ddRVal;
|
|
VOID *GetBltStatus;
|
|
} DD_GETBLTSTATUSDATA;
|
|
typedef DD_GETBLTSTATUSDATA *PDD_GETBLTSTATUSDATA;
|
|
|
|
/* GetFlipStatus parameters */
|
|
typedef struct _DD_GETFLIPSTATUSDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDSurface;
|
|
DWORD dwFlags;
|
|
HRESULT ddRVal;
|
|
VOID *GetFlipStatus;
|
|
} DD_GETFLIPSTATUSDATA;
|
|
typedef DD_GETFLIPSTATUSDATA *PDD_GETFLIPSTATUSDATA;
|
|
|
|
/* DestroyPalette parameters */
|
|
typedef struct _DD_DESTROYPALETTEDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_PALETTE_GLOBAL lpDDPalette;
|
|
HRESULT ddRVal;
|
|
VOID *DestroyPalette;
|
|
} DD_DESTROYPALETTEDATA;
|
|
typedef DD_DESTROYPALETTEDATA *PDD_DESTROYPALETTEDATA;
|
|
|
|
/* SetEntries parameters */
|
|
typedef struct _DD_SETENTRIESDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_PALETTE_GLOBAL lpDDPalette;
|
|
DWORD dwBase;
|
|
DWORD dwNumEntries;
|
|
LPPALETTEENTRY lpEntries;
|
|
HRESULT ddRVal;
|
|
VOID *SetEntries;
|
|
} DD_SETENTRIESDATA;
|
|
typedef DD_SETENTRIESDATA *PDD_SETENTRIESDATA;
|
|
|
|
/* CreateSurface parameters */
|
|
typedef struct _DD_CREATESURFACEDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACEDESC lpDDSurfaceDesc;
|
|
PDD_SURFACE_LOCAL *lplpSList;
|
|
DWORD dwSCnt;
|
|
HRESULT ddRVal;
|
|
VOID *CreateSurface;
|
|
} DD_CREATESURFACEDATA;
|
|
typedef DD_CREATESURFACEDATA *PDD_CREATESURFACEDATA;
|
|
|
|
/* CanCreateSurface parameters */
|
|
typedef struct _DD_CANCREATESURFACEDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACEDESC lpDDSurfaceDesc;
|
|
DWORD bIsDifferentPixelFormat;
|
|
HRESULT ddRVal;
|
|
VOID *CanCreateSurface;
|
|
} DD_CANCREATESURFACEDATA;
|
|
typedef DD_CANCREATESURFACEDATA *PDD_CANCREATESURFACEDATA;
|
|
|
|
/* CreatePalette parameters */
|
|
typedef struct _DD_CREATEPALETTEDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_PALETTE_GLOBAL lpDDPalette;
|
|
LPPALETTEENTRY lpColorTable;
|
|
HRESULT ddRVal;
|
|
VOID *CreatePalette;
|
|
BOOL is_excl;
|
|
} DD_CREATEPALETTEDATA;
|
|
typedef DD_CREATEPALETTEDATA *PDD_CREATEPALETTEDATA;
|
|
|
|
/* WaitForVerticalBlank parameters */
|
|
typedef struct _DD_WAITFORVERTICALBLANKDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
DWORD dwFlags;
|
|
DWORD bIsInVB;
|
|
ULONG_PTR hEvent;
|
|
HRESULT ddRVal;
|
|
VOID *WaitForVerticalBlank;
|
|
} DD_WAITFORVERTICALBLANKDATA;
|
|
typedef DD_WAITFORVERTICALBLANKDATA *PDD_WAITFORVERTICALBLANKDATA;
|
|
|
|
/* SetColorKey parameters */
|
|
typedef struct _DD_DRVSETCOLORKEYDATA {
|
|
PDD_SURFACE_LOCAL lpDDSurface;
|
|
DWORD dwFlags;
|
|
DDCOLORKEY ckNew;
|
|
HRESULT ddRVal;
|
|
VOID *SetColorKey;
|
|
} DD_DRVSETCOLORKEYDATA;
|
|
|
|
/* GetScanLine parameters */
|
|
typedef struct _DD_GETSCANLINEDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
DWORD dwScanLine;
|
|
HRESULT ddRVal;
|
|
VOID *GetScanLine;
|
|
} DD_GETSCANLINEDATA;
|
|
typedef DD_GETSCANLINEDATA *PDD_GETSCANLINEDATA;
|
|
|
|
/* MapMemory parameters */
|
|
typedef struct _DD_MAPMEMORYDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
BOOL bMap;
|
|
HANDLE hProcess;
|
|
FLATPTR fpProcess;
|
|
HRESULT ddRVal;
|
|
} DD_MAPMEMORYDATA;
|
|
typedef DD_MAPMEMORYDATA *PDD_MAPMEMORYDATA;
|
|
|
|
/* CanCreateVideoPort parameters */
|
|
typedef struct _DD_CANCREATEVPORTDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
LPDDVIDEOPORTDESC lpDDVideoPortDesc;
|
|
HRESULT ddRVal;
|
|
VOID *CanCreateVideoPort;
|
|
} DD_CANCREATEVPORTDATA;
|
|
typedef DD_CANCREATEVPORTDATA *PDD_CANCREATEVPORTDATA;
|
|
|
|
/* CreateVideoPort parameters */
|
|
typedef struct _DD_CREATEVPORTDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
LPDDVIDEOPORTDESC lpDDVideoPortDesc;
|
|
PDD_VIDEOPORT_LOCAL lpVideoPort;
|
|
HRESULT ddRVal;
|
|
VOID *CreateVideoPort;
|
|
} DD_CREATEVPORTDATA;
|
|
typedef DD_CREATEVPORTDATA *PDD_CREATEVPORTDATA;
|
|
|
|
/* FlipVideoPort parameters */
|
|
typedef struct _DD_FLIPVPORTDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_VIDEOPORT_LOCAL lpVideoPort;
|
|
PDD_SURFACE_LOCAL lpSurfCurr;
|
|
PDD_SURFACE_LOCAL lpSurfTarg;
|
|
HRESULT ddRVal;
|
|
VOID *FlipVideoPort;
|
|
} DD_FLIPVPORTDATA;
|
|
typedef DD_FLIPVPORTDATA *PDD_FLIPVPORTDATA;
|
|
|
|
/* GetVideoPortBandwidth parameters */
|
|
typedef struct _DD_GETVPORTBANDWIDTHDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_VIDEOPORT_LOCAL lpVideoPort;
|
|
LPDDPIXELFORMAT lpddpfFormat;
|
|
DWORD dwWidth;
|
|
DWORD dwHeight;
|
|
DWORD dwFlags;
|
|
LPDDVIDEOPORTBANDWIDTH lpBandwidth;
|
|
HRESULT ddRVal;
|
|
VOID *GetVideoPortBandwidth;
|
|
} DD_GETVPORTBANDWIDTHDATA;
|
|
typedef DD_GETVPORTBANDWIDTHDATA *PDD_GETVPORTBANDWIDTHDATA;
|
|
|
|
/* GetVideoPortInputFormats parameters */
|
|
typedef struct _DD_GETVPORTINPUTFORMATDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_VIDEOPORT_LOCAL lpVideoPort;
|
|
DWORD dwFlags;
|
|
LPDDPIXELFORMAT lpddpfFormat;
|
|
DWORD dwNumFormats;
|
|
HRESULT ddRVal;
|
|
VOID *GetVideoPortInputFormats;
|
|
} DD_GETVPORTINPUTFORMATDATA;
|
|
typedef DD_GETVPORTINPUTFORMATDATA *PDD_GETVPORTINPUTFORMATDATA;
|
|
|
|
/* GetVideoPortOutputFormats parameters */
|
|
typedef struct _DD_GETVPORTOUTPUTFORMATDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_VIDEOPORT_LOCAL lpVideoPort;
|
|
DWORD dwFlags;
|
|
LPDDPIXELFORMAT lpddpfInputFormat;
|
|
LPDDPIXELFORMAT lpddpfOutputFormats;
|
|
DWORD dwNumFormats;
|
|
HRESULT ddRVal;
|
|
VOID *GetVideoPortInputFormats;
|
|
} DD_GETVPORTOUTPUTFORMATDATA;
|
|
typedef DD_GETVPORTOUTPUTFORMATDATA *PDD_GETVPORTOUTPUTFORMATDATA;
|
|
|
|
/* GetVideoPortField parameters */
|
|
typedef struct _DD_GETVPORTFIELDDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_VIDEOPORT_LOCAL lpVideoPort;
|
|
BOOL bField;
|
|
HRESULT ddRVal;
|
|
VOID *GetVideoPortField;
|
|
} DD_GETVPORTFIELDDATA;
|
|
typedef DD_GETVPORTFIELDDATA *PDD_GETVPORTFIELDDATA;
|
|
|
|
/* GetVideoPortLine parameters */
|
|
typedef struct _DD_GETVPORTLINEDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_VIDEOPORT_LOCAL lpVideoPort;
|
|
DWORD dwLine;
|
|
HRESULT ddRVal;
|
|
VOID *GetVideoPortLine;
|
|
} DD_GETVPORTLINEDATA;
|
|
typedef DD_GETVPORTLINEDATA *PDD_GETVPORTLINEDATA;
|
|
|
|
/* GetVideoPortConnectInfo parameters */
|
|
typedef struct _DD_GETVPORTCONNECTDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
DWORD dwPortId;
|
|
LPDDVIDEOPORTCONNECT lpConnect;
|
|
DWORD dwNumEntries;
|
|
HRESULT ddRVal;
|
|
VOID *GetVideoPortConnectInfo;
|
|
} DD_GETVPORTCONNECTDATA;
|
|
typedef DD_GETVPORTCONNECTDATA *PDD_GETVPORTCONNECTDATA;
|
|
|
|
/* DestroyVideoPort parameters */
|
|
typedef struct _DD_DESTROYVPORTDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_VIDEOPORT_LOCAL lpVideoPort;
|
|
HRESULT ddRVal;
|
|
VOID *DestroyVideoPort;
|
|
} DD_DESTROYVPORTDATA;
|
|
typedef DD_DESTROYVPORTDATA *PDD_DESTROYVPORTDATA;
|
|
|
|
/* GetVideoPortFlipStatus parameters */
|
|
typedef struct _DD_GETVPORTFLIPSTATUSDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
FLATPTR fpSurface;
|
|
HRESULT ddRVal;
|
|
VOID *GetVideoPortFlipStatus;
|
|
} DD_GETVPORTFLIPSTATUSDATA;
|
|
|
|
/* UpdateVideoPort parameters */
|
|
typedef struct _DD_UPDATEVPORTDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_VIDEOPORT_LOCAL lpVideoPort;
|
|
PDD_SURFACE_INT *lplpDDSurface;
|
|
PDD_SURFACE_INT *lplpDDVBISurface;
|
|
PDD_VIDEOPORTINFO lpVideoInfo;
|
|
DWORD dwFlags;
|
|
DWORD dwNumAutoflip;
|
|
DWORD dwNumVBIAutoflip;
|
|
HRESULT ddRVal;
|
|
VOID *UpdateVideoPort;
|
|
} DD_UPDATEVPORTDATA;
|
|
typedef DD_UPDATEVPORTDATA *PDD_UPDATEVPORTDATA;
|
|
|
|
/* WaitForVideoPortSync parameters */
|
|
typedef struct _DD_WAITFORVPORTSYNCDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_VIDEOPORT_LOCAL lpVideoPort;
|
|
DWORD dwFlags;
|
|
DWORD dwLine;
|
|
DWORD dwTimeOut;
|
|
HRESULT ddRVal;
|
|
VOID *UpdateVideoPort;
|
|
} DD_WAITFORVPORTSYNCDATA;
|
|
typedef DD_WAITFORVPORTSYNCDATA *PDD_WAITFORVPORTSYNCDATA;
|
|
|
|
/* GetVideoSignalStatus parameters */
|
|
typedef struct _DD_GETVPORTSIGNALDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_VIDEOPORT_LOCAL lpVideoPort;
|
|
DWORD dwStatus;
|
|
HRESULT ddRVal;
|
|
VOID *GetVideoSignalStatus;
|
|
} DD_GETVPORTSIGNALDATA;
|
|
typedef DD_GETVPORTSIGNALDATA *PDD_GETVPORTSIGNALDATA;
|
|
|
|
/* ColorControl parameters */
|
|
typedef struct _DD_VPORTCOLORDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_VIDEOPORT_LOCAL lpVideoPort;
|
|
DWORD dwFlags;
|
|
LPDDCOLORCONTROL lpColorData;
|
|
HRESULT ddRVal;
|
|
VOID *ColorControl;
|
|
} DD_VPORTCOLORDATA;
|
|
typedef DD_VPORTCOLORDATA *PDD_VPORTCOLORDATA;
|
|
|
|
/* ColorControl parameters */
|
|
typedef struct _DD_COLORCONTROLDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDSurface;
|
|
LPDDCOLORCONTROL lpColorData;
|
|
DWORD dwFlags;
|
|
HRESULT ddRVal;
|
|
VOID *ColorControl;
|
|
} DD_COLORCONTROLDATA;
|
|
typedef DD_COLORCONTROLDATA *PDD_COLORCONTROLDATA;
|
|
|
|
/* GetDriverData parameters */
|
|
typedef struct _DD_GETDRIVERINFODATA {
|
|
VOID *dhpdev;
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
GUID guidInfo;
|
|
DWORD dwExpectedSize;
|
|
PVOID lpvData;
|
|
DWORD dwActualSize;
|
|
HRESULT ddRVal;
|
|
} DD_GETDRIVERINFODATA;
|
|
typedef DD_GETDRIVERINFODATA *PDD_GETDRIVERINFODATA;
|
|
|
|
/* GetAvailDriverMemory parameters */
|
|
typedef struct _DD_GETAVAILDRIVERMEMORYDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
DDSCAPS DDSCaps;
|
|
DWORD dwTotal;
|
|
DWORD dwFree;
|
|
HRESULT ddRVal;
|
|
VOID *GetAvailDriverMemory;
|
|
} DD_GETAVAILDRIVERMEMORYDATA;
|
|
typedef DD_GETAVAILDRIVERMEMORYDATA *PDD_GETAVAILDRIVERMEMORYDATA;
|
|
|
|
/* FreeDriverMemory parameters */
|
|
typedef struct _DD_FREEDRIVERMEMORYDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDSurface;
|
|
HRESULT ddRVal;
|
|
VOID *FreeDriverMemory;
|
|
} DD_FREEDRIVERMEMORYDATA;
|
|
typedef DD_FREEDRIVERMEMORYDATA *PDD_FREEDRIVERMEMORYDATA;
|
|
|
|
/* SetExclusiveMode parameters */
|
|
typedef struct _DD_SETEXCLUSIVEMODEDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
DWORD dwEnterExcl;
|
|
DWORD dwReserved;
|
|
HRESULT ddRVal;
|
|
VOID *SetExclusiveMode;
|
|
} DD_SETEXCLUSIVEMODEDATA;
|
|
typedef DD_SETEXCLUSIVEMODEDATA *PDD_SETEXCLUSIVEMODEDATA;
|
|
|
|
/* FlipToGDISurface parameters */
|
|
typedef struct _DD_FLIPTOGDISURFACEDATA {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
DWORD dwToGDI;
|
|
DWORD dwReserved;
|
|
HRESULT ddRVal;
|
|
VOID *FlipToGDISurface;
|
|
} DD_FLIPTOGDISURFACEDATA;
|
|
typedef DD_FLIPTOGDISURFACEDATA *PDD_FLIPTOGDISURFACEDATA;
|
|
|
|
/* SyncSurface parameters */
|
|
typedef struct _DD_SYNCSURFACEDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_SURFACE_LOCAL lpDDSurface;
|
|
DWORD dwSurfaceOffset;
|
|
ULONG_PTR fpLockPtr;
|
|
LONG lPitch;
|
|
DWORD dwOverlayOffset;
|
|
ULONG dwDriverReserved1;
|
|
ULONG dwDriverReserved2;
|
|
ULONG dwDriverReserved3;
|
|
ULONG dwDriverReserved4;
|
|
HRESULT ddRVal;
|
|
} DD_SYNCSURFACEDATA;
|
|
typedef DD_SYNCSURFACEDATA *PDD_SYNCSURFACEDATA;
|
|
|
|
/* SyncVideoPort parameters */
|
|
typedef struct _DD_SYNCVIDEOPORTDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_VIDEOPORT_LOCAL lpVideoPort;
|
|
DWORD dwOriginOffset;
|
|
DWORD dwHeight;
|
|
DWORD dwVBIHeight;
|
|
ULONG dwDriverReserved1;
|
|
ULONG dwDriverReserved2;
|
|
ULONG dwDriverReserved3;
|
|
HRESULT ddRVal;
|
|
} DD_SYNCVIDEOPORTDATA;
|
|
typedef DD_SYNCVIDEOPORTDATA *PDD_SYNCVIDEOPORTDATA;
|
|
|
|
/* GetMoCompGuids parameters */
|
|
typedef struct _DD_GETMOCOMPGUIDSDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
DWORD dwNumGuids;
|
|
GUID *lpGuids;
|
|
HRESULT ddRVal;
|
|
} DD_GETMOCOMPGUIDSDATA;
|
|
typedef DD_GETMOCOMPGUIDSDATA *PDD_GETMOCOMPGUIDSDATA;
|
|
|
|
/* GetMoCompFormats parameters */
|
|
typedef struct _DD_GETMOCOMPFORMATSDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
GUID *lpGuid;
|
|
DWORD dwNumFormats;
|
|
LPDDPIXELFORMAT lpFormats;
|
|
HRESULT ddRVal;
|
|
} DD_GETMOCOMPFORMATSDATA;
|
|
typedef DD_GETMOCOMPFORMATSDATA *PDD_GETMOCOMPFORMATSDATA;
|
|
|
|
/* CreateMoComp parameters */
|
|
typedef struct _DD_CREATEMOCOMPDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_MOTIONCOMP_LOCAL lpMoComp;
|
|
GUID *lpGuid;
|
|
DWORD dwUncompWidth;
|
|
DWORD dwUncompHeight;
|
|
DDPIXELFORMAT ddUncompPixelFormat;
|
|
LPVOID lpData;
|
|
DWORD dwDataSize;
|
|
HRESULT ddRVal;
|
|
} DD_CREATEMOCOMPDATA;
|
|
typedef DD_CREATEMOCOMPDATA *PDD_CREATEMOCOMPDATA;
|
|
|
|
/* DirectDraw compressed buffer information */
|
|
typedef struct _DDCOMPBUFFERINFO {
|
|
DWORD dwSize;
|
|
DWORD dwNumCompBuffers;
|
|
DWORD dwWidthToCreate;
|
|
DWORD dwHeightToCreate;
|
|
DWORD dwBytesToAllocate;
|
|
DDSCAPS2 ddCompCaps;
|
|
DDPIXELFORMAT ddPixelFormat;
|
|
} DDCOMPBUFFERINFO;
|
|
typedef DDCOMPBUFFERINFO *LPDDCOMPBUFFERINFO;
|
|
|
|
/* GetMoCompBuffInfo parameters */
|
|
typedef struct _DD_GETMOCOMPCOMPBUFFDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
GUID *lpGuid;
|
|
DWORD dwWidth;
|
|
DWORD dwHeight;
|
|
DDPIXELFORMAT ddPixelFormat;
|
|
DWORD dwNumTypesCompBuffs;
|
|
LPDDCOMPBUFFERINFO lpCompBuffInfo;
|
|
HRESULT ddRVal;
|
|
} DD_GETMOCOMPCOMPBUFFDATA;
|
|
typedef DD_GETMOCOMPCOMPBUFFDATA *PDD_GETMOCOMPCOMPBUFFDATA;
|
|
|
|
/* GetInternalMoCompBuffInfo parameters */
|
|
typedef struct _DD_GETINTERNALMOCOMPDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
GUID *lpGuid;
|
|
DWORD dwWidth;
|
|
DWORD dwHeight;
|
|
DDPIXELFORMAT ddPixelFormat;
|
|
DWORD dwScratchMemAlloc;
|
|
HRESULT ddRVal;
|
|
} DD_GETINTERNALMOCOMPDATA;
|
|
typedef DD_GETINTERNALMOCOMPDATA *PDD_GETINTERNALMOCOMPDATA;
|
|
|
|
/* BeginMoCompFrame parameters */
|
|
typedef struct _DD_BEGINMOCOMPFRAMEDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_MOTIONCOMP_LOCAL lpMoComp;
|
|
PDD_SURFACE_LOCAL lpDestSurface;
|
|
DWORD dwInputDataSize;
|
|
LPVOID lpInputData;
|
|
DWORD dwOutputDataSize;
|
|
LPVOID lpOutputData;
|
|
HRESULT ddRVal;
|
|
} DD_BEGINMOCOMPFRAMEDATA;
|
|
typedef DD_BEGINMOCOMPFRAMEDATA *PDD_BEGINMOCOMPFRAMEDATA;
|
|
|
|
/* EndMoCompFrame parameters */
|
|
typedef struct _DD_ENDMOCOMPFRAMEDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_MOTIONCOMP_LOCAL lpMoComp;
|
|
LPVOID lpInputData;
|
|
DWORD dwInputDataSize;
|
|
HRESULT ddRVal;
|
|
} DD_ENDMOCOMPFRAMEDATA;
|
|
typedef DD_ENDMOCOMPFRAMEDATA *PDD_ENDMOCOMPFRAMEDATA;
|
|
|
|
/* DirectDraw video buffer information */
|
|
typedef struct _DDMOCOMPBUFFERINFO {
|
|
DWORD dwSize;
|
|
PDD_SURFACE_LOCAL lpCompSurface;
|
|
DWORD dwDataOffset;
|
|
DWORD dwDataSize;
|
|
LPVOID lpPrivate;
|
|
} DDMOCOMPBUFFERINFO;
|
|
typedef DDMOCOMPBUFFERINFO *LPDDMOCOMPBUFFERINFO;
|
|
|
|
/* RenderMoComp parameters */
|
|
typedef struct _DD_RENDERMOCOMPDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_MOTIONCOMP_LOCAL lpMoComp;
|
|
DWORD dwNumBuffers;
|
|
LPDDMOCOMPBUFFERINFO lpBufferInfo;
|
|
DWORD dwFunction;
|
|
LPVOID lpInputData;
|
|
DWORD dwInputDataSize;
|
|
LPVOID lpOutputData;
|
|
DWORD dwOutputDataSize;
|
|
HRESULT ddRVal;
|
|
} DD_RENDERMOCOMPDATA;
|
|
typedef DD_RENDERMOCOMPDATA *PDD_RENDERMOCOMPDATA;
|
|
|
|
/* QueryMoCompStatus parameters */
|
|
typedef struct _DD_QUERYMOCOMPSTATUSDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_MOTIONCOMP_LOCAL lpMoComp;
|
|
PDD_SURFACE_LOCAL lpSurface;
|
|
DWORD dwFlags;
|
|
HRESULT ddRVal;
|
|
} DD_QUERYMOCOMPSTATUSDATA;
|
|
typedef DD_QUERYMOCOMPSTATUSDATA *PDD_QUERYMOCOMPSTATUSDATA;
|
|
|
|
/* DestroyMoComp parameters */
|
|
typedef struct _DD_DESTROYMOCOMPDATA {
|
|
PDD_DIRECTDRAW_LOCAL lpDD;
|
|
PDD_MOTIONCOMP_LOCAL lpMoComp;
|
|
HRESULT ddRVal;
|
|
} DD_DESTROYMOCOMPDATA;
|
|
typedef DD_DESTROYMOCOMPDATA *PDD_DESTROYMOCOMPDATA;
|
|
|
|
/* CreateSurfaceEx parameters */
|
|
typedef struct _DD_CREATESURFACEEXDATA {
|
|
DWORD dwFlags;
|
|
PDD_DIRECTDRAW_LOCAL lpDDLcl;
|
|
PDD_SURFACE_LOCAL lpDDSLcl;
|
|
HRESULT ddRVal;
|
|
} DD_CREATESURFACEEXDATA;
|
|
typedef DD_CREATESURFACEEXDATA *PDD_CREATESURFACEEXDATA;
|
|
|
|
/* GetDriverState parameters */
|
|
typedef struct _DD_GETDRIVERSTATEDATA {
|
|
DWORD dwFlags;
|
|
union {
|
|
PDD_DIRECTDRAW_GLOBAL lpDD;
|
|
DWORD_PTR dwhContext;
|
|
};
|
|
LPDWORD lpdwStates;
|
|
DWORD dwLength;
|
|
HRESULT ddRVal;
|
|
} DD_GETDRIVERSTATEDATA;
|
|
typedef DD_GETDRIVERSTATEDATA *PDD_GETDRIVERSTATEDATA;
|
|
|
|
/* DestroyDDLocal parameters */
|
|
typedef struct _DD_DESTROYDDLOCALDATA {
|
|
DWORD dwFlags;
|
|
PDD_DIRECTDRAW_LOCAL pDDLcl;
|
|
HRESULT ddRVal;
|
|
} DD_DESTROYDDLOCALDATA;
|
|
typedef DD_DESTROYDDLOCALDATA *PDD_DESTROYDDLOCALDATA;
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* __DD_INCLUDED__ */
|