[ros-diffs] [jimtabor] 28731: - Removed NtGdiPaintRgn and renamed NtGdiGetCurrentObject to NtGdiGetDCObject and NtGdiSetPixelV to GdiSetPixelV, w32ksvc.db and updated ntgdibad.h. - Full use of painting.c, imp GetCurrentObject and update gdi32.def.

jimtabor at svn.reactos.org jimtabor at svn.reactos.org
Sat Sep 1 04:51:49 CEST 2007


Author: jimtabor
Date: Sat Sep  1 06:51:48 2007
New Revision: 28731

URL: http://svn.reactos.org/svn/reactos?rev=28731&view=rev
Log:
- Removed NtGdiPaintRgn and renamed NtGdiGetCurrentObject to NtGdiGetDCObject and NtGdiSetPixelV to GdiSetPixelV, w32ksvc.db and updated ntgdibad.h.
- Full use of painting.c, imp GetCurrentObject and update gdi32.def.

Modified:
    trunk/reactos/dll/win32/gdi32/gdi32.def
    trunk/reactos/dll/win32/gdi32/include/gdi32p.h
    trunk/reactos/dll/win32/gdi32/misc/stubs.c
    trunk/reactos/dll/win32/gdi32/objects/dc.c
    trunk/reactos/dll/win32/gdi32/objects/painting.c
    trunk/reactos/include/reactos/win32k/ntgdibad.h
    trunk/reactos/subsystems/win32/win32k/objects/bitmaps.c
    trunk/reactos/subsystems/win32/win32k/objects/dc.c
    trunk/reactos/subsystems/win32/win32k/objects/dibobj.c
    trunk/reactos/subsystems/win32/win32k/objects/region.c
    trunk/reactos/subsystems/win32/win32k/stubs/stubs.c
    trunk/reactos/subsystems/win32/win32k/w32ksvc.db

Modified: trunk/reactos/dll/win32/gdi32/gdi32.def
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.def?rev=28731&r1=28730&r2=28731&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/gdi32.def (original)
+++ trunk/reactos/dll/win32/gdi32/gdi32.def Sat Sep  1 06:51:48 2007
@@ -464,10 +464,10 @@
 HT_Get8BPPFormatPalette at 16
 HT_Get8BPPMaskPalette at 24
 IntersectClipRect at 20=NtGdiIntersectClipRect at 20
-InvertRgn at 8=NtGdiInvertRgn at 8
+InvertRgn at 8
 LPtoDP at 12
 LineDDA at 24
-LineTo at 12=NtGdiLineTo at 12
+LineTo at 12
 MaskBlt at 48
 MirrorRgn at 8
 ModifyWorldTransform at 12
@@ -477,7 +477,7 @@
 OffsetRgn at 12=NtGdiOffsetRgn at 12
 OffsetViewportOrgEx at 16=NtGdiOffsetViewportOrgEx at 16
 OffsetWindowOrgEx at 16=NtGdiOffsetWindowOrgEx at 16
-PaintRgn at 8=NtGdiPaintRgn at 8
+PaintRgn at 8
 PatBlt at 24=NtGdiPatBlt at 24
 PATHOBJ_bEnum at 8
 PATHOBJ_bEnumClipLines at 12
@@ -508,7 +508,7 @@
 RealizePalette at 4=NtGdiRealizePalette at 4
 RectInRegion at 8=NtGdiRectInRegion at 8
 RectVisible at 8=NtGdiRectVisible at 8
-Rectangle at 20=NtGdiRectangle at 20
+Rectangle at 20
 RemoveFontMemResourceEx at 4
 RemoveFontResourceA at 4
 RemoveFontResourceExA at 12
@@ -519,7 +519,7 @@
 ResetDCW at 8
 ResizePalette at 8
 RestoreDC at 8=NtGdiRestoreDC at 8
-RoundRect at 28=NtGdiRoundRect at 28
+RoundRect at 28
 SaveDC at 4=NtGdiSaveDC at 4
 ScaleViewportExtEx at 24
 ScaleWindowExtEx at 24
@@ -562,9 +562,9 @@
 SetMetaRgn at 4
 SetMiterLimit at 12
 SetPaletteEntries at 16
