ReactOS 0.4.15-dev-7788-g1ad9096
region.h
Go to the documentation of this file.
1#pragma once
2
3/* Type definitions ***********************************************************/
4
5/* Internal region data.
6 Can't use RGNDATA structure because buffer is allocated statically */
7typedef struct _REGION
8{
9 /* Header for all gdi objects in the handle table.
10 Do not (re)move this. */
14
18
19/* Globals ********************************************************************/
20
21extern PREGION prgnDefault;
22extern HRGN hrgnDefault;
23
24/* Functions ******************************************************************/
25
33INT FASTCALL REGION_CropRegion(PREGION rgnDst, PREGION rgnSrc, const RECTL *rect);
34VOID FASTCALL REGION_SetRectRgn(PREGION pRgn, INT LeftRect, INT TopRect, INT RightRect, INT BottomRect);
38
42 _In_ HRGN hrgn);
43
44VOID
47 _In_ PREGION prgn);
48
49BOOL
52 _Inout_ PREGION prgn,
53 _In_ PMATRIX pmx);
54
55BOOL
58 _Inout_ PREGION prgn,
59 _In_ const POINT *ppt,
60 _In_ const ULONG *pcPoints,
61 _In_ ULONG cPolygons,
62 _In_ INT iMode);
63
64HRGN
67 _In_ const POINT *ppt,
68 _In_ const ULONG *pcPoints,
69 _In_ ULONG cPolygons,
70 _In_ INT iMode);
71
72BOOL
75 _Inout_ PREGION prgn,
76 _In_ INT cx,
77 _In_ INT cy);
78
80
85
86HRGN
89 HRGN hrgn,
90 INT x,
91 INT y);
92
93#define IntSysCreateRectpRgnIndirect(prc) \
94 IntSysCreateRectpRgn((prc)->left, (prc)->top, (prc)->right, (prc)->bottom)
95
96#define GreCreateRectRgnIndirect(prc) \
97 NtGdiCreateRectRgn((prc)->left, (prc)->top, (prc)->right, (prc)->bottom)
98
99#define GreSetRectRgnIndirect(hRgn, prc) \
100 NtGdiSetRectRgn(hRgn, (prc)->left, (prc)->top, (prc)->right, (prc)->bottom);
101
104IntSysCreateRectpRgn(INT LeftRect, INT TopRect, INT RightRect, INT BottomRect);
static HRGN hrgn
#define APIENTRY
Definition: api.h:79
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLdouble n
Definition: glext.h:7729
#define _Notnull_
Definition: ms_sal.h:658
#define _Inout_
Definition: ms_sal.h:378
#define _In_
Definition: ms_sal.h:308
#define FASTCALL
Definition: nt_native.h:50
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:586
_Out_opt_ int * cx
Definition: commctrl.h:585
INT FASTCALL REGION_GetRgnBox(PREGION Rgn, RECTL *pRect)
BOOL FASTCALL REGION_RectInRegion(PREGION Rgn, const RECTL *rc)
Definition: region.c:2605
PREGION prgnDefault
Definition: region.c:129
PREGION FASTCALL REGION_AllocRgnWithHandle(INT n)
Definition: region.c:2201
BOOL FASTCALL REGION_UnionRectWithRgn(PREGION rgn, const RECTL *rect)
Definition: region.c:1796
INT FASTCALL REGION_Complexity(PREGION)
Definition: region.c:554
PREGION FASTCALL IntSysCreateRectpRgn(INT, INT, INT, INT)
Definition: region.c:2407
BOOL FASTCALL IntGdiSetRegionOwner(HRGN, DWORD)
Definition: region.c:2459
PREGION FASTCALL REGION_AllocUserRgnWithHandle(INT n)
Definition: region.c:2294
PREGION FASTCALL REGION_LockRgn(_In_ HRGN hrgn)
Definition: region.c:2358
BOOL FASTCALL REGION_bXformRgn(_Inout_ PREGION prgn, _In_ PMATRIX pmx)
Definition: region.c:2066
HRGN FASTCALL GreCreateFrameRgn(HRGN hrgn, INT x, INT y)
Definition: region.c:2025
BOOL FASTCALL REGION_SetPolyPolygonRgn(_Inout_ PREGION prgn, _In_ const POINT *ppt, _In_ const ULONG *pcPoints, _In_ ULONG cPolygons, _In_ INT iMode)
Definition: region.c:3254
VOID FASTCALL REGION_SetRectRgn(PREGION pRgn, INT LeftRect, INT TopRect, INT RightRect, INT BottomRect)
Definition: region.c:2665
INT FASTCALL REGION_CropRegion(PREGION rgnDst, PREGION rgnSrc, const RECTL *rect)
Definition: region.c:665
VOID FASTCALL REGION_UnlockRgn(_In_ PREGION prgn)
Definition: region.c:2373
INT FASTCALL REGION_SubtractRectFromRgn(PREGION prgnDest, PREGION prgnSrc, const RECTL *prcl)
Definition: region.c:1811
HRGN NTAPI GreCreatePolyPolygonRgn(_In_ const POINT *ppt, _In_ const ULONG *pcPoints, _In_ ULONG cPolygons, _In_ INT iMode)
Definition: region.c:3452
BOOL FASTCALL IntRectInRegion(HRGN, LPRECTL)
Definition: region.c:3488
VOID FASTCALL REGION_Delete(PREGION)
Definition: region.c:2449
struct _REGION * PREGION
BOOL FASTCALL REGION_PtInRegion(PREGION, INT, INT)
Definition: region.c:2582
struct _REGION REGION
INT APIENTRY IntGdiGetRgnBox(HRGN, RECTL *)
INT FASTCALL IntGdiCombineRgn(PREGION, PREGION, PREGION, INT)
Definition: region.c:2487
BOOL FASTCALL REGION_bOffsetRgn(_Inout_ PREGION prgn, _In_ INT cx, _In_ INT cy)
Definition: region.c:2707
HRGN hrgnDefault
Definition: region.c:130
VOID NTAPI REGION_vCleanup(PVOID ObjectBody)
Definition: region.c:2433
& rect
Definition: startmenu.cpp:1413
Definition: windef.h:314
Definition: region.h:8
RGN_ATTR rgnattr
Definition: region.h:13
_Notnull_ PRGN_ATTR prgnattr
Definition: region.h:12
RECTL * Buffer
Definition: region.h:16
RGNDATAHEADER rdh
Definition: region.h:15
BASEOBJECT BaseObject
Definition: region.h:11
#define NTAPI
Definition: typedefs.h:36
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG
Definition: typedefs.h:59
_In_ ULONG iMode
Definition: winddi.h:3520
_In_ ULONG _In_ CLIPOBJ _In_ RECTL * prcl
Definition: winddi.h:3531