📄 ddrawint.h
字号:
/*
* structure for passing information to DDHAL Blt fn
*/
typedef struct _DD_BLTDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACE_LOCAL lpDDDestSurface;// dest surface
RECTL rDest; // dest rect
PDD_SURFACE_LOCAL lpDDSrcSurface; // src surface
RECTL rSrc; // src rect
DWORD dwFlags; // blt flags
DWORD dwROPFlags; // ROP flags (valid for ROPS only)
DDBLTFX bltFX; // blt FX
HRESULT ddRVal; // return value
VOID* Blt; // Unused: Win95 compatibility
BOOL IsClipped; // clipped blt?
RECTL rOrigDest; // unclipped dest rect
// (only valid if IsClipped)
RECTL rOrigSrc; // unclipped src rect
// (only valid if IsClipped)
DWORD dwRectCnt; // count of dest rects
// (only valid if IsClipped)
LPRECT prDestRects; // array of dest rects
// (only valid if IsClipped)
DWORD dwAFlags; // DDABLT_ flags (for AlphaBlt DDI)
DDARGB ddargbScaleFactors; // ARGB scaling factors (AlphaBlt)
} DD_BLTDATA;
/*
* structure for passing information to DDHAL Lock fn
*/
typedef struct _DD_LOCKDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACE_LOCAL lpDDSurface; // surface struct
DWORD bHasRect; // rArea is valid
RECTL rArea; // area being locked
LPVOID lpSurfData; // pointer to screen memory (return value)
HRESULT ddRVal; // return value
VOID* Lock; // Unused: Win95 compatibility
DWORD dwFlags; // DDLOCK flags
FLATPTR fpProcess; // process start address
} DD_LOCKDATA;
/*
* structure for passing information to DDHAL Unlock fn
*/
typedef struct _DD_UNLOCKDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACE_LOCAL lpDDSurface; // surface struct
HRESULT ddRVal; // return value
VOID* Unlock; // Unused: Win95 compatibility
} DD_UNLOCKDATA;
/*
* structure for passing information to DDHAL UpdateOverlay fn
*/
typedef struct _DD_UPDATEOVERLAYDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACE_LOCAL lpDDDestSurface;// dest surface
RECTL rDest; // dest rect
PDD_SURFACE_LOCAL lpDDSrcSurface; // src surface
RECTL rSrc; // src rect
DWORD dwFlags; // flags
DDOVERLAYFX overlayFX; // overlay FX
HRESULT ddRVal; // return value
VOID* UpdateOverlay; // Unused: Win95 compatibility
} DD_UPDATEOVERLAYDATA;
/*
* structure for passing information to DDHAL UpdateOverlay fn
*/
typedef struct _DD_SETOVERLAYPOSITIONDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACE_LOCAL lpDDSrcSurface; // src surface
PDD_SURFACE_LOCAL lpDDDestSurface;// dest surface
LONG lXPos; // x position
LONG lYPos; // y position
HRESULT ddRVal; // return value
VOID* SetOverlayPosition; // Unused: Win95 compatibility
} DD_SETOVERLAYPOSITIONDATA;
/*
* structure for passing information to DDHAL SetPalette fn
*/
typedef struct _DD_SETPALETTEDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACE_LOCAL lpDDSurface; // surface struct
PDD_PALETTE_GLOBAL lpDDPalette; // palette to set to surface
HRESULT ddRVal; // return value
VOID* SetPalette; // Unused: Win95 compatibility
BOOL Attach; // attach this palette?
} DD_SETPALETTEDATA;
/*
* structure for passing information to DDHAL Flip fn
*/
typedef struct _DD_FLIPDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACE_LOCAL lpSurfCurr; // current surface
PDD_SURFACE_LOCAL lpSurfTarg; // target surface (to flip to)
DWORD dwFlags; // flags
HRESULT ddRVal; // return value
VOID* Flip; // Unused: Win95 compatibility
PDD_SURFACE_LOCAL lpSurfCurrLeft; // left target surface (to flip to)
PDD_SURFACE_LOCAL lpSurfTargLeft; // left target surface (to flip to)
} DD_FLIPDATA;
/*
* structure for passing information to DDHAL DestroySurface fn
*/
typedef struct _DD_DESTROYSURFACEDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACE_LOCAL lpDDSurface; // surface struct
HRESULT ddRVal; // return value
VOID* DestroySurface;// Unused: Win95 compatibility
} DD_DESTROYSURFACEDATA;
/*
* structure for passing information to DDHAL SetClipList fn
*/
typedef struct _DD_SETCLIPLISTDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACE_LOCAL lpDDSurface; // surface struct
HRESULT ddRVal; // return value
VOID* SetClipList; // Unused: Win95 compatibility
} DD_SETCLIPLISTDATA;
/*
* structure for passing information to DDHAL AddAttachedSurface fn
*/
typedef struct _DD_ADDATTACHEDSURFACEDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACE_LOCAL lpDDSurface; // surface struct
PDD_SURFACE_LOCAL lpSurfAttached; // surface to attach
HRESULT ddRVal; // return value
VOID* AddAttachedSurface; // Unused: Win95 compatibility
} DD_ADDATTACHEDSURFACEDATA;
/*
* structure for passing information to DDHAL SetColorKey fn
*/
typedef struct _DD_SETCOLORKEYDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACE_LOCAL lpDDSurface; // surface struct
DWORD dwFlags; // flags
DDCOLORKEY ckNew; // new color key
HRESULT ddRVal; // return value
VOID* SetColorKey; // Unused: Win95 compatibility
} DD_SETCOLORKEYDATA;
/*
* structure for passing information to DDHAL GetBltStatus fn
*/
typedef struct _DD_GETBLTSTATUSDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACE_LOCAL lpDDSurface; // surface struct
DWORD dwFlags; // flags
HRESULT ddRVal; // return value
VOID* GetBltStatus; // Unused: Win95 compatibility
} DD_GETBLTSTATUSDATA;
/*
* structure for passing information to DDHAL GetFlipStatus fn
*/
typedef struct _DD_GETFLIPSTATUSDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACE_LOCAL lpDDSurface; // surface struct
DWORD dwFlags; // flags
HRESULT ddRVal; // return value
VOID* GetFlipStatus; // Unused: Win95 compatibility
} DD_GETFLIPSTATUSDATA;
/****************************************************************************
*
* DDHAL structures for Palette Object callbacks
*
***************************************************************************/
/*
* structure for passing information to DDHAL DestroyPalette fn
*/
typedef struct _DD_DESTROYPALETTEDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_PALETTE_GLOBAL lpDDPalette; // palette struct
HRESULT ddRVal; // return value
VOID* DestroyPalette; // Unused: Win95 compatibility
} DD_DESTROYPALETTEDATA;
/*
* structure for passing information to DDHAL SetEntries fn
*/
typedef struct _DD_SETENTRIESDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_PALETTE_GLOBAL lpDDPalette; // palette struct
DWORD dwBase; // base palette index
DWORD dwNumEntries; // number of palette entries
LPPALETTEENTRY lpEntries; // color table
HRESULT ddRVal; // return value
VOID* SetEntries; // Unused: Win95 compatibility
} DD_SETENTRIESDATA;
/****************************************************************************
*
* DDHAL structures for Driver Object callbacks
*
***************************************************************************/
typedef DDSURFACEDESC* PDD_SURFACEDESC;
/*
* structure for passing information to DDHAL CreateSurface fn
*/
typedef struct _DD_CREATESURFACEDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACEDESC lpDDSurfaceDesc;// description of surface being created
PDD_SURFACE_LOCAL *lplpSList; // list of created surface objects
DWORD dwSCnt; // number of surfaces in SList
HRESULT ddRVal; // return value
VOID* CreateSurface; // Unused: Win95 compatibility
} DD_CREATESURFACEDATA;
/*
* structure for passing information to DDHAL CanCreateSurface fn
*/
typedef struct _DD_CANCREATESURFACEDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_SURFACEDESC lpDDSurfaceDesc; // description of surface being created
DWORD bIsDifferentPixelFormat;// pixel format differs from primary surface
HRESULT ddRVal; // return value
VOID* CanCreateSurface; // Unused: Win95 compatibility
} DD_CANCREATESURFACEDATA;
/*
* structure for passing information to DDHAL CreatePalette fn
*/
typedef struct _DD_CREATEPALETTEDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
PDD_PALETTE_GLOBAL lpDDPalette; // ddraw palette struct
LPPALETTEENTRY lpColorTable; // colors to go in palette
HRESULT ddRVal; // return value
VOID* CreatePalette; // Unused: Win95 compatibility
BOOL is_excl; // process has exclusive mode
} DD_CREATEPALETTEDATA;
/*
* Return if the vertical blank is in progress
*/
#define DDWAITVB_I_TESTVB 0x80000006l
/*
* structure for passing information to DDHAL WaitForVerticalBlank fn
*/
typedef struct _DD_WAITFORVERTICALBLANKDATA
{
PDD_DIRECTDRAW_GLOBAL lpDD; // driver struct
DWORD dwFlags; // flags
DWORD bIsInVB; // is in vertical blank
ULONG_PTR hEvent; // event
HRESULT ddRVal; // return value
VOID* WaitForVerticalBl
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -