#include "config.h"
#include "wine/port.h"
#include "ddraw_private.h"
Go to the source code of this file.
|
| WINE_DEFAULT_DEBUG_CHANNEL (ddraw) |
|
static struct ddraw_clipper * | impl_from_IDirectDrawClipper (IDirectDrawClipper *iface) |
|
static HRESULT WINAPI | ddraw_clipper_QueryInterface (IDirectDrawClipper *iface, REFIID iid, void **object) |
|
static ULONG WINAPI | ddraw_clipper_AddRef (IDirectDrawClipper *iface) |
|
static ULONG WINAPI | ddraw_clipper_Release (IDirectDrawClipper *iface) |
|
static HRESULT WINAPI | ddraw_clipper_SetHWnd (IDirectDrawClipper *iface, DWORD flags, HWND window) |
|
static HRGN | get_window_region (HWND window) |
|
static HRESULT WINAPI | ddraw_clipper_GetClipList (IDirectDrawClipper *iface, RECT *rect, RGNDATA *clip_list, DWORD *clip_list_size) |
|
static HRESULT WINAPI | ddraw_clipper_SetClipList (IDirectDrawClipper *iface, RGNDATA *region, DWORD flags) |
|
static HRESULT WINAPI | ddraw_clipper_GetHWnd (IDirectDrawClipper *iface, HWND *window) |
|
static HRESULT WINAPI | ddraw_clipper_Initialize (IDirectDrawClipper *iface, IDirectDraw *ddraw, DWORD flags) |
|
static HRESULT WINAPI | ddraw_clipper_IsClipListChanged (IDirectDrawClipper *iface, BOOL *changed) |
|
HRESULT | ddraw_clipper_init (struct ddraw_clipper *clipper) |
|
struct ddraw_clipper * | unsafe_impl_from_IDirectDrawClipper (IDirectDrawClipper *iface) |
|
◆ ddraw_clipper_AddRef()
static ULONG WINAPI ddraw_clipper_AddRef |
( |
IDirectDrawClipper * |
iface | ) |
|
|
static |
Definition at line 54 of file clipper.c.
55{
58
59 TRACE(
"%p increasing refcount to %u.\n", clipper, refcount);
60
61 return refcount;
62}
#define InterlockedIncrement
static struct ddraw_clipper * impl_from_IDirectDrawClipper(IDirectDrawClipper *iface)
◆ ddraw_clipper_GetClipList()
Definition at line 155 of file clipper.c.
157{
160
161 TRACE(
"iface %p, rect %s, clip_list %p, clip_list_size %p.\n",
163
165
167 {
169 {
171 WARN(
"Failed to get window region.\n");
173 }
174 }
175 else
176 {
178 {
180 WARN(
"No clip list set.\n");
182 }
183 }
184
186 {
187 HRGN clip_region;
188
190 {
192 ERR(
"Failed to create region.\n");
196 }
197
199 {
201 ERR(
"Failed to combine regions.\n");
206 }
207
211 }
212
216
219}
static const char * wine_dbgstr_rect(const RECT *prc)
static HRGN get_window_region(HWND window)
void WINAPI wined3d_mutex_unlock(void)
void WINAPI wined3d_mutex_lock(void)
int WINAPI CombineRgn(_In_opt_ HRGN hrgnDest, _In_opt_ HRGN hrgnSrc1, _In_opt_ HRGN hrgnSrc2, _In_ int fnCombineMode)
DWORD WINAPI GetRegionData(_In_ HRGN hrgn, _In_ DWORD nCount, _Out_writes_bytes_to_opt_(nCount, return) LPRGNDATA lpRgnData)
HRGN WINAPI CreateRectRgnIndirect(_In_ LPCRECT)
◆ ddraw_clipper_GetHWnd()
static HRESULT WINAPI ddraw_clipper_GetHWnd |
( |
IDirectDrawClipper * |
iface, |
|
|
HWND * |
window |
|
) |
| |
|
static |
Definition at line 265 of file clipper.c.
266{
268
270
274
276}
static IHTMLWindow2 * window
◆ ddraw_clipper_init()
Definition at line 321 of file clipper.c.
322{
325
327}
static const struct IDirectDrawClipperVtbl ddraw_clipper_vtbl
IDirectDrawClipper IDirectDrawClipper_iface
Referenced by DirectDrawCreateClipper().
◆ ddraw_clipper_Initialize()
static HRESULT WINAPI ddraw_clipper_Initialize |
( |
IDirectDrawClipper * |
iface, |
|
|
IDirectDraw * |
ddraw, |
|
|
DWORD |
flags |
|
) |
| |
|
static |
Definition at line 278 of file clipper.c.
280{
282
284
287 {
290 }
291
294
296}
#define DDERR_ALREADYINITIALIZED
◆ ddraw_clipper_IsClipListChanged()
static HRESULT WINAPI ddraw_clipper_IsClipListChanged |
( |
IDirectDrawClipper * |
iface, |
|
|
BOOL * |
changed |
|
) |
| |
|
static |
Definition at line 298 of file clipper.c.
299{
300 FIXME(
"iface %p, changed %p stub!\n", iface, changed);
301
302
304
306}
◆ ddraw_clipper_QueryInterface()
Definition at line 34 of file clipper.c.
35{
37
39
42 {
46 }
47
50
52}
#define IsEqualGUID(rguid1, rguid2)
◆ ddraw_clipper_Release()
static ULONG WINAPI ddraw_clipper_Release |
( |
IDirectDrawClipper * |
iface | ) |
|
|
static |
Definition at line 64 of file clipper.c.
65{
68
69 TRACE(
"%p decreasing refcount to %u.\n", clipper, refcount);
70
71 if (!refcount)
72 {
76 }
77
78 return refcount;
79}
static BOOL heap_free(void *mem)
#define InterlockedDecrement
◆ ddraw_clipper_SetClipList()
Definition at line 235 of file clipper.c.
236{
238
240
242
244 {
247 }
248
254 {
256 ERR(
"Failed to create region.\n");
258 }
259
261
263}
#define DDERR_CLIPPERISUSINGHWND
HRGN WINAPI ExtCreateRegion(_In_opt_ const XFORM *lpx, _In_ DWORD nCount, _In_reads_bytes_(nCount) const RGNDATA *lpData)
◆ ddraw_clipper_SetHWnd()
Definition at line 81 of file clipper.c.
82{
84
86
88 {
91 }
92
96
98}
#define DDERR_INVALIDPARAMS
◆ get_window_region()
static HRGN get_window_region |
( |
HWND |
window | ) |
|
|
static |
Definition at line 100 of file clipper.c.
101{
103 HRGN rgn;
105
107 {
108 WARN(
"Failed to get dc.\n");
110 }
111
113 {
114 ERR(
"Failed to create region.\n");
117 }
118
120 {
121 ERR(
"Failed to get window region.\n");
125 }
126
128 {
131 }
132
134 return rgn;
135}
DWORD WINAPI GetVersion()
HRGN WINAPI CreateRectRgn(_In_ int, _In_ int, _In_ int, _In_ int)
int WINAPI OffsetRgn(_In_ HRGN, _In_ int, _In_ int)
int WINAPI GetRandomRgn(_In_ HDC, _In_ HRGN, _In_ INT)
BOOL WINAPI GetDCOrgEx(_In_ HDC, _Out_ LPPOINT)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
HDC WINAPI GetDC(_In_opt_ HWND)
Referenced by ddraw_clipper_GetClipList().
◆ impl_from_IDirectDrawClipper()
Definition at line 29 of file clipper.c.
30{
32}
#define CONTAINING_RECORD(address, type, field)
Referenced by ddraw_clipper_AddRef(), ddraw_clipper_GetClipList(), ddraw_clipper_GetHWnd(), ddraw_clipper_Initialize(), ddraw_clipper_QueryInterface(), ddraw_clipper_Release(), ddraw_clipper_SetClipList(), ddraw_clipper_SetHWnd(), and unsafe_impl_from_IDirectDrawClipper().
◆ unsafe_impl_from_IDirectDrawClipper()
◆ WINE_DEFAULT_DEBUG_CHANNEL()
WINE_DEFAULT_DEBUG_CHANNEL |
( |
ddraw |
| ) |
|
◆ ddraw_clipper_vtbl
Initial value:=
{
}
static HRESULT WINAPI ddraw_clipper_GetHWnd(IDirectDrawClipper *iface, HWND *window)
static HRESULT WINAPI ddraw_clipper_GetClipList(IDirectDrawClipper *iface, RECT *rect, RGNDATA *clip_list, DWORD *clip_list_size)
static HRESULT WINAPI ddraw_clipper_IsClipListChanged(IDirectDrawClipper *iface, BOOL *changed)
static HRESULT WINAPI ddraw_clipper_SetHWnd(IDirectDrawClipper *iface, DWORD flags, HWND window)
static ULONG WINAPI ddraw_clipper_AddRef(IDirectDrawClipper *iface)
static ULONG WINAPI ddraw_clipper_Release(IDirectDrawClipper *iface)
static HRESULT WINAPI ddraw_clipper_SetClipList(IDirectDrawClipper *iface, RGNDATA *region, DWORD flags)
static HRESULT WINAPI ddraw_clipper_Initialize(IDirectDrawClipper *iface, IDirectDraw *ddraw, DWORD flags)
static HRESULT WINAPI ddraw_clipper_QueryInterface(IDirectDrawClipper *iface, REFIID iid, void **object)
Definition at line 308 of file clipper.c.
Referenced by ddraw_clipper_init(), and unsafe_impl_from_IDirectDrawClipper().