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?r... ============================================================================== --- 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/gdi... ============================================================================== --- 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/pai... ============================================================================== --- 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/ntgd... ============================================================================== --- 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/obj... ============================================================================== --- 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/obj... ============================================================================== --- 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/obj... ============================================================================== --- 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/obj... ============================================================================== --- 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/stu... ============================================================================== --- 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/w32... ============================================================================== --- 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