[GDI32]
Implement GdiGetRgnAttr

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65717 97493ccd-5924-5043-b1f5-66cb403b36ce
[GDI32]
Avoid casting RECT and POINT to RECTL and POINTL by adding a define

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65718 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K/FORMATTING]
- Tabs -> spaces
- Fix indentation
- Improve comment formating
- No code change

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65719 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
More improvements to region.c:
- PROSRGNDATA -> REGION, void -> VOID, int -> INT, uppercase struct names
- do not put assignments into if statements
- !x -> x == NULL for pointers
- Add additional parentheses / curly braces
- rename RGN_ATTR::Flags to iComplexity

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65720 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
Fix MSVC warnings

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65721 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
- Remove useless offset part in REGION_CropAndOffsetRegion

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65722 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
Move NtGdiInvertRgn to bitblt.c

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65723 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
- Move NtGdiFillRgn and NtGdiFrameRgn to bitblt.c
- Remove unused NtGdiUnionRectWithRgn
- Rename REGION_CreateFrameRgn to GreCreateFrameRgn

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65724 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
Rework GreCreateFrameRgn to return the new region. Implement the internal function REGION_bMakeFrameRegion doing the actual work. Fix frame calculation by moving the source region diagonal instead of only horizontal and vertical, use IntGdiOffsetRgn instead of manually fiddling with the rectangles.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65725 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
- Rename IntSetPolyPolygonRgn to REGION_SetPolyPolygonRgn
- Implement GreCreatePolyPolygonRgn wrapper around it
- Fix iMode usage in NtGdiPolyPolyDraw
- Improve some variable naming

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65726 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
- Move IntGdiReleaseRaoRgn and IntGdiReleaseVisRgn to cliprgn.c
- Remove unused IntUpdateVisRectRgn

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65727 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
- Implement REGION_bXformRgn
- Move IntGdiPaintRgn ro bitblt.c

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65728 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
Properly implement EngPaint, calling IntEngBitBlt, instead of doing a manual single color fill.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65729 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
- Rewrite NtGdiFillRgn and IntGdiPaintRgn
We now properly support painting regions on DCs with arbitrary world transforms, with pattern brushes and we respect the foreground ROP and mode of the DC. And we don't run into deadlocks due to having an exclusive region lock while trying to lock a DC. LOCKING MUST BE DONE IN PROPER ORDER!

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65730 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
Implement exclusive lock order checks for GDI objects in debug builds

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65731 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
- Rename IntGdiOffsetRgn to REGION_iOffsetRgn

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65732 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
- Make REGION_iOffsetRgn check the region for coordinate space overflow and fail, if the region cannot be moved
- Rename REGION_iOffsetRgn to REGION_bOffsetRgn and make it return BOOL instead of the complexity, since the majority of callers are not interested in the complexity. It's also more obvious that we need to check for an error.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65733 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
Improve REGION_bMakeFrameRegion and REGION_bMakeSimpleFrameRgn

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65734 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
- Rename xmemcheck to REGION_bGrowBufferSize
- Implement REGION_bEnsureBufferSize and REGION_vAddRect helper functions
- Replace MERGERECT macro with REGION_bMergeRect inline function

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65735 97493ccd-5924-5043-b1f5-66cb403b36ce
[USER32]
Fix copy-paste-bug in SubtractRect

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@65736 97493ccd-5924-5043-b1f5-66cb403b36ce