1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-26 10:29:23 +01:00
cnc-ddraw/src/IDirectDraw/IDirectDrawPalette.c

134 lines
3.3 KiB
C
Raw Normal View History

2020-10-13 09:20:52 +02:00
#include "IDirectDrawPalette.h"
#include "ddpalette.h"
#include "ddsurface.h"
#include "debug.h"
2021-06-11 20:30:43 +02:00
HRESULT __stdcall IDirectDrawPalette__QueryInterface(IDirectDrawPaletteImpl* This, REFIID riid, LPVOID FAR* ppvObj)
2020-10-13 09:20:52 +02:00
{
2024-06-16 02:36:20 +02:00
TRACE(
"NOT_IMPLEMENTED -> %s(This=%p, riid=%08X, ppvObj=%p) [%p]\n",
__FUNCTION__,
This,
(unsigned int)riid,
ppvObj,
_ReturnAddress());
2021-06-11 20:30:43 +02:00
HRESULT ret = E_NOINTERFACE;
2024-08-31 11:12:39 +02:00
if (!ppvObj)
{
ret = E_INVALIDARG;
}
2021-06-11 20:30:43 +02:00
TRACE("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
2020-10-13 09:20:52 +02:00
return ret;
}
ULONG __stdcall IDirectDrawPalette__AddRef(IDirectDrawPaletteImpl* This)
{
2024-06-16 02:36:20 +02:00
TRACE("-> %s(This=%p) [%p]\n", __FUNCTION__, This, _ReturnAddress());
2020-10-13 09:20:52 +02:00
ULONG ret = ++This->ref;
2021-06-11 20:30:43 +02:00
TRACE("<- %s(This ref=%u)\n", __FUNCTION__, ret);
2020-10-13 09:20:52 +02:00
return ret;
}
ULONG __stdcall IDirectDrawPalette__Release(IDirectDrawPaletteImpl* This)
{
2024-06-16 02:36:20 +02:00
TRACE("-> %s(This=%p) [%p]\n", __FUNCTION__, This, _ReturnAddress());
2020-10-13 09:20:52 +02:00
ULONG ret = --This->ref;
if (This->ref == 0)
{
2021-06-11 20:30:43 +02:00
TRACE(" Released (%p)\n", This);
2020-10-13 21:58:04 +02:00
2024-03-22 22:27:00 +01:00
if (g_ddraw.ref)
g_ddraw.last_freed_palette = This;
2020-10-13 21:58:04 +02:00
2020-10-13 09:20:52 +02:00
HeapFree(GetProcessHeap(), 0, This);
}
2021-06-11 20:30:43 +02:00
TRACE("<- %s(This ref=%u)\n", __FUNCTION__, ret);
2020-10-13 09:20:52 +02:00
return ret;
}
2021-06-11 20:30:43 +02:00
HRESULT __stdcall IDirectDrawPalette__GetCaps(IDirectDrawPaletteImpl* This, LPDWORD lpdwCaps)
2020-10-13 09:20:52 +02:00
{
2024-06-16 02:36:20 +02:00
TRACE("NOT_IMPLEMENTED -> %s(This=%p, lpdwCaps=%p) [%p]\n", __FUNCTION__, This, lpdwCaps, _ReturnAddress());
2021-06-11 20:30:43 +02:00
HRESULT ret = DDERR_INVALIDOBJECT;
TRACE("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
2020-10-13 09:20:52 +02:00
return ret;
}
2021-06-11 20:30:43 +02:00
HRESULT __stdcall IDirectDrawPalette__GetEntries(
IDirectDrawPaletteImpl* This,
DWORD dwFlags,
DWORD dwBase,
DWORD dwNumEntries,
LPPALETTEENTRY lpEntries)
2020-10-13 09:20:52 +02:00
{
2021-06-11 20:30:43 +02:00
TRACE(
2024-06-16 02:36:20 +02:00
"-> %s(This=%p, dwFlags=%08X, dwBase=%u, dwNumEntries=%u, lpEntries=%p) [%p]\n",
2021-06-11 20:30:43 +02:00
__FUNCTION__,
This,
dwFlags,
dwBase,
dwNumEntries,
2024-06-16 02:36:20 +02:00
lpEntries,
_ReturnAddress());
2021-06-11 20:30:43 +02:00
2020-10-13 09:20:52 +02:00
HRESULT ret = ddp_GetEntries(This, dwFlags, dwBase, dwNumEntries, lpEntries);
2021-06-11 20:30:43 +02:00
TRACE("<- %s\n", __FUNCTION__);
2020-10-13 09:20:52 +02:00
return ret;
}
2021-06-11 20:30:43 +02:00
HRESULT __stdcall IDirectDrawPalette__Initialize(
IDirectDrawPaletteImpl* This,
LPDIRECTDRAW lpDD,
DWORD dwFlags,
LPPALETTEENTRY lpDDColorTable)
2020-10-13 09:20:52 +02:00
{
2024-06-16 02:36:20 +02:00
TRACE("-> %s(This=%p) [%p]\n", __FUNCTION__, This, _ReturnAddress());
2020-10-13 09:20:52 +02:00
HRESULT ret = DD_OK;
TRACE("<- %s\n", __FUNCTION__);
2020-10-13 09:20:52 +02:00
return ret;
}
2021-06-11 20:30:43 +02:00
HRESULT __stdcall IDirectDrawPalette__SetEntries(
IDirectDrawPaletteImpl* This,
DWORD dwFlags,
DWORD dwStartingEntry,
DWORD dwCount,
LPPALETTEENTRY lpEntries)
2020-10-13 09:20:52 +02:00
{
2021-06-11 20:30:43 +02:00
TRACE_EXT(
2024-06-16 02:36:20 +02:00
"-> %s(This=%p, dwFlags=%08X, dwStartingEntry=%u, dwCount=%u, lpEntries=%p) [%p]\n",
2021-06-11 20:30:43 +02:00
__FUNCTION__,
This,
dwFlags,
dwStartingEntry,
dwCount,
2024-06-16 02:36:20 +02:00
lpEntries,
_ReturnAddress());
2021-06-11 20:30:43 +02:00
2020-10-13 09:20:52 +02:00
HRESULT ret = ddp_SetEntries(This, dwFlags, dwStartingEntry, dwCount, lpEntries);
2021-06-11 20:30:43 +02:00
TRACE_EXT("<- %s\n", __FUNCTION__);
2020-10-13 09:20:52 +02:00
return ret;
}
struct IDirectDrawPaletteImplVtbl g_ddp_vtbl =
{
2021-06-11 20:30:43 +02:00
/*** IUnknown methods ***/
2020-10-13 09:20:52 +02:00
IDirectDrawPalette__QueryInterface,
IDirectDrawPalette__AddRef,
IDirectDrawPalette__Release,
2021-06-11 20:30:43 +02:00
/*** IDirectDrawPalette methods ***/
2020-10-13 09:20:52 +02:00
IDirectDrawPalette__GetCaps,
IDirectDrawPalette__GetEntries,
IDirectDrawPalette__Initialize,
IDirectDrawPalette__SetEntries
};