1b6b80b196739f58dc5f087a6af97735abc6c4de
2 #ifndef __WIN32K_REGION_H
3 #define __WIN32K_REGION_H
6 #include <win32k/gdiobj.h>
8 /* Internal functions */
10 #define RGNDATA_PtrToHandle(pRgn) \
11 ((HRGN) GDIOBJ_PtrToHandle ((PGDIOBJ) pRgn, GO_REGION_MAGIC))
13 #define RGNDATA_HandleToPtr(hRgn) \
14 ((RGNDATA *) GDIOBJ_LockObj ((HGDIOBJ) hRgn, GO_REGION_MAGIC))
16 /* call GDIOBJ_ReleaseObj when reference counting is added */
17 #define RGNDATA_Release(hRgn) {}
19 /* GDI logical region object */
20 typedef struct tagRGNOBJ
26 /* User entry points */
28 W32kGetBoxRgn(HRGN hRgn
, PRECT Rect
);
30 W32kCropRgn(HRGN hDest
, HRGN hSrc
, const RECT
* Rect
, const POINT
* Point
);
32 W32kUnionRectWithRgn(HRGN hDest
, const RECT
* Rect
);
36 W32kCombineRgn(HRGN hDest
,
43 W32kCreateEllipticRgn(INT LeftRect
,
50 W32kCreateEllipticRgnIndirect(CONST PRECT rc
);
54 W32kCreatePolygonRgn(CONST PPOINT pt
,
60 W32kCreatePolyPolygonRgn(CONST PPOINT pt
,
61 CONST PINT PolyCounts
,
67 W32kCreateRectRgn(INT LeftRect
,
74 W32kCreateRectRgnIndirect(CONST PRECT rc
);
78 W32kCreateRoundRectRgn(INT LeftRect
,
87 W32kEqualRgn(HRGN hSrcRgn1
,
92 W32kExtCreateRegion(CONST PXFORM Xform
,
94 CONST PRGNDATA RgnData
);
104 W32kFrameRgn(HDC hDC
,
112 W32kGetRgnBox(HRGN hRgn
,
117 W32kInvertRgn(HDC hDC
,
122 W32kOffsetRgn(HRGN hRgn
,
128 W32kPaintRgn(HDC hDC
,
133 W32kPtInRegion(HRGN hRgn
,
139 W32kRectInRegion(HRGN hRgn
,
144 W32kSetRectRgn(HRGN hRgn
,