-SetPixel at 16=NtGdiSetPixel at 16
+SetPixel at 16
 SetPixelFormat at 12
-SetPixelV at 16=NtGdiSetPixelV at 16
+SetPixelV at 16
 SetPolyFillMode at 8=NtGdiSetPolyFillMode at 8
 SetROP2 at 8=NtGdiSetROP2 at 8
 SetRectRgn at 20=NtGdiSetRectRgn at 20

Modified: trunk/reactos/dll/win32/gdi32/include/gdi32p.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/include/gdi32p.h?rev=28731&r1=28730&r2=28731&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/include/gdi32p.h (original)
+++ trunk/reactos/dll/win32/gdi32/include/gdi32p.h Sat Sep  1 06:51:48 2007
@@ -159,6 +159,10 @@
 STDCALL
 GetDCDWord( HDC, INT, DWORD);
 
+HGDIOBJ
+STDCALL
+GetDCObject( HDC, INT);
+
 VOID
 NTAPI
 LogFontA2W(

Modified: trunk/reactos/dll/win32/gdi32/misc/stubs.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs.c?rev=28731&r1=28730&r2=28731&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/misc/stubs.c (original)
+++ trunk/reactos/dll/win32/gdi32/misc/stubs.c Sat Sep  1 06:51:48 2007
@@ -2174,25 +2174,6 @@
 }
 
 
-
-
-/*
- * @implemented
- */
-BOOL 
-STDCALL
-Ellipse(
-  HDC hdc,
-  int nLeftRect,
-  int nTopRect,
-  int nRightRect,
-  int nBottomRect)
-{
-    /* FIXME some parts need be done in user mode */
-    return NtGdiEllipse(hdc,nLeftRect,nTopRect,nRightRect,nBottomRect);
-}
-
-
 /*
  * @unimplemented
  */
@@ -2464,17 +2445,6 @@
  */
 BOOL
 STDCALL
-FillRgn( IN HDC hdc, IN HRGN hrgn, IN HBRUSH hbrush)
-{
-	/* FIXME some part need be done on user mode size */
-	return NtGdiFillRgn( hdc, hrgn, hbrush);
-}
-
-/*
- * @implemented
- */
-BOOL
-STDCALL
 GdiGradientFill(
     IN HDC hdc,
     IN PTRIVERTEX pVertex,
@@ -2487,22 +2457,6 @@
     return NtGdiGradientFill(hdc, pVertex, nVertex, pMesh, nMesh, ulMode);
 }
 
-
-/*
- * @implemented
- */
-BOOL
-STDCALL
-FrameRgn(
-    IN HDC hdc,
-    IN HRGN hrgn,
-    IN HBRUSH hbrush,
-    IN INT xWidth,
-    IN INT yHeight)
-{
-    /* FIXME some part need be done in user mode */
-    return NtGdiFrameRgn(hdc, hrgn, hbrush, xWidth, yHeight);
-}
 
 /*
  * @implemented
@@ -2648,19 +2602,6 @@
  * @implemented
  *
  */
-HGDIOBJ 
-STDCALL
-GetCurrentObject(HDC hdc,
-                 UINT uObjectType)
-{
-    /* FIXME some part need be done in user mode */
-    return  NtGdiGetCurrentObject(hdc, uObjectType);
-}
-
-/*
- * @implemented
- *
- */
 int 
 STDCALL
 GetClipBox(HDC hdc,
@@ -2769,19 +2710,4 @@
 }
 
 
-/*
- * @implemented
- *
- */
-DWORD
-STDCALL
-GetPixel(HDC hdc,
-         INT x,
-         INT y)
-{
-    /* FIXME some part need todo in user mode */
-    return  NtGdiGetPixel(hdc, x, y);
-}
-
-
-
+

Modified: trunk/reactos/dll/win32/gdi32/objects/dc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/dc.c?rev=28731&r1=28730&r2=28731&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/dc.c (original)
+++ trunk/reactos/dll/win32/gdi32/objects/dc.c Sat Sep  1 06:51:48 2007
@@ -355,6 +355,49 @@
 
 /*
  * @implemented
+ *
+ */
+HGDIOBJ 
+STDCALL
+GetCurrentObject(HDC hdc,
+                 UINT uObjectType)
+{
+    /* FIXME some part need be done in user mode */
+    switch(uObjectType)
+    {
+      case OBJ_EXTPEN:
+      case OBJ_PEN:
+        uObjectType = GDI_OBJECT_TYPE_PEN;
+        break;
+      case OBJ_BRUSH:
+        uObjectType = GDI_OBJECT_TYPE_BRUSH;
+        break;
+      case OBJ_PAL:
+        uObjectType = GDI_OBJECT_TYPE_PALETTE;
+        break;
+      case OBJ_FONT:
+        uObjectType = GDI_OBJECT_TYPE_FONT;
+        break;
+      case OBJ_BITMAP:
+        uObjectType = GDI_OBJECT_TYPE_BITMAP;
+        break;
+      case OBJ_COLORSPACE:
+        uObjectType = GDI_OBJECT_TYPE_COLORSPACE;
+        break;
+      /* tests show that OBJ_REGION is explicitly ignored */
+      case OBJ_REGION:
+        return NULL;
+      /* the SDK only mentions those above */
+      default:
+        SetLastError(ERROR_INVALID_PARAMETER);
+        return NULL;
+    }
+    return  GetDCObject(hdc, uObjectType);
+}
+
+
+/*
+ * @implemented
  */
 DWORD
 STDCALL

Modified: trunk/reactos/dll/win32/gdi32/objects/painting.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/painting.c?rev=28731&r1=28730&r2=28731&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/painting.c (original)
+++ trunk/reactos/dll/win32/gdi32/objects/painting.c Sat Sep  1 06:51:48 2007
@@ -1,35 +1,39 @@
 #include "precomp.h"
 
 
+/*
+ * @implemented
+ */
+BOOL
+STDCALL
+LineTo( HDC hDC, INT x, INT y )
+{
+#if 0
+// Handle something other than a normal dc object.
+ if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
+ {
+    if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
+      return MFDRV_MetaParam2( hDC, META_LINETO, x, y);
+    else
+    {
+      PLDC pLDC = GdiGetLDC(hDC);
+      if ( !pLDC )
+      {
+         SetLastError(ERROR_INVALID_HANDLE);
+         return FALSE;
+      }
+      if (pLDC->iType == LDC_EMFLDC)
+      {
+        return MFDRV_LineTo( hDC, x, y )
+      }
+      return FALSE;
+    }
+ }
+#endif
+ return NtGdiLineTo( hDC, x, y);
+}
+
 #if 0 /* FIXME: enable this as soon as we have working usermode gdi */
-
-BOOL
-STDCALL
-LineTo( HDC hDC, INT x, INT y )
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
-    if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
-      return MFDRV_MetaParam2( hDC, META_LINETO, x, y);
-    else
-    {
-      PLDC pLDC = GdiGetLDC(hDC);
-      if ( !pLDC )
-      {
-         SetLastError(ERROR_INVALID_HANDLE);
-         return FALSE;
-      }
-      if (pLDC->iType == LDC_EMFLDC)
-      {
-        return MFDRV_LineTo( hDC, x, y )
-      }
-      return FALSE;
-    }
- }
- return NtGdiLineTo( hDC, x, y);
-}
-
 
 BOOL
 STDCALL
@@ -79,12 +83,16 @@
  Dc_Attr->ulDirty_ |= ( DIRTY_PTLCURRENT|DIRTY_STYLESTATE); // Set dirty
  return TRUE;
 }
-
-
+#endif
+
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 Ellipse(HDC hDC, INT Left, INT Top, INT Right, INT Bottom)
 {
+#if 0
 // Handle something other than a normal dc object.
  if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
  {
@@ -105,14 +113,19 @@
       return FALSE;
     }
  }
+#endif
  return NtGdiEllipse( hDC, Left, Top, Right, Bottom);
 }
 
 
-BOOL
-STDCALL
-Rectangle(HDC, INT Left, INT Top, INT Right, INT Bottom)
-{
+/*
+ * @implemented
+ */
+BOOL
+STDCALL
+Rectangle(HDC hDC, INT Left, INT Top, INT Right, INT Bottom)
+{
+#if 0
 // Handle something other than a normal dc object.
  if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
  {
@@ -133,15 +146,20 @@
       return FALSE;
     }
  }
+#endif
  return NtGdiRectangle( hDC, Left, Top, Right, Bottom);
 }
 
 
-BOOL
-STDCALL
-RoundRect(HDC, INT Left, INT Top, INT Right, INT Bottom, 
+/*
+ * @implemented
+ */
+BOOL
+STDCALL
+RoundRect(HDC hDC, INT Left, INT Top, INT Right, INT Bottom, 
                                                 INT ell_Width, INT ell_Height)
 {
+#if 0
 // Handle something other than a normal dc object.
  if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
  {
@@ -164,10 +182,14 @@
       return FALSE;
     }
  }
- return NtGdiRoundRect( hDc, Left, Top, Right, Bottom, ell_Width, ell_Height);
-}
-
-
+#endif
+ return NtGdiRoundRect( hDC, Left, Top, Right, Bottom, ell_Width, ell_Height);
+}
+
+
+/*
+ * @implemented
+ */
 COLORREF
 STDCALL
 GetPixel( HDC hDC, INT x, INT y )
@@ -178,10 +200,14 @@
 }
 
 
+/*
+ * @implemented
+ */
 COLORREF
 STDCALL
 SetPixel( HDC hDC, INT x, INT y, COLORREF Color )
 {
+#if 0
 // Handle something other than a normal dc object.
  if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
  {
@@ -203,27 +229,34 @@
       return 0;
     }
  }
+#endif
  return NtGdiSetPixel( hDC, x, y, Color);
 }
 
 
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 SetPixelV( HDC hDC, INT x, INT y, COLORREF Color )
 {
    COLORREF Cr = SetPixel( hDC, x, y, Color );
-   if (Cr) return TRUE;
+   if (Cr != CLR_INVALID) return TRUE;
    return FALSE;
 }
 
 
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 FillRgn( HDC hDC, HRGN hRgn, HBRUSH hBrush )
 {
 
  if ( (!hRgn) || (!hBrush) ) return FALSE;
- 
+#if 0 
 // Handle something other than a normal dc object.
  if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
  {
@@ -244,17 +277,21 @@
       return FALSE;
     }
  }
+#endif
  return NtGdiFillRgn( hDC, hRgn, hBrush);
 }
 
 
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 FrameRgn( HDC hDC, HRGN hRgn, HBRUSH hBrush, INT nWidth, INT nHeight )
 {
 
  if ( (!hRgn) || (!hBrush) ) return FALSE;
- 
+#if 0 
 // Handle something other than a normal dc object.
  if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
  {
@@ -275,17 +312,21 @@
       return FALSE;
     }
  }
+#endif
  return NtGdiFrameRgn( hDC, hRgn, hBrush, nWidth, nHeight);
 }
 
 
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 InvertRgn( HDC hDC, HRGN hRgn )
 {
 
  if ( !hRgn ) return FALSE;
- 
+#if 0 
 // Handle something other than a normal dc object.
  if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
  {
@@ -306,13 +347,19 @@
       return FALSE;
     }
  }
+#endif
  return NtGdiInvertRgn( hDC, hRgn);
 }
 
+
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 PaintRgn( HDC hDC, HRGN hRgn )
 {
+#if 0
 // Handle something other than a normal dc object.
  if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
  {
@@ -333,14 +380,17 @@
       return FALSE;
     }
  }
- // Could just use Dc_Attr->hbrush
- HBRUSH hbrush = (HBRUSH) GetDCObject( hDC, GDI_OBJECT_TYPE_BRUSH);
- 
+#endif
+ // Could just use Dc_Attr->hbrush? No.
+ HBRUSH hBrush = (HBRUSH) GetDCObject( hDC, GDI_OBJECT_TYPE_BRUSH);
+
  return NtGdiFillRgn( hDC, hRgn, hBrush);
 }
 
-#endif
-
+
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 PolyBezier(HDC hDC ,const POINT* Point, DWORD cPoints)
@@ -375,6 +425,9 @@
 }
  
 
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 PolyBezierTo(HDC hDC, const POINT* Point ,DWORD cPoints)
@@ -405,6 +458,9 @@
 }
 
 
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 PolyDraw(HDC hDC, const POINT* Point, const BYTE *lpbTypes, int cCount )
@@ -435,6 +491,9 @@
 }
 
 
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 Polygon(HDC hDC, const POINT *Point, int Count)
@@ -465,6 +524,9 @@
 }
 
 
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 Polyline(HDC hDC, const POINT *Point, int Count)
@@ -495,6 +557,9 @@
 }
 
 
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 PolylineTo(HDC hDC, const POINT* Point, DWORD Count)
@@ -525,6 +590,9 @@
 }
 
 
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 PolyPolygon(HDC hDC, const POINT* Point, const INT* Count, int Polys)
@@ -555,6 +623,9 @@
 }
 
 
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 PolyPolyline(HDC hDC, const POINT* Point, const DWORD* Counts, DWORD Polys)
@@ -585,6 +656,9 @@
 }
 
 
+/*
+ * @implemented
+ */
 BOOL
 STDCALL
 ExtFloodFill(
@@ -621,6 +695,9 @@
 }
 
 
+/*
+ * @implemented
+ */
 BOOL
 WINAPI
 FloodFill(
@@ -632,6 +709,10 @@
     return ExtFloodFill(hDC, nXStart, nYStart, crFill, FLOODFILLBORDER);
 }
 
+
+/*
+ * @implemented
+ */
 BOOL WINAPI
 MaskBlt(
 	HDC hdcDest,
@@ -663,6 +744,9 @@
 }
 
 
+/*
+ * @implemented
+ */
 BOOL
 WINAPI
 PlgBlt(

Modified: trunk/reactos/include/reactos/win32k/ntgdibad.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntgdibad.h?rev=28731&r1=28730&r2=28731&view=diff
==============================================================================
--- trunk/reactos/include/reactos/win32k/ntgdibad.h (original)
+++ trunk/reactos/include/reactos/win32k/ntgdibad.h Sat Sep  1 06:51:48 2007
@@ -280,9 +280,6 @@
 STDCALL
 NtGdiGetColorSpace(HDC  hDC);
 
-/* Should be done in user-mode and/or NtGdiGetDCObject. */
-HGDIOBJ STDCALL  NtGdiGetCurrentObject(HDC  hDC, UINT  ObjectType);
-
 /* Should be done in user mode. */
 BOOL STDCALL  NtGdiGetCurrentPositionEx(HDC  hDC, LPPOINT currentPosition);
 
@@ -430,12 +427,6 @@
 	int	YOffset,
 	LPPOINT	Point
 	);
-
-/* Use NtGdiFillRgn. Add 0 at the end. */
-BOOL
-STDCALL
-NtGdiPaintRgn(HDC  hDC,
-                   HRGN  hRgn);
 
 /* Metafiles are user-mode. */
 BOOL
@@ -560,16 +551,6 @@
 STDCALL
 NtGdiSetMapperFlags(HDC  hDC,
                           DWORD  Flag);
-
-/* Use NtGdiSetPixel(hdc, x, y, color) != CLR_INVALID; */
-BOOL
-STDCALL
-NtGdiSetPixelV (
-	HDC		hDC,
-	INT		X,
-	INT		Y,
-	COLORREF	Color
-	);
 
 /* Needs to be done in user-mode, using shared GDI Object Attributes. */
 INT STDCALL  NtGdiSetPolyFillMode(HDC  hDC, INT polyFillMode);

Modified: trunk/reactos/subsystems/win32/win32k/objects/bitmaps.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/bitmaps.c?rev=28731&r1=28730&r2=28731&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/bitmaps.c (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/bitmaps.c Sat Sep  1 06:51:48 2007
@@ -509,6 +509,30 @@
 	return TRUE;
 }
 
+BOOL STDCALL
+GdiSetPixelV(
+	HDC  hDC,
+	INT  X,
+	INT  Y,
+	COLORREF  Color)
+{
+	HBRUSH NewBrush = NtGdiCreateSolidBrush(Color, NULL);
+	HGDIOBJ OldBrush;
+
+	if (NewBrush == NULL)
+		return(FALSE);
+	OldBrush = NtGdiSelectObject(hDC, NewBrush);
+	if (OldBrush == NULL)
+	{
+		NtGdiDeleteObject(NewBrush);
+		return(FALSE);
+	}
+	NtGdiPatBlt(hDC, X, Y, 1, 1, PATCOPY);
+	NtGdiSelectObject(hDC, OldBrush);
+	NtGdiDeleteObject(NewBrush);
+	return TRUE;
+}
+
 COLORREF STDCALL
 NtGdiSetPixel(
 	HDC  hDC,
@@ -516,47 +540,20 @@
 	INT  Y,
 	COLORREF  Color)
 {
-   
-	DPRINT("0 NtGdiSetPixel X %ld Y %ld C %ld\n",X,Y,Color);	
-	
-	
-	DPRINT("0 NtGdiSetPixel X %ld Y %ld C %ld\n",X,Y,Color);
-
-	if (NtGdiSetPixelV(hDC,X,Y,Color))
+   	DPRINT("0 NtGdiSetPixel X %ld Y %ld C %ld\n",X,Y,Color);
+
+	if (GdiSetPixelV(hDC,X,Y,Color))
 	{
 		Color = NtGdiGetPixel(hDC,X,Y);
 		DPRINT("1 NtGdiSetPixel X %ld Y %ld C %ld\n",X,Y,Color);
 		return Color;
 	}
 
-	Color = ((COLORREF) -1);
+	Color = ((COLORREF) CLR_INVALID);
 	DPRINT("2 NtGdiSetPixel X %ld Y %ld C %ld\n",X,Y,Color);
 	return Color;
 }
 
-BOOL STDCALL
-NtGdiSetPixelV(
-	HDC  hDC,
-	INT  X,
-	INT  Y,
-	COLORREF  Color)
-{
-	HBRUSH NewBrush = NtGdiCreateSolidBrush(Color, NULL);
-	HGDIOBJ OldBrush;
-
-	if (NewBrush == NULL)
-		return(FALSE);
-	OldBrush = NtGdiSelectObject(hDC, NewBrush);
-	if (OldBrush == NULL)
-	{
-		NtGdiDeleteObject(NewBrush);
-		return(FALSE);
-	}
-	NtGdiPatBlt(hDC, X, Y, 1, 1, PATCOPY);
-	NtGdiSelectObject(hDC, OldBrush);
-	NtGdiDeleteObject(NewBrush);
-	return TRUE;
-}
 
 /*  Internal Functions  */
 

Modified: trunk/reactos/subsystems/win32/win32k/objects/dc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/dc.c?rev=28731&r1=28730&r2=28731&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/dc.c (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/dc.c Sat Sep  1 06:51:48 2007
@@ -1112,8 +1112,9 @@
 DC_GET_VAL( INT, NtGdiGetBkMode, Dc_Attr.jBkMode )
 DC_GET_VAL_EX( GetBrushOrgEx, Dc_Attr.ptlBrushOrigin.x, Dc_Attr.ptlBrushOrigin.y, POINT, x, y )
 
-HGDIOBJ STDCALL
-NtGdiGetCurrentObject(HDC  hDC, UINT  ObjectType)
+HANDLE
+STDCALL
+NtGdiGetDCObject(HDC  hDC, INT  ObjectType)
 {
   HGDIOBJ SelObject;
   DC *dc;
@@ -1129,23 +1130,23 @@
 
   switch(ObjectType)
   {
-    case OBJ_PEN:
-    case OBJ_EXTPEN:
+    case GDI_OBJECT_TYPE_EXTPEN:
+    case GDI_OBJECT_TYPE_PEN:         
       SelObject = dc->Dc_Attr.hpen;
       break;
-    case OBJ_BRUSH:
+    case GDI_OBJECT_TYPE_BRUSH:
       SelObject = dc->Dc_Attr.hbrush;
       break;
-    case OBJ_PAL:
+    case GDI_OBJECT_TYPE_PALETTE:
       SelObject = dc->w.hPalette;
       break;
-    case OBJ_FONT:
+    case GDI_OBJECT_TYPE_FONT:
       SelObject = dc->Dc_Attr.hlfntNew;
       break;
-    case OBJ_BITMAP:
+    case GDI_OBJECT_TYPE_BITMAP:
       SelObject = dc->w.hBitmap;
       break;
-    case OBJ_COLORSPACE:
+    case GDI_OBJECT_TYPE_COLORSPACE:
       DPRINT1("FIXME: NtGdiGetCurrentObject() ObjectType OBJ_COLORSPACE not supported yet!\n");
       SelObject = NULL;
       break;
@@ -2104,6 +2105,7 @@
   return objOrg;
 }
 
+
 WORD STDCALL
 IntGdiSetHookFlags(HDC hDC, WORD Flags)
 {

Modified: trunk/reactos/subsystems/win32/win32k/objects/dibobj.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/dibobj.c?rev=28731&r1=28730&r2=28731&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/dibobj.c (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/dibobj.c Sat Sep  1 06:51:48 2007
@@ -585,7 +585,7 @@
 
    if(Usage == DIB_PAL_COLORS)
    {
-      hPal = NtGdiGetCurrentObject(hDC, OBJ_PAL);
+      hPal = NtGdiGetDCObject(hDC, GDI_OBJECT_TYPE_PALETTE);
       hPal = NtUserSelectPalette(hdcMem, hPal, FALSE);
    }
 

Modified: trunk/reactos/subsystems/win32/win32k/objects/region.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/region.c?rev=28731&r1=28730&r2=28731&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/region.c (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/region.c Sat Sep  1 06:51:48 2007
@@ -2598,20 +2598,6 @@
 
 BOOL
 STDCALL
-NtGdiPaintRgn(HDC  hDC,
-                   HRGN  hRgn)
-{
-  DC *dc = DC_LockDc(hDC);
-
-  BOOL Ret = IntGdiPaintRgn(dc, hRgn);
-
-  DC_UnlockDc( dc );
-  return Ret;
-}
-
-
-BOOL
-STDCALL
 NtGdiPtInRegion(HRGN  hRgn,
                      INT  X,
                      INT  Y)

Modified: trunk/reactos/subsystems/win32/win32k/stubs/stubs.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/stubs/stubs.c?rev=28731&r1=28730&r2=28731&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/stubs/stubs.c (original)
+++ trunk/reactos/subsystems/win32/win32k/stubs/stubs.c Sat Sep  1 06:51:48 2007
@@ -2567,19 +2567,6 @@
  /*
  * @unimplemented
  */
-HANDLE
-STDCALL
-NtGdiGetDCObject(
-    IN  HDC hdc,
-    IN  INT itype)
-{
-    UNIMPLEMENTED;
-    return NULL;
-}
-
- /*
- * @unimplemented
- */
 BOOL
 STDCALL
 NtGdiGetDeviceCapsAll (

Modified: trunk/reactos/subsystems/win32/win32k/w32ksvc.db
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/w32ksvc.db?rev=28731&r1=28730&r2=28731&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/w32ksvc.db (original)
+++ trunk/reactos/subsystems/win32/win32k/w32ksvc.db Sat Sep  1 06:51:48 2007
@@ -696,7 +696,6 @@
 NtGdiSetGraphicsMode                    2
 NtGdiSetICMProfile                      2
 NtGdiSetMapperFlags                     2
-NtGdiSetPixelV                          4
 NtGdiSetPolyFillMode                    2
 NtGdiSetROP2                            2
 NtGdiSetStretchBltMode                  2
@@ -771,7 +770,6 @@
 NtGdiGetCharWidthFloat                  4
 NtGdiGetClipBox                         2
 NtGdiGetColorSpace                      1
-NtGdiGetCurrentObject                   2
 NtGdiGetCurrentPositionEx               2
 NtGdiGetEnhMetaFile                     1
 NtGdiGetEnhMetaFileBits                 3
@@ -795,7 +793,6 @@
 NtGdiMoveToEx                           4
 NtGdiOffsetViewportOrgEx                4
 NtGdiOffsetWindowOrgEx                  4
-NtGdiPaintRgn                           2
 NtGdiPlayEnhMetaFile                    3
 NtGdiPlayEnhMetaFileRecord              4
 NtGdiPolyBezier                         3




More information about the Ros-diffs mailing list