refactoring
This commit is contained in:
parent
95afd87656
commit
baaa87b18f
62 changed files with 7231 additions and 6636 deletions
369
src/IDirectDraw/IDirectDraw.c
Normal file
369
src/IDirectDraw/IDirectDraw.c
Normal file
|
@ -0,0 +1,369 @@
|
|||
#include <initguid.h>
|
||||
#include "IDirectDraw.h"
|
||||
#include "dd.h"
|
||||
#include "ddclipper.h"
|
||||
#include "ddpalette.h"
|
||||
#include "ddsurface.h"
|
||||
#include "debug.h"
|
||||
|
||||
|
||||
HRESULT __stdcall IDirectDraw__QueryInterface(IDirectDrawImpl* This, REFIID riid, void** obj)
|
||||
{
|
||||
dprintf("-> %s(This=%p, riid=%08X, obj=%p)\n", __FUNCTION__, This, (unsigned int)riid, obj);
|
||||
HRESULT ret = DDERR_UNSUPPORTED;
|
||||
|
||||
if (riid)
|
||||
{
|
||||
if (IsEqualGUID(&IID_IDirectDraw2, riid) ||
|
||||
IsEqualGUID(&IID_IDirectDraw4, riid) ||
|
||||
IsEqualGUID(&IID_IDirectDraw7, riid))
|
||||
{
|
||||
dprintf(" GUID = %08X (IID_IDirectDrawX)\n", ((GUID*)riid)->Data1);
|
||||
|
||||
IDirectDrawImpl* dd = (IDirectDrawImpl*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectDrawImpl));
|
||||
dd->lpVtbl = &g_dd_vtblx;
|
||||
|
||||
*obj = dd;
|
||||
IDirectDraw_AddRef(dd);
|
||||
ret = S_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
dprintf(" GUID = %08X\n", ((GUID*)riid)->Data1);
|
||||
}
|
||||
|
||||
ret = S_OK;
|
||||
}
|
||||
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ULONG __stdcall IDirectDraw__AddRef(IDirectDrawImpl* This)
|
||||
{
|
||||
dprintf("-> %s(This=%p)\n", __FUNCTION__, This);
|
||||
ULONG ret = ++This->ref;
|
||||
ULONG glob_ref = dd_AddRef();
|
||||
dprintf("<- %s(This ref=%u, global ref=%u)\n", __FUNCTION__, ret, glob_ref);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ULONG __stdcall IDirectDraw__Release(IDirectDrawImpl* This)
|
||||
{
|
||||
dprintf("-> %s(This=%p)\n", __FUNCTION__, This);
|
||||
|
||||
ULONG ret = --This->ref;
|
||||
|
||||
if (This->ref == 0)
|
||||
{
|
||||
dprintf(" Released (%p)\n", This);
|
||||
HeapFree(GetProcessHeap(), 0, This);
|
||||
}
|
||||
|
||||
ULONG glob_ref = dd_Release();
|
||||
|
||||
dprintf("<- %s(This ref=%u, global ref=%u)\n", __FUNCTION__, ret, glob_ref);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__Compact(IDirectDrawImpl* This)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__CreateClipper(IDirectDrawImpl* This, DWORD dwFlags, LPDIRECTDRAWCLIPPER FAR* lplpDDClipper, IUnknown FAR* pUnkOuter)
|
||||
{
|
||||
dprintf("-> %s(This=%p, dwFlags=%08X, DDClipper=%p, unkOuter=%p)\n", __FUNCTION__, This, (int)dwFlags, lplpDDClipper, pUnkOuter);
|
||||
HRESULT ret = dd_CreateClipper(dwFlags, lplpDDClipper, pUnkOuter);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__CreatePalette(IDirectDrawImpl* This, DWORD dwFlags, LPPALETTEENTRY lpDDColorArray, LPDIRECTDRAWPALETTE FAR* lpDDPalette, IUnknown FAR* unkOuter)
|
||||
{
|
||||
dprintf("-> %s(This=%p, dwFlags=%08X, DDColorArray=%p, DDPalette=%p, unkOuter=%p)\n", __FUNCTION__, This, (int)dwFlags, lpDDColorArray, lpDDPalette, unkOuter);
|
||||
HRESULT ret = dd_CreatePalette(dwFlags, lpDDColorArray, lpDDPalette, unkOuter);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__CreateSurface(IDirectDrawImpl* This, LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSURFACE FAR* lpDDSurface, IUnknown FAR* unkOuter)
|
||||
{
|
||||
dprintf("-> %s(This=%p, lpDDSurfaceDesc=%p, lpDDSurface=%p, unkOuter=%p)\n", __FUNCTION__, This, lpDDSurfaceDesc, lpDDSurface, unkOuter);
|
||||
HRESULT ret = dd_CreateSurface(lpDDSurfaceDesc, lpDDSurface, unkOuter);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__DuplicateSurface(IDirectDrawImpl* This, LPDIRECTDRAWSURFACE src, LPDIRECTDRAWSURFACE* dest)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__EnumDisplayModes(IDirectDrawImpl* This, DWORD dwFlags, LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK lpEnumModesCallback)
|
||||
{
|
||||
dprintf("-> %s(This=%p, dwFlags=%08X, lpDDSurfaceDesc=%p, lpContext=%p, lpEnumModesCallback=%p)\n", __FUNCTION__, This, (unsigned int)dwFlags, lpDDSurfaceDesc, lpContext, lpEnumModesCallback);
|
||||
HRESULT ret = dd_EnumDisplayModes(dwFlags, lpDDSurfaceDesc, lpContext, lpEnumModesCallback);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__EnumSurfaces(IDirectDrawImpl* This, DWORD a, LPDDSURFACEDESC b, LPVOID c, LPDDENUMSURFACESCALLBACK d)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__FlipToGDISurface(IDirectDrawImpl* This)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__GetCaps(IDirectDrawImpl* This, LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDEmulCaps)
|
||||
{
|
||||
dprintf("-> %s(This=%p, lpDDDriverCaps=%p, lpDDEmulCaps=%p)\n", __FUNCTION__, This, lpDDDriverCaps, lpDDEmulCaps);
|
||||
HRESULT ret = dd_GetCaps(lpDDDriverCaps, lpDDEmulCaps);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__GetDisplayMode(IDirectDrawImpl* This, LPDDSURFACEDESC a)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DDERR_UNSUPPORTEDMODE;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__GetFourCCCodes(IDirectDrawImpl* This, LPDWORD a, LPDWORD b)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__GetGDISurface(IDirectDrawImpl* This, LPDIRECTDRAWSURFACE* a)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__GetMonitorFrequency(IDirectDrawImpl* This, LPDWORD a)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__GetScanLine(IDirectDrawImpl* This, LPDWORD a)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__GetVerticalBlankStatus(IDirectDrawImpl* This, LPBOOL lpbIsInVB)
|
||||
{
|
||||
dprintf("-> %s(This=%p, lpbIsInVB=%p)\n", __FUNCTION__, This, lpbIsInVB);
|
||||
HRESULT ret = dd_GetVerticalBlankStatus(lpbIsInVB);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__Initialize(IDirectDrawImpl* This, GUID* a)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__RestoreDisplayMode(IDirectDrawImpl* This)
|
||||
{
|
||||
dprintf("-> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = dd_RestoreDisplayMode();
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__SetCooperativeLevel(IDirectDrawImpl* This, HWND hwnd, DWORD dwFlags)
|
||||
{
|
||||
dprintf("-> %s(This=%p, hwnd=0x%08X, dwFlags=0x%08X)\n", __FUNCTION__, This, (unsigned int)hwnd, (unsigned int)dwFlags);
|
||||
HRESULT ret = dd_SetCooperativeLevel(hwnd, dwFlags);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__SetDisplayMode(IDirectDrawImpl* This, DWORD width, DWORD height, DWORD bpp)
|
||||
{
|
||||
dprintf("-> %s(This=%p, width=%d, height=%d, bpp=%d)\n", __FUNCTION__, This, (unsigned int)width, (unsigned int)height, (unsigned int)bpp);
|
||||
HRESULT ret = dd_SetDisplayMode(width, height, bpp);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__SetDisplayModeX(IDirectDrawImpl* This, DWORD width, DWORD height, DWORD bpp, DWORD refreshRate, DWORD flags)
|
||||
{
|
||||
dprintf("-> %s(This=%p, width=%d, height=%d, bpp=%d, refreshRate=%d, flags=%d)\n", __FUNCTION__, This, (unsigned int)width, (unsigned int)height, (unsigned int)bpp, (unsigned int)refreshRate, (unsigned int)flags);
|
||||
HRESULT ret = dd_SetDisplayMode(width, height, bpp);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__WaitForVerticalBlank(IDirectDrawImpl* This, DWORD dwFlags, HANDLE h)
|
||||
{
|
||||
dprintfex("-> %s(This=%p, flags=%08X, handle=%p)\n", __FUNCTION__, This, dwFlags, h);
|
||||
HRESULT ret = dd_WaitForVerticalBlank(dwFlags, h);
|
||||
dprintfex("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__GetAvailableVidMem(IDirectDrawImpl* This, void* lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree)
|
||||
{
|
||||
dprintf("-> %s(This=%p, lpDDCaps=%p, lpdwTotal=%p, lpdwFree=%p)\n", __FUNCTION__, This, lpDDCaps, lpdwTotal, lpdwFree);
|
||||
HRESULT ret = dd_GetAvailableVidMem(lpDDCaps, lpdwTotal, lpdwFree);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__GetSurfaceFromDC(IDirectDrawImpl* This, HDC hdc, void* lplpDDSurface)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DDERR_GENERIC;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__RestoreAllSurfaces(IDirectDrawImpl* This)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DDERR_INVALIDOBJECT;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__TestCooperativeLevel(IDirectDrawImpl* This)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DDERR_INVALIDOBJECT;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__GetDeviceIdentifier(IDirectDrawImpl* This, void* pDDDI, DWORD dwFlags)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DDERR_INVALIDPARAMS;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__StartModeTest(IDirectDrawImpl* This, LPSIZE pModes, DWORD dwNumModes, DWORD dwFlags)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DDERR_CURRENTLYNOTAVAIL;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDraw__EvaluateMode(IDirectDrawImpl* This, DWORD dwFlags, DWORD* pTimeout)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DDERR_INVALIDOBJECT;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
struct IDirectDrawImplVtbl g_dd_vtbl1 =
|
||||
{
|
||||
/* IUnknown */
|
||||
IDirectDraw__QueryInterface,
|
||||
IDirectDraw__AddRef,
|
||||
IDirectDraw__Release,
|
||||
/* IDirectDrawImpl */
|
||||
IDirectDraw__Compact,
|
||||
IDirectDraw__CreateClipper,
|
||||
IDirectDraw__CreatePalette,
|
||||
IDirectDraw__CreateSurface,
|
||||
IDirectDraw__DuplicateSurface,
|
||||
IDirectDraw__EnumDisplayModes,
|
||||
IDirectDraw__EnumSurfaces,
|
||||
IDirectDraw__FlipToGDISurface,
|
||||
IDirectDraw__GetCaps,
|
||||
IDirectDraw__GetDisplayMode,
|
||||
IDirectDraw__GetFourCCCodes,
|
||||
IDirectDraw__GetGDISurface,
|
||||
IDirectDraw__GetMonitorFrequency,
|
||||
IDirectDraw__GetScanLine,
|
||||
IDirectDraw__GetVerticalBlankStatus,
|
||||
IDirectDraw__Initialize,
|
||||
IDirectDraw__RestoreDisplayMode,
|
||||
IDirectDraw__SetCooperativeLevel,
|
||||
{IDirectDraw__SetDisplayMode},
|
||||
IDirectDraw__WaitForVerticalBlank,
|
||||
// v2
|
||||
IDirectDraw__GetAvailableVidMem,
|
||||
// v4
|
||||
IDirectDraw__GetSurfaceFromDC,
|
||||
IDirectDraw__RestoreAllSurfaces,
|
||||
IDirectDraw__TestCooperativeLevel,
|
||||
IDirectDraw__GetDeviceIdentifier,
|
||||
// v7
|
||||
IDirectDraw__StartModeTest,
|
||||
IDirectDraw__EvaluateMode,
|
||||
};
|
||||
|
||||
struct IDirectDrawImplVtbl g_dd_vtblx =
|
||||
{
|
||||
/* IUnknown */
|
||||
IDirectDraw__QueryInterface,
|
||||
IDirectDraw__AddRef,
|
||||
IDirectDraw__Release,
|
||||
/* IDirectDrawImpl */
|
||||
IDirectDraw__Compact,
|
||||
IDirectDraw__CreateClipper,
|
||||
IDirectDraw__CreatePalette,
|
||||
IDirectDraw__CreateSurface,
|
||||
IDirectDraw__DuplicateSurface,
|
||||
IDirectDraw__EnumDisplayModes,
|
||||
IDirectDraw__EnumSurfaces,
|
||||
IDirectDraw__FlipToGDISurface,
|
||||
IDirectDraw__GetCaps,
|
||||
IDirectDraw__GetDisplayMode,
|
||||
IDirectDraw__GetFourCCCodes,
|
||||
IDirectDraw__GetGDISurface,
|
||||
IDirectDraw__GetMonitorFrequency,
|
||||
IDirectDraw__GetScanLine,
|
||||
IDirectDraw__GetVerticalBlankStatus,
|
||||
IDirectDraw__Initialize,
|
||||
IDirectDraw__RestoreDisplayMode,
|
||||
IDirectDraw__SetCooperativeLevel,
|
||||
{IDirectDraw__SetDisplayModeX},
|
||||
IDirectDraw__WaitForVerticalBlank,
|
||||
// v2
|
||||
IDirectDraw__GetAvailableVidMem,
|
||||
// v4
|
||||
IDirectDraw__GetSurfaceFromDC,
|
||||
IDirectDraw__RestoreAllSurfaces,
|
||||
IDirectDraw__TestCooperativeLevel,
|
||||
IDirectDraw__GetDeviceIdentifier,
|
||||
// v7
|
||||
IDirectDraw__StartModeTest,
|
||||
IDirectDraw__EvaluateMode,
|
||||
};
|
99
src/IDirectDraw/IDirectDrawClipper.c
Normal file
99
src/IDirectDraw/IDirectDrawClipper.c
Normal file
|
@ -0,0 +1,99 @@
|
|||
#include "IDirectDrawClipper.h"
|
||||
#include "ddclipper.h"
|
||||
#include "debug.h"
|
||||
|
||||
HRESULT __stdcall IDirectDrawClipper__QueryInterface(IDirectDrawClipperImpl *This, REFIID riid, void **obj)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p, riid=%08X, obj=%p)\n", __FUNCTION__, This, (unsigned int)riid, obj);
|
||||
HRESULT ret = S_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ULONG __stdcall IDirectDrawClipper__AddRef(IDirectDrawClipperImpl *This)
|
||||
{
|
||||
dprintf("-> %s(This=%p)\n", __FUNCTION__, This);
|
||||
ULONG ret = ++This->ref;
|
||||
dprintf("<- %s(This ref=%u)\n", __FUNCTION__, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ULONG __stdcall IDirectDrawClipper__Release(IDirectDrawClipperImpl *This)
|
||||
{
|
||||
dprintf("-> %s(This=%p)\n", __FUNCTION__, This);
|
||||
|
||||
ULONG ret = --This->ref;
|
||||
|
||||
if (This->ref == 0)
|
||||
{
|
||||
dprintf(" Released (%p)\n", This);
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, This);
|
||||
}
|
||||
|
||||
dprintf("<- %s(This ref=%u)\n", __FUNCTION__, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawClipper__GetClipList(IDirectDrawClipperImpl *This, LPRECT a, LPRGNDATA b, LPDWORD c)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawClipper__GetHWnd(IDirectDrawClipperImpl *This, HWND FAR *a)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawClipper__Initialize(IDirectDrawClipperImpl *This, LPDIRECTDRAW a, DWORD b)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawClipper__IsClipListChanged(IDirectDrawClipperImpl *This, BOOL FAR *a)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawClipper__SetClipList(IDirectDrawClipperImpl *This, LPRGNDATA a, DWORD b)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawClipper__SetHWnd(IDirectDrawClipperImpl *This, DWORD a, HWND b)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
struct IDirectDrawClipperImplVtbl g_ddc_vtbl =
|
||||
{
|
||||
/* IUnknown */
|
||||
IDirectDrawClipper__QueryInterface,
|
||||
IDirectDrawClipper__AddRef,
|
||||
IDirectDrawClipper__Release,
|
||||
/* IDirectDrawClipper */
|
||||
IDirectDrawClipper__GetClipList,
|
||||
IDirectDrawClipper__GetHWnd,
|
||||
IDirectDrawClipper__Initialize,
|
||||
IDirectDrawClipper__IsClipListChanged,
|
||||
IDirectDrawClipper__SetClipList,
|
||||
IDirectDrawClipper__SetHWnd
|
||||
};
|
84
src/IDirectDraw/IDirectDrawPalette.c
Normal file
84
src/IDirectDraw/IDirectDrawPalette.c
Normal file
|
@ -0,0 +1,84 @@
|
|||
#include "IDirectDrawPalette.h"
|
||||
#include "ddpalette.h"
|
||||
#include "ddsurface.h"
|
||||
#include "debug.h"
|
||||
|
||||
|
||||
HRESULT __stdcall IDirectDrawPalette__QueryInterface(IDirectDrawPaletteImpl* This, REFIID riid, void** obj)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p, riid=%08X, obj=%p)\n", __FUNCTION__, This, (unsigned int)riid, obj);
|
||||
HRESULT ret = S_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ULONG __stdcall IDirectDrawPalette__AddRef(IDirectDrawPaletteImpl* This)
|
||||
{
|
||||
dprintf("-> %s(This=%p)\n", __FUNCTION__, This);
|
||||
ULONG ret = ++This->ref;
|
||||
dprintf("<- %s(This ref=%u)\n", __FUNCTION__, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ULONG __stdcall IDirectDrawPalette__Release(IDirectDrawPaletteImpl* This)
|
||||
{
|
||||
dprintf("-> %s(This=%p)\n", __FUNCTION__, This);
|
||||
|
||||
ULONG ret = --This->ref;
|
||||
|
||||
if (This->ref == 0)
|
||||
{
|
||||
dprintf(" Released (%p)\n", This);
|
||||
if (g_ddraw)
|
||||
g_ddraw->last_freed_palette = This;
|
||||
HeapFree(GetProcessHeap(), 0, This);
|
||||
}
|
||||
|
||||
dprintf("<- %s(This ref=%u)\n", __FUNCTION__, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawPalette__GetCaps(IDirectDrawPaletteImpl* This, LPDWORD caps)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p, caps=%p)\n", __FUNCTION__, This, caps);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawPalette__GetEntries(IDirectDrawPaletteImpl *This, DWORD dwFlags, DWORD dwBase, DWORD dwNumEntries, LPPALETTEENTRY lpEntries)
|
||||
{
|
||||
dprintf("-> %s(This=%p, dwFlags=%08X, dwBase=%d, dwNumEntries=%d, lpEntries=%p)\n", __FUNCTION__, This, (int)dwFlags, (int)dwBase, (int)dwNumEntries, lpEntries);
|
||||
HRESULT ret = ddp_GetEntries(This, dwFlags, dwBase, dwNumEntries, lpEntries);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawPalette__Initialize(IDirectDrawPaletteImpl* This, LPDIRECTDRAW lpDD, DWORD dw, LPPALETTEENTRY paent)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawPalette__SetEntries(IDirectDrawPaletteImpl *This, DWORD dwFlags, DWORD dwStartingEntry, DWORD dwCount, LPPALETTEENTRY lpEntries)
|
||||
{
|
||||
dprintfex("-> %s(This=%p, dwFlags=%08X, dwStartingEntry=%d, dwCount=%d, lpEntries=%p)\n", __FUNCTION__, This, (int)dwFlags, (int)dwStartingEntry, (int)dwCount, lpEntries);
|
||||
HRESULT ret = ddp_SetEntries(This, dwFlags, dwStartingEntry, dwCount, lpEntries);
|
||||
dprintfex("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
struct IDirectDrawPaletteImplVtbl g_ddp_vtbl =
|
||||
{
|
||||
/* IUnknown */
|
||||
IDirectDrawPalette__QueryInterface,
|
||||
IDirectDrawPalette__AddRef,
|
||||
IDirectDrawPalette__Release,
|
||||
/* IDirectDrawPalette */
|
||||
IDirectDrawPalette__GetCaps,
|
||||
IDirectDrawPalette__GetEntries,
|
||||
IDirectDrawPalette__Initialize,
|
||||
IDirectDrawPalette__SetEntries
|
||||
};
|
377
src/IDirectDraw/IDirectDrawSurface.c
Normal file
377
src/IDirectDraw/IDirectDrawSurface.c
Normal file
|
@ -0,0 +1,377 @@
|
|||
#include "IDirectDrawSurface.h"
|
||||
#include "ddsurface.h"
|
||||
#include "dd.h"
|
||||
#include "debug.h"
|
||||
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__QueryInterface(IDirectDrawSurfaceImpl *This, REFIID riid, void **obj)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p, riid=%08X, obj=%p)\n", __FUNCTION__, This, (unsigned int)riid, obj);
|
||||
HRESULT ret = S_OK;
|
||||
|
||||
if (riid && !IsEqualGUID(&IID_IDirectDrawSurface, riid))
|
||||
{
|
||||
dprintf(" GUID = %08X\n", ((GUID *)riid)->Data1);
|
||||
|
||||
IDirectDrawSurface_AddRef(This);
|
||||
}
|
||||
|
||||
*obj = This;
|
||||
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ULONG __stdcall IDirectDrawSurface__AddRef(IDirectDrawSurfaceImpl *This)
|
||||
{
|
||||
dprintf("-> %s(This=%p)\n", __FUNCTION__, This);
|
||||
ULONG ret = ++This->ref;
|
||||
dprintf("<- %s(This ref=%u)\n", __FUNCTION__, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ULONG __stdcall IDirectDrawSurface__Release(IDirectDrawSurfaceImpl *This)
|
||||
{
|
||||
dprintf("-> %s(This=%p)\n", __FUNCTION__, This);
|
||||
|
||||
ULONG ret = --This->ref;
|
||||
|
||||
if(This->ref == 0)
|
||||
{
|
||||
dprintf(" Released (%p)\n", This);
|
||||
|
||||
if ((This->caps & DDSCAPS_PRIMARYSURFACE))
|
||||
{
|
||||
EnterCriticalSection(&g_ddraw->cs);
|
||||
g_ddraw->primary = NULL;
|
||||
LeaveCriticalSection(&g_ddraw->cs);
|
||||
}
|
||||
|
||||
if (This->bitmap)
|
||||
DeleteObject(This->bitmap);
|
||||
else if (This->surface)
|
||||
HeapFree(GetProcessHeap(), 0, This->surface);
|
||||
|
||||
if (This->hdc)
|
||||
DeleteDC(This->hdc);
|
||||
|
||||
if (This->bmi)
|
||||
HeapFree(GetProcessHeap(), 0, This->bmi);
|
||||
|
||||
if(This->palette && (!g_ddraw || (void*)This->palette != g_ddraw->last_freed_palette))
|
||||
{
|
||||
IDirectDrawPalette_Release(This->palette);
|
||||
}
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, This);
|
||||
}
|
||||
|
||||
dprintf("<- %s(This ref=%u)\n", __FUNCTION__, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__AddAttachedSurface(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWSURFACE lpDDSurface)
|
||||
{
|
||||
dprintf("-> %s(This=%p, lpDDSurface=%p)\n", __FUNCTION__, This, lpDDSurface);
|
||||
HRESULT ret = dds_AddAttachedSurface(This, lpDDSurface);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__AddOverlayDirtyRect(IDirectDrawSurfaceImpl *This, LPRECT a)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__Blt(IDirectDrawSurfaceImpl *This, LPRECT lpDestRect, LPDIRECTDRAWSURFACE lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx)
|
||||
{
|
||||
dprintfex("-> %s(This=%p, lpDestRect=%p, lpDDSrcSurface=%p, lpSrcRect=%p, dwFlags=%08X, lpDDBltFx=%p)\n", __FUNCTION__, This, lpDestRect, lpDDSrcSurface, lpSrcRect, (int)dwFlags, lpDDBltFx);
|
||||
HRESULT ret = dds_Blt(This, lpDestRect, lpDDSrcSurface, lpSrcRect, dwFlags, lpDDBltFx);
|
||||
dprintfex("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__BltBatch(IDirectDrawSurfaceImpl *This, LPDDBLTBATCH a, DWORD b, DWORD c)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__BltFast(IDirectDrawSurfaceImpl *This, DWORD dst_x, DWORD dst_y, LPDIRECTDRAWSURFACE lpDDSrcSurface, LPRECT lpSrcRect, DWORD flags)
|
||||
{
|
||||
dprintfex("-> %s(This=%p, x=%d, y=%d, lpDDSrcSurface=%p, lpSrcRect=%p, flags=%08X)\n", __FUNCTION__, This, dst_x, dst_y, lpDDSrcSurface, lpSrcRect, flags);
|
||||
HRESULT ret = dds_BltFast(This, dst_x, dst_y, lpDDSrcSurface, lpSrcRect, flags);
|
||||
dprintfex("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__DeleteAttachedSurface(IDirectDrawSurfaceImpl *This, DWORD dwFlags, LPDIRECTDRAWSURFACE lpDDSurface)
|
||||
{
|
||||
dprintf("-> %s(This=%p, dwFlags=%08X, lpDDSurface=%p)\n", __FUNCTION__, This, (int)dwFlags, lpDDSurface);
|
||||
HRESULT ret = dds_DeleteAttachedSurface(This, dwFlags, lpDDSurface);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__GetSurfaceDesc(IDirectDrawSurfaceImpl *This, LPDDSURFACEDESC lpDDSurfaceDesc)
|
||||
{
|
||||
dprintfex("-> %s(This=%p, lpDDSurfaceDesc=%p)\n", __FUNCTION__, This, lpDDSurfaceDesc);
|
||||
HRESULT ret = dds_GetSurfaceDesc(This, lpDDSurfaceDesc);
|
||||
dprintfex("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__EnumAttachedSurfaces(IDirectDrawSurfaceImpl *This, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback)
|
||||
{
|
||||
dprintf("-> %s(This=%p, lpContext=%p, lpEnumSurfacesCallback=%p)\n", __FUNCTION__, This, lpContext, lpEnumSurfacesCallback);
|
||||
HRESULT ret = dds_EnumAttachedSurfaces(This, lpContext, lpEnumSurfacesCallback);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__EnumOverlayZOrders(IDirectDrawSurfaceImpl *This, DWORD a, LPVOID b, LPDDENUMSURFACESCALLBACK c)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__Flip(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWSURFACE surface, DWORD flags)
|
||||
{
|
||||
dprintfex("-> %s(This=%p, surface=%p, flags=%08X)\n", __FUNCTION__, This, surface, flags);
|
||||
HRESULT ret = dds_Flip(This, surface, flags);
|
||||
dprintfex("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__GetAttachedSurface(IDirectDrawSurfaceImpl *This, LPDDSCAPS lpDdsCaps, LPDIRECTDRAWSURFACE FAR *surface)
|
||||
{
|
||||
dprintf("-> %s(This=%p, dwCaps=%08X, surface=%p)\n", __FUNCTION__, This, lpDdsCaps->dwCaps, surface);
|
||||
HRESULT ret = dds_GetAttachedSurface(This, lpDdsCaps, surface);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__GetBltStatus(IDirectDrawSurfaceImpl *This, DWORD a)
|
||||
{
|
||||
dprintfex("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintfex("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__GetCaps(IDirectDrawSurfaceImpl *This, LPDDSCAPS lpDDSCaps)
|
||||
{
|
||||
dprintf("-> %s(This=%p, lpDDSCaps=%p)\n", __FUNCTION__, This, lpDDSCaps);
|
||||
HRESULT ret = dds_GetCaps(This, lpDDSCaps);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__GetClipper(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWCLIPPER FAR *a)
|
||||
{
|
||||
dprintfex("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintfex("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__GetColorKey(IDirectDrawSurfaceImpl *This, DWORD flags, LPDDCOLORKEY colorKey)
|
||||
{
|
||||
dprintfex("-> %s(This=%p, flags=0x%08X, color_key=%p)\n", __FUNCTION__, This, flags, colorKey);
|
||||
HRESULT ret = dds_GetColorKey(This, flags, colorKey);
|
||||
dprintfex("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__GetDC(IDirectDrawSurfaceImpl *This, HDC FAR *a)
|
||||
{
|
||||
dprintfex("-> %s(This=%p, ...)\n", __FUNCTION__, This);
|
||||
HRESULT ret = dds_GetDC(This, a);
|
||||
dprintfex("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__GetFlipStatus(IDirectDrawSurfaceImpl *This, DWORD a)
|
||||
{
|
||||
dprintfex("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintfex("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__GetOverlayPosition(IDirectDrawSurfaceImpl *This, LPLONG a, LPLONG b)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__GetPalette(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWPALETTE FAR *lplpDDPalette)
|
||||
{
|
||||
dprintf("-> %s(This=%p, lplpDDPalette=%p)\n", __FUNCTION__, This, lplpDDPalette);
|
||||
HRESULT ret = dds_GetPalette(This, lplpDDPalette);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__GetPixelFormat(IDirectDrawSurfaceImpl *This, LPDDPIXELFORMAT ddpfPixelFormat)
|
||||
{
|
||||
dprintf("-> %s(This=%p, ...)\n", __FUNCTION__, This);
|
||||
HRESULT ret = dds_GetPixelFormat(This, ddpfPixelFormat);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__Initialize(IDirectDrawSurfaceImpl *This, LPDIRECTDRAW a, LPDDSURFACEDESC b)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__IsLost(IDirectDrawSurfaceImpl *This)
|
||||
{
|
||||
dprintfex("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintfex("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__Lock(IDirectDrawSurfaceImpl *This, LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent)
|
||||
{
|
||||
dprintfex("-> %s(This=%p, lpDestRect=%p, lpDDSurfaceDesc=%p, dwFlags=%08X, hEvent=%p)\n", __FUNCTION__, This, lpDestRect, lpDDSurfaceDesc, (int)dwFlags, hEvent);
|
||||
HRESULT ret = dds_Lock(This, lpDestRect, lpDDSurfaceDesc, dwFlags, hEvent);
|
||||
dprintfex("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__ReleaseDC(IDirectDrawSurfaceImpl *This, HDC a)
|
||||
{
|
||||
dprintfex("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintfex("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__Restore(IDirectDrawSurfaceImpl *This)
|
||||
{
|
||||
dprintfex("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintfex("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__SetClipper(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWCLIPPER a)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__SetColorKey(IDirectDrawSurfaceImpl *This, DWORD flags, LPDDCOLORKEY colorKey)
|
||||
{
|
||||
dprintfex("-> %s(This=%p, flags=0x%08X, color_key=%p)\n", __FUNCTION__, This, flags, colorKey);
|
||||
HRESULT ret = dds_SetColorKey(This, flags, colorKey);
|
||||
dprintfex("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__SetOverlayPosition(IDirectDrawSurfaceImpl *This, LONG a, LONG b)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__SetPalette(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWPALETTE lpDDPalette)
|
||||
{
|
||||
dprintf("-> %s(This=%p, lpDDPalette=%p)\n", __FUNCTION__, This, lpDDPalette);
|
||||
HRESULT ret = dds_SetPalette(This, lpDDPalette);
|
||||
dprintf("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__Unlock(IDirectDrawSurfaceImpl *This, LPVOID lpRect)
|
||||
{
|
||||
dprintfex("-> %s(This=%p, lpRect=%p)\n", __FUNCTION__, This, lpRect);
|
||||
HRESULT ret = dds_Unlock(This, lpRect);
|
||||
dprintfex("<- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__UpdateOverlay(IDirectDrawSurfaceImpl *This, LPRECT a, LPDIRECTDRAWSURFACE b, LPRECT c, DWORD d, LPDDOVERLAYFX e)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__UpdateOverlayDisplay(IDirectDrawSurfaceImpl *This, DWORD a)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawSurface__UpdateOverlayZOrder(IDirectDrawSurfaceImpl *This, DWORD a, LPDIRECTDRAWSURFACE b)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DD_OK;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
struct IDirectDrawSurfaceImplVtbl g_dds_vtbl =
|
||||
{
|
||||
/* IUnknown */
|
||||
IDirectDrawSurface__QueryInterface,
|
||||
IDirectDrawSurface__AddRef,
|
||||
IDirectDrawSurface__Release,
|
||||
/* IDirectDrawSurface */
|
||||
IDirectDrawSurface__AddAttachedSurface,
|
||||
IDirectDrawSurface__AddOverlayDirtyRect,
|
||||
IDirectDrawSurface__Blt,
|
||||
IDirectDrawSurface__BltBatch,
|
||||
IDirectDrawSurface__BltFast,
|
||||
IDirectDrawSurface__DeleteAttachedSurface,
|
||||
IDirectDrawSurface__EnumAttachedSurfaces,
|
||||
IDirectDrawSurface__EnumOverlayZOrders,
|
||||
IDirectDrawSurface__Flip,
|
||||
IDirectDrawSurface__GetAttachedSurface,
|
||||
IDirectDrawSurface__GetBltStatus,
|
||||
IDirectDrawSurface__GetCaps,
|
||||
IDirectDrawSurface__GetClipper,
|
||||
IDirectDrawSurface__GetColorKey,
|
||||
IDirectDrawSurface__GetDC,
|
||||
IDirectDrawSurface__GetFlipStatus,
|
||||
IDirectDrawSurface__GetOverlayPosition,
|
||||
IDirectDrawSurface__GetPalette,
|
||||
IDirectDrawSurface__GetPixelFormat,
|
||||
IDirectDrawSurface__GetSurfaceDesc,
|
||||
IDirectDrawSurface__Initialize,
|
||||
IDirectDrawSurface__IsLost,
|
||||
IDirectDrawSurface__Lock,
|
||||
IDirectDrawSurface__ReleaseDC,
|
||||
IDirectDrawSurface__Restore,
|
||||
IDirectDrawSurface__SetClipper,
|
||||
IDirectDrawSurface__SetColorKey,
|
||||
IDirectDrawSurface__SetOverlayPosition,
|
||||
IDirectDrawSurface__SetPalette,
|
||||
IDirectDrawSurface__Unlock,
|
||||
IDirectDrawSurface__UpdateOverlay,
|
||||
IDirectDrawSurface__UpdateOverlayDisplay,
|
||||
IDirectDrawSurface__UpdateOverlayZOrder
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue