mirror of
https://github.com/reactos/reactos.git
synced 2025-04-26 16:40:27 +00:00
splitted rosdraw.h; outsourced big comment into text file.
svn path=/trunk/; revision=26729
This commit is contained in:
parent
216cb06c21
commit
4a65ec1dcc
3 changed files with 414 additions and 511 deletions
73
reactos/dll/directx/ddraw/Surface/surface.h
Normal file
73
reactos/dll/directx/ddraw/Surface/surface.h
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
// public interfaces
|
||||||
|
ULONG WINAPI Main_DDrawSurface_AddRef(LPDIRECTDRAWSURFACE7);
|
||||||
|
ULONG WINAPI Main_DDrawSurface_Release(LPDIRECTDRAWSURFACE7);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_QueryInterface(LPDIRECTDRAWSURFACE7, REFIID, LPVOID*);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_ReleaseDC(LPDIRECTDRAWSURFACE7, HDC);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7, LPRECT, LPDIRECTDRAWSURFACE7, LPRECT, DWORD, LPDDBLTFX);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_BltBatch(LPDIRECTDRAWSURFACE7, LPDDBLTBATCH, DWORD, DWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_BltFast(LPDIRECTDRAWSURFACE7, DWORD, DWORD, LPDIRECTDRAWSURFACE7, LPRECT, DWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_DeleteAttachedSurface(LPDIRECTDRAWSURFACE7, DWORD, LPDIRECTDRAWSURFACE7);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_EnumAttachedSurfaces(LPDIRECTDRAWSURFACE7, LPVOID, LPDDENUMSURFACESCALLBACK7);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_EnumOverlayZOrders(LPDIRECTDRAWSURFACE7, DWORD, LPVOID,LPDDENUMSURFACESCALLBACK7);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_Flip(LPDIRECTDRAWSURFACE7 , LPDIRECTDRAWSURFACE7, DWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_FreePrivateData(LPDIRECTDRAWSURFACE7, REFGUID);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetAttachedSurface(LPDIRECTDRAWSURFACE7, LPDDSCAPS2, LPDIRECTDRAWSURFACE7*);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetBltStatus(LPDIRECTDRAWSURFACE7, DWORD dwFlags);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetCaps(LPDIRECTDRAWSURFACE7, LPDDSCAPS2 pCaps);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetClipper(LPDIRECTDRAWSURFACE7, LPDIRECTDRAWCLIPPER*);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetColorKey(LPDIRECTDRAWSURFACE7, DWORD, LPDDCOLORKEY);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetDC(LPDIRECTDRAWSURFACE7, HDC *);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetDDInterface(LPDIRECTDRAWSURFACE7, LPVOID*);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetFlipStatus(LPDIRECTDRAWSURFACE7, DWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetLOD(LPDIRECTDRAWSURFACE7, LPDWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetOverlayPosition(LPDIRECTDRAWSURFACE7, LPLONG, LPLONG);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetPalette(LPDIRECTDRAWSURFACE7, LPDIRECTDRAWPALETTE*);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetPixelFormat(LPDIRECTDRAWSURFACE7, LPDDPIXELFORMAT);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetPriority(LPDIRECTDRAWSURFACE7, LPDWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetPrivateData(LPDIRECTDRAWSURFACE7, REFGUID, LPVOID, LPDWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetSurfaceDesc(LPDIRECTDRAWSURFACE7, LPDDSURFACEDESC2);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetUniquenessValue(LPDIRECTDRAWSURFACE7, LPDWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_IsLost(LPDIRECTDRAWSURFACE7);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_PageLock(LPDIRECTDRAWSURFACE7, DWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_PageUnlock(LPDIRECTDRAWSURFACE7, DWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_ReleaseDC(LPDIRECTDRAWSURFACE7, HDC);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_SetClipper (LPDIRECTDRAWSURFACE7, LPDIRECTDRAWCLIPPER);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_SetColorKey (LPDIRECTDRAWSURFACE7, DWORD, LPDDCOLORKEY);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_SetOverlayPosition (LPDIRECTDRAWSURFACE7, LONG, LONG);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_SetPalette (LPDIRECTDRAWSURFACE7, LPDIRECTDRAWPALETTE);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_SetPriority (LPDIRECTDRAWSURFACE7, DWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_SetPrivateData (LPDIRECTDRAWSURFACE7, REFGUID, LPVOID, DWORD, DWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_UpdateOverlayDisplay (LPDIRECTDRAWSURFACE7, DWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_UpdateOverlayZOrder (LPDIRECTDRAWSURFACE7, DWORD, LPDIRECTDRAWSURFACE7);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_SetSurfaceDesc(LPDIRECTDRAWSURFACE7, DDSURFACEDESC2 *, DWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_SetLOD(LPDIRECTDRAWSURFACE7, DWORD);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_Unlock (LPDIRECTDRAWSURFACE7, LPRECT);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_Initialize (LPDIRECTDRAWSURFACE7, LPDIRECTDRAW, LPDDSURFACEDESC2);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_Lock (LPDIRECTDRAWSURFACE7, LPRECT, LPDDSURFACEDESC2, DWORD, HANDLE);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_Restore(LPDIRECTDRAWSURFACE7);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_UpdateOverlay (LPDIRECTDRAWSURFACE7, LPRECT, LPDIRECTDRAWSURFACE7, LPRECT,
|
||||||
|
DWORD, LPDDOVERLAYFX);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_ChangeUniquenessValue(LPDIRECTDRAWSURFACE7 iface);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_AddAttachedSurface(LPDIRECTDRAWSURFACE7 iface, LPDIRECTDRAWSURFACE7 pAttach);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_AddOverlayDirtyRect(LPDIRECTDRAWSURFACE7 iface, LPRECT pRect);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_GetSurfaceDesc(LPDIRECTDRAWSURFACE7 iface, LPDDSURFACEDESC2 pDDSD);
|
||||||
|
HRESULT WINAPI Main_DirectDraw_EnumDisplayModes(LPDIRECTDRAW7 iface, DWORD dwFlags, LPDDSURFACEDESC2 pDDSD, LPVOID context, LPDDENUMMODESCALLBACK2 callback);
|
||||||
|
HRESULT WINAPI Main_DDrawSurface_SetSurfaceDesc(LPDIRECTDRAWSURFACE7 iface, DDSURFACEDESC2 *DDSD, DWORD Flags);
|
||||||
|
HRESULT WINAPI Main_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 iface, LPDDSCAPS2 ddscaps, LPDWORD total, LPDWORD free);
|
||||||
|
|
||||||
|
// hel callbacks
|
||||||
|
DWORD CALLBACK HelDdDestroyDriver(LPDDHAL_DESTROYDRIVERDATA lpDestroyDriver);
|
||||||
|
DWORD CALLBACK HelDdCreateSurface(LPDDHAL_CREATESURFACEDATA lpCreateSurface);
|
||||||
|
DWORD CALLBACK HelDdSetColorKey(LPDDHAL_DRVSETCOLORKEYDATA lpSetColorKey);
|
||||||
|
DWORD CALLBACK HelDdSetMode(LPDDHAL_SETMODEDATA SetMode);
|
||||||
|
DWORD CALLBACK HelDdWaitForVerticalBlank(LPDDHAL_WAITFORVERTICALBLANKDATA lpWaitForVerticalBlank);
|
||||||
|
DWORD CALLBACK HelDdCanCreateSurface(LPDDHAL_CANCREATESURFACEDATA lpCanCreateSurface);
|
||||||
|
DWORD CALLBACK HelDdCreatePalette(LPDDHAL_CREATEPALETTEDATA lpCreatePalette);
|
||||||
|
DWORD CALLBACK HelDdGetScanLine(LPDDHAL_GETSCANLINEDATA lpGetScanLine);
|
||||||
|
DWORD CALLBACK HelDdSetExclusiveMode(LPDDHAL_SETEXCLUSIVEMODEDATA lpSetExclusiveMode);
|
||||||
|
DWORD CALLBACK HelDdFlipToGDISurface(LPDDHAL_FLIPTOGDISURFACEDATA lpFlipToGDISurface);
|
||||||
|
|
||||||
|
// internal functions
|
||||||
|
HRESULT CreateOverlaySurface(LPDDRAWI_DIRECTDRAW_INT This, LPDDRAWI_DDRAWSURFACE_INT *That, LPDDSURFACEDESC2 pDDSD);
|
||||||
|
HRESULT CreateBackBufferSurface(LPDDRAWI_DIRECTDRAW_INT This, LPDDRAWI_DDRAWSURFACE_INT *That, LPDDRAWI_DDRAWSURFACE_LCL *lpLcl, LPDDSURFACEDESC2 pDDSD);
|
||||||
|
HRESULT CreatePrimarySurface(LPDDRAWI_DIRECTDRAW_INT This, LPDDRAWI_DDRAWSURFACE_INT *That,LPDDRAWI_DDRAWSURFACE_LCL *lpLcl, LPDDSURFACEDESC2 pDDSD);
|
338
reactos/dll/directx/ddraw/ddraw_structures.txt
Normal file
338
reactos/dll/directx/ddraw/ddraw_structures.txt
Normal file
|
@ -0,0 +1,338 @@
|
||||||
|
* DirectDraw Object struct
|
||||||
|
|
||||||
|
DDRAWI_DIRECTDRAW_INT
|
||||||
|
it is the the return pointer from ddraw.dll to the program
|
||||||
|
|
||||||
|
DDRAWI_DIRECTDRAW_LCL
|
||||||
|
It is the program own private data
|
||||||
|
|
||||||
|
DDRAWI_DIRECTDRAW_GBL
|
||||||
|
This struct is gboal for whole ddraw.dll for all program
|
||||||
|
it is static in ddraw if it change it change for all
|
||||||
|
program
|
||||||
|
|
||||||
|
The struct
|
||||||
|
|
||||||
|
from http://msdn2.microsoft.com/en-us/library/ms898267.aspx
|
||||||
|
it was not document for windows 2000/xp/2003 but ms did document it
|
||||||
|
for windows ce 5.0 the link are to windows ce 5.0 arch
|
||||||
|
|
||||||
|
typedef struct _DDRAWI_DIRECTDRAW_INT {
|
||||||
|
LPVOID lpVtbl;
|
||||||
|
LPDDRAWI_DIRECTDRAW_LCL lpLcl;
|
||||||
|
LPDDRAWI_DIRECTDRAW_INT lpLink;
|
||||||
|
DWORD dwIntRefCnt;
|
||||||
|
} DDRAWI_DIRECTDRAW_INT;
|
||||||
|
|
||||||
|
rest of the struct are from msdn for windows 2000/xp/2003
|
||||||
|
typedef struct _DDRAWI_DIRECTDRAW_LCL {
|
||||||
|
DWORD lpDDMore;
|
||||||
|
LPDDRAWI_DIRECTDRAW_GBL lpGbl; // fill it from function Create_DirectDraw with static pointer ddgbl
|
||||||
|
DWORD dwUnused0;
|
||||||
|
DWORD dwLocalFlags;
|
||||||
|
DWORD dwLocalRefCnt;
|
||||||
|
DWORD dwProcessId;
|
||||||
|
IUnknown FAR *pUnkOuter;
|
||||||
|
DWORD dwObsolete1;
|
||||||
|
ULONG_PTR hWnd;
|
||||||
|
ULONG_PTR hDC; // create HDC and save it to this pointer
|
||||||
|
DWORD dwErrorMode;
|
||||||
|
LPDDRAWI_DDRAWSURFACE_INT lpPrimary;
|
||||||
|
LPDDRAWI_DDRAWSURFACE_INT lpCB;
|
||||||
|
DWORD dwPreferredMode;
|
||||||
|
HINSTANCE hD3DInstance;
|
||||||
|
IUnknown FAR *pD3DIUnknown;
|
||||||
|
LPDDHAL_CALLBACKS lpDDCB; // same memory pointer as DDRAWI_DIRECTDRAW_GBL->lpDDCBtmp, setup by function StartDirectDraw
|
||||||
|
ULONG_PTR hDDVxd;
|
||||||
|
DWORD dwAppHackFlags;
|
||||||
|
ULONG_PTR hFocusWnd;
|
||||||
|
DWORD dwHotTracking;
|
||||||
|
DWORD dwIMEState;
|
||||||
|
ULONG_PTR hWndPopup;
|
||||||
|
ULONG_PTR hDD;
|
||||||
|
ULONG_PTR hGammaCalibrator;
|
||||||
|
LPDDGAMMACALIBRATORPROC lpGammaCalibrator;
|
||||||
|
} DDRAWI_DIRECTDRAW_LCL;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _DDRAWI_DIRECTDRAW_GBL {
|
||||||
|
DWORD dwRefCnt;
|
||||||
|
DWORD dwFlags;
|
||||||
|
FLATPTR fpPrimaryOrig;
|
||||||
|
DDCORECAPS ddCaps;
|
||||||
|
DWORD dwInternal1;
|
||||||
|
DWORD dwUnused1[9];
|
||||||
|
LPDDHAL_CALLBACKS lpDDCBtmp;
|
||||||
|
LPDDRAWI_DDRAWSURFACE_INT dsList;
|
||||||
|
LPDDRAWI_DDRAWPALETTE_INT palList;
|
||||||
|
LPDDRAWI_DDRAWCLIPPER_INT clipperList;
|
||||||
|
LPDDRAWI_DIRECTDRAW_GBL lp16DD; // pointer to it self (DDRAWI_DIRECTDRAW_GBL)
|
||||||
|
DWORD dwMaxOverlays;
|
||||||
|
DWORD dwCurrOverlays;
|
||||||
|
DWORD dwMonitorFrequency;
|
||||||
|
DDCORECAPS ddHELCaps;
|
||||||
|
DWORD dwUnused2[50];
|
||||||
|
DDCOLORKEY ddckCKDestOverlay;
|
||||||
|
DDCOLORKEY ddckCKSrcOverlay;
|
||||||
|
VIDMEMINFO vmiData;
|
||||||
|
LPVOID lpDriverHandle;
|
||||||
|
LPDDRAWI_DIRECTDRAW_LCL lpExclusiveOwner;
|
||||||
|
DWORD dwModeIndex;
|
||||||
|
DWORD dwModeIndexOrig;
|
||||||
|
DWORD dwNumFourCC;
|
||||||
|
DWORD FAR *lpdwFourCC;
|
||||||
|
DWORD dwNumModes;
|
||||||
|
LPDDHALMODEINFO lpModeInfo;
|
||||||
|
PROCESS_LIST plProcessList;
|
||||||
|
DWORD dwSurfaceLockCount;
|
||||||
|
DWORD dwAliasedLockCnt;
|
||||||
|
ULONG_PTR dwReserved3;
|
||||||
|
ULONG_PTR hDD; // GdiEntry1 are filling this pointer
|
||||||
|
char cObsolete[12];
|
||||||
|
DWORD dwReserved1;
|
||||||
|
DWORD dwReserved2;
|
||||||
|
DBLNODE dbnOverlayRoot;
|
||||||
|
volatile LPWORD lpwPDeviceFlags;
|
||||||
|
DWORD dwPDevice;
|
||||||
|
DWORD dwWin16LockCnt;
|
||||||
|
DWORD dwUnused3;
|
||||||
|
DWORD hInstance;
|
||||||
|
DWORD dwEvent16;
|
||||||
|
DWORD dwSaveNumModes;
|
||||||
|
ULONG_PTR lpD3DGlobalDriverData;
|
||||||
|
ULONG_PTR lpD3DHALCallbacks;
|
||||||
|
DDCORECAPS ddBothCaps;
|
||||||
|
LPDDVIDEOPORTCAPS lpDDVideoPortCaps;
|
||||||
|
LPDDRAWI_DDVIDEOPORT_INT dvpList;
|
||||||
|
ULONG_PTR lpD3DHALCallbacks2;
|
||||||
|
RECT rectDevice;
|
||||||
|
DWORD cMonitors;
|
||||||
|
LPVOID gpbmiSrc;
|
||||||
|
LPVOID gpbmiDest;
|
||||||
|
LPHEAPALIASINFO phaiHeapAliases;
|
||||||
|
ULONG_PTR hKernelHandle;
|
||||||
|
ULONG_PTR pfnNotifyProc;
|
||||||
|
LPDDKERNELCAPS lpDDKernelCaps;
|
||||||
|
LPDDNONLOCALVIDMEMCAPS lpddNLVCaps;
|
||||||
|
LPDDNONLOCALVIDMEMCAPS lpddNLVHELCaps;
|
||||||
|
LPDDNONLOCALVIDMEMCAPS lpddNLVBothCaps;
|
||||||
|
ULONG_PTR lpD3DExtendedCaps;
|
||||||
|
DWORD dwDOSBoxEvent;
|
||||||
|
RECT rectDesktop;
|
||||||
|
char cDriverName[MAX_DRIVER_NAME];
|
||||||
|
ULONG_PTR lpD3DHALCallbacks3;
|
||||||
|
DWORD dwNumZPixelFormats;
|
||||||
|
LPDDPIXELFORMAT lpZPixelFormats;
|
||||||
|
LPDDRAWI_DDMOTIONCOMP_INT mcList;
|
||||||
|
DWORD hDDVxd;
|
||||||
|
DDSCAPSEX ddsCapsMore;
|
||||||
|
} DDRAWI_DIRECTDRAW_GBL;
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* Clipper Object struct
|
||||||
|
DDRAWI_DDRAWCLIPPER_INT
|
||||||
|
it is the the return pointer from ddraw.dll to the program
|
||||||
|
|
||||||
|
DDRAWI_DDRAWCLIPPER_LCL
|
||||||
|
It is the program own private data
|
||||||
|
|
||||||
|
DDRAWI_DDRAWCLIPPER_GBL
|
||||||
|
This struct is gboal for whole ddraw.dll for all program
|
||||||
|
it is static in ddraw if it change it change for all
|
||||||
|
program
|
||||||
|
|
||||||
|
The struct
|
||||||
|
|
||||||
|
typedef struct _DDRAWI_DDRAWCLIPPER_INT {
|
||||||
|
LPVOID lpVtbl;
|
||||||
|
LPDDRAWI_DDRAWCLIPPER_LCL lpLcl;
|
||||||
|
LPDDRAWI_DDRAWCLIPPER_INT lpLink;
|
||||||
|
DWORD dwIntRefCnt;
|
||||||
|
} DDRAWI_DDRAWCLIPPER_INT;
|
||||||
|
|
||||||
|
typedef struct _DDRAWI_DDRAWCLIPPER_LCL {
|
||||||
|
DWORD lpClipMore;
|
||||||
|
LPDDRAWI_DDRAWCLIPPER_GBL lpGbl;
|
||||||
|
LPDDRAWI_DIRECTDRAW_LCL lpDD_lcl;
|
||||||
|
DWORD dwLocalRefCnt;
|
||||||
|
IUnknown FAR *pUnkOuter;
|
||||||
|
LPDDRAWI_DIRECTDRAW_INT lpDD_int;
|
||||||
|
ULONG_PTR dwReserved1;
|
||||||
|
IUnknown *pAddrefedThisOwner;
|
||||||
|
} DDRAWI_DDRAWCLIPPER_LCL;
|
||||||
|
|
||||||
|
typedef struct _DDRAWI_DDRAWCLIPPER_GBL {
|
||||||
|
DWORD dwRefCnt;
|
||||||
|
DWORD dwFlags;
|
||||||
|
LPDDRAWI_DIRECTDRAW_GBL lpDD;
|
||||||
|
DWORD dwProcessId;
|
||||||
|
ULONG_PTR dwReserved1;
|
||||||
|
ULONG_PTR hWnd;
|
||||||
|
LPRGNDATA lpStaticClipList;
|
||||||
|
} DDRAWI_DDRAWCLIPPER_GBL;
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
typedef struct _DDRAWI_DDRAWPALETTE_INT {
|
||||||
|
LPVOID lpVtbl;
|
||||||
|
LPDDRAWI_DDRAWPALETTE_LCL lpLcl;
|
||||||
|
LPDDRAWI_DDRAWPALETTE_INT lpLink;
|
||||||
|
DWORD dwIntRefCnt;
|
||||||
|
} DDRAWI_DDRAWPALETTE_INT;
|
||||||
|
|
||||||
|
typedef struct _DDRAWI_DDRAWPALETTE_LCL {
|
||||||
|
DWORD lpPalMore;
|
||||||
|
LPDDRAWI_DDRAWPALETTE_GBL lpGbl;
|
||||||
|
ULONG_PTR dwUnused0;
|
||||||
|
DWORD dwLocalRefCnt;
|
||||||
|
IUnknown FAR *pUnkOuter;
|
||||||
|
LPDDRAWI_DIRECTDRAW_LCL lpDD_lcl;
|
||||||
|
ULONG_PTR dwReserved1;
|
||||||
|
ULONG_PTR dwDDRAWReserved1;
|
||||||
|
ULONG_PTR dwDDRAWReserved2;
|
||||||
|
ULONG_PTR dwDDRAWReserved3;
|
||||||
|
} DDRAWI_DDRAWPALETTE_LCL;
|
||||||
|
|
||||||
|
typedef struct _DDRAWI_DDRAWPALETTE_GBL {
|
||||||
|
DWORD dwRefCnt;
|
||||||
|
DWORD dwFlags;
|
||||||
|
LPDDRAWI_DIRECTDRAW_LCL lpDD_lcl;
|
||||||
|
DWORD dwProcessId;
|
||||||
|
LPPALETTEENTRY lpColorTable;
|
||||||
|
union {
|
||||||
|
ULONG_PTR dwReserved1;
|
||||||
|
HPALETTE hHELGDIPalette;
|
||||||
|
};
|
||||||
|
DWORD dwDriverReserved;
|
||||||
|
DWORD dwContentsStamp;
|
||||||
|
DWORD dwSaveStamp;
|
||||||
|
DWORD dwHandle;
|
||||||
|
} DDRAWI_DDRAWPALETTE_GBL;
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
typedef struct _DDRAWI_DDVIDEOPORT_INT {
|
||||||
|
LPVOID lpVtbl;
|
||||||
|
LPDDRAWI_DDVIDEOPORT_LCL lpLcl;
|
||||||
|
LPDDRAWI_DDVIDEOPORT_INT lpLink;
|
||||||
|
DWORD dwIntRefCnt;
|
||||||
|
DWORD dwFlags;
|
||||||
|
} DDRAWI_DDVIDEOPORT_INT;
|
||||||
|
|
||||||
|
typedef struct _DDRAWI_DDVIDEOPORT_LCL {
|
||||||
|
LPDDRAWI_DIRECTDRAW_LCL lpDD;
|
||||||
|
DDVIDEOPORTDESC ddvpDesc;
|
||||||
|
DDVIDEOPORTINFO ddvpInfo;
|
||||||
|
LPDDRAWI_DDRAWSURFACE_INT lpSurface;
|
||||||
|
LPDDRAWI_DDRAWSURFACE_INT lpVBISurface;
|
||||||
|
LPDDRAWI_DDRAWSURFACE_INT *lpFlipInts;
|
||||||
|
DWORD dwNumAutoflip;
|
||||||
|
DWORD dwProcessID;
|
||||||
|
DWORD dwStateFlags;
|
||||||
|
DWORD dwFlags;
|
||||||
|
DWORD dwRefCnt;
|
||||||
|
FLATPTR fpLastFlip;
|
||||||
|
ULONG_PTR dwReserved1;
|
||||||
|
ULONG_PTR dwReserved2;
|
||||||
|
HANDLE hDDVideoPort;
|
||||||
|
DWORD dwNumVBIAutoflip;
|
||||||
|
LPDDVIDEOPORTDESC lpVBIDesc;
|
||||||
|
LPDDVIDEOPORTDESC lpVideoDesc;
|
||||||
|
LPDDVIDEOPORTINFO lpVBIInfo;
|
||||||
|
LPDDVIDEOPORTINFO lpVideoInfo;
|
||||||
|
DWORD dwVBIProcessID;
|
||||||
|
} DDRAWI_DDVIDEOPORT_LCL;
|
||||||
|
|
||||||
|
|
||||||
|
Surface
|
||||||
|
typedef struct _DDRAWI_DDRAWSURFACE_GBL {
|
||||||
|
DWORD dwRefCnt;
|
||||||
|
DWORD dwGlobalFlags;
|
||||||
|
union {
|
||||||
|
LPACCESSRECTLIST lpRectList;
|
||||||
|
DWORD dwBlockSizeY;
|
||||||
|
};
|
||||||
|
union {
|
||||||
|
LPVMEMHEAP lpVidMemHeap;
|
||||||
|
DWORD dwBlockSizeX;
|
||||||
|
};
|
||||||
|
union {
|
||||||
|
LPDDRAWI_DIRECTDRAW_GBL lpDD;
|
||||||
|
LPVOID lpDDHandle;
|
||||||
|
};
|
||||||
|
FLATPTR fpVidMem;
|
||||||
|
union {
|
||||||
|
LONG lPitch;
|
||||||
|
DWORD dwLinearSize;
|
||||||
|
};
|
||||||
|
WORD wHeight;
|
||||||
|
WORD wWidth;
|
||||||
|
DWORD dwUsageCount;
|
||||||
|
ULONG_PTR dwReserved1;
|
||||||
|
DDPIXELFORMAT ddpfSurface;
|
||||||
|
} DDRAWI_DDRAWSURFACE_GBL;
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* This comment info maybe is wrong
|
||||||
|
bare in mind I am using logic thinking
|
||||||
|
for follow info does not exists in MSDN
|
||||||
|
so I am drawing clude how previews stuffs
|
||||||
|
works that are document in MSDN/DDK
|
||||||
|
|
||||||
|
follow struct should exists ???
|
||||||
|
DDRAWI_DDVIDEOPORT_GBL
|
||||||
|
DDRAWI_DDGAMMACONTROL_INT
|
||||||
|
DDRAWI_DDGAMMACONTROL_LCL
|
||||||
|
DDRAWI_DDGAMMACONTROL_GBL
|
||||||
|
DDRAWI_DDCOLORCONTROL_INT
|
||||||
|
DDRAWI_DDCOLORCONTROL_LCL
|
||||||
|
DDRAWI_DDCOLORCONTROL_GBL
|
||||||
|
DDRAWI_KERNEL_INT
|
||||||
|
DDRAWI_KERNEL_LCL
|
||||||
|
DDRAWI_KERNEL_GBL
|
||||||
|
DDRAWI_DDKERNELSURFACE_INT
|
||||||
|
DDRAWI_DDKERNELSURFACE_LCL
|
||||||
|
DDRAWI_DDKERNELSURFACE_GBL
|
||||||
|
|
||||||
|
follow struct can be easy create
|
||||||
|
DDRAWI_DDGAMMACONTROL_INT
|
||||||
|
DDRAWI_DDCOLORCONTROL_INT
|
||||||
|
DDRAWI_KERNEL_INT
|
||||||
|
|
||||||
|
the DDRAWI_DDGAMMACONTROL_INT should looking like this
|
||||||
|
typedef struct _DDRAWI_DDGAMMACONTROL_INT
|
||||||
|
{
|
||||||
|
LPVOID lpVtbl;
|
||||||
|
LPDDRAWI_DDGAMMACONTROL_LCL lpLcl;
|
||||||
|
LPDDRAWI_DDGAMMACONTROL_INT lpLink;
|
||||||
|
DWORD dwIntRefCnt;
|
||||||
|
} DDRAWI_DDGAMMACONTROL_INT, *LPDDRAWI_DDGAMMACONTROL_INT
|
||||||
|
|
||||||
|
how did I got this struct I looked at all other INT struct how they where
|
||||||
|
build. But it is not 100% sure this one is right untill I/we known how
|
||||||
|
the DDRAWI_DDGAMMACONTROL_LCL works and DDRAWI_DDCOLORCONTROL_GBL
|
||||||
|
our internal struct will look like this
|
||||||
|
typedef struct _DDRAWI_DDGAMMACONTROL_INT
|
||||||
|
{
|
||||||
|
LPVOID lpVtbl;
|
||||||
|
LPVOID lpLcl;
|
||||||
|
LPVOID lpLink;
|
||||||
|
DWORD dwIntRefCnt;
|
||||||
|
} DDRAWI_DDGAMMACONTROL_INT, *LPDDRAWI_DDGAMMACONTROL_INT
|
||||||
|
|
||||||
|
same goes for DDRAWI_DDCOLORCONTROL_INT
|
||||||
|
|
||||||
|
typedef struct DDRAWI_DDCOLORCONTROL_INT
|
||||||
|
{
|
||||||
|
LPVOID lpVtbl;
|
||||||
|
LPVOID lpLcl;
|
||||||
|
LPVOID lpLink;
|
||||||
|
DWORD dwIntRefCnt;
|
||||||
|
} DDRAWI_DDCOLORCONTROL_INT, *LPDDRAWI_DDCOLORCONTROL_INT
|
|
@ -2,20 +2,15 @@
|
||||||
#define __DDRAW_PRIVATE
|
#define __DDRAW_PRIVATE
|
||||||
|
|
||||||
/********* Includes *********/
|
/********* Includes *********/
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
||||||
#include <ddraw.h>
|
#include <ddraw.h>
|
||||||
#include <ddrawi.h>
|
#include <ddrawi.h>
|
||||||
#include <d3dhal.h>
|
#include <d3dhal.h>
|
||||||
#include <ddrawgdi.h>
|
#include <ddrawgdi.h>
|
||||||
|
|
||||||
|
#include "Ddraw\ddraw.h"
|
||||||
|
#include "Surface\surface.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* DirectDraw startup code only internal use */
|
/* DirectDraw startup code only internal use */
|
||||||
extern DDRAWI_DIRECTDRAW_GBL ddgbl;
|
extern DDRAWI_DIRECTDRAW_GBL ddgbl;
|
||||||
|
@ -24,12 +19,10 @@ extern WCHAR classname[128];
|
||||||
extern WNDCLASSW wnd_class;
|
extern WNDCLASSW wnd_class;
|
||||||
extern CRITICAL_SECTION ddcs;
|
extern CRITICAL_SECTION ddcs;
|
||||||
|
|
||||||
|
|
||||||
HRESULT WINAPI StartDirectDraw(LPDIRECTDRAW* iface, LPGUID pGUID, BOOL reenable);
|
HRESULT WINAPI StartDirectDraw(LPDIRECTDRAW* iface, LPGUID pGUID, BOOL reenable);
|
||||||
HRESULT WINAPI StartDirectDrawHal(LPDIRECTDRAW* iface, BOOL reenable);
|
HRESULT WINAPI StartDirectDrawHal(LPDIRECTDRAW* iface, BOOL reenable);
|
||||||
HRESULT WINAPI StartDirectDrawHel(LPDIRECTDRAW* iface, BOOL reenable);
|
HRESULT WINAPI StartDirectDrawHel(LPDIRECTDRAW* iface, BOOL reenable);
|
||||||
HRESULT WINAPI Create_DirectDraw (LPGUID pGUID, LPDIRECTDRAW* pIface, REFIID id, BOOL ex);
|
HRESULT WINAPI Create_DirectDraw (LPGUID pGUID, LPDIRECTDRAW* pIface, REFIID id, BOOL ex);
|
||||||
|
|
||||||
HRESULT WINAPI ReCreateDirectDraw(LPDIRECTDRAW* iface);
|
HRESULT WINAPI ReCreateDirectDraw(LPDIRECTDRAW* iface);
|
||||||
|
|
||||||
/* DirectDraw Cleanup code only internal use */
|
/* DirectDraw Cleanup code only internal use */
|
||||||
|
@ -46,438 +39,9 @@ VOID Cleanup(LPDIRECTDRAW7 iface);
|
||||||
VOID WINAPI AcquireDDThreadLock();
|
VOID WINAPI AcquireDDThreadLock();
|
||||||
VOID WINAPI ReleaseDDThreadLock();
|
VOID WINAPI ReleaseDDThreadLock();
|
||||||
|
|
||||||
HRESULT WINAPI Main_DirectDraw_QueryInterface (LPDIRECTDRAW7 , REFIID , LPVOID *);
|
|
||||||
ULONG WINAPI Main_DirectDraw_AddRef(LPDIRECTDRAW7 );
|
|
||||||
ULONG WINAPI Main_DirectDraw_Release(LPDIRECTDRAW7 );
|
|
||||||
HRESULT WINAPI Main_DirectDraw_Compact(LPDIRECTDRAW7 );
|
|
||||||
HRESULT WINAPI Main_DirectDraw_CreateClipper(LPDIRECTDRAW7, DWORD, LPDIRECTDRAWCLIPPER *, IUnknown *);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_CreatePalette(LPDIRECTDRAW7, DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE*, LPUNKNOWN);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_CreateSurface(LPDIRECTDRAW7, LPDDSURFACEDESC2, LPDIRECTDRAWSURFACE7 *, IUnknown *);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_DuplicateSurface(LPDIRECTDRAW7, LPDIRECTDRAWSURFACE7, LPDIRECTDRAWSURFACE7*);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_GetDeviceIdentifier(LPDIRECTDRAW7, LPDDDEVICEIDENTIFIER2, DWORD);
|
|
||||||
|
|
||||||
HRESULT WINAPI Main_DirectDraw_EnumSurfaces(LPDIRECTDRAW7, DWORD, LPDDSURFACEDESC2, LPVOID,
|
|
||||||
LPDDENUMSURFACESCALLBACK7);
|
|
||||||
|
|
||||||
HRESULT WINAPI Main_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_GetDisplayMode(LPDIRECTDRAW7, LPDDSURFACEDESC2);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_GetSurfaceFromDC(LPDIRECTDRAW7, HDC, LPDIRECTDRAWSURFACE7 *);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_GetCaps(LPDIRECTDRAW7, LPDDCAPS pDriverCaps, LPDDCAPS);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_GetFourCCCodes(LPDIRECTDRAW7, LPDWORD pNumCodes, LPDWORD);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_GetGDISurface(LPDIRECTDRAW7, LPDIRECTDRAWSURFACE7 *);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7, DWORD dwFlags, HANDLE);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_GetMonitorFrequency(LPDIRECTDRAW7, LPDWORD);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_GetScanLine(LPDIRECTDRAW7, LPDWORD);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_GetVerticalBlankStatus(LPDIRECTDRAW7, LPBOOL);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_RestoreDisplayMode(LPDIRECTDRAW7);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7, HWND, DWORD);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_SetDisplayMode (LPDIRECTDRAW7, DWORD, DWORD, DWORD, DWORD, DWORD);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_RestoreAllSurfaces(LPDIRECTDRAW7 iface);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_TestCooperativeLevel(LPDIRECTDRAW7 iface);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_Initialize (LPDIRECTDRAW7 iface, LPGUID lpGUID);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_StartModeTest(LPDIRECTDRAW7 iface, LPSIZE pModes, DWORD dwNumModes, DWORD dwFlags);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_EvaluateMode(LPDIRECTDRAW7 iface,DWORD a,DWORD* b);
|
|
||||||
|
|
||||||
ULONG WINAPI Main_DDrawSurface_AddRef(LPDIRECTDRAWSURFACE7);
|
|
||||||
ULONG WINAPI Main_DDrawSurface_Release(LPDIRECTDRAWSURFACE7);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_QueryInterface(LPDIRECTDRAWSURFACE7, REFIID, LPVOID*);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_ReleaseDC(LPDIRECTDRAWSURFACE7, HDC);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7, LPRECT, LPDIRECTDRAWSURFACE7, LPRECT, DWORD, LPDDBLTFX);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_BltBatch(LPDIRECTDRAWSURFACE7, LPDDBLTBATCH, DWORD, DWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_BltFast(LPDIRECTDRAWSURFACE7, DWORD, DWORD, LPDIRECTDRAWSURFACE7, LPRECT, DWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_DeleteAttachedSurface(LPDIRECTDRAWSURFACE7, DWORD, LPDIRECTDRAWSURFACE7);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_EnumAttachedSurfaces(LPDIRECTDRAWSURFACE7, LPVOID, LPDDENUMSURFACESCALLBACK7);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_EnumOverlayZOrders(LPDIRECTDRAWSURFACE7, DWORD, LPVOID,LPDDENUMSURFACESCALLBACK7);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_Flip(LPDIRECTDRAWSURFACE7 , LPDIRECTDRAWSURFACE7, DWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_FreePrivateData(LPDIRECTDRAWSURFACE7, REFGUID);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetAttachedSurface(LPDIRECTDRAWSURFACE7, LPDDSCAPS2, LPDIRECTDRAWSURFACE7*);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetBltStatus(LPDIRECTDRAWSURFACE7, DWORD dwFlags);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetCaps(LPDIRECTDRAWSURFACE7, LPDDSCAPS2 pCaps);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetClipper(LPDIRECTDRAWSURFACE7, LPDIRECTDRAWCLIPPER*);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetColorKey(LPDIRECTDRAWSURFACE7, DWORD, LPDDCOLORKEY);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetDC(LPDIRECTDRAWSURFACE7, HDC *);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetDDInterface(LPDIRECTDRAWSURFACE7, LPVOID*);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetFlipStatus(LPDIRECTDRAWSURFACE7, DWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetLOD(LPDIRECTDRAWSURFACE7, LPDWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetOverlayPosition(LPDIRECTDRAWSURFACE7, LPLONG, LPLONG);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetPalette(LPDIRECTDRAWSURFACE7, LPDIRECTDRAWPALETTE*);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetPixelFormat(LPDIRECTDRAWSURFACE7, LPDDPIXELFORMAT);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetPriority(LPDIRECTDRAWSURFACE7, LPDWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetPrivateData(LPDIRECTDRAWSURFACE7, REFGUID, LPVOID, LPDWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetSurfaceDesc(LPDIRECTDRAWSURFACE7, LPDDSURFACEDESC2);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetUniquenessValue(LPDIRECTDRAWSURFACE7, LPDWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_IsLost(LPDIRECTDRAWSURFACE7);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_PageLock(LPDIRECTDRAWSURFACE7, DWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_PageUnlock(LPDIRECTDRAWSURFACE7, DWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_ReleaseDC(LPDIRECTDRAWSURFACE7, HDC);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_SetClipper (LPDIRECTDRAWSURFACE7, LPDIRECTDRAWCLIPPER);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_SetColorKey (LPDIRECTDRAWSURFACE7, DWORD, LPDDCOLORKEY);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_SetOverlayPosition (LPDIRECTDRAWSURFACE7, LONG, LONG);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_SetPalette (LPDIRECTDRAWSURFACE7, LPDIRECTDRAWPALETTE);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_SetPriority (LPDIRECTDRAWSURFACE7, DWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_SetPrivateData (LPDIRECTDRAWSURFACE7, REFGUID, LPVOID, DWORD, DWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_UpdateOverlayDisplay (LPDIRECTDRAWSURFACE7, DWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_UpdateOverlayZOrder (LPDIRECTDRAWSURFACE7, DWORD, LPDIRECTDRAWSURFACE7);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_SetSurfaceDesc(LPDIRECTDRAWSURFACE7, DDSURFACEDESC2 *, DWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_SetLOD(LPDIRECTDRAWSURFACE7, DWORD);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_Unlock (LPDIRECTDRAWSURFACE7, LPRECT);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_Initialize (LPDIRECTDRAWSURFACE7, LPDIRECTDRAW, LPDDSURFACEDESC2);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_Lock (LPDIRECTDRAWSURFACE7, LPRECT, LPDDSURFACEDESC2, DWORD, HANDLE);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_Restore(LPDIRECTDRAWSURFACE7);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_UpdateOverlay (LPDIRECTDRAWSURFACE7, LPRECT, LPDIRECTDRAWSURFACE7, LPRECT,
|
|
||||||
DWORD, LPDDOVERLAYFX);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_ChangeUniquenessValue(LPDIRECTDRAWSURFACE7 iface);
|
|
||||||
|
|
||||||
|
|
||||||
ULONG WINAPI DirectDrawClipper_AddRef (LPDIRECTDRAWCLIPPER iface);
|
ULONG WINAPI DirectDrawClipper_AddRef (LPDIRECTDRAWCLIPPER iface);
|
||||||
HRESULT WINAPI DirectDrawClipper_Initialize( LPDIRECTDRAWCLIPPER iface, LPDIRECTDRAW lpDD, DWORD dwFlags);
|
HRESULT WINAPI DirectDrawClipper_Initialize( LPDIRECTDRAWCLIPPER iface, LPDIRECTDRAW lpDD, DWORD dwFlags);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
HRESULT CreateOverlaySurface(LPDDRAWI_DIRECTDRAW_INT This, LPDDRAWI_DDRAWSURFACE_INT *That, LPDDSURFACEDESC2 pDDSD);
|
|
||||||
HRESULT CreateBackBufferSurface(LPDDRAWI_DIRECTDRAW_INT This, LPDDRAWI_DDRAWSURFACE_INT *That, LPDDRAWI_DDRAWSURFACE_LCL *lpLcl, LPDDSURFACEDESC2 pDDSD);
|
|
||||||
HRESULT CreatePrimarySurface(LPDDRAWI_DIRECTDRAW_INT This, LPDDRAWI_DDRAWSURFACE_INT *That,LPDDRAWI_DDRAWSURFACE_LCL *lpLcl, LPDDSURFACEDESC2 pDDSD);
|
|
||||||
|
|
||||||
/* DirectDraw Object struct
|
|
||||||
|
|
||||||
DDRAWI_DIRECTDRAW_INT
|
|
||||||
it is the the return pointer from ddraw.dll to the program
|
|
||||||
|
|
||||||
DDRAWI_DIRECTDRAW_LCL
|
|
||||||
It is the program own private data
|
|
||||||
|
|
||||||
DDRAWI_DIRECTDRAW_GBL
|
|
||||||
This struct is gboal for whole ddraw.dll for all program
|
|
||||||
it is static in ddraw if it change it change for all
|
|
||||||
program
|
|
||||||
|
|
||||||
The struct
|
|
||||||
|
|
||||||
from http://msdn2.microsoft.com/en-us/library/ms898267.aspx
|
|
||||||
it was not document for windows 2000/xp/2003 but ms did document it
|
|
||||||
for windows ce 5.0 the link are to windows ce 5.0 arch
|
|
||||||
|
|
||||||
typedef struct _DDRAWI_DIRECTDRAW_INT {
|
|
||||||
LPVOID lpVtbl;
|
|
||||||
LPDDRAWI_DIRECTDRAW_LCL lpLcl;
|
|
||||||
LPDDRAWI_DIRECTDRAW_INT lpLink;
|
|
||||||
DWORD dwIntRefCnt;
|
|
||||||
} DDRAWI_DIRECTDRAW_INT;
|
|
||||||
|
|
||||||
rest of the struct are from msdn for windows 2000/xp/2003
|
|
||||||
typedef struct _DDRAWI_DIRECTDRAW_LCL {
|
|
||||||
DWORD lpDDMore;
|
|
||||||
LPDDRAWI_DIRECTDRAW_GBL lpGbl; // fill it from function Create_DirectDraw with static pointer ddgbl
|
|
||||||
DWORD dwUnused0;
|
|
||||||
DWORD dwLocalFlags;
|
|
||||||
DWORD dwLocalRefCnt;
|
|
||||||
DWORD dwProcessId;
|
|
||||||
IUnknown FAR *pUnkOuter;
|
|
||||||
DWORD dwObsolete1;
|
|
||||||
ULONG_PTR hWnd;
|
|
||||||
ULONG_PTR hDC; // create HDC and save it to this pointer
|
|
||||||
DWORD dwErrorMode;
|
|
||||||
LPDDRAWI_DDRAWSURFACE_INT lpPrimary;
|
|
||||||
LPDDRAWI_DDRAWSURFACE_INT lpCB;
|
|
||||||
DWORD dwPreferredMode;
|
|
||||||
HINSTANCE hD3DInstance;
|
|
||||||
IUnknown FAR *pD3DIUnknown;
|
|
||||||
LPDDHAL_CALLBACKS lpDDCB; // same memory pointer as DDRAWI_DIRECTDRAW_GBL->lpDDCBtmp, setup by function StartDirectDraw
|
|
||||||
ULONG_PTR hDDVxd;
|
|
||||||
DWORD dwAppHackFlags;
|
|
||||||
ULONG_PTR hFocusWnd;
|
|
||||||
DWORD dwHotTracking;
|
|
||||||
DWORD dwIMEState;
|
|
||||||
ULONG_PTR hWndPopup;
|
|
||||||
ULONG_PTR hDD;
|
|
||||||
ULONG_PTR hGammaCalibrator;
|
|
||||||
LPDDGAMMACALIBRATORPROC lpGammaCalibrator;
|
|
||||||
} DDRAWI_DIRECTDRAW_LCL;
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct _DDRAWI_DIRECTDRAW_GBL {
|
|
||||||
DWORD dwRefCnt;
|
|
||||||
DWORD dwFlags;
|
|
||||||
FLATPTR fpPrimaryOrig;
|
|
||||||
DDCORECAPS ddCaps;
|
|
||||||
DWORD dwInternal1;
|
|
||||||
DWORD dwUnused1[9];
|
|
||||||
LPDDHAL_CALLBACKS lpDDCBtmp;
|
|
||||||
LPDDRAWI_DDRAWSURFACE_INT dsList;
|
|
||||||
LPDDRAWI_DDRAWPALETTE_INT palList;
|
|
||||||
LPDDRAWI_DDRAWCLIPPER_INT clipperList;
|
|
||||||
LPDDRAWI_DIRECTDRAW_GBL lp16DD; // pointer to it self (DDRAWI_DIRECTDRAW_GBL)
|
|
||||||
DWORD dwMaxOverlays;
|
|
||||||
DWORD dwCurrOverlays;
|
|
||||||
DWORD dwMonitorFrequency;
|
|
||||||
DDCORECAPS ddHELCaps;
|
|
||||||
DWORD dwUnused2[50];
|
|
||||||
DDCOLORKEY ddckCKDestOverlay;
|
|
||||||
DDCOLORKEY ddckCKSrcOverlay;
|
|
||||||
VIDMEMINFO vmiData;
|
|
||||||
LPVOID lpDriverHandle;
|
|
||||||
LPDDRAWI_DIRECTDRAW_LCL lpExclusiveOwner;
|
|
||||||
DWORD dwModeIndex;
|
|
||||||
DWORD dwModeIndexOrig;
|
|
||||||
DWORD dwNumFourCC;
|
|
||||||
DWORD FAR *lpdwFourCC;
|
|
||||||
DWORD dwNumModes;
|
|
||||||
LPDDHALMODEINFO lpModeInfo;
|
|
||||||
PROCESS_LIST plProcessList;
|
|
||||||
DWORD dwSurfaceLockCount;
|
|
||||||
DWORD dwAliasedLockCnt;
|
|
||||||
ULONG_PTR dwReserved3;
|
|
||||||
ULONG_PTR hDD; // GdiEntry1 are filling this pointer
|
|
||||||
char cObsolete[12];
|
|
||||||
DWORD dwReserved1;
|
|
||||||
DWORD dwReserved2;
|
|
||||||
DBLNODE dbnOverlayRoot;
|
|
||||||
volatile LPWORD lpwPDeviceFlags;
|
|
||||||
DWORD dwPDevice;
|
|
||||||
DWORD dwWin16LockCnt;
|
|
||||||
DWORD dwUnused3;
|
|
||||||
DWORD hInstance;
|
|
||||||
DWORD dwEvent16;
|
|
||||||
DWORD dwSaveNumModes;
|
|
||||||
ULONG_PTR lpD3DGlobalDriverData;
|
|
||||||
ULONG_PTR lpD3DHALCallbacks;
|
|
||||||
DDCORECAPS ddBothCaps;
|
|
||||||
LPDDVIDEOPORTCAPS lpDDVideoPortCaps;
|
|
||||||
LPDDRAWI_DDVIDEOPORT_INT dvpList;
|
|
||||||
ULONG_PTR lpD3DHALCallbacks2;
|
|
||||||
RECT rectDevice;
|
|
||||||
DWORD cMonitors;
|
|
||||||
LPVOID gpbmiSrc;
|
|
||||||
LPVOID gpbmiDest;
|
|
||||||
LPHEAPALIASINFO phaiHeapAliases;
|
|
||||||
ULONG_PTR hKernelHandle;
|
|
||||||
ULONG_PTR pfnNotifyProc;
|
|
||||||
LPDDKERNELCAPS lpDDKernelCaps;
|
|
||||||
LPDDNONLOCALVIDMEMCAPS lpddNLVCaps;
|
|
||||||
LPDDNONLOCALVIDMEMCAPS lpddNLVHELCaps;
|
|
||||||
LPDDNONLOCALVIDMEMCAPS lpddNLVBothCaps;
|
|
||||||
ULONG_PTR lpD3DExtendedCaps;
|
|
||||||
DWORD dwDOSBoxEvent;
|
|
||||||
RECT rectDesktop;
|
|
||||||
char cDriverName[MAX_DRIVER_NAME];
|
|
||||||
ULONG_PTR lpD3DHALCallbacks3;
|
|
||||||
DWORD dwNumZPixelFormats;
|
|
||||||
LPDDPIXELFORMAT lpZPixelFormats;
|
|
||||||
LPDDRAWI_DDMOTIONCOMP_INT mcList;
|
|
||||||
DWORD hDDVxd;
|
|
||||||
DDSCAPSEX ddsCapsMore;
|
|
||||||
} DDRAWI_DIRECTDRAW_GBL;
|
|
||||||
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/* Clipper Object struct
|
|
||||||
DDRAWI_DDRAWCLIPPER_INT
|
|
||||||
it is the the return pointer from ddraw.dll to the program
|
|
||||||
|
|
||||||
DDRAWI_DDRAWCLIPPER_LCL
|
|
||||||
It is the program own private data
|
|
||||||
|
|
||||||
DDRAWI_DDRAWCLIPPER_GBL
|
|
||||||
This struct is gboal for whole ddraw.dll for all program
|
|
||||||
it is static in ddraw if it change it change for all
|
|
||||||
program
|
|
||||||
|
|
||||||
The struct
|
|
||||||
|
|
||||||
typedef struct _DDRAWI_DDRAWCLIPPER_INT {
|
|
||||||
LPVOID lpVtbl;
|
|
||||||
LPDDRAWI_DDRAWCLIPPER_LCL lpLcl;
|
|
||||||
LPDDRAWI_DDRAWCLIPPER_INT lpLink;
|
|
||||||
DWORD dwIntRefCnt;
|
|
||||||
} DDRAWI_DDRAWCLIPPER_INT;
|
|
||||||
|
|
||||||
typedef struct _DDRAWI_DDRAWCLIPPER_LCL {
|
|
||||||
DWORD lpClipMore;
|
|
||||||
LPDDRAWI_DDRAWCLIPPER_GBL lpGbl;
|
|
||||||
LPDDRAWI_DIRECTDRAW_LCL lpDD_lcl;
|
|
||||||
DWORD dwLocalRefCnt;
|
|
||||||
IUnknown FAR *pUnkOuter;
|
|
||||||
LPDDRAWI_DIRECTDRAW_INT lpDD_int;
|
|
||||||
ULONG_PTR dwReserved1;
|
|
||||||
IUnknown *pAddrefedThisOwner;
|
|
||||||
} DDRAWI_DDRAWCLIPPER_LCL;
|
|
||||||
|
|
||||||
typedef struct _DDRAWI_DDRAWCLIPPER_GBL {
|
|
||||||
DWORD dwRefCnt;
|
|
||||||
DWORD dwFlags;
|
|
||||||
LPDDRAWI_DIRECTDRAW_GBL lpDD;
|
|
||||||
DWORD dwProcessId;
|
|
||||||
ULONG_PTR dwReserved1;
|
|
||||||
ULONG_PTR hWnd;
|
|
||||||
LPRGNDATA lpStaticClipList;
|
|
||||||
} DDRAWI_DDRAWCLIPPER_GBL;
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
typedef struct _DDRAWI_DDRAWPALETTE_INT {
|
|
||||||
LPVOID lpVtbl;
|
|
||||||
LPDDRAWI_DDRAWPALETTE_LCL lpLcl;
|
|
||||||
LPDDRAWI_DDRAWPALETTE_INT lpLink;
|
|
||||||
DWORD dwIntRefCnt;
|
|
||||||
} DDRAWI_DDRAWPALETTE_INT;
|
|
||||||
|
|
||||||
typedef struct _DDRAWI_DDRAWPALETTE_LCL {
|
|
||||||
DWORD lpPalMore;
|
|
||||||
LPDDRAWI_DDRAWPALETTE_GBL lpGbl;
|
|
||||||
ULONG_PTR dwUnused0;
|
|
||||||
DWORD dwLocalRefCnt;
|
|
||||||
IUnknown FAR *pUnkOuter;
|
|
||||||
LPDDRAWI_DIRECTDRAW_LCL lpDD_lcl;
|
|
||||||
ULONG_PTR dwReserved1;
|
|
||||||
ULONG_PTR dwDDRAWReserved1;
|
|
||||||
ULONG_PTR dwDDRAWReserved2;
|
|
||||||
ULONG_PTR dwDDRAWReserved3;
|
|
||||||
} DDRAWI_DDRAWPALETTE_LCL;
|
|
||||||
|
|
||||||
typedef struct _DDRAWI_DDRAWPALETTE_GBL {
|
|
||||||
DWORD dwRefCnt;
|
|
||||||
DWORD dwFlags;
|
|
||||||
LPDDRAWI_DIRECTDRAW_LCL lpDD_lcl;
|
|
||||||
DWORD dwProcessId;
|
|
||||||
LPPALETTEENTRY lpColorTable;
|
|
||||||
union {
|
|
||||||
ULONG_PTR dwReserved1;
|
|
||||||
HPALETTE hHELGDIPalette;
|
|
||||||
};
|
|
||||||
DWORD dwDriverReserved;
|
|
||||||
DWORD dwContentsStamp;
|
|
||||||
DWORD dwSaveStamp;
|
|
||||||
DWORD dwHandle;
|
|
||||||
} DDRAWI_DDRAWPALETTE_GBL;
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
typedef struct _DDRAWI_DDVIDEOPORT_INT {
|
|
||||||
LPVOID lpVtbl;
|
|
||||||
LPDDRAWI_DDVIDEOPORT_LCL lpLcl;
|
|
||||||
LPDDRAWI_DDVIDEOPORT_INT lpLink;
|
|
||||||
DWORD dwIntRefCnt;
|
|
||||||
DWORD dwFlags;
|
|
||||||
} DDRAWI_DDVIDEOPORT_INT;
|
|
||||||
|
|
||||||
typedef struct _DDRAWI_DDVIDEOPORT_LCL {
|
|
||||||
LPDDRAWI_DIRECTDRAW_LCL lpDD;
|
|
||||||
DDVIDEOPORTDESC ddvpDesc;
|
|
||||||
DDVIDEOPORTINFO ddvpInfo;
|
|
||||||
LPDDRAWI_DDRAWSURFACE_INT lpSurface;
|
|
||||||
LPDDRAWI_DDRAWSURFACE_INT lpVBISurface;
|
|
||||||
LPDDRAWI_DDRAWSURFACE_INT *lpFlipInts;
|
|
||||||
DWORD dwNumAutoflip;
|
|
||||||
DWORD dwProcessID;
|
|
||||||
DWORD dwStateFlags;
|
|
||||||
DWORD dwFlags;
|
|
||||||
DWORD dwRefCnt;
|
|
||||||
FLATPTR fpLastFlip;
|
|
||||||
ULONG_PTR dwReserved1;
|
|
||||||
ULONG_PTR dwReserved2;
|
|
||||||
HANDLE hDDVideoPort;
|
|
||||||
DWORD dwNumVBIAutoflip;
|
|
||||||
LPDDVIDEOPORTDESC lpVBIDesc;
|
|
||||||
LPDDVIDEOPORTDESC lpVideoDesc;
|
|
||||||
LPDDVIDEOPORTINFO lpVBIInfo;
|
|
||||||
LPDDVIDEOPORTINFO lpVideoInfo;
|
|
||||||
DWORD dwVBIProcessID;
|
|
||||||
} DDRAWI_DDVIDEOPORT_LCL;
|
|
||||||
|
|
||||||
|
|
||||||
Surface
|
|
||||||
typedef struct _DDRAWI_DDRAWSURFACE_GBL {
|
|
||||||
DWORD dwRefCnt;
|
|
||||||
DWORD dwGlobalFlags;
|
|
||||||
union {
|
|
||||||
LPACCESSRECTLIST lpRectList;
|
|
||||||
DWORD dwBlockSizeY;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
LPVMEMHEAP lpVidMemHeap;
|
|
||||||
DWORD dwBlockSizeX;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
LPDDRAWI_DIRECTDRAW_GBL lpDD;
|
|
||||||
LPVOID lpDDHandle;
|
|
||||||
};
|
|
||||||
FLATPTR fpVidMem;
|
|
||||||
union {
|
|
||||||
LONG lPitch;
|
|
||||||
DWORD dwLinearSize;
|
|
||||||
};
|
|
||||||
WORD wHeight;
|
|
||||||
WORD wWidth;
|
|
||||||
DWORD dwUsageCount;
|
|
||||||
ULONG_PTR dwReserved1;
|
|
||||||
DDPIXELFORMAT ddpfSurface;
|
|
||||||
} DDRAWI_DDRAWSURFACE_GBL;
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/* This comment info maybe is wrong
|
|
||||||
bare in mind I am using logic thinking
|
|
||||||
for follow info does not exists in MSDN
|
|
||||||
so I am drawing clude how previews stuffs
|
|
||||||
works that are document in MSDN/DDK
|
|
||||||
|
|
||||||
follow struct should exists ???
|
|
||||||
DDRAWI_DDVIDEOPORT_GBL
|
|
||||||
DDRAWI_DDGAMMACONTROL_INT
|
|
||||||
DDRAWI_DDGAMMACONTROL_LCL
|
|
||||||
DDRAWI_DDGAMMACONTROL_GBL
|
|
||||||
DDRAWI_DDCOLORCONTROL_INT
|
|
||||||
DDRAWI_DDCOLORCONTROL_LCL
|
|
||||||
DDRAWI_DDCOLORCONTROL_GBL
|
|
||||||
DDRAWI_KERNEL_INT
|
|
||||||
DDRAWI_KERNEL_LCL
|
|
||||||
DDRAWI_KERNEL_GBL
|
|
||||||
DDRAWI_DDKERNELSURFACE_INT
|
|
||||||
DDRAWI_DDKERNELSURFACE_LCL
|
|
||||||
DDRAWI_DDKERNELSURFACE_GBL
|
|
||||||
|
|
||||||
follow struct can be easy create
|
|
||||||
DDRAWI_DDGAMMACONTROL_INT
|
|
||||||
DDRAWI_DDCOLORCONTROL_INT
|
|
||||||
DDRAWI_KERNEL_INT
|
|
||||||
|
|
||||||
the DDRAWI_DDGAMMACONTROL_INT should looking like this
|
|
||||||
typedef struct _DDRAWI_DDGAMMACONTROL_INT
|
|
||||||
{
|
|
||||||
LPVOID lpVtbl;
|
|
||||||
LPDDRAWI_DDGAMMACONTROL_LCL lpLcl;
|
|
||||||
LPDDRAWI_DDGAMMACONTROL_INT lpLink;
|
|
||||||
DWORD dwIntRefCnt;
|
|
||||||
} DDRAWI_DDGAMMACONTROL_INT, *LPDDRAWI_DDGAMMACONTROL_INT
|
|
||||||
|
|
||||||
how did I got this struct I looked at all other INT struct how they where
|
|
||||||
build. But it is not 100% sure this one is right untill I/we known how
|
|
||||||
the DDRAWI_DDGAMMACONTROL_LCL works and DDRAWI_DDCOLORCONTROL_GBL
|
|
||||||
our internal struct will look like this
|
|
||||||
typedef struct _DDRAWI_DDGAMMACONTROL_INT
|
|
||||||
{
|
|
||||||
LPVOID lpVtbl;
|
|
||||||
LPVOID lpLcl;
|
|
||||||
LPVOID lpLink;
|
|
||||||
DWORD dwIntRefCnt;
|
|
||||||
} DDRAWI_DDGAMMACONTROL_INT, *LPDDRAWI_DDGAMMACONTROL_INT
|
|
||||||
|
|
||||||
same goes for DDRAWI_DDCOLORCONTROL_INT
|
|
||||||
|
|
||||||
typedef struct DDRAWI_DDCOLORCONTROL_INT
|
|
||||||
{
|
|
||||||
LPVOID lpVtbl;
|
|
||||||
LPVOID lpLcl;
|
|
||||||
LPVOID lpLink;
|
|
||||||
DWORD dwIntRefCnt;
|
|
||||||
} DDRAWI_DDCOLORCONTROL_INT, *LPDDRAWI_DDCOLORCONTROL_INT
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef struct DDRAWI_DDCOLORCONTROL_INT
|
typedef struct DDRAWI_DDCOLORCONTROL_INT
|
||||||
{
|
{
|
||||||
LPVOID lpVtbl;
|
LPVOID lpVtbl;
|
||||||
|
@ -486,7 +50,6 @@ typedef struct DDRAWI_DDCOLORCONTROL_INT
|
||||||
DWORD dwIntRefCnt;
|
DWORD dwIntRefCnt;
|
||||||
} DDRAWI_DDCOLORCONTROL_INT, *LPDDRAWI_DDCOLORCONTROL_INT;
|
} DDRAWI_DDCOLORCONTROL_INT, *LPDDRAWI_DDCOLORCONTROL_INT;
|
||||||
|
|
||||||
|
|
||||||
typedef struct _DDRAWI_DDGAMMACONTROL_INT
|
typedef struct _DDRAWI_DDGAMMACONTROL_INT
|
||||||
{
|
{
|
||||||
LPVOID lpVtbl;
|
LPVOID lpVtbl;
|
||||||
|
@ -514,10 +77,7 @@ typedef struct _DDRAWI_DDKERNELSURFACE_INT
|
||||||
/* now to real info that are for private use and are our own */
|
/* now to real info that are for private use and are our own */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*********** VTables ************/
|
/*********** VTables ************/
|
||||||
|
|
||||||
|
|
||||||
extern IDirectDrawVtbl DirectDraw_Vtable;
|
extern IDirectDrawVtbl DirectDraw_Vtable;
|
||||||
extern IDirectDraw2Vtbl DirectDraw2_Vtable;
|
extern IDirectDraw2Vtbl DirectDraw2_Vtable;
|
||||||
extern IDirectDraw4Vtbl DirectDraw4_Vtable;
|
extern IDirectDraw4Vtbl DirectDraw4_Vtable;
|
||||||
|
@ -535,75 +95,7 @@ extern IDirectDrawKernelVtbl DirectDrawKernel_Vtable;
|
||||||
extern IDirectDrawSurfaceKernelVtbl DirectDrawSurfaceKernel_Vtable;
|
extern IDirectDrawSurfaceKernelVtbl DirectDrawSurfaceKernel_Vtable;
|
||||||
|
|
||||||
/********* Prototypes **********/
|
/********* Prototypes **********/
|
||||||
HRESULT WINAPI Main_DDrawSurface_AddAttachedSurface(LPDIRECTDRAWSURFACE7 iface, LPDIRECTDRAWSURFACE7 pAttach);
|
VOID Hal_DirectDraw_Release (LPDIRECTDRAW7);
|
||||||
HRESULT WINAPI Main_DDrawSurface_AddOverlayDirtyRect(LPDIRECTDRAWSURFACE7 iface, LPRECT pRect);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_GetSurfaceDesc(LPDIRECTDRAWSURFACE7 iface, LPDDSURFACEDESC2 pDDSD);
|
|
||||||
HRESULT WINAPI Main_DirectDraw_EnumDisplayModes(LPDIRECTDRAW7 iface, DWORD dwFlags, LPDDSURFACEDESC2 pDDSD, LPVOID context, LPDDENUMMODESCALLBACK2 callback);
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_SetSurfaceDesc(LPDIRECTDRAWSURFACE7 iface, DDSURFACEDESC2 *DDSD, DWORD Flags);
|
|
||||||
|
|
||||||
|
|
||||||
HRESULT WINAPI Main_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 iface, LPDDSCAPS2 ddscaps, LPDWORD total, LPDWORD free);
|
|
||||||
|
|
||||||
|
|
||||||
VOID Hal_DirectDraw_Release (LPDIRECTDRAW7 );
|
|
||||||
HRESULT Hal_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7, LPDDSCAPS2, LPDWORD, LPDWORD );
|
|
||||||
HRESULT Hal_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7, DWORD, HANDLE );
|
|
||||||
HRESULT Hal_DirectDraw_GetScanLine(LPDIRECTDRAW7 , LPDWORD );
|
|
||||||
HRESULT Hal_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 );
|
|
||||||
HRESULT Hal_DirectDraw_SetDisplayMode (LPDIRECTDRAW7, DWORD, DWORD, DWORD, DWORD, DWORD );
|
|
||||||
HRESULT Hal_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7, LPRECT, LPDIRECTDRAWSURFACE7, LPRECT, DWORD, LPDDBLTFX );
|
|
||||||
HRESULT Hal_DDrawSurface_Lock(LPDIRECTDRAWSURFACE7 iface, LPRECT prect, LPDDSURFACEDESC2 pDDSD, DWORD flags, HANDLE event);
|
|
||||||
HRESULT Hal_DDrawSurface_Flip(LPDIRECTDRAWSURFACE7 iface, LPDIRECTDRAWSURFACE7 override, DWORD dwFlags);
|
|
||||||
HRESULT Hal_DDrawSurface_SetColorKey (LPDIRECTDRAWSURFACE7 iface, DWORD dwFlags, LPDDCOLORKEY pCKey);
|
|
||||||
HRESULT Hal_DDrawSurface_Unlock(LPDIRECTDRAWSURFACE7 iface, LPRECT pRect);
|
|
||||||
HRESULT Hal_DDrawSurface_GetBltStatus(LPDIRECTDRAWSURFACE7 iface, DWORD dwFlags);
|
|
||||||
HRESULT Hal_DDrawSurface_UpdateOverlayDisplay (LPDIRECTDRAWSURFACE7 iface, DWORD dwFlags);
|
|
||||||
|
|
||||||
HRESULT Hel_DirectDraw_Initialize (LPDIRECTDRAW7 );
|
|
||||||
HRESULT Hel_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 );
|
|
||||||
VOID Hel_DirectDraw_Release (LPDIRECTDRAW7 );
|
|
||||||
HRESULT Hel_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 , LPDDSCAPS2 ddsaps, LPDWORD , LPDWORD );
|
|
||||||
HRESULT Hel_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7, DWORD, HANDLE );
|
|
||||||
HRESULT Hel_DirectDraw_GetScanLine(LPDIRECTDRAW7 , LPDWORD );
|
|
||||||
HRESULT Hel_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 );
|
|
||||||
HRESULT Hel_DirectDraw_SetDisplayMode (LPDIRECTDRAW7 , DWORD , DWORD ,DWORD , DWORD , DWORD );
|
|
||||||
HRESULT Hel_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7, LPRECT, LPDIRECTDRAWSURFACE7, LPRECT, DWORD, LPDDBLTFX );
|
|
||||||
HRESULT Hel_DDrawSurface_Lock(LPDIRECTDRAWSURFACE7 iface, LPRECT prect, LPDDSURFACEDESC2 pDDSD, DWORD flags, HANDLE event);
|
|
||||||
HRESULT Hel_DDrawSurface_SetColorKey (LPDIRECTDRAWSURFACE7 iface, DWORD dwFlags, LPDDCOLORKEY pCKey);
|
|
||||||
HRESULT Hel_DDrawSurface_Unlock(LPDIRECTDRAWSURFACE7 iface, LPRECT pRect);
|
|
||||||
HRESULT Hel_DDrawSurface_GetBltStatus(LPDIRECTDRAWSURFACE7 iface, DWORD dwFlags);
|
|
||||||
HRESULT Hel_DDrawSurface_Flip(LPDIRECTDRAWSURFACE7 iface, LPDIRECTDRAWSURFACE7 override, DWORD dwFlags);
|
|
||||||
HRESULT Hel_DDrawSurface_UpdateOverlayDisplay (LPDIRECTDRAWSURFACE7 iface, DWORD dwFlags);
|
|
||||||
|
|
||||||
/* HEL CALLBACK */
|
|
||||||
DWORD CALLBACK HelDdDestroyDriver(LPDDHAL_DESTROYDRIVERDATA lpDestroyDriver);
|
|
||||||
DWORD CALLBACK HelDdCreateSurface(LPDDHAL_CREATESURFACEDATA lpCreateSurface);
|
|
||||||
DWORD CALLBACK HelDdSetColorKey(LPDDHAL_DRVSETCOLORKEYDATA lpSetColorKey);
|
|
||||||
DWORD CALLBACK HelDdSetMode(LPDDHAL_SETMODEDATA SetMode);
|
|
||||||
DWORD CALLBACK HelDdWaitForVerticalBlank(LPDDHAL_WAITFORVERTICALBLANKDATA lpWaitForVerticalBlank);
|
|
||||||
DWORD CALLBACK HelDdCanCreateSurface(LPDDHAL_CANCREATESURFACEDATA lpCanCreateSurface);
|
|
||||||
DWORD CALLBACK HelDdCreatePalette(LPDDHAL_CREATEPALETTEDATA lpCreatePalette);
|
|
||||||
DWORD CALLBACK HelDdGetScanLine(LPDDHAL_GETSCANLINEDATA lpGetScanLine);
|
|
||||||
DWORD CALLBACK HelDdSetExclusiveMode(LPDDHAL_SETEXCLUSIVEMODEDATA lpSetExclusiveMode);
|
|
||||||
DWORD CALLBACK HelDdFlipToGDISurface(LPDDHAL_FLIPTOGDISURFACEDATA lpFlipToGDISurface);
|
|
||||||
|
|
||||||
DWORD CALLBACK HelDdSurfAddAttachedSurface(LPDDHAL_ADDATTACHEDSURFACEDATA lpDestroySurface);
|
|
||||||
DWORD CALLBACK HelDdSurfBlt(LPDDHAL_BLTDATA lpBltData);
|
|
||||||
DWORD CALLBACK HelDdSurfDestroySurface(LPDDHAL_DESTROYSURFACEDATA lpDestroySurfaceData);
|
|
||||||
DWORD CALLBACK HelDdSurfFlip(LPDDHAL_FLIPDATA lpFlipData);
|
|
||||||
DWORD CALLBACK HelDdSurfGetBltStatus(LPDDHAL_GETBLTSTATUSDATA lpGetBltStatusData);
|
|
||||||
DWORD CALLBACK HelDdSurfGetFlipStatus(LPDDHAL_GETFLIPSTATUSDATA lpGetFlipStatusData);
|
|
||||||
DWORD CALLBACK HelDdSurfLock(LPDDHAL_LOCKDATA lpLockData);
|
|
||||||
DWORD CALLBACK HelDdSurfreserved4(DWORD *lpPtr);
|
|
||||||
DWORD CALLBACK HelDdSurfSetClipList(LPDDHAL_SETCLIPLISTDATA lpSetClipListData);
|
|
||||||
DWORD CALLBACK HelDdSurfSetColorKey(LPDDHAL_SETCOLORKEYDATA lpSetColorKeyData);
|
|
||||||
DWORD CALLBACK HelDdSurfSetOverlayPosition(LPDDHAL_SETOVERLAYPOSITIONDATA lpSetOverlayPositionData);
|
|
||||||
DWORD CALLBACK HelDdSurfSetPalette(LPDDHAL_SETPALETTEDATA lpSetPaletteData);
|
|
||||||
DWORD CALLBACK HelDdSurfUnlock(LPDDHAL_UNLOCKDATA lpUnLockData);
|
|
||||||
DWORD CALLBACK HelDdSurfUpdateOverlay(LPDDHAL_UPDATEOVERLAYDATA lpUpDateOveryLayData);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Setting for HEL should be move to ros special reg key ? */
|
/* Setting for HEL should be move to ros special reg key ? */
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue