1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-24 17:49:52 +01:00

add GetHWnd and SetHWnd clipper functions

This commit is contained in:
FunkyFr3sh 2022-09-26 22:22:15 +02:00
parent 60a956e715
commit a8b3b1c736
4 changed files with 36 additions and 8 deletions

View File

@ -14,6 +14,7 @@ typedef struct IDirectDrawClipperImpl
struct IDirectDrawClipperImplVtbl* lpVtbl; struct IDirectDrawClipperImplVtbl* lpVtbl;
ULONG ref; ULONG ref;
HWND hwnd;
} IDirectDrawClipperImpl; } IDirectDrawClipperImpl;

View File

@ -7,6 +7,8 @@
#include "IDirectDrawClipper.h" #include "IDirectDrawClipper.h"
HRESULT ddc_GetHWnd(IDirectDrawClipperImpl* This, HWND FAR* lphWnd);
HRESULT ddc_SetHWnd(IDirectDrawClipperImpl* This, DWORD dwFlags, HWND hWnd);
HRESULT dd_CreateClipper(DWORD dwFlags, IDirectDrawClipperImpl** lplpDDClipper, IUnknown FAR* pUnkOuter); HRESULT dd_CreateClipper(DWORD dwFlags, IDirectDrawClipperImpl** lplpDDClipper, IUnknown FAR* pUnkOuter);
#endif #endif

View File

@ -41,17 +41,25 @@ HRESULT __stdcall IDirectDrawClipper__GetClipList(
LPRGNDATA lpClipList, LPRGNDATA lpClipList,
LPDWORD lpdwSiz) LPDWORD lpdwSiz)
{ {
TRACE("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This); TRACE(
"NOT_IMPLEMENTED -> %s(This=%p, lpRect=%p, lpClipList=%p, lpdwSiz=%p)\n",
__FUNCTION__,
This,
lpRect,
lpClipList,
lpdwSiz);
HRESULT ret = DDERR_NOCLIPLIST; HRESULT ret = DDERR_NOCLIPLIST;
TRACE("NOT_IMPLEMENTED <- %s\n", __FUNCTION__); TRACE("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
return ret; return ret;
} }
HRESULT __stdcall IDirectDrawClipper__GetHWnd(IDirectDrawClipperImpl* This, HWND FAR* lphWnd) HRESULT __stdcall IDirectDrawClipper__GetHWnd(IDirectDrawClipperImpl* This, HWND FAR* lphWnd)
{ {
TRACE("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This); TRACE("-> %s(This=%p, lphWnd=%p)\n", __FUNCTION__, This, lphWnd);
HRESULT ret = DDERR_INVALIDOBJECT; HRESULT ret = ddc_GetHWnd(This, lphWnd);
TRACE("NOT_IMPLEMENTED <- %s\n", __FUNCTION__); TRACE("<- %s\n", __FUNCTION__);
return ret; return ret;
} }
@ -73,7 +81,7 @@ HRESULT __stdcall IDirectDrawClipper__IsClipListChanged(IDirectDrawClipperImpl*
HRESULT __stdcall IDirectDrawClipper__SetClipList(IDirectDrawClipperImpl* This, LPRGNDATA lpClipList, DWORD dwFlags) HRESULT __stdcall IDirectDrawClipper__SetClipList(IDirectDrawClipperImpl* This, LPRGNDATA lpClipList, DWORD dwFlags)
{ {
TRACE("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This); TRACE("NOT_IMPLEMENTED -> %s(This=%p, lpClipList=%p, dwFlags=%08X)\n", __FUNCTION__, This, lpClipList, dwFlags);
HRESULT ret = DD_OK; HRESULT ret = DD_OK;
TRACE("NOT_IMPLEMENTED <- %s\n", __FUNCTION__); TRACE("NOT_IMPLEMENTED <- %s\n", __FUNCTION__);
return ret; return ret;
@ -81,9 +89,9 @@ HRESULT __stdcall IDirectDrawClipper__SetClipList(IDirectDrawClipperImpl* This,
HRESULT __stdcall IDirectDrawClipper__SetHWnd(IDirectDrawClipperImpl* This, DWORD dwFlags, HWND hWnd) HRESULT __stdcall IDirectDrawClipper__SetHWnd(IDirectDrawClipperImpl* This, DWORD dwFlags, HWND hWnd)
{ {
TRACE("NOT_IMPLEMENTED -> %s(This=%p)\n", __FUNCTION__, This); TRACE("-> %s(This=%p, dwFlags=%08X, hWnd=%p)\n", __FUNCTION__, This, dwFlags, hWnd);
HRESULT ret = DD_OK; HRESULT ret = ddc_SetHWnd(This, dwFlags, hWnd);
TRACE("NOT_IMPLEMENTED <- %s\n", __FUNCTION__); TRACE("<- %s\n", __FUNCTION__);
return ret; return ret;
} }

View File

@ -5,6 +5,23 @@
#include "debug.h" #include "debug.h"
HRESULT ddc_GetHWnd(IDirectDrawClipperImpl* This, HWND FAR* lphWnd)
{
if (!lphWnd)
return DDERR_INVALIDPARAMS;
*lphWnd = This->hwnd;
return DD_OK;
}
HRESULT ddc_SetHWnd(IDirectDrawClipperImpl* This, DWORD dwFlags, HWND hWnd)
{
This->hwnd = hWnd;
return DD_OK;
}
HRESULT dd_CreateClipper(DWORD dwFlags, IDirectDrawClipperImpl** lplpDDClipper, IUnknown FAR* pUnkOuter) HRESULT dd_CreateClipper(DWORD dwFlags, IDirectDrawClipperImpl** lplpDDClipper, IUnknown FAR* pUnkOuter)
{ {
if (!lplpDDClipper) if (!lplpDDClipper)