ReactOS  0.4.13-dev-92-gf251225
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 */
7 typedef struct _REGION
8 {
9  /* Header for all gdi objects in the handle table.
10  Do not (re)move this. */
14 
17 } REGION, *PREGION;
18 
19 /* Globals ********************************************************************/
20 
21 extern PREGION prgnDefault;
22 extern HRGN hrgnDefault;
23 
24 /* Functions ******************************************************************/
25 
33 INT FASTCALL REGION_CropRegion(PREGION rgnDst, PREGION rgnSrc, const RECTL *rect);
34 VOID FASTCALL REGION_SetRectRgn(PREGION pRgn, INT LeftRect, INT TopRect, INT RightRect, INT BottomRect);
35 VOID NTAPI REGION_vCleanup(PVOID ObjectBody);
38 
39 PREGION
42  _In_ HRGN hrgn);
43 
44 VOID
47  _In_ PREGION prgn);
48 
49 BOOL
52  _Inout_ PREGION prgn,
53  _In_ PMATRIX pmx);
54 
55 BOOL
58  _Inout_ PREGION prgn,
59  _In_ const POINT *ppt,
60  _In_ const ULONG *pcPoints,
61  _In_ ULONG cPolygons,
62  _In_ INT iMode);
63 
64 HRGN
65 NTAPI
67  _In_ const POINT *ppt,
68  _In_ const ULONG *pcPoints,
69  _In_ ULONG cPolygons,
70  _In_ INT iMode);
71 
72 BOOL
75  _Inout_ PREGION prgn,
76  _In_ INT cx,
77  _In_ INT cy);
78 
80 
85 
86 HRGN
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 
102 PREGION
103 FASTCALL
104 IntSysCreateRectpRgn(INT LeftRect, INT TopRect, INT RightRect, INT BottomRect);
INT FASTCALL IntGdiCombineRgn(PREGION, PREGION, PREGION, INT)
Definition: region.c:2509
BASEOBJECT BaseObject
Definition: region.h:11
#define _Notnull_
Definition: no_sal2.h:316
_In_ ULONG iMode
Definition: winddi.h:3520
INT FASTCALL REGION_Complexity(PREGION)
Definition: region.c:567
BOOL FASTCALL REGION_bXformRgn(_Inout_ PREGION prgn, _In_ PMATRIX pmx)
Definition: region.c:2082
BOOL FASTCALL REGION_RectInRegion(PREGION Rgn, const RECTL *rc)
Definition: region.c:2628
INT FASTCALL REGION_SubtractRectFromRgn(PREGION prgnDest, PREGION prgnSrc, const RECTL *prcl)
Definition: region.c:1827
GLdouble n
Definition: glext.h:7729
INT FASTCALL REGION_GetRgnBox(PREGION Rgn, RECTL *pRect)
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
PREGION FASTCALL REGION_AllocRgnWithHandle(INT n)
Definition: region.c:2222
#define FASTCALL
Definition: nt_native.h:50
int32_t INT
Definition: typedefs.h:56
& rect
Definition: startmenu.cpp:1413
PREGION FASTCALL IntSysCreateRectpRgn(INT, INT, INT, INT)
Definition: region.c:2429
PREGION prgnDefault
Definition: region.c:130
_Notnull_ PRGN_ATTR prgnattr
Definition: region.h:12
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
BOOL FASTCALL IntRectInRegion(HRGN, LPRECTL)
Definition: region.c:3510
unsigned int BOOL
Definition: ntddk_ex.h:94
HRGN FASTCALL GreCreateFrameRgn(HRGN hrgn, INT x, INT y)
Definition: region.c:2041
RECTL * Buffer
Definition: region.h:16
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
VOID FASTCALL REGION_Delete(PREGION)
Definition: region.c:2471
VOID FASTCALL REGION_UnlockRgn(_In_ PREGION prgn)
Definition: region.c:2395
Definition: region.h:7
PREGION FASTCALL REGION_LockRgn(_In_ HRGN hrgn)
Definition: region.c:2380
INT FASTCALL REGION_CropRegion(PREGION rgnDst, PREGION rgnSrc, const RECTL *rect)
Definition: region.c:678
RGN_ATTR rgnattr
Definition: region.h:13
PREGION FASTCALL REGION_AllocUserRgnWithHandle(INT n)
Definition: region.c:2316
unsigned long DWORD
Definition: ntddk_ex.h:95
#define _Inout_
Definition: no_sal2.h:244
HRGN NTAPI GreCreatePolyPolygonRgn(_In_ const POINT *ppt, _In_ const ULONG *pcPoints, _In_ ULONG cPolygons, _In_ INT iMode)
Definition: region.c:3474
BOOL FASTCALL REGION_PtInRegion(PREGION, INT, INT)
Definition: region.c:2605
VOID FASTCALL REGION_SetRectRgn(PREGION pRgn, INT LeftRect, INT TopRect, INT RightRect, INT BottomRect)
Definition: region.c:2688
static HRGN hrgn
Definition: win.c:55
HRGN hrgnDefault
Definition: region.c:131
VOID NTAPI REGION_vCleanup(PVOID ObjectBody)
Definition: region.c:2455
struct _REGION REGION
RGNDATAHEADER rdh
Definition: region.h:15
#define _In_
Definition: no_sal2.h:204
BOOL FASTCALL IntGdiSetRegionOwner(HRGN, DWORD)
Definition: region.c:2481
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
BOOL FASTCALL REGION_SetPolyPolygonRgn(_Inout_ PREGION prgn, _In_ const POINT *ppt, _In_ const ULONG *pcPoints, _In_ ULONG cPolygons, _In_ INT iMode)
Definition: region.c:3278
_In_ ULONG _In_ CLIPOBJ _In_ RECTL * prcl
Definition: winddi.h:3529
INT APIENTRY IntGdiGetRgnBox(HRGN, RECTL *)
_Out_opt_ int * cx
Definition: commctrl.h:570
unsigned int ULONG
Definition: retypes.h:1
Definition: windef.h:299
struct _REGION * PREGION
BOOL FASTCALL REGION_bOffsetRgn(_Inout_ PREGION prgn, _In_ INT cx, _In_ INT cy)
Definition: region.c:2730
BOOL FASTCALL REGION_UnionRectWithRgn(PREGION rgn, const RECTL *rect)
Definition: region.c:1812
#define APIENTRY
Definition: api.h:79