14#define DTTR_SIZEOF_D3DDEVICEDESC7 224
15#define DTTR_SIZEOF_D3DMATERIAL7 76
16#define DTTR_SIZEOF_D3DLIGHT7 104
17#define DTTR_SIZEOF_D3DCLIPSTATUS 8
18#define DTTR_SIZEOF_DDPIXELFORMAT 32
19#define DTTR_SIZEOF_DDSCAPS2 16
20#define DTTR_SIZEOF_DDSURFACEDESC 108
21#define DTTR_SIZEOF_DDSURFACEDESC2 124
22#define DTTR_SIZEOF_DDDEVICEIDENTIFIER2 1084
26#define DTTR_DDBD_16 0x00000400
27#define DTTR_DDBD_32 0x00000200
30#define DTTR_DDERR_GENERIC 0x887601C2
35#define DTTR_D3DFVF_POSITION_MASK 0x400E
37#define DTTR_D3DFVF_XYZ 0x0002
38#define DTTR_D3DFVF_XYZRHW 0x0004
39#define DTTR_D3DFVF_XYZB1 0x0006
40#define DTTR_D3DFVF_XYZB2 0x0008
41#define DTTR_D3DFVF_XYZB3 0x000A
42#define DTTR_D3DFVF_XYZB4 0x000C
43#define DTTR_D3DFVF_XYZB5 0x000E
44#define DTTR_D3DFVF_XYZW 0x4002
46#define DTTR_D3DFVF_NORMAL 0x010
47#define DTTR_D3DFVF_PSIZE 0x020
48#define DTTR_D3DFVF_DIFFUSE 0x040
49#define DTTR_D3DFVF_SPECULAR 0x080
50#define DTTR_D3DFVF_TEXCOUNT_MASK 0xF00
51#define DTTR_D3DFVF_TEXCOUNT_SHIFT 8
52#define DTTR_D3DFVF_LASTBETA_UBYTE4 0x1000
53#define DTTR_D3DFVF_LASTBETA_D3DCOLOR 0x8000
57#define DTTR_D3DPT_POINTLIST 1
58#define DTTR_D3DPT_LINELIST 2
59#define DTTR_D3DPT_LINESTRIP 3
60#define DTTR_D3DPT_TRIANGLELIST 4
61#define DTTR_D3DPT_TRIANGLESTRIP 5
62#define DTTR_D3DPT_TRIANGLEFAN 6
64#define DTTR_COM_NOOP_HRESULT(fn, ...) \
65 static HRESULT __stdcall fn(__VA_ARGS__) { \
69#define DTTR_COM_ADDREF(fn, type) \
70 static ULONG __stdcall fn(type *self) { \
74#define DTTR_COM_RELEASE(fn, type) \
75 static ULONG __stdcall fn(type *self) { \
79#define DTTR_COM_QI_SELF(fn, type) \
80 static HRESULT __stdcall fn(type *self, void *riid, void **ppv) { \
86#define DTTR_COM_STUB_SET(fn, out_type, val, ...) \
87 static HRESULT __stdcall fn(__VA_ARGS__, out_type *out) { \
93#define DTTR_COM_STUB_MEMSET(fn, size, buf_type, ...) \
94 static HRESULT __stdcall fn(__VA_ARGS__, buf_type *buf) { \
96 memset(buf, 0, size); \
804 size_t *out_pixel_size
DTTR_Graphics_COM_Direct3DDevice7 void * surface
DTTR_Graphics_COM_Direct3DDevice7 DWORD block DTTR_Graphics_COM_Direct3DDevice7 DWORD block DTTR_Graphics_COM_Direct3DDevice7 void void void void * srcR
DTTR_Graphics_COM_Direct3DDevice7 * self
DTTR_Graphics_COM_Direct3DDevice7 void *status DTTR_Graphics_COM_Direct3DDevice7 DWORD DWORD void DWORD DWORD f DTTR_Graphics_COM_Direct3DDevice7 DWORD void DWORD st
DTTR_Graphics_COM_Direct3DDevice7 DWORD block DTTR_Graphics_COM_Direct3DDevice7 DWORD block DTTR_Graphics_COM_Direct3DDevice7 void void * dstPt
DTTR_Graphics_COM_Direct3DDevice7 void *status DTTR_Graphics_COM_Direct3DDevice7 DWORD DWORD void DWORD DWORD f DTTR_Graphics_COM_Direct3DDevice7 DWORD void DWORD DWORD DWORD f DTTR_Graphics_COM_Direct3DDevice7 void float * r
DTTR_Graphics_COM_Direct3DDevice7 *self DWORD DWORD fvf
DTTR_Graphics_COM_Direct3DDevice7 DWORD block DTTR_Graphics_COM_Direct3DDevice7 DWORD block DTTR_Graphics_COM_Direct3DDevice7 void void void void DWORD f BOOL
DTTR_Graphics_COM_Direct3DDevice7 void DWORD flags DWORD count
DTTR_Graphics_COM_Direct3DDevice7 void *status DTTR_Graphics_COM_Direct3DDevice7 DWORD DWORD void * d
const DTTR_BackendState * state
DTTR_Graphics_COM_Direct3DDevice7 void *status DTTR_Graphics_COM_Direct3DDevice7 DWORD DWORD void DWORD DWORD f DTTR_Graphics_COM_Direct3DDevice7 DWORD void DWORD DWORD DWORD f DTTR_Graphics_COM_Direct3DDevice7 void float DWORD DWORD f DWORD stage
DTTR_Graphics_COM_Direct3DDevice7 DWORD block DTTR_Graphics_COM_Direct3DDevice7 DWORD block DTTR_Graphics_COM_Direct3DDevice7 void * dst
const DTTR_PrimitiveType type
DTTR_Graphics_COM_Direct3DDevice7 void *status DTTR_Graphics_COM_Direct3DDevice7 DWORD DWORD void DWORD DWORD f DTTR_Graphics_COM_Direct3DDevice7 DWORD void * vb
DTTR_Graphics_COM_Direct3DDevice7 void DWORD flags DWORD void * rects
DTTR_Graphics_COM_Direct3DDevice7 void *status DTTR_Graphics_COM_Direct3DDevice7 DWORD DWORD void DWORD DWORD f DTTR_Graphics_COM_Direct3DDevice7 DWORD void DWORD DWORD DWORD f DTTR_Graphics_COM_Direct3DDevice7 void * c
DTTR_Graphics_COM_Direct3DDevice7 void DWORD flags DWORD void DWORD DWORD float z
DTTR_Graphics_COM_Direct3DDevice7 void DWORD flags DWORD void DWORD flags
DTTR_Graphics_COM_Direct3DDevice7 void *status DTTR_Graphics_COM_Direct3DDevice7 DWORD prim
DTTR_Graphics_COM_Direct3DDevice7 void *status DTTR_Graphics_COM_Direct3DDevice7 DWORD DWORD void DWORD n
DTTR_Graphics_COM_DirectDraw7 *self DWORD DWORD DWORD bpp
DTTR_Graphics_COM_DirectDraw7 DWORD void void void *cb DTTR_Graphics_COM_DirectDraw7 void * drvCaps
DTTR_Graphics_COM_DirectDraw7 *self DWORD DWORD h
DTTR_Graphics_COM_DirectDraw7 DWORD void void void *cb DTTR_Graphics_COM_DirectDraw7 void void *helCaps DWORD * num
DTTR_Graphics_COM_DirectDraw7 DWORD f
DTTR_Graphics_COM_DirectDraw7 *self DWORD DWORD DWORD DWORD hz
DTTR_Graphics_COM_DirectDraw7 DWORD void void void *cb DTTR_Graphics_COM_DirectDraw7 void void *helCaps DWORD DWORD * codes
DTTR_Graphics_COM_DirectDraw7 *self DWORD w
DTTR_Graphics_COM_DirectDraw7 DWORD void * desc
DTTR_Graphics_COM_DirectDrawSurface7 DWORD flags void DTTR_Graphics_COM_DirectDrawSurface7 *self DTTR_Graphics_COM_DirectDrawSurface7 DWORD flags DTTR_Graphics_COM_DirectDrawSurface7 void * tag
DTTR_Graphics_COM_DirectDrawSurface7 *self DWORD void * colorKey
DTTR_Graphics_COM_DirectDrawSurface7 DWORD DWORD void * srcSurf
DTTR_Graphics_COM_DirectDrawSurface7 DWORD x
DTTR_Graphics_COM_DirectDrawSurface7 DWORD DWORD void void * srcRect
DTTR_Graphics_COM_DirectDrawSurface7 DWORD DWORD y
void void DWORD HANDLE event
DTTR_Graphics_COM_DirectDrawSurface7 DWORD flags void DTTR_Graphics_COM_DirectDrawSurface7 *self DTTR_Graphics_COM_DirectDrawSurface7 DWORD flags DTTR_Graphics_COM_DirectDrawSurface7 void void * data
DTTR_Graphics_COM_DirectDrawSurface7 DWORD DWORD void void DWORD flags DTTR_Graphics_COM_DirectDrawSurface7 void void *cb void * target
DTTR_Graphics_COM_Direct3DDevice7 * dttr_graphics_com_create_direct3ddevice7()
DTTR_Graphics_COM_Direct3D7 * dttr_graphics_com_create_direct3d7()
DTTR_Graphics_COM_DirectDrawSurface7 * dttr_graphics_com_create_directdrawsurface7(uint32_t width, uint32_t height, uint32_t bpp, uint32_t r_mask, uint32_t g_mask, uint32_t b_mask, uint32_t a_mask)
DTTR_Graphics_COM_DirectDraw7 * dttr_graphics_com_create_directdraw7()
DTTR_Graphics_COM_Direct3DTexture2 * dttr_graphics_com_create_direct3d_texture2(DTTR_Graphics_COM_DirectDrawSurface7 *surface)
HRESULT dttr_graphics_com_validate_directdrawsurface7(uint32_t width, uint32_t height, uint32_t bpp, uint32_t *out_pitch, size_t *out_pixel_size)
HRESULT(* QueryInterface)(DTTR_Graphics_COM_Direct3D7 *self, void *riid, void **ppv)
HRESULT(* EvictManagedTextures)(DTTR_Graphics_COM_Direct3D7 *self)
HRESULT(* EnumDevices)(DTTR_Graphics_COM_Direct3D7 *self, void *cb, void *ctx)
HRESULT(* EnumZBufferFormats)(DTTR_Graphics_COM_Direct3D7 *self, void *guid, void *cb, void *ctx)
ULONG(* AddRef)(DTTR_Graphics_COM_Direct3D7 *self)
HRESULT(* CreateVertexBuffer)(DTTR_Graphics_COM_Direct3D7 *self, void *desc, void **vb, DWORD f)
ULONG(* Release)(DTTR_Graphics_COM_Direct3D7 *self)
HRESULT(* CreateDevice)(DTTR_Graphics_COM_Direct3D7 *self, void *guid, void *surf, void **dev)
DTTR_Graphics_COM_Direct3D7_VT * vtbl
HRESULT(* BeginStateBlock)(DTTR_Graphics_COM_Direct3DDevice7 *self)
HRESULT(* BeginScene)(DTTR_Graphics_COM_Direct3DDevice7 *self)
HRESULT(* DrawIndexedPrimitiveStrided)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD prim, DWORD fvf, void *d, DWORD vn, WORD *i, DWORD in, DWORD f)
HRESULT(* SetClipPlane)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD idx, float *plane)
HRESULT(* MultiplyTransform)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD type, void *m)
HRESULT(* CaptureStateBlock)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD block)
HRESULT(* SetTextureStageState)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD stg, DWORD t, DWORD v)
HRESULT(* SetViewport)(DTTR_Graphics_COM_Direct3DDevice7 *self, void *vp)
HRESULT(* Clear)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD n, void *rects, DWORD f, DWORD col, float z, DWORD s)
HRESULT(* SetMaterial)(DTTR_Graphics_COM_Direct3DDevice7 *self, void *mat)
HRESULT(* GetInfo)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD id, void *info, DWORD sz)
HRESULT(* EndStateBlock)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD *block)
HRESULT(* SetTexture)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD stage, void *tex)
HRESULT(* GetLight)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD idx, void *light)
HRESULT(* GetClipPlane)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD idx, float *plane)
HRESULT(* ValidateDevice)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD *passes)
HRESULT(* SetRenderState)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD state, DWORD val)
HRESULT(* ApplyStateBlock)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD block)
HRESULT(* GetClipStatus)(DTTR_Graphics_COM_Direct3DDevice7 *self, void *status)
HRESULT(* GetTexture)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD stage, void **tex)
HRESULT(* ComputeSphereVisibility)(DTTR_Graphics_COM_Direct3DDevice7 *self, void *c, float *r, DWORD n, DWORD f, DWORD *res)
HRESULT(* DrawPrimitiveVB)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD prim, void *vb, DWORD st, DWORD n, DWORD f)
HRESULT(* GetCaps)(DTTR_Graphics_COM_Direct3DDevice7 *self, void *caps)
HRESULT(* SetRenderTarget)(DTTR_Graphics_COM_Direct3DDevice7 *self, void *surf, DWORD f)
HRESULT(* SetTransform)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD type, void *mat)
HRESULT(* DrawPrimitiveStrided)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD prim, DWORD fvf, void *d, DWORD n, DWORD f)
HRESULT(* DrawPrimitive)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD prim, DWORD fvf, void *v, DWORD n, DWORD f)
HRESULT(* PreLoad)(DTTR_Graphics_COM_Direct3DDevice7 *self, void *tex)
HRESULT(* DeleteStateBlock)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD block)
HRESULT(* LightEnable)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD idx, BOOL enable)
HRESULT(* GetTextureStageState)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD stg, DWORD t, DWORD *v)
HRESULT(* GetViewport)(DTTR_Graphics_COM_Direct3DDevice7 *self, void *vp)
HRESULT(* DrawIndexedPrimitiveVB)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD prim, void *vb, DWORD st, DWORD vn, WORD *i, DWORD in, DWORD f)
HRESULT(* QueryInterface)(DTTR_Graphics_COM_Direct3DDevice7 *self, void *riid, void **ppv)
HRESULT(* SetLight)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD idx, void *light)
HRESULT(* EnumTextureFormats)(DTTR_Graphics_COM_Direct3DDevice7 *self, void *cb, void *ctx)
HRESULT(* GetTransform)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD type, void *mat)
HRESULT(* GetDirect3D)(DTTR_Graphics_COM_Direct3DDevice7 *self, void **d3d)
HRESULT(* GetRenderState)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD state, DWORD *v)
HRESULT(* GetRenderTarget)(DTTR_Graphics_COM_Direct3DDevice7 *self, void **surf)
ULONG(* AddRef)(DTTR_Graphics_COM_Direct3DDevice7 *self)
HRESULT(* SetClipStatus)(DTTR_Graphics_COM_Direct3DDevice7 *self, void *status)
HRESULT(* DrawIndexedPrimitive)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD prim, DWORD fvf, void *v, DWORD vn, WORD *i, DWORD in, DWORD f)
HRESULT(* Load)(DTTR_Graphics_COM_Direct3DDevice7 *self, void *dst, void *dstPt, void *src, void *srcR, DWORD f)
HRESULT(* EndScene)(DTTR_Graphics_COM_Direct3DDevice7 *self)
HRESULT(* GetLightEnable)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD idx, BOOL *en)
HRESULT(* GetMaterial)(DTTR_Graphics_COM_Direct3DDevice7 *self, void *mat)
HRESULT(* CreateStateBlock)(DTTR_Graphics_COM_Direct3DDevice7 *self, DWORD t, DWORD *blk)
ULONG(* Release)(DTTR_Graphics_COM_Direct3DDevice7 *self)
DTTR_Graphics_COM_Direct3DDevice7_VT * vtbl
HRESULT(* Load)(DTTR_Graphics_COM_Direct3DTexture2 *self, void *srcTexture)
HRESULT(* GetHandle)(DTTR_Graphics_COM_Direct3DTexture2 *self, void *device, DWORD *handle)
HRESULT(* QueryInterface)(DTTR_Graphics_COM_Direct3DTexture2 *self, void *riid, void **ppv)
ULONG(* Release)(DTTR_Graphics_COM_Direct3DTexture2 *self)
HRESULT(* PaletteChanged)(DTTR_Graphics_COM_Direct3DTexture2 *self, DWORD start, DWORD count)
ULONG(* AddRef)(DTTR_Graphics_COM_Direct3DTexture2 *self)
DTTR_Graphics_COM_DirectDrawSurface7 * surface
DTTR_Graphics_COM_Direct3DTexture2_VT * vtbl
HRESULT(* CreateClipper)(DTTR_Graphics_COM_DirectDraw7 *self, DWORD f, void **clip, void *outer)
HRESULT(* Compact)(DTTR_Graphics_COM_DirectDraw7 *self)
HRESULT(* GetMonitorFrequency)(DTTR_Graphics_COM_DirectDraw7 *self, DWORD *freq)
HRESULT(* GetDeviceIdentifier)(DTTR_Graphics_COM_DirectDraw7 *self, void *id, DWORD f)
HRESULT(* SetCooperativeLevel)(DTTR_Graphics_COM_DirectDraw7 *self, HWND hwnd, DWORD f)
HRESULT(* GetCaps)(DTTR_Graphics_COM_DirectDraw7 *self, void *drvCaps, void *helCaps)
HRESULT(* RestoreDisplayMode)(DTTR_Graphics_COM_DirectDraw7 *self)
HRESULT(* DuplicateSurface)(DTTR_Graphics_COM_DirectDraw7 *self, void *src, void **dst)
HRESULT(* FlipToGDISurface)(DTTR_Graphics_COM_DirectDraw7 *self)
HRESULT(* Initialize)(DTTR_Graphics_COM_DirectDraw7 *self, void *guid)
ULONG(* Release)(DTTR_Graphics_COM_DirectDraw7 *self)
HRESULT(* QueryInterface)(DTTR_Graphics_COM_DirectDraw7 *self, void *riid, void **ppv)
HRESULT(* CreateSurface)(DTTR_Graphics_COM_DirectDraw7 *self, void *desc, void **surf, void *outer)
HRESULT(* GetFourCCCodes)(DTTR_Graphics_COM_DirectDraw7 *self, DWORD *num, DWORD *codes)
HRESULT(* SetDisplayMode)(DTTR_Graphics_COM_DirectDraw7 *self, DWORD w, DWORD h, DWORD bpp, DWORD hz, DWORD f)
HRESULT(* EnumSurfaces)(DTTR_Graphics_COM_DirectDraw7 *self, DWORD f, void *desc, void *ctx, void *cb)
HRESULT(* EnumDisplayModes)(DTTR_Graphics_COM_DirectDraw7 *self, DWORD f, void *desc, void *ctx, void *cb)
HRESULT(* GetScanLine)(DTTR_Graphics_COM_DirectDraw7 *self, DWORD *line)
HRESULT(* GetGDISurface)(DTTR_Graphics_COM_DirectDraw7 *self, void **surf)
HRESULT(* TestCooperativeLevel)(DTTR_Graphics_COM_DirectDraw7 *self)
HRESULT(* GetDisplayMode)(DTTR_Graphics_COM_DirectDraw7 *self, void *desc)
HRESULT(* GetAvailableVidMem)(DTTR_Graphics_COM_DirectDraw7 *self, void *caps, DWORD *tot, DWORD *free)
ULONG(* AddRef)(DTTR_Graphics_COM_DirectDraw7 *self)
HRESULT(* WaitForVerticalBlank)(DTTR_Graphics_COM_DirectDraw7 *self, DWORD f, HANDLE evt)
HRESULT(* GetSurfaceFromDC)(DTTR_Graphics_COM_DirectDraw7 *self, HDC dc, void **surf)
HRESULT(* EvaluateMode)(DTTR_Graphics_COM_DirectDraw7 *self, DWORD f, DWORD *timeout)
HRESULT(* GetVerticalBlankStatus)(DTTR_Graphics_COM_DirectDraw7 *self, DWORD *inVB)
HRESULT(* RestoreAllSurfaces)(DTTR_Graphics_COM_DirectDraw7 *self)
HRESULT(* StartModeTest)(DTTR_Graphics_COM_DirectDraw7 *self, void *modes, DWORD n, DWORD f)
HRESULT(* CreatePalette)(DTTR_Graphics_COM_DirectDraw7 *self, DWORD f, void *colors, void **pal, void *outer)
DTTR_Graphics_COM_DirectDraw7_VT * vtbl
HRESULT(* Initialize)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *dd, void *desc)
HRESULT(* AddAttachedSurface)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *surf)
HRESULT(* PageUnlock)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD flags)
HRESULT(* SetClipper)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *clipper)
HRESULT(* PageLock)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD flags)
HRESULT(* UpdateOverlayDisplay)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD flags)
HRESULT(* SetSurfaceDesc)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *desc, DWORD flags)
HRESULT(* GetBltStatus)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD flags)
HRESULT(* AddOverlayDirtyRect)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *rect)
HRESULT(* GetDC)(DTTR_Graphics_COM_DirectDrawSurface7 *self, HDC *dc)
HRESULT(* Lock)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *rect, void *desc, DWORD flags, HANDLE event)
HRESULT(* Unlock)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *rect)
HRESULT(* GetPixelFormat)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *fmt)
HRESULT(* BltFast)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD x, DWORD y, void *srcSurf, void *srcRect, DWORD flags)
HRESULT(* FreePrivateData)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *tag)
HRESULT(* SetLOD)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD lod)
HRESULT(* SetColorKey)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD flags, void *colorKey)
HRESULT(* Restore)(DTTR_Graphics_COM_DirectDrawSurface7 *self)
HRESULT(* UpdateOverlayZOrder)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD flags, void *refSurf)
HRESULT(* Flip)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *target, DWORD flags)
HRESULT(* DeleteAttachedSurface)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD flags, void *surf)
HRESULT(* GetDDInterface)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void **dd)
HRESULT(* GetFlipStatus)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD flags)
HRESULT(* ChangeUniquenessValue)(DTTR_Graphics_COM_DirectDrawSurface7 *self)
HRESULT(* GetColorKey)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD flags, void *colorKey)
HRESULT(* QueryInterface)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *riid, void **ppv)
HRESULT(* BltBatch)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *batch, DWORD count, DWORD flags)
HRESULT(* GetPalette)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void **palette)
HRESULT(* ReleaseDC)(DTTR_Graphics_COM_DirectDrawSurface7 *self, HDC dc)
HRESULT(* GetAttachedSurface)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *caps, void **surf)
HRESULT(* UpdateOverlay)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *srcRect, void *dstSurf, void *dstRect, DWORD flags, void *fx)
HRESULT(* SetOverlayPosition)(DTTR_Graphics_COM_DirectDrawSurface7 *self, LONG x, LONG y)
HRESULT(* IsLost)(DTTR_Graphics_COM_DirectDrawSurface7 *self)
HRESULT(* GetPrivateData)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *tag, void *data, DWORD *size)
HRESULT(* SetPrivateData)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *tag, void *data, DWORD size, DWORD flags)
HRESULT(* GetSurfaceDesc)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *desc)
HRESULT(* GetUniquenessValue)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD *value)
HRESULT(* Blt)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *dstRect, void *srcSurf, void *srcRect, DWORD flags, void *bltFx)
HRESULT(* GetPriority)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD *priority)
HRESULT(* EnumOverlayZOrders)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD flags, void *ctx, void *cb)
HRESULT(* GetClipper)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void **clipper)
HRESULT(* GetCaps)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *caps)
HRESULT(* EnumAttachedSurfaces)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *ctx, void *cb)
HRESULT(* GetLOD)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD *lod)
ULONG(* AddRef)(DTTR_Graphics_COM_DirectDrawSurface7 *self)
HRESULT(* SetPalette)(DTTR_Graphics_COM_DirectDrawSurface7 *self, void *palette)
ULONG(* Release)(DTTR_Graphics_COM_DirectDrawSurface7 *self)
HRESULT(* GetOverlayPosition)(DTTR_Graphics_COM_DirectDrawSurface7 *self, LONG *x, LONG *y)
HRESULT(* SetPriority)(DTTR_Graphics_COM_DirectDrawSurface7 *self, DWORD priority)
DTTR_Graphics_COM_DirectDrawSurface7 * back_buffer
DTTR_Graphics_COM_DirectDrawSurface7_VT * vtbl
uint32_t last_upload_width
uint64_t last_upload_hash
size_t convert_rgba_capacity
uint32_t last_upload_height
DTTR_Graphics_COM_Direct3DTexture2 * texture