1 #ifndef __WINE_DLLS_DDRAW_DDRAW_PRIVATE_H
2 #define __WINE_DLLS_DDRAW_DDRAW_PRIVATE_H
4 /* MAY NOT CONTAIN X11 or DGA specific includes/defines/structs! */
12 static const char WINE_UNUSED
*ddProp
= "WINE_DDRAW_Property";
14 /****************************************************************************
15 * This is the main DirectDraw driver interface. It is supposed to be called
16 * only from the base functions and only used by those. It should neither be
17 * be called nor used within the interfaces.
19 typedef struct ddraw_driver
{
20 LPGUID guid
; /*under which we are referenced and enumerated*/
21 CHAR type
[20]; /* type, usually "display" */
22 CHAR name
[40]; /* name, like "WINE Foobar DirectDraw Driver" */
23 int preference
; /* how good we are. dga might get 100, xlib 50*/
24 HRESULT (*createDDRAW
)(LPDIRECTDRAW
*); /* also check if arg is NULL */
27 extern void ddraw_register_driver(ddraw_driver
*);
29 /*****************************************************************************
30 * The implementation structures. They must not contain driver specific stuff.
32 * For private data the "LPVOID private" pointer should be used.
35 typedef struct IDirectDrawImpl IDirectDrawImpl
;
36 typedef struct IDirectDraw2Impl IDirectDraw2Impl
;
37 typedef struct IDirectDraw3Impl IDirectDraw3Impl
;
38 typedef struct IDirectDraw4Impl IDirectDraw4Impl
;
39 typedef struct IDirectDrawPaletteImpl IDirectDrawPaletteImpl
;
40 typedef struct IDirectDrawClipperImpl IDirectDrawClipperImpl
;
42 typedef struct IDirectDrawSurfaceImpl IDirectDrawSurfaceImpl
;
43 typedef struct IDirectDrawSurface2Impl IDirectDrawSurface2Impl
;
44 typedef struct IDirectDrawSurface4Impl IDirectDrawSurface4Impl
;
47 extern struct ICOM_VTABLE(IDirectDrawClipper
) ddclipvt
;
48 extern struct ICOM_VTABLE(IDirectDrawPalette
) ddraw_ddpalvt
;
50 /*****************************************************************************
51 * IDirectDraw implementation structure
53 struct _common_directdrawdata
55 int ref
; /* for this structure, only once per obj */
56 DDPIXELFORMAT directdraw_pixelformat
;
57 DDPIXELFORMAT screen_pixelformat
;
60 void (*pixel_convert
)(void *src
, void *dst
, DWORD width
, DWORD height
, LONG pitch
, IDirectDrawPaletteImpl
*palette
);
61 void (*palette_convert
)(LPPALETTEENTRY palent
, void *screen_palette
, DWORD start
, DWORD count
);
62 DWORD height
,width
; /* set by SetDisplayMode */
63 HWND mainWindow
; /* set by SetCooperativeLevel */
65 /* This is for the fake mainWindow */
73 /*****************************************************************************
74 * IDirectDraw implementation structure
76 * Note: All the IDirectDraw*Impl structures _MUST_ have IDENTICAL layout,
77 * since we reuse functions across interface versions.
79 struct IDirectDrawImpl
82 ICOM_VFIELD(IDirectDraw
);
85 /* IDirectDraw fields */
86 struct _common_directdrawdata
*d
;
89 struct IDirectDraw2Impl
92 ICOM_VFIELD(IDirectDraw2
);
95 /* IDirectDraw fields */
96 struct _common_directdrawdata
*d
;
99 extern HRESULT WINAPI
IDirectDrawImpl_SetDisplayMode(
100 LPDIRECTDRAW iface
,DWORD width
,DWORD height
,DWORD depth
103 extern HRESULT WINAPI
IDirectDraw2Impl_DuplicateSurface(
104 LPDIRECTDRAW2 iface
,LPDIRECTDRAWSURFACE src
,LPDIRECTDRAWSURFACE
*dst
106 extern HRESULT WINAPI
IDirectDraw2Impl_SetCooperativeLevel(
107 LPDIRECTDRAW2 iface
,HWND hwnd
,DWORD cooplevel
109 extern HRESULT WINAPI
IDirectDraw2Impl_GetCaps(
110 LPDIRECTDRAW2 iface
,LPDDCAPS caps1
,LPDDCAPS caps2
112 extern HRESULT WINAPI
IDirectDraw2Impl_CreateClipper(
113 LPDIRECTDRAW2 iface
,DWORD x
,LPDIRECTDRAWCLIPPER
*lpddclip
,LPUNKNOWN lpunk
115 extern HRESULT WINAPI
common_IDirectDraw2Impl_CreatePalette(
116 IDirectDraw2Impl
* This
,DWORD dwFlags
,LPPALETTEENTRY palent
,
117 IDirectDrawPaletteImpl
**lpddpal
,LPUNKNOWN lpunk
,int *psize
119 extern HRESULT WINAPI
IDirectDraw2Impl_CreatePalette(
120 LPDIRECTDRAW2 iface
,DWORD dwFlags
,LPPALETTEENTRY palent
,LPDIRECTDRAWPALETTE
*lpddpal
,LPUNKNOWN lpunk
122 extern HRESULT WINAPI
IDirectDraw2Impl_RestoreDisplayMode(LPDIRECTDRAW2 iface
);
123 extern HRESULT WINAPI
IDirectDraw2Impl_WaitForVerticalBlank(
124 LPDIRECTDRAW2 iface
,DWORD x
,HANDLE h
126 extern ULONG WINAPI
IDirectDraw2Impl_AddRef(LPDIRECTDRAW2 iface
);
127 extern ULONG WINAPI
IDirectDraw2Impl_Release(LPDIRECTDRAW2 iface
);
128 extern HRESULT WINAPI
IDirectDraw2Impl_QueryInterface(
129 LPDIRECTDRAW2 iface
,REFIID refiid
,LPVOID
*obj
131 extern HRESULT WINAPI
IDirectDraw2Impl_GetVerticalBlankStatus(
132 LPDIRECTDRAW2 iface
,BOOL
*status
134 extern HRESULT WINAPI
IDirectDraw2Impl_EnumDisplayModes(
135 LPDIRECTDRAW2 iface
,DWORD dwFlags
,LPDDSURFACEDESC lpddsfd
,LPVOID context
,LPDDENUMMODESCALLBACK modescb
137 extern HRESULT WINAPI
IDirectDraw2Impl_GetDisplayMode(
138 LPDIRECTDRAW2 iface
,LPDDSURFACEDESC lpddsfd
140 extern HRESULT WINAPI
IDirectDraw2Impl_FlipToGDISurface(LPDIRECTDRAW2 iface
);
141 extern HRESULT WINAPI
IDirectDraw2Impl_GetMonitorFrequency(
142 LPDIRECTDRAW2 iface
,LPDWORD freq
144 extern HRESULT WINAPI
IDirectDraw2Impl_GetFourCCCodes(
145 LPDIRECTDRAW2 iface
,LPDWORD x
,LPDWORD y
147 extern HRESULT WINAPI
IDirectDraw2Impl_EnumSurfaces(
148 LPDIRECTDRAW2 iface
,DWORD x
,LPDDSURFACEDESC ddsfd
,LPVOID context
,
149 LPDDENUMSURFACESCALLBACK ddsfcb
151 extern HRESULT WINAPI
IDirectDraw2Impl_Compact( LPDIRECTDRAW2 iface
);
152 extern HRESULT WINAPI
IDirectDraw2Impl_GetGDISurface(
153 LPDIRECTDRAW2 iface
, LPDIRECTDRAWSURFACE
*lplpGDIDDSSurface
155 extern HRESULT WINAPI
IDirectDraw2Impl_GetScanLine(
156 LPDIRECTDRAW2 iface
, LPDWORD lpdwScanLine
158 extern HRESULT WINAPI
IDirectDraw2Impl_Initialize(LPDIRECTDRAW2 iface
, GUID
*lpGUID
);
159 extern HRESULT WINAPI
IDirectDraw2Impl_SetDisplayMode(
160 LPDIRECTDRAW2 iface
,DWORD width
,DWORD height
,DWORD depth
,
161 DWORD dwRefreshRate
, DWORD dwFlags
163 extern HRESULT WINAPI
IDirectDraw2Impl_GetAvailableVidMem(
164 LPDIRECTDRAW2 iface
,LPDDSCAPS ddscaps
,LPDWORD total
,LPDWORD free
166 extern HRESULT
common_off_screen_CreateSurface(
167 IDirectDraw2Impl
* This
,IDirectDrawSurfaceImpl
* lpdsf
171 * IDirectDraw4 implementation structure
173 struct IDirectDraw4Impl
175 /* IUnknown fields */
176 ICOM_VFIELD(IDirectDraw4
);
178 /* IDirectDraw4 fields */
179 struct _common_directdrawdata
*d
;
182 extern HRESULT WINAPI
IDirectDraw4Impl_GetSurfaceFromDC(
183 LPDIRECTDRAW4 iface
, HDC hdc
, LPDIRECTDRAWSURFACE
*lpDDS
185 extern HRESULT WINAPI
IDirectDraw4Impl_RestoreAllSurfaces(LPDIRECTDRAW4 iface
);
186 extern HRESULT WINAPI
IDirectDraw4Impl_TestCooperativeLevel(LPDIRECTDRAW4 iface
);
187 extern HRESULT WINAPI
IDirectDraw4Impl_GetDeviceIdentifier(LPDIRECTDRAW4 iface
,
188 LPDDDEVICEIDENTIFIER lpdddi
,
192 /*****************************************************************************
193 * IDirectDrawPalette implementation structure
195 struct IDirectDrawPaletteImpl
197 /* IUnknown fields */
198 ICOM_VFIELD(IDirectDrawPalette
);
201 /* IDirectDrawPalette fields */
202 IDirectDrawImpl
* ddraw
; /* direct draw, no reference count */
203 PALETTEENTRY palents
[256];
205 /* This is to store the palette in 'screen format' */
206 int screen_palents
[256];
209 extern HRESULT WINAPI
IDirectDrawPaletteImpl_GetEntries(LPDIRECTDRAWPALETTE
,DWORD
,DWORD
,DWORD
,LPPALETTEENTRY
);
210 extern HRESULT WINAPI
IDirectDrawPaletteImpl_SetEntries(LPDIRECTDRAWPALETTE
,DWORD
,DWORD
,DWORD
,LPPALETTEENTRY
);
211 extern ULONG WINAPI
IDirectDrawPaletteImpl_Release(LPDIRECTDRAWPALETTE
);
212 extern ULONG WINAPI
IDirectDrawPaletteImpl_AddRef(LPDIRECTDRAWPALETTE
);
213 extern HRESULT WINAPI
IDirectDrawPaletteImpl_Initialize(LPDIRECTDRAWPALETTE
,LPDIRECTDRAW
,DWORD
,LPPALETTEENTRY
);
214 extern HRESULT WINAPI
IDirectDrawPaletteImpl_GetCaps(LPDIRECTDRAWPALETTE
,LPDWORD
);
215 extern HRESULT WINAPI
IDirectDrawPaletteImpl_QueryInterface(LPDIRECTDRAWPALETTE
,REFIID
,LPVOID
*);
217 extern HRESULT WINAPI
common_IDirectDraw2Impl_CreatePalette(
218 IDirectDraw2Impl
* This
,DWORD dwFlags
,LPPALETTEENTRY palent
,
219 IDirectDrawPaletteImpl
**lpddpal
,LPUNKNOWN lpunk
,int *psize
222 /*****************************************************************************
223 * IDirectDrawClipper implementation structure
225 struct IDirectDrawClipperImpl
227 /* IUnknown fields */
228 ICOM_VFIELD(IDirectDrawClipper
);
231 /* IDirectDrawClipper fields */
235 /*****************************************************************************
236 * IDirectDrawSurface implementation structure
238 struct IDirect3DTexture2Impl
;
239 struct _common_directdrawsurface
241 IDirectDrawPaletteImpl
* palette
;
242 IDirectDraw2Impl
* ddraw
;
244 struct _surface_chain
*chain
;
246 DDSURFACEDESC surface_desc
;
248 /* For Get / Release DC methods */
253 LPDIRECTDRAWCLIPPER lpClipper
;
255 /* Callback for loaded textures */
256 struct IDirect3DTexture2Impl
* texture
;
257 HRESULT
WINAPI (*SetColorKey_cb
)(struct IDirect3DTexture2Impl
*texture
, DWORD dwFlags
, LPDDCOLORKEY ckey
) ;
259 extern IDirectDrawSurface4Impl
* _common_find_flipto(IDirectDrawSurface4Impl
* This
,IDirectDrawSurface4Impl
* flipto
);
261 struct IDirectDrawSurfaceImpl
263 /* IUnknown fields */
264 ICOM_VFIELD(IDirectDrawSurface
);
267 /* IDirectDrawSurface fields */
268 struct _common_directdrawsurface s
;
272 /*****************************************************************************
273 * IDirectDrawSurface2 implementation structure
275 struct IDirectDrawSurface2Impl
277 /* IUnknown fields */
278 ICOM_VFIELD(IDirectDrawSurface2
);
280 /* IDirectDrawSurface2 fields */
281 struct _common_directdrawsurface s
;
285 /*****************************************************************************
286 * IDirectDrawSurface3 implementation structure
288 struct IDirectDrawSurface3Impl
290 /* IUnknown fields */
291 ICOM_VFIELD(IDirectDrawSurface3
);
293 /* IDirectDrawSurface3 fields */
294 struct _common_directdrawsurface s
;
298 /*****************************************************************************
299 * IDirectDrawSurface4 implementation structure
301 struct IDirectDrawSurface4Impl
303 /* IUnknown fields */
304 ICOM_VFIELD(IDirectDrawSurface4
);
307 /* IDirectDrawSurface4 fields */
308 struct _common_directdrawsurface s
;
312 struct _surface_chain
{
313 IDirectDrawSurface4Impl
**surfaces
;
316 extern HRESULT
common_off_screen_CreateSurface(IDirectDraw2Impl
* This
,IDirectDrawSurfaceImpl
* lpdsf
);
317 extern HRESULT WINAPI
IDirectDrawSurface4Impl_Lock(LPDIRECTDRAWSURFACE4 iface
,LPRECT lprect
,LPDDSURFACEDESC lpddsd
,DWORD flags
, HANDLE hnd
);
318 extern HRESULT WINAPI
IDirectDrawSurface4Impl_Unlock( LPDIRECTDRAWSURFACE4 iface
,LPVOID surface
);
319 extern HRESULT WINAPI
IDirectDrawSurface4Impl_Blt(LPDIRECTDRAWSURFACE4 iface
,LPRECT rdst
,LPDIRECTDRAWSURFACE4 src
,LPRECT rsrc
,DWORD dwFlags
,LPDDBLTFX lpbltfx
);
320 extern HRESULT WINAPI
IDirectDrawSurface4Impl_BltFast(LPDIRECTDRAWSURFACE4 iface
,DWORD dstx
,DWORD dsty
,LPDIRECTDRAWSURFACE4 src
,LPRECT rsrc
,DWORD trans
);
321 extern HRESULT WINAPI
IDirectDrawSurface4Impl_BltBatch(LPDIRECTDRAWSURFACE4 iface
,LPDDBLTBATCH ddbltbatch
,DWORD x
,DWORD y
);
322 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetCaps(LPDIRECTDRAWSURFACE4 iface
,LPDDSCAPS caps
);
323 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetSurfaceDesc(LPDIRECTDRAWSURFACE4 iface
,LPDDSURFACEDESC ddsd
);
324 extern ULONG WINAPI
IDirectDrawSurface4Impl_AddRef(LPDIRECTDRAWSURFACE4 iface
);
325 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetAttachedSurface(LPDIRECTDRAWSURFACE4 iface
,LPDDSCAPS lpddsd
,LPDIRECTDRAWSURFACE4
*lpdsf
);
326 extern HRESULT WINAPI
IDirectDrawSurface4Impl_Initialize(LPDIRECTDRAWSURFACE4 iface
,LPDIRECTDRAW ddraw
,LPDDSURFACEDESC lpdsfd
);
327 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetPixelFormat(LPDIRECTDRAWSURFACE4 iface
,LPDDPIXELFORMAT pf
);
328 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetBltStatus(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
);
329 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetOverlayPosition(LPDIRECTDRAWSURFACE4 iface
,LPLONG x1
,LPLONG x2
);
330 extern HRESULT WINAPI
IDirectDrawSurface4Impl_SetClipper(LPDIRECTDRAWSURFACE4 iface
,LPDIRECTDRAWCLIPPER lpClipper
);
331 extern HRESULT WINAPI
IDirectDrawSurface4Impl_AddAttachedSurface(LPDIRECTDRAWSURFACE4 iface
,LPDIRECTDRAWSURFACE4 surf
);
332 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetDC(LPDIRECTDRAWSURFACE4 iface
,HDC
* lphdc
);
333 extern HRESULT WINAPI
IDirectDrawSurface4Impl_ReleaseDC(LPDIRECTDRAWSURFACE4 iface
,HDC hdc
);
334 extern HRESULT WINAPI
IDirectDrawSurface4Impl_QueryInterface(LPDIRECTDRAWSURFACE4 iface
,REFIID refiid
,LPVOID
*obj
);
335 extern HRESULT WINAPI
IDirectDrawSurface4Impl_IsLost(LPDIRECTDRAWSURFACE4 iface
);
336 extern HRESULT WINAPI
IDirectDrawSurface4Impl_EnumAttachedSurfaces(LPDIRECTDRAWSURFACE4 iface
,LPVOID context
,LPDDENUMSURFACESCALLBACK esfcb
);
337 extern HRESULT WINAPI
IDirectDrawSurface4Impl_Restore(LPDIRECTDRAWSURFACE4 iface
);
338 extern HRESULT WINAPI
IDirectDrawSurface4Impl_SetColorKey(LPDIRECTDRAWSURFACE4 iface
, DWORD dwFlags
, LPDDCOLORKEY ckey
);
339 extern HRESULT WINAPI
IDirectDrawSurface4Impl_AddOverlayDirtyRect(LPDIRECTDRAWSURFACE4 iface
,LPRECT lpRect
);
340 extern HRESULT WINAPI
IDirectDrawSurface4Impl_DeleteAttachedSurface(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
,LPDIRECTDRAWSURFACE4 lpDDSAttachedSurface
);
341 extern HRESULT WINAPI
IDirectDrawSurface4Impl_EnumOverlayZOrders(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
,LPVOID lpContext
,LPDDENUMSURFACESCALLBACK lpfnCallback
);
342 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetClipper(LPDIRECTDRAWSURFACE4 iface
,LPDIRECTDRAWCLIPPER
* lplpDDClipper
);
343 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetColorKey(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
,LPDDCOLORKEY lpDDColorKey
);
344 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetFlipStatus(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
);
345 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetPalette(LPDIRECTDRAWSURFACE4 iface
,LPDIRECTDRAWPALETTE
* lplpDDPalette
);
346 extern HRESULT WINAPI
IDirectDrawSurface4Impl_SetOverlayPosition(LPDIRECTDRAWSURFACE4 iface
,LONG lX
,LONG lY
);
347 extern HRESULT WINAPI
IDirectDrawSurface4Impl_UpdateOverlay(LPDIRECTDRAWSURFACE4 iface
,LPRECT lpSrcRect
,LPDIRECTDRAWSURFACE4 lpDDDestSurface
,LPRECT lpDestRect
,DWORD dwFlags
,LPDDOVERLAYFX lpDDOverlayFx
);
348 extern HRESULT WINAPI
IDirectDrawSurface4Impl_UpdateOverlayDisplay(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
);
349 extern HRESULT WINAPI
IDirectDrawSurface4Impl_UpdateOverlayZOrder(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
,LPDIRECTDRAWSURFACE4 lpDDSReference
);
350 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetDDInterface(LPDIRECTDRAWSURFACE4 iface
,LPVOID
* lplpDD
);
351 extern HRESULT WINAPI
IDirectDrawSurface4Impl_PageLock(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
);
352 extern HRESULT WINAPI
IDirectDrawSurface4Impl_PageUnlock(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
);
353 extern HRESULT WINAPI
IDirectDrawSurface4Impl_SetSurfaceDesc(LPDIRECTDRAWSURFACE4 iface
,LPDDSURFACEDESC lpDDSD
,DWORD dwFlags
);
354 extern HRESULT WINAPI
IDirectDrawSurface4Impl_SetPrivateData(LPDIRECTDRAWSURFACE4 iface
,REFGUID guidTag
,LPVOID lpData
,DWORD cbSize
,DWORD dwFlags
);
355 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetPrivateData(LPDIRECTDRAWSURFACE4 iface
,REFGUID guidTag
,LPVOID lpBuffer
,LPDWORD lpcbBufferSize
);
356 extern HRESULT WINAPI
IDirectDrawSurface4Impl_FreePrivateData(LPDIRECTDRAWSURFACE4 iface
,REFGUID guidTag
);
357 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetUniquenessValue(LPDIRECTDRAWSURFACE4 iface
,LPDWORD lpValue
);
358 extern HRESULT WINAPI
IDirectDrawSurface4Impl_ChangeUniquenessValue(LPDIRECTDRAWSURFACE4 iface
);
360 extern void _common_IDirectDrawImpl_SetDisplayMode(IDirectDrawImpl
* This
);
362 /* Get DDSCAPS of surface (shortcutmacro) */
363 #define SDDSCAPS(iface) ((iface)->s.surface_desc.ddsCaps.dwCaps)
364 /* Get the number of bytes per pixel for a given surface */
365 #define PFGET_BPP(pf) (pf.dwFlags&DDPF_PALETTEINDEXED8?1:((pf.u.dwRGBBitCount+7)/8))
366 #define GET_BPP(desc) PFGET_BPP(desc.ddpfPixelFormat)
369 unsigned short bpp
,depth
;
370 unsigned int rmask
,gmask
,bmask
;
374 void (*pixel_convert
)(void *src
, void *dst
, DWORD width
, DWORD height
, LONG pitch
, IDirectDrawPaletteImpl
* palette
);
375 void (*palette_convert
)(LPPALETTEENTRY palent
, void *screen_palette
, DWORD start
, DWORD count
);
379 ConvertMode screen
, dest
;
383 extern Convert ModeEmulations
[6];
384 extern int _common_depth_to_pixelformat(DWORD depth
,LPDIRECTDRAW ddraw
);
386 extern HRESULT
create_direct3d(LPVOID
*obj
,IDirectDraw2Impl
*);
387 extern HRESULT
create_direct3d2(LPVOID
*obj
,IDirectDraw2Impl
*);
388 extern HRESULT
create_direct3d3(LPVOID
*obj
,IDirectDraw2Impl
*);
390 /******************************************************************************
391 * Debugging / Flags output functions
393 extern void _dump_DDBLTFX(DWORD flagmask
);
394 extern void _dump_DDBLTFAST(DWORD flagmask
);
395 extern void _dump_DDBLT(DWORD flagmask
);
396 extern void _dump_DDSCAPS(void *in
);
397 extern void _dump_pixelformat_flag(DWORD flagmask
);
398 extern void _dump_paletteformat(DWORD dwFlags
);
399 extern void _dump_pixelformat(void *in
);
400 extern void _dump_colorkeyflag(DWORD ck
);
401 extern void _dump_surface_desc(DDSURFACEDESC
*lpddsd
);
402 extern void _dump_cooperativelevel(DWORD cooplevel
);
403 extern void _dump_surface_desc(DDSURFACEDESC
*lpddsd
);
404 extern void _dump_DDCOLORKEY(void *in
);
405 #endif /* __WINE_DLLS_DDRAW_DDRAW_PRIVATE_H */