[ros-diffs] [tkreuzer] 28428: - rename NtGdiSelectPalette to NtUserSelectPalette, move it to ntuser/windc.c and implement stub function SelectPalette in gdi32.dll calling it (Don't ask me why it is named this way, but it is on windows) - rename NtGdiSetDIBitsToDevice to NtGdiSetDIBitsToDeviceInternal and implement stub function in gdi32.dll - update ntgdibad.h

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Mon Aug 20 01:49:47 CEST 2007


Author: tkreuzer
Date: Mon Aug 20 03:49:47 2007
New Revision: 28428

URL: http://svn.reactos.org/svn/reactos?rev=28428&view=rev
Log:
- rename NtGdiSelectPalette to NtUserSelectPalette, move it to ntuser/windc.c and implement stub function SelectPalette in gdi32.dll calling it (Don't ask me why it is named this way, but it is on windows)
- rename NtGdiSetDIBitsToDevice to NtGdiSetDIBitsToDeviceInternal and implement stub function in gdi32.dll
- update ntgdibad.h

Modified:
    trunk/reactos/dll/win32/gdi32/gdi32.def
    trunk/reactos/dll/win32/gdi32/objects/bitmap.c
    trunk/reactos/dll/win32/gdi32/objects/dc.c
    trunk/reactos/include/reactos/win32k/ntgdibad.h
    trunk/reactos/subsystems/win32/win32k/ntuser/windc.c
    trunk/reactos/subsystems/win32/win32k/objects/color.c
    trunk/reactos/subsystems/win32/win32k/objects/dc.c
    trunk/reactos/subsystems/win32/win32k/objects/dibobj.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=28428&r1=28427&r2=28428&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/gdi32.def (original)
+++ trunk/reactos/dll/win32/gdi32/gdi32.def Mon Aug 20 03:49:47 2007
@@ -527,7 +527,7 @@
 SelectClipRgn at 8
 SelectFontLocal at 8
 SelectObject at 8=NtGdiSelectObject at 8
-SelectPalette at 12=NtGdiSelectPalette at 12
+SelectPalette at 12
 SetAbortProc at 8
 SetArcDirection at 8
 SetBitmapAttributes at 8
@@ -544,7 +544,7 @@
 SetDCPenColor at 8
 SetDIBColorTable at 16=NtGdiSetDIBColorTable at 16
 SetDIBits at 28=NtGdiSetDIBits at 28
-SetDIBitsToDevice at 48=NtGdiSetDIBitsToDevice at 48
+SetDIBitsToDevice at 48
 SetDeviceGammaRamp at 8
 SetEnhMetaFileBits at 8
 SetFontEnumeration at 4

Modified: trunk/reactos/dll/win32/gdi32/objects/bitmap.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/bitmap.c?rev=28428&r1=28427&r2=28428&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/bitmap.c (original)
+++ trunk/reactos/dll/win32/gdi32/objects/bitmap.c Mon Aug 20 03:49:47 2007
@@ -110,3 +110,37 @@
 {
    return  NtGdiCreateCompatibleBitmap(hDC, Width, Height);
 }
+
+
+INT WINAPI
+SetDIBitsToDevice(
+    HDC hDC,
+    int XDest,
+    int YDest,
+    DWORD Width,
+    DWORD Height,
+    int XSrc,
+    int YSrc,
+    UINT StartScan,
+    UINT ScanLines,
+    CONST VOID *Bits,
+    CONST BITMAPINFO *lpbmi,
+    UINT ColorUse)
+{
+    return NtGdiSetDIBitsToDeviceInternal(hDC,
+                                          XDest,
+                                          YDest,
+                                          Width,
+                                          Height,
+                                          XSrc,
+                                          YSrc,
+                                          StartScan,
+                                          ScanLines,
+                                          (LPBYTE)Bits,
+                                          (LPBITMAPINFO)lpbmi,
+                                          ColorUse,
+                                          lpbmi->bmiHeader.biSizeImage,
+                                          lpbmi->bmiHeader.biSize,
+                                          FALSE,
+                                          NULL);
+}

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=28428&r1=28427&r2=28428&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/dc.c (original)
+++ trunk/reactos/dll/win32/gdi32/objects/dc.c Mon Aug 20 03:49:47 2007
@@ -918,3 +918,17 @@
   return NtGdiGetDCPoint( hdc, GdiGetWindowOrg, lpPoint );
 }
 
+/* FIXME: include correct header */
+HPALETTE STDCALL NtUserSelectPalette(HDC  hDC,
+                            HPALETTE  hpal,
+                            BOOL  ForceBackground);
+
+HPALETTE
+STDCALL
+SelectPalette(
+    HDC hDC,
+    HPALETTE hPal,
+    BOOL bForceBackground)
+{
+    return NtUserSelectPalette(hDC, hPal, bForceBackground);
+}

Modified: trunk/reactos/include/reactos/win32k/ntgdibad.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntgdibad.h?rev=28428&r1=28427&r2=28428&view=diff
==============================================================================
--- trunk/reactos/include/reactos/win32k/ntgdibad.h (original)
+++ trunk/reactos/include/reactos/win32k/ntgdibad.h Mon Aug 20 03:49:47 2007
@@ -78,11 +78,6 @@
     LPCWSTR CurrentPath
 );
 
-/* The gdi32 call Should Use NtGdiGetRandomRgn and nothing else */
-HRGN
-NTAPI
-NtGdiGetClipRgn(HDC hDC);
-
 /* The gdi32 call Should Use NtGdiGetTextExtent */
 BOOL
 NTAPI
@@ -604,15 +599,6 @@
 /* Should be done in user-mode. */
 HGDIOBJ STDCALL  NtGdiSelectObject(HDC  hDC, HGDIOBJ  hGDIObj);
 
-/* Use NtUserSelectPalette. */
-HPALETTE
-STDCALL
-NtGdiSelectPalette (
-	HDC		hDC,
-	HPALETTE	hpal,
-	BOOL		ForceBackground
-	);
-
 /* Needs to be done in user-mode, using shared GDI Object Attributes. */
 COLORREF STDCALL NtGdiSetBkColor (HDC hDC, COLORREF Color);
 
@@ -635,24 +621,6 @@
 NtGdiSetDIBits (
 	HDC			hDC,
 	HBITMAP			hBitmap,
-	UINT			StartScan,
-	UINT			ScanLines,
-	CONST VOID		* Bits,
-	CONST BITMAPINFO	* bmi,
-	UINT			ColorUse
-	);
-
-/* Use NtGdiSetDIBitsToDeviceInternal. */
-INT
-STDCALL
-NtGdiSetDIBitsToDevice (
-	HDC			hDC,
-	INT			XDest,
-	INT			YDest,
-	DWORD			Width,
-	DWORD			Height,
-	INT			XSrc,
-	INT			YSrc,
 	UINT			StartScan,
 	UINT			ScanLines,
 	CONST VOID		* Bits,

Modified: trunk/reactos/subsystems/win32/win32k/ntuser/windc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntuser/windc.c?rev=28428&r1=28427&r2=28428&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/windc.c (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/windc.c Mon Aug 20 03:49:47 2007
@@ -1006,5 +1006,62 @@
    return Ret;
 }
 
+/*!
+ * Select logical palette into device context.
+ * \param	hDC 				handle to the device context
+ * \param	hpal				handle to the palette
+ * \param	ForceBackground 	If this value is FALSE the logical palette will be copied to the device palette only when the applicatioon
+ * 								is in the foreground. If this value is TRUE then map the colors in the logical palette to the device
+ * 								palette colors in the best way.
+ * \return	old palette
+ *
+ * \todo	implement ForceBackground == TRUE
+*/
+HPALETTE STDCALL NtUserSelectPalette(HDC  hDC,
+                            HPALETTE  hpal,
+                            BOOL  ForceBackground)
+{
+  PDC dc;
+  HPALETTE oldPal = NULL;
+  PPALGDI PalGDI;
+
+  // FIXME: mark the palette as a [fore\back]ground pal
+  dc = DC_LockDc(hDC);
+  if (NULL != dc)
+    {
+      /* Check if this is a valid palette handle */
+      PalGDI = PALETTE_LockPalette(hpal);
+      if (NULL != PalGDI)
+	{
+          /* Is this a valid palette for this depth? */
+          if ((dc->w.bitsPerPixel <= 8 && PAL_INDEXED == PalGDI->Mode)
+              || (8 < dc->w.bitsPerPixel && PAL_INDEXED != PalGDI->Mode))
+            {
+              PALETTE_UnlockPalette(PalGDI);
+              oldPal = dc->w.hPalette;
+              dc->w.hPalette = hpal;
+            }
+          else if (8 < dc->w.bitsPerPixel && PAL_INDEXED == PalGDI->Mode)
+            {
+              PALETTE_UnlockPalette(PalGDI);
+              oldPal = dc->PalIndexed;
+              dc->PalIndexed = hpal;
+            }
+          else
+            {
+              PALETTE_UnlockPalette(PalGDI);
+              oldPal = NULL;
+            }
+	}
+      else
+	{
+	  oldPal = NULL;
+	}
+      DC_UnlockDc(dc);
+    }
+
+  return oldPal;
+}
+
 
 /* EOF */

Modified: trunk/reactos/subsystems/win32/win32k/objects/color.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/color.c?rev=28428&r1=28427&r2=28428&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/color.c (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/color.c Mon Aug 20 03:49:47 2007
@@ -617,63 +617,6 @@
   return FALSE;
 }
 
-/*!
- * Select logical palette into device context.
- * \param	hDC 				handle to the device context
- * \param	hpal				handle to the palette
- * \param	ForceBackground 	If this value is FALSE the logical palette will be copied to the device palette only when the applicatioon
- * 								is in the foreground. If this value is TRUE then map the colors in the logical palette to the device
- * 								palette colors in the best way.
- * \return	old palette
- *
- * \todo	implement ForceBackground == TRUE
-*/
-HPALETTE STDCALL NtGdiSelectPalette(HDC  hDC,
-                            HPALETTE  hpal,
-                            BOOL  ForceBackground)
-{
-  PDC dc;
-  HPALETTE oldPal = NULL;
-  PPALGDI PalGDI;
-
-  // FIXME: mark the palette as a [fore\back]ground pal
-  dc = DC_LockDc(hDC);
-  if (NULL != dc)
-    {
-      /* Check if this is a valid palette handle */
-      PalGDI = PALETTE_LockPalette(hpal);
-      if (NULL != PalGDI)
-	{
-          /* Is this a valid palette for this depth? */
-          if ((dc->w.bitsPerPixel <= 8 && PAL_INDEXED == PalGDI->Mode)
-              || (8 < dc->w.bitsPerPixel && PAL_INDEXED != PalGDI->Mode))
-            {
-              PALETTE_UnlockPalette(PalGDI);
-              oldPal = dc->w.hPalette;
-              dc->w.hPalette = hpal;
-            }
-          else if (8 < dc->w.bitsPerPixel && PAL_INDEXED == PalGDI->Mode)
-            {
-              PALETTE_UnlockPalette(PalGDI);
-              oldPal = dc->PalIndexed;
-              dc->PalIndexed = hpal;
-            }
-          else
-            {
-              PALETTE_UnlockPalette(PalGDI);
-              oldPal = NULL;
-            }
-	}
-      else
-	{
-	  oldPal = NULL;
-	}
-      DC_UnlockDc(dc);
-    }
-
-  return oldPal;
-}
-
 BOOL STDCALL NtGdiSetColorAdjustment(HDC  hDC,
                              CONST LPCOLORADJUSTMENT  ca)
 {

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=28428&r1=28427&r2=28428&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/dc.c (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/dc.c Mon Aug 20 03:49:47 2007
@@ -1461,7 +1461,7 @@
         NtGdiSetBkColor( hDC, dcs->Dc_Attr.crBackgroundClr);
         NtGdiSetTextColor( hDC, dcs->Dc_Attr.crForegroundClr);
 
-        NtGdiSelectPalette( hDC, dcs->w.hPalette, FALSE );
+        NtUserSelectPalette( hDC, dcs->w.hPalette, FALSE );
 
 #if 0
         GDISelectPalette16( hDC, dcs->w.hPalette, FALSE );

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=28428&r1=28427&r2=28428&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/dibobj.c (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/dibobj.c Mon Aug 20 03:49:47 2007
@@ -324,20 +324,27 @@
   return Ret;
 }
 
-INT STDCALL
-NtGdiSetDIBitsToDevice(
-	HDC  hDC,
-	INT  XDest,
-	INT  YDest,
-	DWORD  Width,
-	DWORD  Height,
-	INT  XSrc,
-	INT  YSrc,
-	UINT  StartScan,
-	UINT  ScanLines,
-	CONST VOID  *Bits,
-	CONST BITMAPINFO  *bmi,
-	UINT  ColorUse)
+W32KAPI
+INT
+APIENTRY
+NtGdiSetDIBitsToDeviceInternal(
+    IN HDC hDC,
+    IN INT XDest,
+    IN INT YDest,
+    IN DWORD Width,
+    IN DWORD Height,
+    IN INT XSrc,
+    IN INT YSrc,
+    IN DWORD StartScan,
+    IN DWORD ScanLines,
+    IN LPBYTE Bits,
+    IN LPBITMAPINFO bmi,
+    IN DWORD ColorUse,
+    IN UINT cjMaxBits,
+    IN UINT cjMaxInfo,
+    IN BOOL bTransformCoordinates,
+    IN OPTIONAL HANDLE hcmXform
+)
 {
   UNIMPLEMENTED;
   return 0;
@@ -591,7 +598,7 @@
    if(Usage == DIB_PAL_COLORS)
    {
       hPal = NtGdiGetCurrentObject(hDC, OBJ_PAL);
-      hPal = NtGdiSelectPalette(hdcMem, hPal, FALSE);
+      hPal = NtUserSelectPalette(hdcMem, hPal, FALSE);
    }
 
    if (BitsInfo->bmiHeader.biCompression == BI_RLE4 ||
@@ -622,7 +629,7 @@
                       SrcWidth, SrcHeight, ROP, 0);
 
    if(hPal)
-      NtGdiSelectPalette(hdcMem, hPal, FALSE);
+      NtUserSelectPalette(hdcMem, hPal, FALSE);
 
    NtGdiSelectObject(hdcMem, hOldBitmap);
    NtGdiDeleteObjectApp(hdcMem);

Modified: trunk/reactos/subsystems/win32/win32k/w32ksvc.db
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/w32ksvc.db?rev=28428&r1=28427&r2=28428&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/w32ksvc.db (original)
+++ trunk/reactos/subsystems/win32/win32k/w32ksvc.db Mon Aug 20 03:49:47 2007
@@ -277,7 +277,7 @@
 NtGdiSetColorAdjustment                          2
 NtGdiSetColorSpace                               2
 NtGdiSetDeviceGammaRamp                          2
-# NtGdiSetDIBitsToDeviceInternal                  16
+NtGdiSetDIBitsToDeviceInternal                  16
 # NtGdiSetFontEnumeration                          1
 # NtGdiSetFontXform                                3
 NtGdiSetIcmMode                                  3
@@ -507,7 +507,7 @@
 NtUserSBGetParms                                 4
 NtUserScrollDC                                   7
 NtUserScrollWindowEx                             8
-# NtUserSelectPalette                              3
+NtUserSelectPalette                              3
 NtUserSendInput                                  3
 NtUserSetActiveWindow                            1
 # NtUserSetAppImeLevel                             2
@@ -692,12 +692,10 @@
 #
 #ReactOS specify syscall 
 NtGdiSelectObject                       2
-NtGdiSelectPalette                      3
 NtGdiSetBkColor                         2
 NtGdiSetBkMode                          2
 NtGdiSetDIBColorTable                   4
 NtGdiSetDIBits                          7
-NtGdiSetDIBitsToDevice                  12
 NtGdiSetEnhMetaFileBits                 2
 NtGdiSetGraphicsMode                    2
 NtGdiSetICMProfile                      2




More information about the Ros-diffs mailing list