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?r... ============================================================================== --- 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@8 SelectFontLocal@8 SelectObject@8=NtGdiSelectObject@8 -SelectPalette@12=NtGdiSelectPalette@12 +SelectPalette@12 SetAbortProc@8 SetArcDirection@8 SetBitmapAttributes@8 @@ -544,7 +544,7 @@ SetDCPenColor@8 SetDIBColorTable@16=NtGdiSetDIBColorTable@16 SetDIBits@28=NtGdiSetDIBits@28 -SetDIBitsToDevice@48=NtGdiSetDIBitsToDevice@48 +SetDIBitsToDevice@48 SetDeviceGammaRamp@8 SetEnhMetaFileBits@8 SetFontEnumeration@4
Modified: trunk/reactos/dll/win32/gdi32/objects/bitmap.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/bit... ============================================================================== --- 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.... ============================================================================== --- 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/ntgd... ============================================================================== --- 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/ntu... ============================================================================== --- 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/obj... ============================================================================== --- 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/obj... ============================================================================== --- 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/obj... ============================================================================== --- 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/w32... ============================================================================== --- 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