* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS
* FILE: lib/ddraw/main/color.c
- * PURPOSE: DirectDraw Implementation
+ * PURPOSE: IDirectDrawColorControl Implementation
* PROGRAMMER: Maarten Bosma
*
*/
#include "rosdraw.h"
-HRESULT WINAPI
-Main_DirectDrawColorControl_QueryInterface(LPDIRECTDRAWCOLORCONTROL iface,
- REFIID riid, LPVOID* ppvObj)
-{
- DX_STUB;
-}
-
ULONG WINAPI
Main_DirectDrawColorControl_AddRef(LPDIRECTDRAWCOLORCONTROL iface)
{
- DX_STUB;
+ IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
+ ULONG ref = InterlockedIncrement((PLONG)&This->DirectDrawGlobal.dwRefCnt);
+
+ return ref;
}
ULONG WINAPI
Main_DirectDrawColorControl_Release(LPDIRECTDRAWCOLORCONTROL iface)
{
- DX_STUB;
+ IDirectDrawSurfaceImpl* This = (IDirectDrawSurfaceImpl*)iface;
+ ULONG ref = InterlockedDecrement(&This->ref);
+
+ if (ref == 0)
+ HeapFree(GetProcessHeap(), 0, This);
+
+ return ref;
+}
+
+HRESULT WINAPI
+Main_DirectDrawColorControl_QueryInterface(LPDIRECTDRAWCOLORCONTROL iface,
+ REFIID riid, LPVOID* ppvObj)
+{
+ return E_NOINTERFACE;
}
HRESULT WINAPI