Author: jimtabor
Date: Mon Dec 28 19:41:31 2009
New Revision: 44797
URL:
http://svn.reactos.org/svn/reactos?rev=44797&view=rev
Log:
- Fix regressions in FF and OOo.
Modified:
trunk/reactos/dll/win32/gdi32/objects/region.c
Modified: trunk/reactos/dll/win32/gdi32/objects/region.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/re…
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/region.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/gdi32/objects/region.c [iso-8859-1] Mon Dec 28 19:41:31 2009
@@ -22,7 +22,6 @@
If the rects are overlapping and not normalized or displace in different areas,
it's DIFF_RGN.
*/
-static
INT
FASTCALL
ComplexityFromRects( PRECTL prc1, PRECTL prc2)
@@ -205,6 +204,7 @@
HRGN hSrc2,
INT CombineMode)
{
+#if 0
PRGN_ATTR pRgn_Attr_Dest = NULL;
PRGN_ATTR pRgn_Attr_Src1 = NULL;
PRGN_ATTR pRgn_Attr_Src2 = NULL;
@@ -218,8 +218,9 @@
!pRgn_Attr_Dest ||
!pRgn_Attr_Src1 ||
pRgn_Attr_Src1->Flags > SIMPLEREGION )
+#endif
return NtGdiCombineRgn(hDest, hSrc1, hSrc2, CombineMode);
-
+#if 0
/* Handle COPY and use only src1. */
if ( CombineMode == RGN_COPY )
{
@@ -388,6 +389,7 @@
/* Even on error the flag is set dirty and force server side to redraw. */
pRgn_Attr_Dest->AttrFlags |= ATTR_RGN_DIRTY;
return ERROR;
+#endif
}
/*
@@ -438,6 +440,10 @@
HRGN hrgn;
int x, y;
+//// Remove when Brush/Pen/Rgn Attr is ready!
+ return NtGdiCreateRectRgn(x1,y1,x2,y2);
+////
+
/* Normalize points */
x = x1;
if ( x1 > x2 )
@@ -461,12 +467,10 @@
SetLastError(ERROR_INVALID_PARAMETER);
return NULL;
}
-//// Remove when Brush/Pen/Rgn Attr is ready!
- return NtGdiCreateRectRgn(x1,y1,x2,y2);
-////
- hrgn = hGetPEBHandle(hctRegionHandle, 0);
-
- if (!hrgn)
+
+// hrgn = hGetPEBHandle(hctRegionHandle, 0);
+
+// if (!hrgn)
hrgn = NtGdiCreateRectRgn(0, 0, 1, 1);
if (!hrgn)
@@ -633,11 +637,13 @@
GetRgnBox(HRGN hrgn,
LPRECT prcOut)
{
+#if 0
PRGN_ATTR Rgn_Attr;
if (!GdiGetHandleUserData((HGDIOBJ) hrgn, GDI_OBJECT_TYPE_REGION, (PVOID)
&Rgn_Attr))
+#endif
return NtGdiGetRgnBox(hrgn, prcOut);
-
+#if 0
if (Rgn_Attr->Flags == NULLREGION)
{
prcOut->left = 0;
@@ -653,6 +659,7 @@
RtlCopyMemory( prcOut, &Rgn_Attr->Rect, sizeof(RECT));
}
return Rgn_Attr->Flags;
+#endif
}
/*
@@ -743,12 +750,14 @@
int nXOffset,
int nYOffset)
{
+#if 0
PRGN_ATTR pRgn_Attr;
int nLeftRect, nTopRect, nRightRect, nBottomRect;
if (!GdiGetHandleUserData((HGDIOBJ) hrgn, GDI_OBJECT_TYPE_REGION, (PVOID)
&pRgn_Attr))
+#endif
return NtGdiOffsetRgn(hrgn,nXOffset,nYOffset);
-
+#if 0
if ( pRgn_Attr->Flags == NULLREGION)
return pRgn_Attr->Flags;
@@ -790,6 +799,7 @@
}
}
return pRgn_Attr->Flags;
+#endif
}
/*
@@ -801,11 +811,13 @@
int x,
int y)
{
+#if 0
PRGN_ATTR pRgn_Attr;
if (!GdiGetHandleUserData((HGDIOBJ) hrgn, GDI_OBJECT_TYPE_REGION, (PVOID)
&pRgn_Attr))
+#endif
return NtGdiPtInRegion(hrgn,x,y);
-
+#if 0
if ( pRgn_Attr->Flags == NULLREGION)
return FALSE;
@@ -813,6 +825,7 @@
return NtGdiPtInRegion(hrgn,x,y);
return INRECT( pRgn_Attr->Rect, x, y);
+#endif
}
/*
@@ -823,12 +836,14 @@
RectInRegion(HRGN hrgn,
LPCRECT prcl)
{
+#if 0
PRGN_ATTR pRgn_Attr;
RECTL rc;
if (!GdiGetHandleUserData((HGDIOBJ) hrgn, GDI_OBJECT_TYPE_REGION, (PVOID)
&pRgn_Attr))
+#endif
return NtGdiRectInRegion(hrgn, (LPRECT) prcl);
-
+#if 0
if ( pRgn_Attr->Flags == NULLREGION)
return FALSE;
@@ -862,6 +877,7 @@
return TRUE;
return FALSE;
+#endif
}
/*
@@ -887,11 +903,13 @@
int nRightRect,
int nBottomRect)
{
+#if 0
PRGN_ATTR Rgn_Attr;
if (!GdiGetHandleUserData((HGDIOBJ) hrgn, GDI_OBJECT_TYPE_REGION, (PVOID)
&Rgn_Attr))
+#endif
return NtGdiSetRectRgn(hrgn, nLeftRect, nTopRect, nRightRect, nBottomRect);
-
+#if 0
if ((nLeftRect == nRightRect) || (nTopRect == nBottomRect))
{
Rgn_Attr->AttrFlags |= ATTR_RGN_DIRTY;
@@ -920,6 +938,7 @@
Rgn_Attr->AttrFlags |= ATTR_RGN_DIRTY ;
Rgn_Attr->Flags = SIMPLEREGION;
return TRUE;
+#endif
}
/*