📄 ddrawint.h
字号:
PDD_GETSCANLINE GetScanLine;
PDD_MAPMEMORY MapMemory;
} DD_CALLBACKS;
typedef DD_CALLBACKS *PDD_CALLBACKS;
#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
// This structure can be queried from the driver from NT5 onward
// using GetDriverInfo with GUID_MiscellaneousCallbacks
typedef DWORD (APIENTRY *PDD_GETAVAILDRIVERMEMORY)(PDD_GETAVAILDRIVERMEMORYDATA);
typedef struct _DD_MISCELLANEOUSCALLBACKS {
DWORD dwSize;
DWORD dwFlags;
PDD_GETAVAILDRIVERMEMORY GetAvailDriverMemory;
} DD_MISCELLANEOUSCALLBACKS, *PDD_MISCELLANEOUSCALLBACKS;
#define DDHAL_MISCCB32_GETAVAILDRIVERMEMORY 0x00000001l
// DDHAL_DDMISCELLANEOUS2CALLBACKS:
// This structure can be queried from the driver from DX7 onward
// using GetDriverInfo with GUID_Miscellaneous2Callbacks
typedef DWORD (APIENTRY *PDD_ALPHABLT)(PDD_BLTDATA);
typedef DWORD (APIENTRY *PDD_CREATESURFACEEX)(PDD_CREATESURFACEEXDATA);
typedef DWORD (APIENTRY *PDD_GETDRIVERSTATE)(PDD_GETDRIVERSTATEDATA);
typedef DWORD (APIENTRY *PDD_DESTROYDDLOCAL)(PDD_DESTROYDDLOCALDATA);
typedef struct _DD_MISCELLANEOUS2CALLBACKS {
DWORD dwSize;
DWORD dwFlags;
PDD_ALPHABLT AlphaBlt;
PDD_CREATESURFACEEX CreateSurfaceEx;
PDD_GETDRIVERSTATE GetDriverState;
PDD_DESTROYDDLOCAL DestroyDDLocal;
} DD_MISCELLANEOUS2CALLBACKS, *PDD_MISCELLANEOUS2CALLBACKS;
#define DDHAL_MISC2CB32_ALPHABLT 0x00000001l
#define DDHAL_MISC2CB32_CREATESURFACEEX 0x00000002l
#define DDHAL_MISC2CB32_GETDRIVERSTATE 0x00000004l
#define DDHAL_MISC2CB32_DESTROYDDLOCAL 0x00000008l
// This is used in the CreateSurfaceEx callback to indicate that the
// SwapHandle emulation is being done
#define DDHAL_CREATESURFACEEX_SWAPHANDLES 0x00000001l
// This structure can be queried from the driver from NT5 onward
// using GetDriverInfo with GUID_NTCallbacks
typedef DWORD (APIENTRY *PDD_FREEDRIVERMEMORY)(PDD_FREEDRIVERMEMORYDATA);
typedef DWORD (APIENTRY *PDD_SETEXCLUSIVEMODE)(PDD_SETEXCLUSIVEMODEDATA);
typedef DWORD (APIENTRY *PDD_FLIPTOGDISURFACE)(PDD_FLIPTOGDISURFACEDATA);
typedef struct _DD_NTCALLBACKS {
DWORD dwSize;
DWORD dwFlags;
PDD_FREEDRIVERMEMORY FreeDriverMemory;
PDD_SETEXCLUSIVEMODE SetExclusiveMode;
PDD_FLIPTOGDISURFACE FlipToGDISurface;
} DD_NTCALLBACKS, *PDD_NTCALLBACKS;
#define DDHAL_NTCB32_FREEDRIVERMEMORY 0x00000001l
#define DDHAL_NTCB32_SETEXCLUSIVEMODE 0x00000002l
#define DDHAL_NTCB32_FLIPTOGDISURFACE 0x00000004l
/*
* DIRECTDRAWPALETTE object callbacks
*/
typedef DWORD (APIENTRY *PDD_PALCB_DESTROYPALETTE)(PDD_DESTROYPALETTEDATA );
typedef DWORD (APIENTRY *PDD_PALCB_SETENTRIES)(PDD_SETENTRIESDATA );
typedef struct DD_PALETTECALLBACKS
{
DWORD dwSize;
DWORD dwFlags;
PDD_PALCB_DESTROYPALETTE DestroyPalette;
PDD_PALCB_SETENTRIES SetEntries;
} DD_PALETTECALLBACKS;
typedef DD_PALETTECALLBACKS *PDD_PALETTECALLBACKS;
#define DDHAL_PALCB32_DESTROYPALETTE 0x00000001l
#define DDHAL_PALCB32_SETENTRIES 0x00000002l
/*
* DIRECTDRAWSURFACE object callbacks
*/
typedef DWORD (APIENTRY *PDD_SURFCB_LOCK)(PDD_LOCKDATA);
typedef DWORD (APIENTRY *PDD_SURFCB_UNLOCK)(PDD_UNLOCKDATA);
typedef DWORD (APIENTRY *PDD_SURFCB_BLT)(PDD_BLTDATA);
typedef DWORD (APIENTRY *PDD_SURFCB_UPDATEOVERLAY)(PDD_UPDATEOVERLAYDATA);
typedef DWORD (APIENTRY *PDD_SURFCB_SETOVERLAYPOSITION)(PDD_SETOVERLAYPOSITIONDATA);
typedef DWORD (APIENTRY *PDD_SURFCB_SETPALETTE)(PDD_SETPALETTEDATA);
typedef DWORD (APIENTRY *PDD_SURFCB_FLIP)(PDD_FLIPDATA);
typedef DWORD (APIENTRY *PDD_SURFCB_DESTROYSURFACE)(PDD_DESTROYSURFACEDATA);
typedef DWORD (APIENTRY *PDD_SURFCB_SETCLIPLIST)(PDD_SETCLIPLISTDATA);
typedef DWORD (APIENTRY *PDD_SURFCB_ADDATTACHEDSURFACE)(PDD_ADDATTACHEDSURFACEDATA);
typedef DWORD (APIENTRY *PDD_SURFCB_SETCOLORKEY)(PDD_SETCOLORKEYDATA);
typedef DWORD (APIENTRY *PDD_SURFCB_GETBLTSTATUS)(PDD_GETBLTSTATUSDATA);
typedef DWORD (APIENTRY *PDD_SURFCB_GETFLIPSTATUS)(PDD_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;
#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_RESERVED4 0x00001000l
#define DDHAL_SURFCB32_SETPALETTE 0x00002000l
/*
* DIRECTVIDEOPORT object callbacks
*/
typedef DWORD (APIENTRY *PDD_VPORTCB_CANCREATEVIDEOPORT)(PDD_CANCREATEVPORTDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_CREATEVIDEOPORT)(PDD_CREATEVPORTDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_FLIP)(PDD_FLIPVPORTDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_GETBANDWIDTH)(PDD_GETVPORTBANDWIDTHDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_GETINPUTFORMATS)(PDD_GETVPORTINPUTFORMATDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_GETOUTPUTFORMATS)(PDD_GETVPORTOUTPUTFORMATDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_GETAUTOFLIPSURF)(PDD_GETVPORTAUTOFLIPSURFACEDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_GETFIELD)(PDD_GETVPORTFIELDDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_GETLINE)(PDD_GETVPORTLINEDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_GETVPORTCONNECT)(PDD_GETVPORTCONNECTDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_DESTROYVPORT)(PDD_DESTROYVPORTDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_GETFLIPSTATUS)(PDD_GETVPORTFLIPSTATUSDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_UPDATE)(PDD_UPDATEVPORTDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_WAITFORSYNC)(PDD_WAITFORVPORTSYNCDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_GETSIGNALSTATUS)(PDD_GETVPORTSIGNALDATA);
typedef DWORD (APIENTRY *PDD_VPORTCB_COLORCONTROL)(PDD_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;
#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
/*
* DIRECTDRAWCOLORCONTROL object callbacks
*/
typedef DWORD (APIENTRY *PDD_COLORCB_COLORCONTROL)(PDD_COLORCONTROLDATA);
typedef struct _DD_COLORCONTROLCALLBACKS
{
DWORD dwSize;
DWORD dwFlags;
PDD_COLORCB_COLORCONTROL ColorControl;
} DD_COLORCONTROLCALLBACKS;
typedef DD_COLORCONTROLCALLBACKS *PDD_COLORCONTROLCALLBACKS;
#define DDHAL_COLOR_COLORCONTROL 0x00000001l
/*
* DIRECTDRAWSURFACEKERNEL object callbacks
* This structure can be queried from the driver from DX5 onward
* using GetDriverInfo with GUID_KernelCallbacks
*/
typedef DWORD (APIENTRY *PDD_KERNELCB_SYNCSURFACE)(PDD_SYNCSURFACEDATA);
typedef DWORD (APIENTRY *PDD_KERNELCB_SYNCVIDEOPORT)(PDD_SYNCVIDEOPORTDATA);
typedef struct DD_KERNELCALLBACKS
{
DWORD dwSize;
DWORD dwFlags;
PDD_KERNELCB_SYNCSURFACE SyncSurfaceData;
PDD_KERNELCB_SYNCVIDEOPORT SyncVideoPortData;
} DD_KERNELCALLBACKS, *PDD_KERNELCALLBACKS;
#define DDHAL_KERNEL_SYNCSURFACEDATA 0x00000001l
#define DDHAL_KERNEL_SYNCVIDEOPORTDATA 0x00000002l
/*
* DIRECTDRAWVIDEO object callbacks
*/
typedef DWORD (APIENTRY *PDD_MOCOMPCB_GETGUIDS)( PDD_GETMOCOMPGUIDSDATA);
typedef DWORD (APIENTRY *PDD_MOCOMPCB_GETFORMATS)( PDD_GETMOCOMPFORMATSDATA);
typedef DWORD (APIENTRY *PDD_MOCOMPCB_CREATE)( PDD_CREATEMOCOMPDATA);
typedef DWORD (APIENTRY *PDD_MOCOMPCB_GETCOMPBUFFINFO)( PDD_GETMOCOMPCOMPBUFFDATA);
typedef DWORD (APIENTRY *PDD_MOCOMPCB_GETINTERNALINFO)( PDD_GETINTERNALMOCOMPDATA);
typedef DWORD (APIENTRY *PDD_MOCOMPCB_BEGINFRAME)( PDD_BEGINMOCOMPFRAMEDATA);
typedef DWORD (APIENTRY *PDD_MOCOMPCB_ENDFRAME)( PDD_ENDMOCOMPFRAMEDATA);
typedef DWORD (APIENTRY *PDD_MOCOMPCB_RENDER)( PDD_RENDERMOCOMPDATA);
typedef DWORD (APIENTRY *PDD_MOCOMPCB_QUERYSTATUS)( PDD_QUERYMOCOMPSTATUSDATA);
typedef DWORD (APIENTRY *PDD_MOCOMPCB_DESTROY)( PDD_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 GetInternalMoCompInfo;
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;
#define DDHAL_MOCOMP32_GETGUIDS 0x00000001
#define DDHAL_MOCOMP32_GETFORMATS 0x00000002
#define DDHAL_MOCOMP32_CREATE 0x00000004
#define DDHAL_MOCOMP32_GETCOMPBUFFINFO 0x00000008
#define DDHAL_MOCOMP32_GETINTERNALINFO 0x00000010
#define DDHAL_MOCOMP32_BEGINFRAME 0x00000020
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -