From 98b2118f6bab32673e9aa2187bf85b36f33fbef5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Sat, 28 May 2005 14:56:02 +0000 Subject: [PATCH] Activate NtGdiRealizePalette code and minor fixes by Greatlord svn path=/trunk/; revision=15580 --- reactos/subsys/win32k/objects/color.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/reactos/subsys/win32k/objects/color.c b/reactos/subsys/win32k/objects/color.c index 9292a66f352..8ea0d9b741a 100644 --- a/reactos/subsys/win32k/objects/color.c +++ b/reactos/subsys/win32k/objects/color.c @@ -360,16 +360,12 @@ UINT STDCALL NtGdiRealizePalette(HDC hDC) * of bugd in it (calling SetPalette for high/true-color modes, * using DEFAULT_PALETTE instead of the device palette, ...). */ -#if 1 - DPRINT1("NtGdiRealizePalette is unimplemented\n"); - return 0; -#else + PALOBJ *palPtr, *sysPtr; PPALGDI palGDI, sysGDI; int realized = 0; PDC dc; HPALETTE systemPalette; - SURFOBJ *SurfObj; BOOLEAN success; USHORT sysMode, palMode; @@ -377,7 +373,6 @@ UINT STDCALL NtGdiRealizePalette(HDC hDC) if (!dc) return 0; - SurfObj = (SURFOBJ*)AccessUserObject((ULONG)dc->Surface); systemPalette = NtGdiGetStockObject((INT)DEFAULT_PALETTE); palGDI = PALETTE_LockPalette(dc->w.hPalette); palPtr = (PALOBJ*) palGDI; @@ -405,11 +400,11 @@ UINT STDCALL NtGdiRealizePalette(HDC hDC) // Memory managed DC DbgPrint("win32k: realizepalette unimplemented step 2 for DC_MEMORY"); } else { - if(GDIDEVFUNCS(SurfObj).SetPalette) + if( ((GDIDEVICE *)dc->GDIDevice)->DriverFunctions.SetPalette) { - ASSERT(sysGDI->NumColors <= 256); - success = GDIDEVFUNCS(SurfObj).SetPalette( - dc->PDev, sysPtr, 0, 0, sysGDI->NumColors); + ASSERT(palGDI->NumColors <= 256); + success = ((GDIDEVICE *)dc->GDIDevice)->DriverFunctions.SetPalette( + dc->PDev, palPtr, 0, 0, palGDI->NumColors); } } @@ -429,7 +424,6 @@ UINT STDCALL NtGdiRealizePalette(HDC hDC) DC_UnlockDc(hDC); return realized; -#endif } BOOL STDCALL NtGdiResizePalette(HPALETTE hpal,