Author: jimtabor
Date: Thu Dec 24 00:30:26 2009
New Revision: 44747
URL:
http://svn.reactos.org/svn/reactos?rev=44747&view=rev
Log:
[gdi32]
- Move more region code from stubs into the appropriate file.
- Enable and fix more user code.
Modified:
trunk/reactos/dll/win32/gdi32/misc/stubs.c
trunk/reactos/dll/win32/gdi32/objects/region.c
Modified: trunk/reactos/dll/win32/gdi32/misc/stubs.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs…
==============================================================================
--- trunk/reactos/dll/win32/gdi32/misc/stubs.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/gdi32/misc/stubs.c [iso-8859-1] Thu Dec 24 00:30:26 2009
@@ -1704,25 +1704,6 @@
return NtGdiGetFontData(hdc, dwTable, dwOffset, lpvBuffer, cbData);
}
-
-/*
- * @implemented
- *
- */
-DWORD
-WINAPI
-GetRegionData(HRGN hrgn,
- DWORD nCount,
- LPRGNDATA lpRgnData)
-{
- if (!lpRgnData)
- {
- nCount = 0;
- }
-
- return NtGdiGetRegionData(hrgn,nCount,lpRgnData);
-}
-
INT
WINAPI
NamedEscape(HDC hdc,
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] Thu Dec 24 00:30:26 2009
@@ -190,7 +190,7 @@
*/
HRGN
WINAPI
-CreateRectRgn(int x1, int y1, int x2,int y2)
+CreateRectRgn(int x1, int y1, int x2, int y2)
{
/* FIXME Some part need be done in user mode */
return NtGdiCreateRectRgn(x1,y1,x2,y2);
@@ -289,15 +289,34 @@
* @implemented
*
*/
+DWORD
+WINAPI
+GetRegionData(HRGN hrgn,
+ DWORD nCount,
+ LPRGNDATA lpRgnData)
+{
+ if (!lpRgnData)
+ {
+ nCount = 0;
+ }
+
+ return NtGdiGetRegionData(hrgn,nCount,lpRgnData);
+}
+
+/*
+ * @implemented
+ *
+ */
INT
WINAPI
GetRgnBox(HRGN hrgn,
LPRECT prcOut)
{
-#if 0
PRGN_ATTR Rgn_Attr;
- if (!GdiGetHandleUserData((HGDIOBJ) hRgn, GDI_OBJECT_TYPE_REGION, (PVOID)
&Rgn_Attr))
+
+ if (!GdiGetHandleUserData((HGDIOBJ) hrgn, GDI_OBJECT_TYPE_REGION, (PVOID)
&Rgn_Attr))
return NtGdiGetRgnBox(hrgn, prcOut);
+
if (Rgn_Attr->Flags == NULLREGION)
{
prcOut->left = 0;
@@ -307,12 +326,12 @@
}
else
{
- if (Rgn_Attr->Flags != SIMPLEREGION) return NtGdiGetRgnBox(hrgn, prcOut);
- *prcOut = Rgn_Attr->Rect;
+ if (Rgn_Attr->Flags != SIMPLEREGION)
+ return NtGdiGetRgnBox(hrgn, prcOut);
+ /* WARNING! prcOut is never checked newbies! */
+ RtlCopyMemory( prcOut, &Rgn_Attr->Rect, sizeof(RECT));
}
return Rgn_Attr->Flags;
-#endif
- return NtGdiGetRgnBox(hrgn, prcOut);
}
/*