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 DDPIXELFORMAT directdraw_pixelformat
;
56 DDPIXELFORMAT screen_pixelformat
;
59 void (*pixel_convert
)(void *src
, void *dst
, DWORD width
, DWORD height
, LONG pitch
, IDirectDrawPaletteImpl
*palette
);
60 void (*palette_convert
)(LPPALETTEENTRY palent
, void *screen_palette
, DWORD start
, DWORD count
);
61 DWORD height
,width
; /* set by SetDisplayMode */
62 HWND mainWindow
; /* set by SetCooperativeLevel */
64 /* This is for the fake mainWindow */
71 /*****************************************************************************
72 * IDirectDraw implementation structure
74 * Note: All the IDirectDraw*Impl structures _MUST_ have IDENTICAL layout,
75 * since we reuse functions across interface versions.
77 struct IDirectDrawImpl
80 ICOM_VFIELD(IDirectDraw
);
82 /* IDirectDraw fields */
83 struct _common_directdrawdata d
;
86 extern HRESULT WINAPI
IDirectDrawImpl_SetDisplayMode(
87 LPDIRECTDRAW iface
,DWORD width
,DWORD height
,DWORD depth
90 * IDirectDraw2 implementation structure
92 struct IDirectDraw2Impl
95 ICOM_VFIELD(IDirectDraw2
);
98 /* IDirectDraw2 fields */
99 struct _common_directdrawdata d
;
102 extern HRESULT WINAPI
IDirectDraw2Impl_DuplicateSurface(
103 LPDIRECTDRAW2 iface
,LPDIRECTDRAWSURFACE src
,LPDIRECTDRAWSURFACE
*dst
105 extern HRESULT WINAPI
IDirectDraw2Impl_SetCooperativeLevel(
106 LPDIRECTDRAW2 iface
,HWND hwnd
,DWORD cooplevel
108 extern HRESULT WINAPI
IDirectDraw2Impl_GetCaps(
109 LPDIRECTDRAW2 iface
,LPDDCAPS caps1
,LPDDCAPS caps2
111 extern HRESULT WINAPI
IDirectDraw2Impl_CreateClipper(
112 LPDIRECTDRAW2 iface
,DWORD x
,LPDIRECTDRAWCLIPPER
*lpddclip
,LPUNKNOWN lpunk
114 extern HRESULT WINAPI
common_IDirectDraw2Impl_CreatePalette(
115 IDirectDraw2Impl
* This
,DWORD dwFlags
,LPPALETTEENTRY palent
,
116 IDirectDrawPaletteImpl
**lpddpal
,LPUNKNOWN lpunk
,int *psize
118 extern HRESULT WINAPI
IDirectDraw2Impl_CreatePalette(
119 LPDIRECTDRAW2 iface
,DWORD dwFlags
,LPPALETTEENTRY palent
,LPDIRECTDRAWPALETTE
*lpddpal
,LPUNKNOWN lpunk
121 extern HRESULT WINAPI
IDirectDraw2Impl_RestoreDisplayMode(LPDIRECTDRAW2 iface
);
122 extern HRESULT WINAPI
IDirectDraw2Impl_WaitForVerticalBlank(
123 LPDIRECTDRAW2 iface
,DWORD x
,HANDLE h
125 extern ULONG WINAPI
IDirectDraw2Impl_AddRef(LPDIRECTDRAW2 iface
);
126 extern ULONG WINAPI
IDirectDraw2Impl_Release(LPDIRECTDRAW2 iface
);
127 extern HRESULT WINAPI
IDirectDraw2Impl_QueryInterface(
128 LPDIRECTDRAW2 iface
,REFIID refiid
,LPVOID
*obj
130 extern HRESULT WINAPI
IDirectDraw2Impl_GetVerticalBlankStatus(
131 LPDIRECTDRAW2 iface
,BOOL
*status
133 extern HRESULT WINAPI
IDirectDraw2Impl_EnumDisplayModes(
134 LPDIRECTDRAW2 iface
,DWORD dwFlags
,LPDDSURFACEDESC lpddsfd
,LPVOID context
,LPDDENUMMODESCALLBACK modescb
136 extern HRESULT WINAPI
IDirectDraw2Impl_GetDisplayMode(
137 LPDIRECTDRAW2 iface
,LPDDSURFACEDESC lpddsfd
139 extern HRESULT WINAPI
IDirectDraw2Impl_FlipToGDISurface(LPDIRECTDRAW2 iface
);
140 extern HRESULT WINAPI
IDirectDraw2Impl_GetMonitorFrequency(
141 LPDIRECTDRAW2 iface
,LPDWORD freq
143 extern HRESULT WINAPI
IDirectDraw2Impl_GetFourCCCodes(
144 LPDIRECTDRAW2 iface
,LPDWORD x
,LPDWORD y
146 extern HRESULT WINAPI
IDirectDraw2Impl_EnumSurfaces(
147 LPDIRECTDRAW2 iface
,DWORD x
,LPDDSURFACEDESC ddsfd
,LPVOID context
,
148 LPDDENUMSURFACESCALLBACK ddsfcb
150 extern HRESULT WINAPI
IDirectDraw2Impl_Compact( LPDIRECTDRAW2 iface
);
151 extern HRESULT WINAPI
IDirectDraw2Impl_GetGDISurface(
152 LPDIRECTDRAW2 iface
, LPDIRECTDRAWSURFACE
*lplpGDIDDSSurface
154 extern HRESULT WINAPI
IDirectDraw2Impl_GetScanLine(
155 LPDIRECTDRAW2 iface
, LPDWORD lpdwScanLine
157 extern HRESULT WINAPI
IDirectDraw2Impl_Initialize(LPDIRECTDRAW2 iface
, GUID
*lpGUID
);
158 extern HRESULT WINAPI
IDirectDraw2Impl_SetDisplayMode(
159 LPDIRECTDRAW2 iface
,DWORD width
,DWORD height
,DWORD depth
,
160 DWORD dwRefreshRate
, DWORD dwFlags
162 extern HRESULT WINAPI
IDirectDraw2Impl_GetAvailableVidMem(
163 LPDIRECTDRAW2 iface
,LPDDSCAPS ddscaps
,LPDWORD total
,LPDWORD free
165 extern HRESULT
common_off_screen_CreateSurface(
166 IDirectDraw2Impl
* This
,IDirectDrawSurfaceImpl
* lpdsf
170 * IDirectDraw4 implementation structure
172 struct IDirectDraw4Impl
174 /* IUnknown fields */
175 ICOM_VFIELD(IDirectDraw4
);
177 /* IDirectDraw4 fields */
178 struct _common_directdrawdata d
;
181 extern HRESULT WINAPI
IDirectDraw4Impl_GetSurfaceFromDC(
182 LPDIRECTDRAW4 iface
, HDC hdc
, LPDIRECTDRAWSURFACE
*lpDDS
184 extern HRESULT WINAPI
IDirectDraw4Impl_RestoreAllSurfaces(LPDIRECTDRAW4 iface
);
185 extern HRESULT WINAPI
IDirectDraw4Impl_TestCooperativeLevel(LPDIRECTDRAW4 iface
);
186 extern HRESULT WINAPI
IDirectDraw4Impl_GetDeviceIdentifier(LPDIRECTDRAW4 iface
,
187 LPDDDEVICEIDENTIFIER lpdddi
,
191 /*****************************************************************************
192 * IDirectDrawPalette implementation structure
194 struct IDirectDrawPaletteImpl
196 /* IUnknown fields */
197 ICOM_VFIELD(IDirectDrawPalette
);
200 /* IDirectDrawPalette fields */
201 IDirectDrawImpl
* ddraw
; /* direct draw, no reference count */
202 PALETTEENTRY palents
[256];
204 /* This is to store the palette in 'screen format' */
205 int screen_palents
[256];
208 extern HRESULT WINAPI
IDirectDrawPaletteImpl_GetEntries(LPDIRECTDRAWPALETTE
,DWORD
,DWORD
,DWORD
,LPPALETTEENTRY
);
209 extern HRESULT WINAPI
IDirectDrawPaletteImpl_SetEntries(LPDIRECTDRAWPALETTE
,DWORD
,DWORD
,DWORD
,LPPALETTEENTRY
);
210 extern ULONG WINAPI
IDirectDrawPaletteImpl_Release(LPDIRECTDRAWPALETTE
);
211 extern ULONG WINAPI
IDirectDrawPaletteImpl_AddRef(LPDIRECTDRAWPALETTE
);
212 extern HRESULT WINAPI
IDirectDrawPaletteImpl_Initialize(LPDIRECTDRAWPALETTE
,LPDIRECTDRAW
,DWORD
,LPPALETTEENTRY
);
213 extern HRESULT WINAPI
IDirectDrawPaletteImpl_GetCaps(LPDIRECTDRAWPALETTE
,LPDWORD
);
214 extern HRESULT WINAPI
IDirectDrawPaletteImpl_QueryInterface(LPDIRECTDRAWPALETTE
,REFIID
,LPVOID
*);
216 extern HRESULT WINAPI
common_IDirectDraw2Impl_CreatePalette(
217 IDirectDraw2Impl
* This
,DWORD dwFlags
,LPPALETTEENTRY palent
,
218 IDirectDrawPaletteImpl
**lpddpal
,LPUNKNOWN lpunk
,int *psize
221 /*****************************************************************************
222 * IDirectDrawClipper implementation structure
224 struct IDirectDrawClipperImpl
226 /* IUnknown fields */
227 ICOM_VFIELD(IDirectDrawClipper
);
230 /* IDirectDrawClipper fields */
234 /*****************************************************************************
235 * IDirectDrawSurface implementation structure
237 struct IDirect3DTexture2Impl
;
238 struct _common_directdrawsurface
240 IDirectDrawPaletteImpl
* palette
;
241 IDirectDraw2Impl
* ddraw
;
243 struct _surface_chain
*chain
;
245 DDSURFACEDESC surface_desc
;
247 /* For Get / Release DC methods */
252 LPDIRECTDRAWCLIPPER lpClipper
;
254 /* Callback for loaded textures */
255 struct IDirect3DTexture2Impl
* texture
;
256 HRESULT
WINAPI (*SetColorKey_cb
)(struct IDirect3DTexture2Impl
*texture
, DWORD dwFlags
, LPDDCOLORKEY ckey
) ;
258 extern IDirectDrawSurface4Impl
* _common_find_flipto(IDirectDrawSurface4Impl
* This
,IDirectDrawSurface4Impl
* flipto
);
260 struct IDirectDrawSurfaceImpl
262 /* IUnknown fields */
263 ICOM_VFIELD(IDirectDrawSurface
);
266 /* IDirectDrawSurface fields */
267 struct _common_directdrawsurface s
;
271 /*****************************************************************************
272 * IDirectDrawSurface2 implementation structure
274 struct IDirectDrawSurface2Impl
276 /* IUnknown fields */
277 ICOM_VFIELD(IDirectDrawSurface2
);
279 /* IDirectDrawSurface2 fields */
280 struct _common_directdrawsurface s
;
284 /*****************************************************************************
285 * IDirectDrawSurface3 implementation structure
287 struct IDirectDrawSurface3Impl
289 /* IUnknown fields */
290 ICOM_VFIELD(IDirectDrawSurface3
);
292 /* IDirectDrawSurface3 fields */
293 struct _common_directdrawsurface s
;
297 /*****************************************************************************
298 * IDirectDrawSurface4 implementation structure
300 struct IDirectDrawSurface4Impl
302 /* IUnknown fields */
303 ICOM_VFIELD(IDirectDrawSurface4
);
306 /* IDirectDrawSurface4 fields */
307 struct _common_directdrawsurface s
;
311 struct _surface_chain
{
312 IDirectDrawSurface4Impl
**surfaces
;
315 extern HRESULT
common_off_screen_CreateSurface(IDirectDraw2Impl
* This
,IDirectDrawSurfaceImpl
* lpdsf
);
316 extern HRESULT WINAPI
IDirectDrawSurface4Impl_Lock(LPDIRECTDRAWSURFACE4 iface
,LPRECT lprect
,LPDDSURFACEDESC lpddsd
,DWORD flags
, HANDLE hnd
);
317 extern HRESULT WINAPI
IDirectDrawSurface4Impl_Unlock( LPDIRECTDRAWSURFACE4 iface
,LPVOID surface
);
318 extern HRESULT WINAPI
IDirectDrawSurface4Impl_Blt(LPDIRECTDRAWSURFACE4 iface
,LPRECT rdst
,LPDIRECTDRAWSURFACE4 src
,LPRECT rsrc
,DWORD dwFlags
,LPDDBLTFX lpbltfx
);
319 extern HRESULT WINAPI
IDirectDrawSurface4Impl_BltFast(LPDIRECTDRAWSURFACE4 iface
,DWORD dstx
,DWORD dsty
,LPDIRECTDRAWSURFACE4 src
,LPRECT rsrc
,DWORD trans
);
320 extern HRESULT WINAPI
IDirectDrawSurface4Impl_BltBatch(LPDIRECTDRAWSURFACE4 iface
,LPDDBLTBATCH ddbltbatch
,DWORD x
,DWORD y
);
321 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetCaps(LPDIRECTDRAWSURFACE4 iface
,LPDDSCAPS caps
);
322 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetSurfaceDesc(LPDIRECTDRAWSURFACE4 iface
,LPDDSURFACEDESC ddsd
);
323 extern ULONG WINAPI
IDirectDrawSurface4Impl_AddRef(LPDIRECTDRAWSURFACE4 iface
);
324 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetAttachedSurface(LPDIRECTDRAWSURFACE4 iface
,LPDDSCAPS lpddsd
,LPDIRECTDRAWSURFACE4
*lpdsf
);
325 extern HRESULT WINAPI
IDirectDrawSurface4Impl_Initialize(LPDIRECTDRAWSURFACE4 iface
,LPDIRECTDRAW ddraw
,LPDDSURFACEDESC lpdsfd
);
326 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetPixelFormat(LPDIRECTDRAWSURFACE4 iface
,LPDDPIXELFORMAT pf
);
327 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetBltStatus(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
);
328 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetOverlayPosition(LPDIRECTDRAWSURFACE4 iface
,LPLONG x1
,LPLONG x2
);
329 extern HRESULT WINAPI
IDirectDrawSurface4Impl_SetClipper(LPDIRECTDRAWSURFACE4 iface
,LPDIRECTDRAWCLIPPER lpClipper
);
330 extern HRESULT WINAPI
IDirectDrawSurface4Impl_AddAttachedSurface(LPDIRECTDRAWSURFACE4 iface
,LPDIRECTDRAWSURFACE4 surf
);
331 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetDC(LPDIRECTDRAWSURFACE4 iface
,HDC
* lphdc
);
332 extern HRESULT WINAPI
IDirectDrawSurface4Impl_ReleaseDC(LPDIRECTDRAWSURFACE4 iface
,HDC hdc
);
333 extern HRESULT WINAPI
IDirectDrawSurface4Impl_QueryInterface(LPDIRECTDRAWSURFACE4 iface
,REFIID refiid
,LPVOID
*obj
);
334 extern HRESULT WINAPI
IDirectDrawSurface4Impl_IsLost(LPDIRECTDRAWSURFACE4 iface
);
335 extern HRESULT WINAPI
IDirectDrawSurface4Impl_EnumAttachedSurfaces(LPDIRECTDRAWSURFACE4 iface
,LPVOID context
,LPDDENUMSURFACESCALLBACK esfcb
);
336 extern HRESULT WINAPI
IDirectDrawSurface4Impl_Restore(LPDIRECTDRAWSURFACE4 iface
);
337 extern HRESULT WINAPI
IDirectDrawSurface4Impl_SetColorKey(LPDIRECTDRAWSURFACE4 iface
, DWORD dwFlags
, LPDDCOLORKEY ckey
);
338 extern HRESULT WINAPI
IDirectDrawSurface4Impl_AddOverlayDirtyRect(LPDIRECTDRAWSURFACE4 iface
,LPRECT lpRect
);
339 extern HRESULT WINAPI
IDirectDrawSurface4Impl_DeleteAttachedSurface(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
,LPDIRECTDRAWSURFACE4 lpDDSAttachedSurface
);
340 extern HRESULT WINAPI
IDirectDrawSurface4Impl_EnumOverlayZOrders(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
,LPVOID lpContext
,LPDDENUMSURFACESCALLBACK lpfnCallback
);
341 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetClipper(LPDIRECTDRAWSURFACE4 iface
,LPDIRECTDRAWCLIPPER
* lplpDDClipper
);
342 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetColorKey(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
,LPDDCOLORKEY lpDDColorKey
);
343 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetFlipStatus(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
);
344 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetPalette(LPDIRECTDRAWSURFACE4 iface
,LPDIRECTDRAWPALETTE
* lplpDDPalette
);
345 extern HRESULT WINAPI
IDirectDrawSurface4Impl_SetOverlayPosition(LPDIRECTDRAWSURFACE4 iface
,LONG lX
,LONG lY
);
346 extern HRESULT WINAPI
IDirectDrawSurface4Impl_UpdateOverlay(LPDIRECTDRAWSURFACE4 iface
,LPRECT lpSrcRect
,LPDIRECTDRAWSURFACE4 lpDDDestSurface
,LPRECT lpDestRect
,DWORD dwFlags
,LPDDOVERLAYFX lpDDOverlayFx
);
347 extern HRESULT WINAPI
IDirectDrawSurface4Impl_UpdateOverlayDisplay(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
);
348 extern HRESULT WINAPI
IDirectDrawSurface4Impl_UpdateOverlayZOrder(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
,LPDIRECTDRAWSURFACE4 lpDDSReference
);
349 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetDDInterface(LPDIRECTDRAWSURFACE4 iface
,LPVOID
* lplpDD
);
350 extern HRESULT WINAPI
IDirectDrawSurface4Impl_PageLock(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
);
351 extern HRESULT WINAPI
IDirectDrawSurface4Impl_PageUnlock(LPDIRECTDRAWSURFACE4 iface
,DWORD dwFlags
);
352 extern HRESULT WINAPI
IDirectDrawSurface4Impl_SetSurfaceDesc(LPDIRECTDRAWSURFACE4 iface
,LPDDSURFACEDESC lpDDSD
,DWORD dwFlags
);
353 extern HRESULT WINAPI
IDirectDrawSurface4Impl_SetPrivateData(LPDIRECTDRAWSURFACE4 iface
,REFGUID guidTag
,LPVOID lpData
,DWORD cbSize
,DWORD dwFlags
);
354 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetPrivateData(LPDIRECTDRAWSURFACE4 iface
,REFGUID guidTag
,LPVOID lpBuffer
,LPDWORD lpcbBufferSize
);
355 extern HRESULT WINAPI
IDirectDrawSurface4Impl_FreePrivateData(LPDIRECTDRAWSURFACE4 iface
,REFGUID guidTag
);
356 extern HRESULT WINAPI
IDirectDrawSurface4Impl_GetUniquenessValue(LPDIRECTDRAWSURFACE4 iface
,LPDWORD lpValue
);
357 extern HRESULT WINAPI
IDirectDrawSurface4Impl_ChangeUniquenessValue(LPDIRECTDRAWSURFACE4 iface
);
359 extern void _common_IDirectDrawImpl_SetDisplayMode(IDirectDrawImpl
* This
);
361 /* Get DDSCAPS of surface (shortcutmacro) */
362 #define SDDSCAPS(iface) ((iface)->s.surface_desc.ddsCaps.dwCaps)
363 /* Get the number of bytes per pixel for a given surface */
364 #define PFGET_BPP(pf) (pf.dwFlags&DDPF_PALETTEINDEXED8?1:(pf.u.dwRGBBitCount/8))
365 #define GET_BPP(desc) PFGET_BPP(desc.ddpfPixelFormat)
368 unsigned short bpp
,depth
;
369 unsigned int rmask
,gmask
,bmask
;
373 void (*pixel_convert
)(void *src
, void *dst
, DWORD width
, DWORD height
, LONG pitch
, IDirectDrawPaletteImpl
* palette
);
374 void (*palette_convert
)(LPPALETTEENTRY palent
, void *screen_palette
, DWORD start
, DWORD count
);
378 ConvertMode screen
, dest
;
382 extern Convert ModeEmulations
[6];
383 extern int _common_depth_to_pixelformat(DWORD depth
,LPDIRECTDRAW ddraw
);
385 extern HRESULT
create_direct3d(LPVOID
*obj
,IDirectDraw2Impl
*);
386 extern HRESULT
create_direct3d2(LPVOID
*obj
,IDirectDraw2Impl
*);
388 /******************************************************************************
389 * Debugging / Flags output functions
391 extern void _dump_DDBLTFX(DWORD flagmask
);
392 extern void _dump_DDBLTFAST(DWORD flagmask
);
393 extern void _dump_DDBLT(DWORD flagmask
);
394 extern void _dump_DDSCAPS(void *in
);
395 extern void _dump_pixelformat_flag(DWORD flagmask
);
396 extern void _dump_paletteformat(DWORD dwFlags
);
397 extern void _dump_pixelformat(void *in
);
398 extern void _dump_colorkeyflag(DWORD ck
);
399 extern void _dump_surface_desc(DDSURFACEDESC
*lpddsd
);
400 extern void _dump_cooperativelevel(DWORD cooplevel
);
401 extern void _dump_surface_desc(DDSURFACEDESC
*lpddsd
);
402 extern void _dump_DDCOLORKEY(void *in
);
403 #endif /* __WINE_DLLS_DDRAW_DDRAW_PRIVATE_H */