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?…
==============================================================================
--- 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@16
HT_Get8BPPMaskPalette@24
IntersectClipRect@20=NtGdiIntersectClipRect@20
-InvertRgn@8=NtGdiInvertRgn@8
+InvertRgn@8
LPtoDP@12
LineDDA@24
-LineTo@12=NtGdiLineTo@12
+LineTo@12
MaskBlt@48
MirrorRgn@8
ModifyWorldTransform@12
@@ -477,7 +477,7 @@
OffsetRgn@12=NtGdiOffsetRgn@12
OffsetViewportOrgEx@16=NtGdiOffsetViewportOrgEx@16
OffsetWindowOrgEx@16=NtGdiOffsetWindowOrgEx@16
-PaintRgn@8=NtGdiPaintRgn@8
+PaintRgn@8
PatBlt@24=NtGdiPatBlt@24
PATHOBJ_bEnum@8
PATHOBJ_bEnumClipLines@12
@@ -508,7 +508,7 @@
RealizePalette@4=NtGdiRealizePalette@4
RectInRegion@8=NtGdiRectInRegion@8
RectVisible@8=NtGdiRectVisible@8
-Rectangle@20=NtGdiRectangle@20
+Rectangle@20
RemoveFontMemResourceEx@4
RemoveFontResourceA@4
RemoveFontResourceExA@12
@@ -519,7 +519,7 @@
ResetDCW@8
ResizePalette@8
RestoreDC@8=NtGdiRestoreDC@8
-RoundRect@28=NtGdiRoundRect@28
+RoundRect@28
SaveDC@4=NtGdiSaveDC@4
ScaleViewportExtEx@24
ScaleWindowExtEx@24
@@ -562,9 +562,9 @@
SetMetaRgn@4
SetMiterLimit@12
SetPaletteEntries@16
-SetPixel@16=NtGdiSetPixel@16
+SetPixel@16
SetPixelFormat@12
-SetPixelV@16=NtGdiSetPixelV@16
+SetPixelV@16
SetPolyFillMode@8=NtGdiSetPolyFillMode@8
SetROP2@8=NtGdiSetROP2@8
SetRectRgn@20=NtGdiSetRectRgn@20
Modified: trunk/reactos/dll/win32/gdi32/include/gdi32p.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/include/gd…
==============================================================================
--- 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…
==============================================================================
--- 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…
==============================================================================
--- 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/pa…
==============================================================================
--- 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/ntg…
==============================================================================
--- 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/ob…
==============================================================================
--- 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/ob…
==============================================================================
--- 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/ob…
==============================================================================
--- 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/ob…
==============================================================================
--- 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/st…
==============================================================================
--- 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/w3…
==============================================================================
--- 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