reactos/lib/gdi32/misc
diff -u -r1.52 -r1.53
--- stubs.c 9 Apr 2004 20:03:12 -0000 1.52
+++ stubs.c 23 Apr 2004 13:34:04 -0000 1.53
@@ -1,4 +1,4 @@
-/* $Id: stubs.c,v 1.52 2004/04/09 20:03:12 navaraf Exp $
+/* $Id: stubs.c,v 1.53 2004/04/23 13:34:04 weiden Exp $
*
* reactos/lib/gdi32/misc/stubs.c
*
@@ -413,20 +413,6 @@
*/
BOOL
STDCALL
-InvertRgn(
- HDC hDc,
- HRGN hRgn
- )
-{
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return FALSE;
-}
-
-/*
- * @unimplemented
- */
-BOOL
-STDCALL
PlayMetaFile(
HDC a0,
HMETAFILE a1
reactos/lib/gdi32/objects
diff -u -r1.11 -r1.12
--- region.c 8 Nov 2003 22:54:26 -0000 1.11
+++ region.c 23 Apr 2004 13:34:04 -0000 1.12
@@ -296,3 +296,16 @@
{
return NtGdiRectInRegion(a0,(CONST PRECT)a1);
}
+
+/*
+ * @implemented
+ */
+BOOL
+STDCALL
+InvertRgn(
+ HDC hDc,
+ HRGN hRgn
+ )
+{
+ return NtGdiInvertRgn(hDc, hRgn);
+}
reactos/subsys/win32k/objects
diff -u -r1.48 -r1.49
--- region.c 9 Apr 2004 20:03:20 -0000 1.48
+++ region.c 23 Apr 2004 13:34:04 -0000 1.49
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: region.c,v 1.48 2004/04/09 20:03:20 navaraf Exp $ */
+/* $Id: region.c,v 1.49 2004/04/23 13:34:04 weiden Exp $ */
#undef WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ddk/ntddk.h>
@@ -1952,7 +1952,30 @@
NtGdiInvertRgn(HDC hDC,
HRGN hRgn)
{
- UNIMPLEMENTED;
+ PROSRGNDATA RgnData;
+ ULONG i;
+ PRECT rc;
+
+ if(!(RgnData = RGNDATA_LockRgn(hRgn)))
+ {
+ SetLastWin32Error(ERROR_INVALID_HANDLE);
+ return FALSE;
+ }
+
+ rc = (PRECT)RgnData->Buffer;
+ for(i = 0; i < RgnData->rdh.nCount; i++)
+ {
+
+ if(!NtGdiPatBlt(hDC, rc->left, rc->top, rc->right - rc->left, rc->bottom - rc->top, DSTINVERT))
+ {
+ RGNDATA_UnlockRgn(hRgn);
+ return FALSE;
+ }
+ rc++;
+ }
+
+ RGNDATA_UnlockRgn(hRgn);
+ return TRUE;
}
INT