126 TRACE(
"%p increasing refcount to %lu.\n", iface, refcount);
135 TRACE(
"iface %p.\n", iface);
144 TRACE(
"iface %p.\n", iface);
153 TRACE(
"iface %p.\n", iface);
163 TRACE(
"%p decreasing refcount to %lu.\n", iface, refcount);
178 TRACE(
"iface %p.\n", iface);
187 TRACE(
"iface %p.\n", iface);
196 TRACE(
"iface %p.\n", iface);
205 TRACE(
"iface %p.\n", iface);
214 TRACE(
"iface %p.\n", iface);
223 TRACE(
"iface %p.\n", iface);
232 TRACE(
"iface %p.\n", iface);
238 IDirectDrawClipper **clipper,
IUnknown *outer_unknown)
242 TRACE(
"iface %p, flags %#lx, clipper %p, outer_unknown %p.\n",
243 iface,
flags, clipper, outer_unknown);
247 FIXME(
"Test and implement aggregation for ddrawex clippers.\n");
253 IDirectDrawClipper **clipper,
IUnknown *outer_unknown)
257 TRACE(
"iface %p, flags %#lx, clipper %p, outer_unknown %p.\n",
258 iface,
flags, clipper, outer_unknown);
264 IDirectDrawClipper **clipper,
IUnknown *outer_unknown)
268 TRACE(
"iface %p, flags %#lx, clipper %p, outer_unknown %p.\n",
269 iface,
flags, clipper, outer_unknown);
275 IDirectDrawClipper **clipper,
IUnknown *outer_unknown)
279 TRACE(
"iface %p, flags %#lx, clipper %p, outer_unknown %p.\n",
280 iface,
flags, clipper, outer_unknown);
290 TRACE(
"iface %p, flags %#lx, entries %p, palette %p, outer_unknown %p.\n",
295 FIXME(
"Test and implement aggregation for ddrawex palettes.\n");
305 TRACE(
"iface %p, flags %#lx, entries %p, palette %p, outer_unknown %p.\n",
316 TRACE(
"iface %p, flags %#lx, entries %p, palette %p, outer_unknown %p.\n",
327 TRACE(
"iface %p, flags %#lx, entries %p, palette %p, outer_unknown %p.\n",
334 IDirectDrawSurface4 **surface,
IUnknown *outer_unknown)
340 IDirectDrawSurface4 *inner_surface;
342 TRACE(
"iface %p, desc %p, surface %p, outer_unknown %p.\n",
343 iface,
desc, surface, outer_unknown);
347 FIXME(
"Implement aggregation for ddrawex surfaces.\n");
354 if ((
desc->ddsCaps.dwCaps & perm_dc_flags) == perm_dc_flags)
357 desc->ddsCaps.dwCaps &= ~DDSCAPS_VIDEOMEMORY;
362 permanent_dc =
FALSE;
374 IDirectDrawSurface4_Release(inner_surface);
385 out->dwSize =
sizeof(*out);
386 out->dwFlags =
in->dwFlags;
396 out->lpSurface =
in->lpSurface;
412 out->dwSize =
sizeof(*out);
413 out->dwFlags =
in->dwFlags;
423 out->lpSurface =
in->lpSurface;
435 if(
in->dwFlags &
DDSD_FVF)
WARN(
"Does not exist in DDSURFACEDESC: DDSD_FVF\n");
441 IDirectDrawSurface **surface,
IUnknown *outer_unknown)
445 IDirectDrawSurface4 *surf4 =
NULL;
448 TRACE(
"iface %p, desc %p, surface %p, outer_unknown %p.\n",
449 iface,
desc, surface, outer_unknown);
458 TRACE(
"Got surface %p\n", surf4);
459 IDirectDrawSurface4_QueryInterface(surf4, &IID_IDirectDrawSurface, (
void **)surface);
460 IDirectDrawSurface4_Release(surf4);
465 IDirectDrawSurface **surface,
IUnknown *outer_unknown)
469 TRACE(
"iface %p, desc %p, surface %p, outer_unknown %p.\n",
470 iface,
desc, surface, outer_unknown);
476 IDirectDrawSurface **surface,
IUnknown *outer_unknown)
480 TRACE(
"iface %p, desc %p, surface %p, outer_unknown %p.\n",
481 iface,
desc, surface, outer_unknown);
487 IDirectDrawSurface4 *
src, IDirectDrawSurface4 **
dst)
492 TRACE(
"iface %p, src %p, dst %p.\n", iface,
src,
dst);
493 FIXME(
"Create a wrapper surface.\n");
499 IDirectDrawSurface *
src, IDirectDrawSurface **
dst)
502 IDirectDrawSurface4 *src_4;
503 IDirectDrawSurface4 *dst_4;
506 TRACE(
"iface %p, src %p, dst %p.\n", iface,
src,
dst);
508 IDirectDrawSurface_QueryInterface(
src, &IID_IDirectDrawSurface4, (
void **)&src_4);
510 IDirectDrawSurface4_Release(src_4);
517 IDirectDrawSurface4_QueryInterface(dst_4, &IID_IDirectDrawSurface, (
void **)
dst);
518 IDirectDrawSurface4_Release(dst_4);
524 IDirectDrawSurface *
src, IDirectDrawSurface **
dst)
528 TRACE(
"iface %p, src %p, dst %p.\n", iface,
src,
dst);
534 IDirectDrawSurface *
src, IDirectDrawSurface **
dst)
538 TRACE(
"iface %p, src %p, dst %p.\n", iface,
src,
dst);
566 return ctx->orig_cb(&ddsd,
ctx->orig_ctx);
615 IDirectDrawSurface4_AddRef(
outer);
616 IDirectDrawSurface4_Release(surf4);
617 TRACE(
"Returning wrapper surface %p for enumerated inner surface %p\n",
outer, surf4);
644 IDirectDrawSurface *surf1;
648 IDirectDrawSurface4_QueryInterface(surf4, &IID_IDirectDrawSurface, (
void **) &surf1);
650 IDirectDrawSurface4_Release(surf4);
653 return ctx->orig_cb(surf1, &ddsd,
ctx->orig_ctx);
695 TRACE(
"iface %p.\n", iface);
704 TRACE(
"iface %p.\n", iface);
713 TRACE(
"iface %p.\n", iface);
722 TRACE(
"iface %p.\n", iface);
731 TRACE(
"iface %p, driver_caps %p, hel_caps %p.\n", iface, driver_caps, hel_caps);
733 return IDirectDraw4_GetCaps(
ddrawex->
parent, driver_caps, hel_caps);
740 TRACE(
"iface %p, driver_caps %p, hel_caps %p.\n", iface, driver_caps, hel_caps);
749 TRACE(
"iface %p, driver_caps %p, hel_caps %p.\n", iface, driver_caps, hel_caps);
758 TRACE(
"iface %p, driver_caps %p, hel_caps %p.\n", iface, driver_caps, hel_caps);
767 TRACE(
"iface %p, desc %p.\n", iface,
desc);
778 TRACE(
"iface %p, desc %p.\n", iface,
desc);
790 TRACE(
"iface %p, desc %p.\n", iface,
desc);
799 TRACE(
"iface %p, desc %p.\n", iface,
desc);
808 TRACE(
"iface %p, code_count %p, codes %p.\n", iface, code_count, codes);
810 return IDirectDraw4_GetFourCCCodes(
ddrawex->
parent, code_count, codes);
817 TRACE(
"iface %p, code_count %p, codes %p.\n", iface, code_count, codes);
826 TRACE(
"iface %p, code_count %p, codes %p.\n", iface, code_count, codes);
835 TRACE(
"iface %p, code_count %p, codes %p.\n", iface, code_count, codes);
843 IDirectDrawSurface4 *inner =
NULL;
846 TRACE(
"iface %p, gdi_surface %p.\n", iface, gdi_surface);
855 IDirectDrawSurface4_AddRef(*gdi_surface);
856 IDirectDrawSurface4_Release(inner);
863 IDirectDrawSurface4 *surf4;
866 TRACE(
"iface %p, gdi_surface %p.\n", iface, gdi_surface);
874 IDirectDrawSurface4_QueryInterface(surf4, &IID_IDirectDrawSurface, (
void **)gdi_surface);
875 IDirectDrawSurface4_Release(surf4);
883 TRACE(
"iface %p, gdi_surface %p.\n", iface, gdi_surface);
892 TRACE(
"iface %p, gdi_surface %p.\n", iface, gdi_surface);
937 TRACE(
"iface %p, line %p.\n", iface,
line);
946 TRACE(
"iface %p, line %p.\n", iface,
line);
955 TRACE(
"iface %p, line %p.\n", iface,
line);
964 TRACE(
"iface %p, line %p.\n", iface,
line);
1045 TRACE(
"iface %p.\n", iface);
1054 TRACE(
"iface %p.\n", iface);
1063 TRACE(
"iface %p.\n", iface);
1072 TRACE(
"iface %p.\n", iface);
1118 TRACE(
"iface %p, width %lu, height %lu, bpp %lu, refresh_rate %lu, flags %#lx.\n",
1129 TRACE(
"iface %p, width %lu, height %lu, bpp %lu, refresh_rate %lu, flags %#lx.\n",
1140 TRACE(
"iface %p, width %lu, height %lu, bpp %lu, refresh_rate %lu, flags %#lx.\n",
1197 TRACE(
"iface %p, caps %p, total %p, free %p.\n", iface, caps,
total,
free);
1208 TRACE(
"iface %p, caps %p, total %p, free %p.\n", iface, caps,
total,
free);
1210 memset(&caps2, 0,
sizeof(caps2));
1221 TRACE(
"iface %p, caps %p, total %p, free %p.\n", iface, caps,
total,
free);
1223 memset(&caps2, 0,
sizeof(caps2));
1229 HDC dc, IDirectDrawSurface4 **surface)
1233 TRACE(
"iface %p, dc %p, surface %p.\n", iface,
dc, surface);
1239 HDC dc, IDirectDrawSurface **surface)
1242 IDirectDrawSurface4 *surf4, *
outer;
1243 IDirectDrawSurface *inner;
1246 TRACE(
"iface %p, dc %p, surface %p.\n", iface,
dc, surface);
1257 hr = IDirectDrawSurface_QueryInterface(inner, &IID_IDirectDrawSurface4, (
void **)&surf4);
1258 IDirectDrawSurface_Release(inner);
1266 hr = IDirectDrawSurface4_QueryInterface(
outer, &IID_IDirectDrawSurface, (
void **)surface);
1267 IDirectDrawSurface4_Release(surf4);
1275 TRACE(
"iface %p.\n", iface);
1284 TRACE(
"iface %p.\n", iface);
1294 TRACE(
"iface %p, identifier %p, flags %#lx.\n", iface, identifier,
flags);
1422 TRACE(
"iface %p, guid %s, window %p, coop_level %#lx, reserved %#lx, outer_unknown %p, ddraw %p.\n",
1426 FIXME(
"Implement aggregation in ddrawex's IDirectDraw interface.\n");
1428 if (!(
object =
calloc(1,
sizeof(*
object))))
1439 if (
FAILED(
hr = IDirectDraw_QueryInterface(
parent, &IID_IDirectDraw4, (
void **)&
object->parent)))
1441 if (
FAILED(
hr = IDirectDraw_SetCooperativeLevel(&
object->IDirectDraw_iface,
window, coop_level)))
1445 IDirectDraw_Release(
parent);
1449 if (
object &&
object->parent)
1450 IDirectDraw4_Release(
object->parent);
1452 IDirectDraw_Release(
parent);
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
struct ddraw_surface * unsafe_impl_from_IDirectDrawSurface4(IDirectDrawSurface4 *iface)
void DDSD_to_DDSD2(const DDSURFACEDESC *in, DDSURFACEDESC2 *out)
void DDSD2_to_DDSD(const DDSURFACEDESC2 *in, DDSURFACEDESC *out)
IDirectDrawSurface4 * dds_get_outer(IDirectDrawSurface4 *inner)
HRESULT prepare_permanent_dc(IDirectDrawSurface4 *iface)
HRESULT WINAPI DirectDrawCreate(LPGUID lpGUID, LPDIRECTDRAW *lplpDD, LPUNKNOWN pUnkOuter)
static struct ddraw * impl_from_IDirectDraw(IDirectDraw *iface)
static struct ddraw * impl_from_IDirectDraw2(IDirectDraw2 *iface)
static struct ddraw * impl_from_IDirectDraw4(IDirectDraw4 *iface)
static HRESULT WINAPI ddrawex4_GetScanLine(IDirectDraw4 *iface, DWORD *line)
static HRESULT WINAPI ddrawex4_Initialize(IDirectDraw4 *iface, GUID *guid)
static HRESULT WINAPI ddrawex1_SetCooperativeLevel(IDirectDraw *iface, HWND window, DWORD flags)
static HRESULT WINAPI ddrawex4_QueryInterface(IDirectDraw4 *iface, REFIID riid, void **out)
static HRESULT WINAPI ddrawex4_GetAvailableVidMem(IDirectDraw4 *iface, DDSCAPS2 *caps, DWORD *total, DWORD *free)
static HRESULT WINAPI ddrawex4_GetVerticalBlankStatus(IDirectDraw4 *iface, BOOL *status)
static HRESULT WINAPI ddrawex3_QueryInterface(IDirectDraw3 *iface, REFIID riid, void **out)
static ULONG WINAPI ddrawex1_AddRef(IDirectDraw *iface)
static HRESULT WINAPI ddrawex2_Initialize(IDirectDraw2 *iface, GUID *guid)
static HRESULT WINAPI ddrawex3_Compact(IDirectDraw3 *iface)
static HRESULT WINAPI ddrawex4_CreatePalette(IDirectDraw4 *iface, DWORD flags, PALETTEENTRY *entries, IDirectDrawPalette **palette, IUnknown *outer_unknown)
static HRESULT WINAPI ddrawex4_GetDeviceIdentifier(IDirectDraw4 *iface, DDDEVICEIDENTIFIER *identifier, DWORD flags)
static HRESULT WINAPI ddrawex2_DuplicateSurface(IDirectDraw2 *iface, IDirectDrawSurface *src, IDirectDrawSurface **dst)
static HRESULT WINAPI ddrawex2_RestoreDisplayMode(IDirectDraw2 *iface)
static HRESULT WINAPI ddrawex2_GetVerticalBlankStatus(IDirectDraw2 *iface, BOOL *status)
static HRESULT WINAPI ddrawex3_EnumDisplayModes(IDirectDraw3 *iface, DWORD flags, DDSURFACEDESC *desc, void *ctx, LPDDENUMMODESCALLBACK cb)
static ULONG WINAPI ddrawex4_AddRef(IDirectDraw4 *iface)
static HRESULT WINAPI ddrawex2_CreateClipper(IDirectDraw2 *iface, DWORD flags, IDirectDrawClipper **clipper, IUnknown *outer_unknown)
static const IDirectDrawVtbl ddrawex1_vtbl
static HRESULT WINAPI ddrawex4_CreateClipper(IDirectDraw4 *iface, DWORD flags, IDirectDrawClipper **clipper, IUnknown *outer_unknown)
static HRESULT WINAPI ddrawex2_GetDisplayMode(IDirectDraw2 *iface, DDSURFACEDESC *desc)
static HRESULT WINAPI ddrawex1_RestoreDisplayMode(IDirectDraw *iface)
static HRESULT WINAPI ddrawex2_GetCaps(IDirectDraw2 *iface, DDCAPS *driver_caps, DDCAPS *hel_caps)
static HRESULT WINAPI ddrawex3_RestoreDisplayMode(IDirectDraw3 *iface)
static HRESULT WINAPI ddrawex3_CreateClipper(IDirectDraw3 *iface, DWORD flags, IDirectDrawClipper **clipper, IUnknown *outer_unknown)
static HRESULT WINAPI ddrawex3_GetSurfaceFromDC(IDirectDraw3 *iface, HDC dc, IDirectDrawSurface **surface)
static HRESULT WINAPI ddrawex4_GetMonitorFrequency(IDirectDraw4 *iface, DWORD *frequency)
static HRESULT WINAPI ddrawex4_FlipToGDISurface(IDirectDraw4 *iface)
static HRESULT WINAPI ddrawex1_CreatePalette(IDirectDraw *iface, DWORD flags, PALETTEENTRY *entries, IDirectDrawPalette **palette, IUnknown *outer_unknown)
static HRESULT WINAPI ddrawex2_GetMonitorFrequency(IDirectDraw2 *iface, DWORD *frequency)
static HRESULT WINAPI ddrawex2_GetGDISurface(IDirectDraw2 *iface, IDirectDrawSurface **gdi_surface)
static HRESULT WINAPI ddrawex4_GetCaps(IDirectDraw4 *iface, DDCAPS *driver_caps, DDCAPS *hel_caps)
static HRESULT WINAPI ddrawex1_EnumSurfaces(IDirectDraw *iface, DWORD flags, DDSURFACEDESC *desc, void *ctx, LPDDENUMSURFACESCALLBACK cb)
static HRESULT WINAPI ddrawex1_WaitForVerticalBlank(IDirectDraw *iface, DWORD flags, HANDLE event)
static const IDirectDraw3Vtbl ddrawex3_vtbl
static HRESULT WINAPI ddrawex4_GetDisplayMode(IDirectDraw4 *iface, DDSURFACEDESC2 *desc)
static HRESULT WINAPI ddrawex2_CreateSurface(IDirectDraw2 *iface, DDSURFACEDESC *desc, IDirectDrawSurface **surface, IUnknown *outer_unknown)
static HRESULT WINAPI ddrawex1_GetFourCCCodes(IDirectDraw *iface, DWORD *code_count, DWORD *codes)
static ULONG WINAPI ddrawex3_Release(IDirectDraw3 *iface)
static HRESULT WINAPI ddrawex2_SetCooperativeLevel(IDirectDraw2 *iface, HWND window, DWORD flags)
static HRESULT WINAPI ddrawex3_EnumSurfaces(IDirectDraw3 *iface, DWORD flags, DDSURFACEDESC *desc, void *ctx, LPDDENUMSURFACESCALLBACK cb)
static HRESULT WINAPI ddrawex4_TestCooperativeLevel(IDirectDraw4 *iface)
static HRESULT WINAPI ddrawex1_GetDisplayMode(IDirectDraw *iface, DDSURFACEDESC *desc)
static HRESULT WINAPI ddrawex4_SetDisplayMode(IDirectDraw4 *iface, DWORD width, DWORD height, DWORD bpp, DWORD refresh_rate, DWORD flags)
static HRESULT WINAPI ddrawex1_GetMonitorFrequency(IDirectDraw *iface, DWORD *frequency)
static HRESULT WINAPI ddrawex3_GetGDISurface(IDirectDraw3 *iface, IDirectDrawSurface **gdi_surface)
IDirectDraw4 * dd_get_inner(IDirectDraw4 *outer)
static const IDirectDraw4Vtbl ddrawex4_vtbl
static HRESULT WINAPI ddrawex2_SetDisplayMode(IDirectDraw2 *iface, DWORD width, DWORD height, DWORD bpp, DWORD refresh_rate, DWORD flags)
static ULONG WINAPI ddrawex3_AddRef(IDirectDraw3 *iface)
static HRESULT WINAPI ddrawex2_GetFourCCCodes(IDirectDraw2 *iface, DWORD *code_count, DWORD *codes)
static HRESULT WINAPI ddrawex1_EnumDisplayModes(IDirectDraw *iface, DWORD flags, DDSURFACEDESC *desc, void *ctx, LPDDENUMMODESCALLBACK cb)
static HRESULT WINAPI ddrawex1_QueryInterface(IDirectDraw *iface, REFIID riid, void **out)
static HRESULT WINAPI ddrawex4_RestoreAllSurfaces(IDirectDraw4 *iface)
static HRESULT WINAPI ddrawex4_WaitForVerticalBlank(IDirectDraw4 *iface, DWORD flags, HANDLE event)
static HRESULT WINAPI ddrawex2_EnumDisplayModes(IDirectDraw2 *iface, DWORD flags, DDSURFACEDESC *desc, void *ctx, LPDDENUMMODESCALLBACK cb)
static HRESULT WINAPI ddrawex1_Initialize(IDirectDraw *iface, GUID *guid)
static HRESULT WINAPI ddrawex3_CreatePalette(IDirectDraw3 *iface, DWORD flags, PALETTEENTRY *entries, IDirectDrawPalette **palette, IUnknown *outer_unknown)
static HRESULT WINAPI ddrawex2_Compact(IDirectDraw2 *iface)
static HRESULT WINAPI ddrawex2_FlipToGDISurface(IDirectDraw2 *iface)
static HRESULT WINAPI ddrawex1_Compact(IDirectDraw *iface)
static HRESULT WINAPI ddrawex4_RestoreDisplayMode(IDirectDraw4 *iface)
static HRESULT WINAPI ddrawex3_SetDisplayMode(IDirectDraw3 *iface, DWORD width, DWORD height, DWORD bpp, DWORD refresh_rate, DWORD flags)
static HRESULT WINAPI ddrawex3_GetCaps(IDirectDraw3 *iface, DDCAPS *driver_caps, DDCAPS *hel_caps)
static HRESULT WINAPI ddrawex4_CreateSurface(IDirectDraw4 *iface, DDSURFACEDESC2 *desc, IDirectDrawSurface4 **surface, IUnknown *outer_unknown)
static HRESULT WINAPI ddrawex1_SetDisplayMode(IDirectDraw *iface, DWORD width, DWORD height, DWORD bpp)
static HRESULT WINAPI ddrawex1_FlipToGDISurface(IDirectDraw *iface)
static HRESULT WINAPI ddrawex4_GetGDISurface(IDirectDraw4 *iface, IDirectDrawSurface4 **gdi_surface)
static HRESULT WINAPI ddrawex1_DuplicateSurface(IDirectDraw *iface, IDirectDrawSurface *src, IDirectDrawSurface **dst)
static HRESULT WINAPI ddrawex1_CreateSurface(IDirectDraw *iface, DDSURFACEDESC *desc, IDirectDrawSurface **surface, IUnknown *outer_unknown)
static HRESULT WINAPI ddrawex4_GetSurfaceFromDC(IDirectDraw4 *iface, HDC dc, IDirectDrawSurface4 **surface)
static HRESULT WINAPI ddrawex4_EnumSurfaces(IDirectDraw4 *iface, DWORD flags, DDSURFACEDESC2 *desc, void *ctx, LPDDENUMSURFACESCALLBACK2 cb)
static HRESULT WINAPI ddrawex2_WaitForVerticalBlank(IDirectDraw2 *iface, DWORD flags, HANDLE event)
HRESULT WINAPI ddrawex_factory_CreateDirectDraw(IDirectDrawFactory *iface, GUID *guid, HWND window, DWORD coop_level, DWORD reserved, IUnknown *outer_unknown, IDirectDraw **ddraw)
static HRESULT WINAPI ddrawex1_GetGDISurface(IDirectDraw *iface, IDirectDrawSurface **gdi_surface)
static HRESULT WINAPI ddrawex3_GetVerticalBlankStatus(IDirectDraw3 *iface, BOOL *status)
static HRESULT WINAPI ddrawex1_GetCaps(IDirectDraw *iface, DDCAPS *driver_caps, DDCAPS *hel_caps)
static HRESULT WINAPI enum_surfaces_cb2(IDirectDrawSurface4 *surf4, DDSURFACEDESC2 *ddsd2, void *vctx)
static HRESULT WINAPI ddrawex4_GetFourCCCodes(IDirectDraw4 *iface, DWORD *code_count, DWORD *codes)
static HRESULT WINAPI enum_modes_cb2(DDSURFACEDESC2 *ddsd2, void *vctx)
static HRESULT WINAPI ddrawex4_DuplicateSurface(IDirectDraw4 *iface, IDirectDrawSurface4 *src, IDirectDrawSurface4 **dst)
static HRESULT WINAPI ddrawex3_CreateSurface(IDirectDraw3 *iface, DDSURFACEDESC *desc, IDirectDrawSurface **surface, IUnknown *outer_unknown)
static ULONG WINAPI ddrawex2_AddRef(IDirectDraw2 *iface)
static HRESULT WINAPI ddrawex3_DuplicateSurface(IDirectDraw3 *iface, IDirectDrawSurface *src, IDirectDrawSurface **dst)
static HRESULT WINAPI ddrawex3_Initialize(IDirectDraw3 *iface, GUID *guid)
static HRESULT WINAPI ddrawex2_QueryInterface(IDirectDraw2 *iface, REFIID riid, void **out)
static HRESULT WINAPI ddrawex2_GetAvailableVidMem(IDirectDraw2 *iface, DDSCAPS *caps, DWORD *total, DWORD *free)
static HRESULT WINAPI ddrawex2_CreatePalette(IDirectDraw2 *iface, DWORD flags, PALETTEENTRY *entries, IDirectDrawPalette **palette, IUnknown *outer_unknown)
static HRESULT WINAPI ddrawex3_GetScanLine(IDirectDraw3 *iface, DWORD *line)
static HRESULT WINAPI ddrawex2_GetScanLine(IDirectDraw2 *iface, DWORD *line)
static HRESULT WINAPI ddrawex3_WaitForVerticalBlank(IDirectDraw3 *iface, DWORD flags, HANDLE event)
static HRESULT WINAPI ddrawex2_EnumSurfaces(IDirectDraw2 *iface, DWORD flags, DDSURFACEDESC *desc, void *ctx, LPDDENUMSURFACESCALLBACK cb)
static HRESULT WINAPI ddrawex3_GetMonitorFrequency(IDirectDraw3 *iface, DWORD *frequency)
static HRESULT WINAPI ddrawex3_GetDisplayMode(IDirectDraw3 *iface, DDSURFACEDESC *desc)
static HRESULT WINAPI enum_surfaces_wrapper(IDirectDrawSurface4 *surf4, DDSURFACEDESC2 *ddsd2, void *vctx)
static ULONG WINAPI ddrawex2_Release(IDirectDraw2 *iface)
static const IDirectDraw2Vtbl ddrawex2_vtbl
static HRESULT WINAPI ddrawex4_Compact(IDirectDraw4 *iface)
static HRESULT WINAPI ddrawex1_GetScanLine(IDirectDraw *iface, DWORD *line)
static HRESULT WINAPI ddrawex4_SetCooperativeLevel(IDirectDraw4 *iface, HWND window, DWORD flags)
static ULONG WINAPI ddrawex4_Release(IDirectDraw4 *iface)
static HRESULT WINAPI ddrawex4_EnumDisplayModes(IDirectDraw4 *iface, DWORD flags, DDSURFACEDESC2 *desc, void *ctx, LPDDENUMMODESCALLBACK2 cb)
static ULONG WINAPI ddrawex1_Release(IDirectDraw *iface)
static HRESULT WINAPI ddrawex3_SetCooperativeLevel(IDirectDraw3 *iface, HWND window, DWORD flags)
static HRESULT WINAPI ddrawex3_GetFourCCCodes(IDirectDraw3 *iface, DWORD *code_count, DWORD *codes)
static HRESULT WINAPI ddrawex1_CreateClipper(IDirectDraw *iface, DWORD flags, IDirectDrawClipper **clipper, IUnknown *outer_unknown)
static struct ddrawex * impl_from_IDirectDraw3(IDirectDraw3 *iface)
static HRESULT WINAPI ddrawex1_GetVerticalBlankStatus(IDirectDraw *iface, BOOL *status)
static HRESULT WINAPI ddrawex3_GetAvailableVidMem(IDirectDraw3 *iface, DDSCAPS *caps, DWORD *total, DWORD *free)
static HRESULT WINAPI ddrawex3_FlipToGDISurface(IDirectDraw3 *iface)
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
D3D11_SHADER_VARIABLE_DESC desc
static IHTMLWindow2 * window
static LARGE_INTEGER * frequency
#define IsEqualGUID(rguid1, rguid2)
HRESULT(WINAPI * LPDDENUMMODESCALLBACK2)(LPDDSURFACEDESC2, LPVOID)
#define DDSD_ALPHABITDEPTH
#define DDSD_TEXTURESTAGE
#define DDSD_ZBUFFERBITDEPTH
#define DDSD_CKDESTOVERLAY
HRESULT(WINAPI * LPDDENUMSURFACESCALLBACK)(LPDIRECTDRAWSURFACE, LPDDSURFACEDESC, LPVOID)
HRESULT(WINAPI * LPDDENUMSURFACESCALLBACK2)(LPDIRECTDRAWSURFACE4, LPDDSURFACEDESC2, LPVOID)
HRESULT(WINAPI * LPDDENUMMODESCALLBACK)(LPDDSURFACEDESC, LPVOID)
#define DDERR_INVALIDPARAMS
#define DDSCAPS_VIDEOMEMORY
#define DDSCAPS_SYSTEMMEMORY
#define DDSD_BACKBUFFERCOUNT
#define DDSD_CKSRCOVERLAY
IDirectDraw IDirectDraw_iface
IDirectDrawSurface4 * parent
IDirectDraw IDirectDraw_iface
IDirectDraw3 IDirectDraw3_iface
IDirectDraw2 IDirectDraw2_iface
IDirectDraw4 IDirectDraw4_iface
LPDDENUMMODESCALLBACK orig_cb
LPDDENUMSURFACESCALLBACK2 orig_cb
LPDDENUMSURFACESCALLBACK orig_cb
#define CONTAINING_RECORD(address, type, field)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out