3 * COPYRIGHT: See COPYING in the top level directory
5 * FILE: lib/ddraw/main/clipper.c
6 * PURPOSE: IDirectDrawClipper Implementation
7 * PROGRAMMER: Maarten Bosma
14 ULONG WINAPI
Main_DirectDrawClipper_Release(LPDIRECTDRAWCLIPPER iface
)
16 IDirectDrawSurfaceImpl
* This
= (IDirectDrawSurfaceImpl
*)iface
;
17 ULONG ref
= InterlockedDecrement(&This
->ref
);
20 HeapFree(GetProcessHeap(), 0, This
);
25 ULONG WINAPI
Main_DirectDrawClipper_AddRef (LPDIRECTDRAWCLIPPER iface
)
27 IDirectDrawImpl
* This
= (IDirectDrawImpl
*)iface
;
28 ULONG ref
= InterlockedIncrement((PLONG
)&This
->DirectDrawGlobal
.dwRefCnt
);
33 HRESULT WINAPI
Main_DirectDrawClipper_Initialize(
34 LPDIRECTDRAWCLIPPER iface
, LPDIRECTDRAW lpDD
, DWORD dwFlags
)
39 HRESULT WINAPI
Main_DirectDrawClipper_SetHwnd(
40 LPDIRECTDRAWCLIPPER iface
, DWORD dwFlags
, HWND hWnd
)
45 HRESULT WINAPI
Main_DirectDrawClipper_GetClipList(
46 LPDIRECTDRAWCLIPPER iface
, LPRECT lpRect
, LPRGNDATA lpClipList
,
52 HRESULT WINAPI
Main_DirectDrawClipper_SetClipList(
53 LPDIRECTDRAWCLIPPER iface
,LPRGNDATA lprgn
,DWORD dwFlag
)
58 HRESULT WINAPI
Main_DirectDrawClipper_QueryInterface(
59 LPDIRECTDRAWCLIPPER iface
, REFIID riid
, LPVOID
* ppvObj
)
64 HRESULT WINAPI
Main_DirectDrawClipper_GetHWnd(
65 LPDIRECTDRAWCLIPPER iface
, HWND
* hWndPtr
)
70 HRESULT WINAPI
Main_DirectDrawClipper_IsClipListChanged(
71 LPDIRECTDRAWCLIPPER iface
, BOOL
* lpbChanged
)
76 IDirectDrawClipperVtbl DirectDrawClipper_Vtable
=
78 Main_DirectDrawClipper_QueryInterface
,
79 Main_DirectDrawClipper_AddRef
,
80 Main_DirectDrawClipper_Release
,
81 Main_DirectDrawClipper_GetClipList
,
82 Main_DirectDrawClipper_GetHWnd
,
83 Main_DirectDrawClipper_Initialize
,
84 Main_DirectDrawClipper_IsClipListChanged
,
85 Main_DirectDrawClipper_SetClipList
,
86 Main_DirectDrawClipper_SetHwnd