71 FIXME(
"Implement IDirectDrawGammaControl in ddrawex.\n");
74 FIXME(
"Test IDirect3DDevice in ddrawex.\n");
77 FIXME(
"Implement IDirect3DTexture in ddrawex.\n");
102 TRACE(
"%p increasing refcount to %lu.\n", iface, refcount);
111 TRACE(
"iface %p.\n", iface);
121 TRACE(
"%p decreasing refcount to %lu.\n", iface, refcount);
126 IDirectDrawSurface4_Release(surface->
parent);
137 TRACE(
"iface %p.\n", iface);
150 return IDirectDrawSurface4_AddAttachedSurface(surface->
parent, attachment_impl->
parent);
171 return IDirectDrawSurface4_AddOverlayDirtyRect(surface->
parent,
rect);
189 TRACE(
"iface %p, dst_rect %s, src_surface %p, src_rect %s, flags %#lx, fx %p.\n",
192 return IDirectDrawSurface4_Blt(
dst->parent, dst_rect,
src ?
src->parent :
NULL, src_rect,
flags,
fx);
201 TRACE(
"iface %p, dst_rect %s, src_surface %p, src_rect %s, flags %#lx, fx %p.\n",
213 TRACE(
"iface %p, batch %p, count %lu, flags %#lx.\n", iface, batch,
count,
flags);
223 TRACE(
"iface %p, batch %p, count %lu, flags %#lx.\n", iface, batch,
count,
flags);
234 TRACE(
"iface %p, dst_x %lu, dst_y %lu, src_surface %p, src_rect %s, flags %#lx.\n",
237 return IDirectDrawSurface4_BltFast(
dst->parent, dst_x, dst_y,
247 TRACE(
"iface %p, dst_x %lu, dst_y %lu, src_surface %p, src_rect %s, flags %#lx.\n",
262 return IDirectDrawSurface4_DeleteAttachedSurface(surface->
parent,
290 TRACE(
"Returning outer surface %p for inner surface %p\n",
outer, surf);
291 IDirectDrawSurface4_AddRef(
outer);
292 IDirectDrawSurface4_Release(surf);
302 TRACE(
"iface %p, ctx %p, cb %p.\n", iface,
ctx,
cb);
322 TRACE(
"Thunking back to IDirectDrawSurface3\n");
324 IDirectDrawSurface3_Release(surf);
335 TRACE(
"iface %p, ctx %p, cb %p.\n", iface,
ctx,
cb);
348 TRACE(
"iface %p, flags %#lx, ctx %p, cb %p.\n", iface,
flags,
ctx,
cb);
361 TRACE(
"iface %p, flags %#lx, ctx %p, cb %p.\n", iface,
flags,
ctx,
cb);
394 IDirectDrawSurface4 *inner =
NULL;
399 if (
SUCCEEDED(
hr = IDirectDrawSurface4_GetAttachedSurface(surface->
parent, caps, &inner)))
403 IDirectDrawSurface4_Release(inner);
416 IDirectDrawSurface4 *surf4;
422 memset(&caps2, 0,
sizeof(caps2));
426 IDirectDrawSurface4_QueryInterface(surf4, &IID_IDirectDrawSurface3, (
void **)
attachment);
427 IDirectDrawSurface4_Release(surf4);
440 TRACE(
"iface %p, flags %#lx.\n", iface,
flags);
442 return IDirectDrawSurface4_GetBltStatus(surface->
parent,
flags);
449 TRACE(
"iface %p, flags %#lx.\n", iface,
flags);
458 TRACE(
"iface %p, caps %p.\n", iface, caps);
460 return IDirectDrawSurface4_GetCaps(surface->
parent, caps);
469 TRACE(
"iface %p, caps %p.\n", iface, caps);
471 memset(&caps2, 0,
sizeof(caps2));
472 memset(caps, 0,
sizeof(*caps));
482 TRACE(
"iface %p, clipper %p.\n", iface, clipper);
484 return IDirectDrawSurface4_GetClipper(surface->
parent, clipper);
491 TRACE(
"iface %p, clipper %p.\n", iface, clipper);
518 TRACE(
"iface %p, dc %p.\n", iface,
dc);
522 TRACE(
"Returning stored dc %p.\n", surface->
hdc);
527 return IDirectDrawSurface4_GetDC(surface->
parent,
dc);
534 TRACE(
"iface %p, dc %p.\n", iface,
dc);
543 TRACE(
"iface %p, flags %#lx.\n", iface,
flags);
545 return IDirectDrawSurface4_GetFlipStatus(surface->
parent,
flags);
552 TRACE(
"iface %p, flags %#lx.\n", iface,
flags);
561 TRACE(
"iface %p, x %p, y %p.\n", iface,
x,
y);
563 return IDirectDrawSurface4_GetOverlayPosition(surface->
parent,
x,
y);
570 TRACE(
"iface %p, x %p, y %p.\n", iface,
x,
y);
581 return IDirectDrawSurface4_GetPalette(surface->
parent,
palette);
616 TRACE(
"iface %p, desc %p.\n", iface,
desc);
622 desc->ddsCaps.dwCaps &= ~DDSCAPS_OWNDC;
634 TRACE(
"iface %p, desc %p.\n", iface,
desc);
636 memset(&ddsd2, 0,
sizeof(ddsd2));
637 ddsd2.
dwSize =
sizeof(ddsd2);
648 IDirectDraw4 *outer_DD4;
649 IDirectDraw4 *inner_DD4;
650 IDirectDraw *inner_DD;
655 IDirectDraw_QueryInterface(
ddraw, &IID_IDirectDraw4, (
void **)&outer_DD4);
657 IDirectDraw4_Release(outer_DD4);
658 IDirectDraw4_QueryInterface(inner_DD4, &IID_IDirectDraw4, (
void **)&inner_DD);
659 hr = IDirectDrawSurface4_Initialize(surface->
parent, inner_DD,
desc);
660 IDirectDraw_Release(inner_DD);
680 TRACE(
"iface %p.\n", iface);
682 return IDirectDrawSurface4_IsLost(surface->
parent);
689 TRACE(
"iface %p.\n", iface);
700 TRACE(
"iface %p, rect %s, desc %p, flags %#lx, h %p.\n",
707 desc->ddsCaps.dwCaps &= ~DDSCAPS_OWNDC;
720 TRACE(
"iface %p, rect %s, desc %p, flags %#lx, h %p.\n",
723 memset(&ddsd2, 0,
sizeof(ddsd2));
724 ddsd2.
dwSize =
sizeof(ddsd2);
735 TRACE(
"iface %p, dc %p.\n", iface,
dc);
739 TRACE(
"Surface has a permanent DC, not doing anything.\n");
743 return IDirectDrawSurface4_ReleaseDC(surface->
parent,
dc);
750 TRACE(
"iface %p, dc %p.\n", iface,
dc);
759 TRACE(
"iface %p.\n", iface);
761 return IDirectDrawSurface4_Restore(surface->
parent);
768 TRACE(
"iface %p.\n", iface);
777 TRACE(
"iface %p, clipper %p.\n", iface, clipper);
779 return IDirectDrawSurface4_SetClipper(surface->
parent, clipper);
786 TRACE(
"iface %p, clipper %p.\n", iface, clipper);
815 TRACE(
"iface %p, x %ld, y %ld.\n", iface,
x,
y);
817 return IDirectDrawSurface4_SetOverlayPosition(surface->
parent,
x,
y);
824 TRACE(
"iface %p, x %ld, y %ld.\n", iface,
x,
y);
835 return IDirectDrawSurface4_SetPalette(surface->
parent,
palette);
853 return IDirectDrawSurface4_Unlock(surface->
parent,
rect);
860 TRACE(
"iface %p, data %p.\n", iface,
data);
871 TRACE(
"iface %p, src_rect %s, dst_surface %p, dst_rect %s, flags %#lx, fx %p.\n",
874 return IDirectDrawSurface4_UpdateOverlay(src_impl->
parent, src_rect,
884 TRACE(
"iface %p, src_rect %s, dst_surface %p, dst_rect %s, flags %#lx, fx %p.\n",
895 TRACE(
"iface %p, flags %#lx.\n", iface,
flags);
897 return IDirectDrawSurface4_UpdateOverlayDisplay(surface->
parent,
flags);
904 TRACE(
"iface %p, flags %#lx.\n", iface,
flags);
917 return IDirectDrawSurface4_UpdateOverlayZOrder(surface->
parent,
935 FIXME(
"iface %p, ddraw %p stub!\n", iface,
ddraw);
947 FIXME(
"iface %p, ddraw %p stub!\n", iface,
ddraw);
960 TRACE(
"iface %p, flags %#lx.\n", iface,
flags);
962 return IDirectDrawSurface4_PageLock(surface->
parent,
flags);
969 TRACE(
"iface %p, flags %#lx.\n", iface,
flags);
978 TRACE(
"iface %p, flags %#lx.\n", iface,
flags);
980 return IDirectDrawSurface4_PageUnlock(surface->
parent,
flags);
987 TRACE(
"iface %p, flags %#lx.\n", iface,
flags);
999 return IDirectDrawSurface4_SetSurfaceDesc(surface->
parent,
desc,
flags);
1019 TRACE(
"iface %p, tag %s, data %p, data_size %lu, flags %#lx.\n",
1025 FIXME(
"Application uses ddrawex's private GUID.\n");
1027 return IDirectDrawSurface4_SetPrivateData(surface->
parent,
tag,
data, data_size,
flags);
1035 TRACE(
"iface %p, tag %s, data %p, data_size %p.\n",
1041 FIXME(
"Application uses ddrawex's private GUID.\n");
1043 return IDirectDrawSurface4_GetPrivateData(surface->
parent,
tag,
data, data_size);
1055 FIXME(
"Application uses ddrawex's private GUID.\n");
1057 return IDirectDrawSurface4_FreePrivateData(surface->
parent,
tag);
1064 TRACE(
"iface %p, value %p.\n", iface,
value);
1066 return IDirectDrawSurface4_GetUniquenessValue(surface->
parent,
value);
1073 TRACE(
"iface %p.\n", iface);
1075 return IDirectDrawSurface4_ChangeUniquenessValue(surface->
parent);
1200 if(!inner)
return NULL;
1202 hr = IDirectDrawSurface4_GetPrivateData(inner,
1210 TRACE(
"Creating new ddrawex surface wrapper for surface %p\n", inner);
1211 impl =
calloc(1,
sizeof(*impl));
1215 IDirectDrawSurface4_AddRef(inner);
1220 hr = IDirectDrawSurface4_SetPrivateData(inner,
1227 ERR(
"IDirectDrawSurface4_SetPrivateData failed\n");
1242 return IDirectDrawSurface4_ReleaseDC(surface->
parent, surface->
hdc);
#define InterlockedIncrement
#define InterlockedDecrement
static const char * wine_dbgstr_rect(const RECT *prc)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static struct ddraw_surface * impl_from_IDirectDrawSurface3(IDirectDrawSurface3 *iface)
static struct ddraw_surface * impl_from_IDirectDrawSurface4(IDirectDrawSurface4 *iface)
void DDSD_to_DDSD2(const DDSURFACEDESC *in, DDSURFACEDESC2 *out)
void DDSD2_to_DDSD(const DDSURFACEDESC2 *in, DDSURFACEDESC *out)
struct ddraw_surface * unsafe_impl_from_IDirectDrawSurface4(IDirectDrawSurface4 *iface)
static struct ddraw_surface * unsafe_impl_from_IDirectDrawSurface3(IDirectDrawSurface3 *iface)
IDirectDraw4 * dd_get_inner(IDirectDraw4 *outer)
static HRESULT WINAPI ddrawex_surface4_SetSurfaceDesc(IDirectDrawSurface4 *iface, DDSURFACEDESC2 *desc, DWORD flags)
static HRESULT WINAPI ddrawex_surface4_Initialize(IDirectDrawSurface4 *iface, IDirectDraw *ddraw, DDSURFACEDESC2 *desc)
static HRESULT WINAPI ddrawex_surface3_SetColorKey(IDirectDrawSurface3 *iface, DWORD flags, DDCOLORKEY *color_key)
static HRESULT WINAPI ddrawex_surface3_EnumAttachedSurfaces(IDirectDrawSurface3 *iface, void *ctx, LPDDENUMSURFACESCALLBACK cb)
static HRESULT WINAPI ddrawex_surface4_UpdateOverlayZOrder(IDirectDrawSurface4 *iface, DWORD flags, IDirectDrawSurface4 *reference)
static HRESULT WINAPI ddrawex_surface4_BltBatch(IDirectDrawSurface4 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags)
static HRESULT WINAPI ddrawex_surface4_GetPrivateData(IDirectDrawSurface4 *iface, REFGUID tag, void *data, DWORD *data_size)
static HRESULT WINAPI ddrawex_surface4_UpdateOverlay(IDirectDrawSurface4 *iface, RECT *src_rect, IDirectDrawSurface4 *dst_surface, RECT *dst_rect, DWORD flags, DDOVERLAYFX *fx)
static HRESULT WINAPI ddrawex_surface3_PageUnlock(IDirectDrawSurface3 *iface, DWORD flags)
static HRESULT WINAPI ddrawex_surface3_GetFlipStatus(IDirectDrawSurface3 *iface, DWORD flags)
static HRESULT WINAPI ddrawex_surface3_GetSurfaceDesc(IDirectDrawSurface3 *iface, DDSURFACEDESC *desc)
static HRESULT WINAPI ddrawex_surface3_GetPalette(IDirectDrawSurface3 *iface, IDirectDrawPalette **palette)
static ULONG WINAPI ddrawex_surface4_Release(IDirectDrawSurface4 *iface)
static HRESULT WINAPI ddrawex_surface4_FreePrivateData(IDirectDrawSurface4 *iface, REFGUID tag)
static HRESULT WINAPI ddrawex_surface3_SetClipper(IDirectDrawSurface3 *iface, IDirectDrawClipper *clipper)
static HRESULT WINAPI ddrawex_surface3_GetAttachedSurface(IDirectDrawSurface3 *iface, DDSCAPS *caps, IDirectDrawSurface3 **attachment)
static HRESULT WINAPI ddrawex_surface4_BltFast(IDirectDrawSurface4 *iface, DWORD dst_x, DWORD dst_y, IDirectDrawSurface4 *src_surface, RECT *src_rect, DWORD flags)
static HRESULT WINAPI ddrawex_surface4_GetOverlayPosition(IDirectDrawSurface4 *iface, LONG *x, LONG *y)
static HRESULT WINAPI enumsurfaces_thunk_cb(IDirectDrawSurface4 *surf, DDSURFACEDESC2 *desc2, void *vctx)
static HRESULT WINAPI ddrawex_surface4_GetSurfaceDesc(IDirectDrawSurface4 *iface, DDSURFACEDESC2 *desc)
static HRESULT WINAPI ddrawex_surface4_AddAttachedSurface(IDirectDrawSurface4 *iface, IDirectDrawSurface4 *attachment)
static HRESULT WINAPI ddrawex_surface3_EnumOverlayZOrders(IDirectDrawSurface3 *iface, DWORD flags, void *ctx, LPDDENUMSURFACESCALLBACK cb)
static HRESULT WINAPI ddrawex_surface4_SetOverlayPosition(IDirectDrawSurface4 *iface, LONG x, LONG y)
static HRESULT WINAPI ddrawex_surface3_ReleaseDC(IDirectDrawSurface3 *iface, HDC dc)
static HRESULT WINAPI ddrawex_surface4_SetPalette(IDirectDrawSurface4 *iface, IDirectDrawPalette *palette)
static HRESULT WINAPI ddrawex_surface4_Lock(IDirectDrawSurface4 *iface, RECT *rect, DDSURFACEDESC2 *desc, DWORD flags, HANDLE h)
static HRESULT WINAPI ddrawex_surface3_GetDC(IDirectDrawSurface3 *iface, HDC *dc)
static ULONG WINAPI ddrawex_surface3_AddRef(IDirectDrawSurface3 *iface)
static HRESULT WINAPI ddrawex_surface4_Flip(IDirectDrawSurface4 *iface, IDirectDrawSurface4 *dst, DWORD flags)
static HRESULT WINAPI ddrawex_surface4_Blt(IDirectDrawSurface4 *iface, RECT *dst_rect, IDirectDrawSurface4 *src_surface, RECT *src_rect, DWORD flags, DDBLTFX *fx)
static HRESULT WINAPI ddrawex_surface3_SetPalette(IDirectDrawSurface3 *iface, IDirectDrawPalette *palette)
static const IDirectDrawSurface3Vtbl ddrawex_surface3_vtbl
static HRESULT WINAPI ddrawex_surface3_Initialize(IDirectDrawSurface3 *iface, IDirectDraw *ddraw, DDSURFACEDESC *desc)
static HRESULT WINAPI ddrawex_surface3_QueryInterface(IDirectDrawSurface3 *iface, REFIID riid, void **out)
static HRESULT WINAPI ddrawex_surface4_QueryInterface(IDirectDrawSurface4 *iface, REFIID riid, void **out)
static HRESULT WINAPI ddrawex_surface3_BltFast(IDirectDrawSurface3 *iface, DWORD dst_x, DWORD dst_y, IDirectDrawSurface3 *src_surface, RECT *src_rect, DWORD flags)
static HRESULT WINAPI ddrawex_surface4_GetPalette(IDirectDrawSurface4 *iface, IDirectDrawPalette **palette)
static HRESULT WINAPI ddrawex_surface3_Lock(IDirectDrawSurface3 *iface, RECT *rect, DDSURFACEDESC *desc, DWORD flags, HANDLE h)
static HRESULT WINAPI ddrawex_surface4_GetCaps(IDirectDrawSurface4 *iface, DDSCAPS2 *caps)
static HRESULT WINAPI ddrawex_surface3_AddAttachedSurface(IDirectDrawSurface3 *iface, IDirectDrawSurface3 *attachment)
static HRESULT WINAPI ddrawex_surface4_IsLost(IDirectDrawSurface4 *iface)
static HRESULT WINAPI ddrawex_surface4_GetDC(IDirectDrawSurface4 *iface, HDC *dc)
static HRESULT WINAPI ddrawex_surface3_SetSurfaceDesc(IDirectDrawSurface3 *iface, DDSURFACEDESC *desc, DWORD flags)
IDirectDrawSurface4 * dds_get_outer(IDirectDrawSurface4 *inner)
static HRESULT WINAPI ddrawex_surface4_Restore(IDirectDrawSurface4 *iface)
static HRESULT WINAPI ddrawex_surface4_GetClipper(IDirectDrawSurface4 *iface, IDirectDrawClipper **clipper)
static HRESULT WINAPI ddrawex_surface3_BltBatch(IDirectDrawSurface3 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags)
static HRESULT WINAPI ddrawex_surface3_UpdateOverlayZOrder(IDirectDrawSurface3 *iface, DWORD flags, IDirectDrawSurface3 *reference)
static HRESULT WINAPI ddrawex_surface4_Unlock(IDirectDrawSurface4 *iface, RECT *rect)
static const IDirectDrawSurface4Vtbl ddrawex_surface4_vtbl
static HRESULT WINAPI ddrawex_surface3_GetPixelFormat(IDirectDrawSurface3 *iface, DDPIXELFORMAT *pixel_format)
static ULONG WINAPI ddrawex_surface4_AddRef(IDirectDrawSurface4 *iface)
static HRESULT WINAPI ddrawex_surface4_PageLock(IDirectDrawSurface4 *iface, DWORD flags)
static HRESULT WINAPI ddrawex_surface3_Blt(IDirectDrawSurface3 *iface, RECT *dst_rect, IDirectDrawSurface3 *src_surface, RECT *src_rect, DWORD flags, DDBLTFX *fx)
static HRESULT WINAPI ddrawex_surface4_ChangeUniquenessValue(IDirectDrawSurface4 *iface)
static HRESULT WINAPI ddrawex_surface4_GetFlipStatus(IDirectDrawSurface4 *iface, DWORD flags)
static HRESULT WINAPI ddrawex_surface4_GetColorKey(IDirectDrawSurface4 *iface, DWORD flags, DDCOLORKEY *color_key)
static HRESULT WINAPI ddrawex_surface4_DeleteAttachedSurface(IDirectDrawSurface4 *iface, DWORD flags, IDirectDrawSurface4 *attachment)
static ULONG WINAPI ddrawex_surface3_Release(IDirectDrawSurface3 *iface)
HRESULT prepare_permanent_dc(IDirectDrawSurface4 *iface)
static HRESULT WINAPI ddrawex_surface4_SetColorKey(IDirectDrawSurface4 *iface, DWORD flags, DDCOLORKEY *color_key)
static HRESULT WINAPI ddrawex_surface3_IsLost(IDirectDrawSurface3 *iface)
static HRESULT WINAPI ddrawex_surface3_Flip(IDirectDrawSurface3 *iface, IDirectDrawSurface3 *dst, DWORD flags)
static HRESULT WINAPI ddrawex_surface3_GetColorKey(IDirectDrawSurface3 *iface, DWORD flags, DDCOLORKEY *color_key)
static HRESULT WINAPI ddrawex_surface3_GetCaps(IDirectDrawSurface3 *iface, DDSCAPS *caps)
static HRESULT WINAPI ddrawex_surface3_UpdateOverlay(IDirectDrawSurface3 *iface, RECT *src_rect, IDirectDrawSurface3 *dst_surface, RECT *dst_rect, DWORD flags, DDOVERLAYFX *fx)
static HRESULT WINAPI ddrawex_surface4_GetDDInterface(IDirectDrawSurface4 *iface, void **ddraw)
static HRESULT WINAPI ddrawex_surface3_SetOverlayPosition(IDirectDrawSurface3 *iface, LONG x, LONG y)
static HRESULT WINAPI ddrawex_surface4_EnumOverlayZOrders(IDirectDrawSurface4 *iface, DWORD flags, void *ctx, LPDDENUMSURFACESCALLBACK2 cb)
static HRESULT WINAPI ddrawex_surface3_UpdateOverlayDisplay(IDirectDrawSurface3 *iface, DWORD flags)
static HRESULT WINAPI ddrawex_surface3_PageLock(IDirectDrawSurface3 *iface, DWORD flags)
static HRESULT WINAPI ddrawex_surface4_PageUnlock(IDirectDrawSurface4 *iface, DWORD flags)
static HRESULT WINAPI ddrawex_surface4_GetBltStatus(IDirectDrawSurface4 *iface, DWORD flags)
static HRESULT WINAPI ddrawex_surface4_GetPixelFormat(IDirectDrawSurface4 *iface, DDPIXELFORMAT *pixel_format)
static HRESULT WINAPI ddrawex_surface3_Unlock(IDirectDrawSurface3 *iface, void *data)
static HRESULT WINAPI enumsurfaces_wrap_cb(IDirectDrawSurface4 *surf, DDSURFACEDESC2 *desc, void *vctx)
static HRESULT WINAPI ddrawex_surface3_GetClipper(IDirectDrawSurface3 *iface, IDirectDrawClipper **clipper)
static HRESULT WINAPI ddrawex_surface3_Restore(IDirectDrawSurface3 *iface)
static HRESULT WINAPI ddrawex_surface4_EnumAttachedSurfaces(IDirectDrawSurface4 *iface, void *ctx, LPDDENUMSURFACESCALLBACK2 cb)
static HRESULT WINAPI ddrawex_surface4_SetPrivateData(IDirectDrawSurface4 *iface, REFGUID tag, void *data, DWORD data_size, DWORD flags)
static HRESULT WINAPI ddrawex_surface4_AddOverlayDirtyRect(IDirectDrawSurface4 *iface, RECT *rect)
static HRESULT WINAPI ddrawex_surface3_GetBltStatus(IDirectDrawSurface3 *iface, DWORD flags)
static HRESULT WINAPI ddrawex_surface3_DeleteAttachedSurface(IDirectDrawSurface3 *iface, DWORD flags, IDirectDrawSurface3 *attachment)
static HRESULT WINAPI ddrawex_surface4_GetUniquenessValue(IDirectDrawSurface4 *iface, DWORD *value)
static HRESULT WINAPI ddrawex_surface3_GetDDInterface(IDirectDrawSurface3 *iface, void **ddraw)
static HRESULT WINAPI ddrawex_surface4_GetAttachedSurface(IDirectDrawSurface4 *iface, DDSCAPS2 *caps, IDirectDrawSurface4 **attachment)
static HRESULT WINAPI ddrawex_surface4_UpdateOverlayDisplay(IDirectDrawSurface4 *iface, DWORD flags)
static HRESULT WINAPI ddrawex_surface3_GetOverlayPosition(IDirectDrawSurface3 *iface, LONG *x, LONG *y)
static HRESULT WINAPI ddrawex_surface4_SetClipper(IDirectDrawSurface4 *iface, IDirectDrawClipper *clipper)
static HRESULT WINAPI ddrawex_surface4_ReleaseDC(IDirectDrawSurface4 *iface, HDC dc)
static HRESULT WINAPI ddrawex_surface3_AddOverlayDirtyRect(IDirectDrawSurface3 *iface, RECT *rect)
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLfloat GLfloat GLfloat GLfloat h
D3D11_SHADER_VARIABLE_DESC desc
#define IsEqualGUID(rguid1, rguid2)
HRESULT(WINAPI * LPDDENUMSURFACESCALLBACK)(LPDIRECTDRAWSURFACE, LPDDSURFACEDESC, LPVOID)
HRESULT(WINAPI * LPDDENUMSURFACESCALLBACK2)(LPDIRECTDRAWSURFACE4, LPDDSURFACEDESC2, LPVOID)
#define DDERR_INVALIDPARAMS
#define DDSCAPS_VIDEOMEMORY
IDirectDrawSurface4 * parent
IDirectDrawSurface3 IDirectDrawSurface3_iface
IDirectDrawSurface4 IDirectDrawSurface4_iface
LPDDENUMSURFACESCALLBACK orig_cb
LPDDENUMSURFACESCALLBACK2 orig_cb
#define CONTAINING_RECORD(address, type, field)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out