add dummy IDirectDrawGammaControl
This commit is contained in:
parent
ddc631708d
commit
a6a95ec936
6 changed files with 140 additions and 5 deletions
62
src/IDirectDraw/IDirectDrawGammaControl.c
Normal file
62
src/IDirectDraw/IDirectDrawGammaControl.c
Normal file
|
@ -0,0 +1,62 @@
|
|||
#include "IDirectDrawGammaControl.h"
|
||||
#include "debug.h"
|
||||
|
||||
HRESULT __stdcall IDirectDrawGammaControl__QueryInterface(IDirectDrawGammaControlImpl *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 IDirectDrawGammaControl__AddRef(IDirectDrawGammaControlImpl *This)
|
||||
{
|
||||
dprintf("-> %s(This=%p)\n", __FUNCTION__, This);
|
||||
ULONG ret = ++This->ref;
|
||||
dprintf("<- %s(This ref=%u)\n", __FUNCTION__, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ULONG __stdcall IDirectDrawGammaControl__Release(IDirectDrawGammaControlImpl *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 IDirectDrawGammaControl__GetGammaRamp(IDirectDrawGammaControlImpl *This, DWORD dwFlags, void *lpRampData)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DDERR_EXCEPTION;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT __stdcall IDirectDrawGammaControl__SetGammaRamp(IDirectDrawGammaControlImpl *This, DWORD dwFlags, void *lpRampData)
|
||||
{
|
||||
dprintf("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This);
|
||||
HRESULT ret = DDERR_EXCEPTION;
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
struct IDirectDrawGammaControlImplVtbl g_ddgc_vtbl =
|
||||
{
|
||||
/* IUnknown */
|
||||
IDirectDrawGammaControl__QueryInterface,
|
||||
IDirectDrawGammaControl__AddRef,
|
||||
IDirectDrawGammaControl__Release,
|
||||
/* IDirectDrawGammaControl */
|
||||
IDirectDrawGammaControl__GetGammaRamp,
|
||||
IDirectDrawGammaControl__SetGammaRamp,
|
||||
};
|
|
@ -1,4 +1,6 @@
|
|||
#include <initguid.h>
|
||||
#include "IDirectDrawSurface.h"
|
||||
#include "IDirectDrawGammaControl.h"
|
||||
#include "ddsurface.h"
|
||||
#include "dd.h"
|
||||
#include "debug.h"
|
||||
|
@ -9,15 +11,37 @@ HRESULT __stdcall IDirectDrawSurface__QueryInterface(IDirectDrawSurfaceImpl *Thi
|
|||
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))
|
||||
if (riid)
|
||||
{
|
||||
dprintf(" GUID = %08X\n", ((GUID *)riid)->Data1);
|
||||
if (IsEqualGUID(&IID_IDirectDrawGammaControl, riid))
|
||||
{
|
||||
IDirectDrawGammaControlImpl* gc = (IDirectDrawGammaControlImpl*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectDrawGammaControlImpl));
|
||||
|
||||
IDirectDrawSurface_AddRef(This);
|
||||
dprintf(" GUID = %08X (IID_IDirectDrawGammaControl), gammacontrol = %p\n", ((GUID*)riid)->Data1, gc);
|
||||
|
||||
gc->lpVtbl = &g_ddgc_vtbl;
|
||||
gc->lpVtbl->AddRef(gc);
|
||||
|
||||
*obj = gc;
|
||||
|
||||
ret = S_OK;
|
||||
}
|
||||
else if (!IsEqualGUID(&IID_IDirectDrawSurface, riid))
|
||||
{
|
||||
dprintf(" GUID = %08X\n", ((GUID*)riid)->Data1);
|
||||
|
||||
IDirectDrawSurface_AddRef(This);
|
||||
|
||||
*obj = This;
|
||||
}
|
||||
else
|
||||
{
|
||||
dprintf(" GUID = %08X\n", ((GUID*)riid)->Data1);
|
||||
|
||||
*obj = This;
|
||||
}
|
||||
}
|
||||
|
||||
*obj = This;
|
||||
|
||||
dprintf("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -709,6 +709,9 @@ HRESULT dds_SetColorKey(IDirectDrawSurfaceImpl *This, DWORD flags, LPDDCOLORKEY
|
|||
|
||||
HRESULT dds_SetPalette(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWPALETTE lpDDPalette)
|
||||
{
|
||||
if (!lpDDPalette)
|
||||
return DDERR_INVALIDPARAMS;
|
||||
|
||||
IDirectDrawPalette_AddRef(lpDDPalette);
|
||||
|
||||
if (This->palette)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue