1 #ifndef __DDRAW_PRIVATE
2 #define __DDRAW_PRIVATE
4 /********* Includes *********/
9 #include <ddk/ddrawi.h>
10 #include <ddk/d3dhal.h>
13 /******** Main Object ********/
17 IDirectDraw7Vtbl
* lpVtbl
;
18 IDirectDraw4Vtbl
* lpVtbl_v4
;
19 IDirectDraw2Vtbl
* lpVtbl_v2
;
20 IDirectDrawVtbl
* lpVtbl_v1
;
22 DDRAWI_DIRECTDRAW_GBL DirectDrawGlobal
;
23 DDHAL_DDMISCELLANEOUSCALLBACKS Misc2Callback
;
27 DWORD cooperative_level
;
29 int Height
, Width
, Bpp
;
35 /******** Surface Object ********/
39 IDirectDrawSurface7Vtbl
* lpVtbl
;
40 IDirectDrawSurface3Vtbl
* lpVtbl_v3
;
44 IDirectDrawImpl
* owner
;
46 } IDirectDrawSurfaceImpl
;
48 /******** Clipper Object ********/
52 IDirectDrawClipperVtbl
* lpVtbl
;
55 IDirectDrawImpl
* owner
;
57 } IDirectDrawClipperImpl
;
59 /******** Palette Object ********/
63 IDirectDrawPaletteVtbl
* lpVtbl
;
66 IDirectDrawImpl
* owner
;
68 } IDirectDrawPaletteImpl
;
70 /*********** VTables ************/
72 extern IDirectDraw7Vtbl DirectDraw7_Vtable
;
73 extern IDirectDrawVtbl DDRAW_IDirectDraw_VTable
;
74 extern IDirectDraw2Vtbl DDRAW_IDirectDraw2_VTable
;
75 extern IDirectDraw4Vtbl DDRAW_IDirectDraw4_VTable
;
77 extern IDirectDrawSurface7Vtbl DirectDrawSurface7_Vtable
;
78 extern IDirectDrawSurface3Vtbl DDRAW_IDDS3_Thunk_VTable
;
80 extern IDirectDrawPaletteVtbl DirectDrawPalette_Vtable
;
81 extern IDirectDrawClipperVtbl DirectDrawClipper_Vtable
;
82 extern IDirectDrawColorControlVtbl DirectDrawColorControl_Vtable
;
83 extern IDirectDrawGammaControlVtbl DirectDrawGammaControl_Vtable
;
85 /********* Prototypes **********/
87 HRESULT
Hal_DirectDraw_Initialize (LPDIRECTDRAW7 iface
);
88 HRESULT
Hal_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 iface
);
89 VOID
Hal_DirectDraw_Release (LPDIRECTDRAW7 iface
);
91 HRESULT
Hal_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 iface
, LPDDSCAPS2 ddscaps
,
92 LPDWORD total
, LPDWORD free
);
94 HRESULT
Hal_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7 iface
, DWORD dwFlags
,
97 HRESULT
Hal_DirectDraw_GetScanLine(LPDIRECTDRAW7 iface
, LPDWORD lpdwScanLine
);
100 HRESULT
Hel_DirectDraw_Initialize (LPDIRECTDRAW7 iface
);
101 HRESULT
Hel_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 iface
);
102 VOID
Hel_DirectDraw_Release (LPDIRECTDRAW7 iface
);
104 HRESULT
Hel_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 iface
, LPDDSCAPS2 ddscaps
,
105 LPDWORD total
, LPDWORD free
);
107 HRESULT
Hel_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7 iface
, DWORD dwFlags
,
110 HRESULT
Hel_DirectDraw_GetScanLine(LPDIRECTDRAW7 iface
, LPDWORD lpdwScanLine
);
114 /*********** Macros ***********/
117 static BOOL firstcall = TRUE; \
121 sprintf ( buffer, "Function %s is not implemented yet (%s:%d)\n", __FUNCTION__,__FILE__,__LINE__ ); \
122 OutputDebugStringA(buffer); \
125 return DDERR_UNSUPPORTED;
127 #endif /* __DDRAW_PRIVATE */