mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 00:45:24 +00:00
[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 svn path=/trunk/; revision=65720
This commit is contained in:
parent
1a37b7cfb8
commit
2768e3abbd
7 changed files with 496 additions and 405 deletions
|
@ -52,7 +52,7 @@ IntEngWndUpdateClipObj(
|
|||
XCLIPOBJ* Clip,
|
||||
PWND Window)
|
||||
{
|
||||
PROSRGNDATA visRgn;
|
||||
PREGION visRgn;
|
||||
|
||||
TRACE("IntEngWndUpdateClipObj\n");
|
||||
|
||||
|
|
|
@ -212,13 +212,13 @@ CombineRgn(HRGN hDest,
|
|||
if ( !Ret ||
|
||||
!pRgn_Attr_Dest ||
|
||||
!pRgn_Attr_Src1 ||
|
||||
pRgn_Attr_Src1->Flags > SIMPLEREGION )
|
||||
pRgn_Attr_Src1->iComplexity > SIMPLEREGION )
|
||||
return NtGdiCombineRgn(hDest, hSrc1, hSrc2, CombineMode);
|
||||
|
||||
/* Handle COPY and use only src1. */
|
||||
if ( CombineMode == RGN_COPY )
|
||||
{
|
||||
switch (pRgn_Attr_Src1->Flags)
|
||||
switch (pRgn_Attr_Src1->iComplexity)
|
||||
{
|
||||
case NULLREGION:
|
||||
Ret = SetRectRgn( hDest, 0, 0, 0, 0);
|
||||
|
@ -245,7 +245,7 @@ CombineRgn(HRGN hDest,
|
|||
Ret = GdiGetHandleUserData((HGDIOBJ) hSrc2, GDI_OBJECT_TYPE_REGION, (PVOID) &pRgn_Attr_Src2);
|
||||
if ( !Ret ||
|
||||
!pRgn_Attr_Src2 ||
|
||||
pRgn_Attr_Src2->Flags > SIMPLEREGION )
|
||||
pRgn_Attr_Src2->iComplexity > SIMPLEREGION )
|
||||
return NtGdiCombineRgn(hDest, hSrc1, hSrc2, CombineMode);
|
||||
|
||||
/* All but AND. */
|
||||
|
@ -270,14 +270,14 @@ CombineRgn(HRGN hDest,
|
|||
return NtGdiCombineRgn(hDest, hSrc1, hSrc2, CombineMode);
|
||||
}
|
||||
/* Now handle DIFF. */
|
||||
if ( pRgn_Attr_Src1->Flags == NULLREGION )
|
||||
if ( pRgn_Attr_Src1->iComplexity == NULLREGION )
|
||||
{
|
||||
if (SetRectRgn( hDest, 0, 0, 0, 0))
|
||||
return NULLREGION;
|
||||
goto ERROR_Exit;
|
||||
}
|
||||
|
||||
if ( pRgn_Attr_Src2->Flags != NULLREGION )
|
||||
if ( pRgn_Attr_Src2->iComplexity != NULLREGION )
|
||||
{
|
||||
Complexity = ComplexityFromRects( &pRgn_Attr_Src1->Rect, &pRgn_Attr_Src2->Rect);
|
||||
|
||||
|
@ -295,9 +295,9 @@ CombineRgn(HRGN hDest,
|
|||
}
|
||||
else /* Handle OR or XOR. */
|
||||
{
|
||||
if ( pRgn_Attr_Src1->Flags == NULLREGION )
|
||||
if ( pRgn_Attr_Src1->iComplexity == NULLREGION )
|
||||
{
|
||||
if ( pRgn_Attr_Src2->Flags != NULLREGION )
|
||||
if ( pRgn_Attr_Src2->iComplexity != NULLREGION )
|
||||
{
|
||||
/* Src1 null and not NULL, set from src2. */
|
||||
Ret = SetRectRgn( hDest,
|
||||
|
@ -315,7 +315,7 @@ CombineRgn(HRGN hDest,
|
|||
goto ERROR_Exit;
|
||||
}
|
||||
/* Src1 is not NULL. */
|
||||
if ( pRgn_Attr_Src2->Flags != NULLREGION )
|
||||
if ( pRgn_Attr_Src2->iComplexity != NULLREGION )
|
||||
{
|
||||
if ( CombineMode != RGN_OR ) /* Filter XOR, so go K. */
|
||||
return NtGdiCombineRgn(hDest, hSrc1, hSrc2, CombineMode);
|
||||
|
@ -350,8 +350,8 @@ CombineRgn(HRGN hDest,
|
|||
}
|
||||
|
||||
/* Handle AND. */
|
||||
if ( pRgn_Attr_Src1->Flags != NULLREGION &&
|
||||
pRgn_Attr_Src2->Flags != NULLREGION )
|
||||
if ( pRgn_Attr_Src1->iComplexity != NULLREGION &&
|
||||
pRgn_Attr_Src2->iComplexity != NULLREGION )
|
||||
{
|
||||
Complexity = ComplexityFromRects( &pRgn_Attr_Src1->Rect, &pRgn_Attr_Src2->Rect);
|
||||
|
||||
|
@ -491,13 +491,13 @@ CreateRectRgn(int x1, int y1, int x2, int y2)
|
|||
|
||||
if (( x1 == x2) || (y1 == y2))
|
||||
{
|
||||
pRgn_Attr->Flags = NULLREGION;
|
||||
pRgn_Attr->iComplexity = NULLREGION;
|
||||
pRgn_Attr->Rect.left = pRgn_Attr->Rect.top =
|
||||
pRgn_Attr->Rect.right = pRgn_Attr->Rect.bottom = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
pRgn_Attr->Flags = SIMPLEREGION;
|
||||
pRgn_Attr->iComplexity = SIMPLEREGION;
|
||||
pRgn_Attr->Rect.left = x1;
|
||||
pRgn_Attr->Rect.top = y1;
|
||||
pRgn_Attr->Rect.right = x2;
|
||||
|
@ -642,7 +642,7 @@ ExtSelectClipRgn( IN HDC hdc, IN HRGN hrgn, IN INT iMode)
|
|||
!(pEntry->Flags & GDI_ENTRY_VALIDATE_VIS) )
|
||||
{
|
||||
if (!hrgn ||
|
||||
(hrgn && pRgn_Attr && pRgn_Attr->Flags <= SIMPLEREGION) )
|
||||
(hrgn && pRgn_Attr && pRgn_Attr->iComplexity <= SIMPLEREGION) )
|
||||
{
|
||||
if ((pTeb->GdiTebBatch.Offset + sizeof(GDIBSEXTSELCLPRGN)) <= GDIBATCHBUFSIZE)
|
||||
{
|
||||
|
@ -655,7 +655,7 @@ ExtSelectClipRgn( IN HDC hdc, IN HRGN hrgn, IN INT iMode)
|
|||
|
||||
if ( hrgn && pRgn_Attr )
|
||||
{
|
||||
Ret = pRgn_Attr->Flags;
|
||||
Ret = pRgn_Attr->iComplexity;
|
||||
|
||||
if ( pDc_Attr->VisRectRegion.Rect.left >= pRgn_Attr->Rect.right ||
|
||||
pDc_Attr->VisRectRegion.Rect.top >= pRgn_Attr->Rect.bottom ||
|
||||
|
@ -670,7 +670,7 @@ ExtSelectClipRgn( IN HDC hdc, IN HRGN hrgn, IN INT iMode)
|
|||
}
|
||||
else
|
||||
{
|
||||
Ret = pDc_Attr->VisRectRegion.Flags;
|
||||
Ret = pDc_Attr->VisRectRegion.iComplexity;
|
||||
pgO->fnMode |= 0x80000000; // Set no hrgn mode.
|
||||
}
|
||||
pTeb->GdiTebBatch.Offset += sizeof(GDIBSEXTSELCLPRGN);
|
||||
|
@ -763,7 +763,7 @@ GetRgnBox(HRGN hrgn,
|
|||
//if (!GdiGetHandleUserData((HGDIOBJ) hrgn, GDI_OBJECT_TYPE_REGION, (PVOID) &Rgn_Attr))
|
||||
return NtGdiGetRgnBox(hrgn, prcOut);
|
||||
|
||||
if (Rgn_Attr->Flags == NULLREGION)
|
||||
if (Rgn_Attr->iComplexity == NULLREGION)
|
||||
{
|
||||
prcOut->left = 0;
|
||||
prcOut->top = 0;
|
||||
|
@ -772,12 +772,12 @@ GetRgnBox(HRGN hrgn,
|
|||
}
|
||||
else
|
||||
{
|
||||
if (Rgn_Attr->Flags != SIMPLEREGION)
|
||||
if (Rgn_Attr->iComplexity != SIMPLEREGION)
|
||||
return NtGdiGetRgnBox(hrgn, prcOut);
|
||||
/* WARNING! prcOut is never checked newbies! */
|
||||
RtlCopyMemory( prcOut, &Rgn_Attr->Rect, sizeof(RECT));
|
||||
}
|
||||
return Rgn_Attr->Flags;
|
||||
return Rgn_Attr->iComplexity;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -875,10 +875,10 @@ OffsetRgn( HRGN hrgn,
|
|||
// if (!GdiGetHandleUserData((HGDIOBJ) hrgn, GDI_OBJECT_TYPE_REGION, (PVOID) &pRgn_Attr))
|
||||
return NtGdiOffsetRgn(hrgn,nXOffset,nYOffset);
|
||||
|
||||
if ( pRgn_Attr->Flags == NULLREGION)
|
||||
return pRgn_Attr->Flags;
|
||||
if ( pRgn_Attr->iComplexity == NULLREGION)
|
||||
return pRgn_Attr->iComplexity;
|
||||
|
||||
if ( pRgn_Attr->Flags != SIMPLEREGION)
|
||||
if ( pRgn_Attr->iComplexity != SIMPLEREGION)
|
||||
return NtGdiOffsetRgn(hrgn,nXOffset,nYOffset);
|
||||
|
||||
nLeftRect = pRgn_Attr->Rect.left;
|
||||
|
@ -911,7 +911,7 @@ OffsetRgn( HRGN hrgn,
|
|||
pRgn_Attr->AttrFlags |= ATTR_RGN_DIRTY;
|
||||
}
|
||||
}
|
||||
return pRgn_Attr->Flags;
|
||||
return pRgn_Attr->iComplexity;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -929,10 +929,10 @@ PtInRegion(IN HRGN hrgn,
|
|||
//if (!GdiGetHandleUserData((HGDIOBJ) hrgn, GDI_OBJECT_TYPE_REGION, (PVOID) &pRgn_Attr))
|
||||
return NtGdiPtInRegion(hrgn,x,y);
|
||||
|
||||
if ( pRgn_Attr->Flags == NULLREGION)
|
||||
if ( pRgn_Attr->iComplexity == NULLREGION)
|
||||
return FALSE;
|
||||
|
||||
if ( pRgn_Attr->Flags != SIMPLEREGION)
|
||||
if ( pRgn_Attr->iComplexity != SIMPLEREGION)
|
||||
return NtGdiPtInRegion(hrgn,x,y);
|
||||
|
||||
return INRECT( pRgn_Attr->Rect, x, y);
|
||||
|
@ -953,10 +953,10 @@ RectInRegion(HRGN hrgn,
|
|||
//if (!GdiGetHandleUserData((HGDIOBJ) hrgn, GDI_OBJECT_TYPE_REGION, (PVOID) &pRgn_Attr))
|
||||
return NtGdiRectInRegion(hrgn, (LPRECT) prcl);
|
||||
|
||||
if ( pRgn_Attr->Flags == NULLREGION)
|
||||
if ( pRgn_Attr->iComplexity == NULLREGION)
|
||||
return FALSE;
|
||||
|
||||
if ( pRgn_Attr->Flags != SIMPLEREGION)
|
||||
if ( pRgn_Attr->iComplexity != SIMPLEREGION)
|
||||
return NtGdiRectInRegion(hrgn, (LPRECT) prcl);
|
||||
|
||||
/* swap the coordinates to make right >= left and bottom >= top */
|
||||
|
@ -1019,7 +1019,7 @@ SetRectRgn(HRGN hrgn,
|
|||
if ((nLeftRect == nRightRect) || (nTopRect == nBottomRect))
|
||||
{
|
||||
Rgn_Attr->AttrFlags |= ATTR_RGN_DIRTY;
|
||||
Rgn_Attr->Flags = NULLREGION;
|
||||
Rgn_Attr->iComplexity = NULLREGION;
|
||||
Rgn_Attr->Rect.left = Rgn_Attr->Rect.top =
|
||||
Rgn_Attr->Rect.right = Rgn_Attr->Rect.bottom = 0;
|
||||
return TRUE;
|
||||
|
@ -1042,7 +1042,7 @@ SetRectRgn(HRGN hrgn,
|
|||
}
|
||||
|
||||
Rgn_Attr->AttrFlags |= ATTR_RGN_DIRTY ;
|
||||
Rgn_Attr->Flags = SIMPLEREGION;
|
||||
Rgn_Attr->iComplexity = SIMPLEREGION;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
@ -274,7 +274,7 @@ FASTCALL
|
|||
IntSetDefaultRegion(PDC pdc)
|
||||
{
|
||||
PSURFACE pSurface;
|
||||
PROSRGNDATA prgn;
|
||||
PREGION prgn;
|
||||
RECTL rclWnd, rclClip;
|
||||
|
||||
IntGdiReleaseRaoRgn(pdc);
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -4,7 +4,7 @@
|
|||
|
||||
/* Internal region data.
|
||||
Can't use RGNDATA structure because buffer is allocated statically */
|
||||
typedef struct _ROSRGNDATA
|
||||
typedef struct _REGION
|
||||
{
|
||||
/* Header for all gdi objects in the handle table.
|
||||
Do not (re)move this. */
|
||||
|
@ -14,7 +14,7 @@ typedef struct _ROSRGNDATA
|
|||
|
||||
RGNDATAHEADER rdh;
|
||||
RECTL *Buffer;
|
||||
} ROSRGNDATA, *PROSRGNDATA, *LPROSRGNDATA, REGION, *PREGION;
|
||||
} REGION, *PREGION;
|
||||
|
||||
|
||||
/* Functions ******************************************************************/
|
||||
|
@ -22,41 +22,41 @@ typedef struct _ROSRGNDATA
|
|||
#define REGION_FreeRgn(pRgn) GDIOBJ_FreeObj((POBJ)pRgn, GDIObjType_RGN_TYPE)
|
||||
#define REGION_FreeRgnByHandle(hRgn) GDIOBJ_FreeObjByHandle((HGDIOBJ)hRgn, GDI_OBJECT_TYPE_REGION)
|
||||
|
||||
PROSRGNDATA FASTCALL REGION_AllocRgnWithHandle(INT n);
|
||||
PROSRGNDATA FASTCALL REGION_AllocUserRgnWithHandle(INT n);
|
||||
VOID FASTCALL REGION_UnionRectWithRgn(ROSRGNDATA *rgn, const RECTL *rect);
|
||||
PREGION FASTCALL REGION_AllocRgnWithHandle(INT n);
|
||||
PREGION FASTCALL REGION_AllocUserRgnWithHandle(INT n);
|
||||
VOID FASTCALL REGION_UnionRectWithRgn(PREGION rgn, const RECTL *rect);
|
||||
INT FASTCALL REGION_SubtractRectFromRgn(PREGION prgnDest, PREGION prgnSrc, const RECTL *prcl);
|
||||
INT FASTCALL REGION_GetRgnBox(PROSRGNDATA Rgn, RECTL *pRect);
|
||||
BOOL FASTCALL REGION_RectInRegion(PROSRGNDATA Rgn, const RECTL *rc);
|
||||
INT FASTCALL REGION_GetRgnBox(PREGION Rgn, RECTL *pRect);
|
||||
BOOL FASTCALL REGION_RectInRegion(PREGION Rgn, const RECTL *rc);
|
||||
BOOL FASTCALL REGION_PtInRegion(PREGION, INT, INT);
|
||||
INT FASTCALL REGION_CropAndOffsetRegion(PROSRGNDATA rgnDst, PROSRGNDATA rgnSrc, const RECTL *rect, const POINT *off);
|
||||
VOID FASTCALL REGION_SetRectRgn(PROSRGNDATA pRgn, INT LeftRect, INT TopRect, INT RightRect, INT BottomRect);
|
||||
INT FASTCALL REGION_CropAndOffsetRegion(PREGION rgnDst, PREGION rgnSrc, const RECTL *rect, const POINT *off);
|
||||
VOID FASTCALL REGION_SetRectRgn(PREGION pRgn, INT LeftRect, INT TopRect, INT RightRect, INT BottomRect);
|
||||
VOID NTAPI REGION_vCleanup(PVOID ObjectBody);
|
||||
|
||||
extern PROSRGNDATA prgnDefault;
|
||||
extern PREGION prgnDefault;
|
||||
extern HRGN hrgnDefault;
|
||||
|
||||
VOID FASTCALL REGION_Delete(PROSRGNDATA);
|
||||
VOID FASTCALL REGION_Delete(PREGION);
|
||||
VOID FASTCALL IntGdiReleaseRaoRgn(PDC);
|
||||
VOID FASTCALL IntGdiReleaseVisRgn(PDC);
|
||||
|
||||
INT APIENTRY IntGdiGetRgnBox(HRGN, RECTL*);
|
||||
BOOL FASTCALL IntGdiPaintRgn(PDC, PREGION );
|
||||
BOOL FASTCALL IntSetPolyPolygonRgn(PPOINT, PULONG, INT, INT, PREGION);
|
||||
INT FASTCALL IntGdiOffsetRgn(PROSRGNDATA,INT,INT);
|
||||
INT FASTCALL IntGdiOffsetRgn(PREGION,INT,INT);
|
||||
BOOL FASTCALL IntRectInRegion(HRGN,LPRECTL);
|
||||
|
||||
INT FASTCALL IntGdiCombineRgn(PROSRGNDATA, PROSRGNDATA, PROSRGNDATA, INT);
|
||||
INT FASTCALL REGION_Complexity(PROSRGNDATA);
|
||||
PROSRGNDATA FASTCALL RGNOBJAPI_Lock(HRGN,PRGN_ATTR *);
|
||||
VOID FASTCALL RGNOBJAPI_Unlock(PROSRGNDATA);
|
||||
PROSRGNDATA FASTCALL IntSysCreateRectpRgn(INT,INT,INT,INT);
|
||||
INT FASTCALL IntGdiCombineRgn(PREGION, PREGION, PREGION, INT);
|
||||
INT FASTCALL REGION_Complexity(PREGION);
|
||||
PREGION FASTCALL RGNOBJAPI_Lock(HRGN,PRGN_ATTR *);
|
||||
VOID FASTCALL RGNOBJAPI_Unlock(PREGION);
|
||||
PREGION FASTCALL IntSysCreateRectpRgn(INT,INT,INT,INT);
|
||||
BOOL FASTCALL IntGdiSetRegionOwner(HRGN,DWORD);
|
||||
|
||||
#define IntSysCreateRectpRgnIndirect(prc) \
|
||||
IntSysCreateRectpRgn((prc)->left, (prc)->top, (prc)->right, (prc)->bottom)
|
||||
|
||||
PROSRGNDATA
|
||||
PREGION
|
||||
FASTCALL
|
||||
IntSysCreateRectpRgn(INT LeftRect, INT TopRect, INT RightRect, INT BottomRect);
|
||||
|
||||
|
|
|
@ -273,7 +273,7 @@ typedef struct __GDI_SHARED_HANDLE_TABLE /* Must match win32k/include/gdiobj.h *
|
|||
typedef struct _RGN_ATTR
|
||||
{
|
||||
ULONG AttrFlags;
|
||||
ULONG Flags; /* Clipping region's complexity. NULL, SIMPLE & COMPLEXREGION */
|
||||
ULONG iComplexity; /* Clipping region's complexity. NULL, SIMPLE & COMPLEXREGION */
|
||||
RECTL Rect;
|
||||
} RGN_ATTR,*PRGN_ATTR;
|
||||
|
||||
|
|
|
@ -1309,7 +1309,7 @@ NtUserGetUpdateRect(HWND hWnd, LPRECT UnsafeRect, BOOL bErase)
|
|||
PWND Window;
|
||||
RECTL Rect;
|
||||
INT RegionType;
|
||||
PROSRGNDATA RgnData;
|
||||
PREGION RgnData;
|
||||
NTSTATUS Status;
|
||||
DECLARE_RETURN(BOOL);
|
||||
|
||||
|
|
Loading…
Reference in a new issue