[GDI32]
authorJames Tabor <james.tabor@reactos.org>
Mon, 7 Mar 2011 07:24:43 +0000 (07:24 +0000)
committerJames Tabor <james.tabor@reactos.org>
Mon, 7 Mar 2011 07:24:43 +0000 (07:24 +0000)
- Remove the old SetDIBBits, it severed us well.... Hold on to the win32k call.
- Tested, Area.exe, wine gdi32 bitmaps test, AbiWord 2.8.6, OOo 2.4.3, SM 2.0.11 and ReactOS applications.
- Aimp 2.61.583 (FULL, pinted okay), CoolPlayer 219, winamp 0.98d and winamp 2.95 (not FUll). The rest have drawing issue with DIB. See bug 5886.

svn path=/trunk/; revision=50987

reactos/dll/win32/gdi32/objects/bitmap.c

index 969beb6..024ac81 100644 (file)
@@ -531,7 +531,6 @@ CreateDIBitmap( HDC hDC,
     return hBmp;
 }
 
-#if 0 // FIXME!!! This is a victim of the Win32k Initialization BUG!!!!!
 /*
  * @implemented
  */
@@ -623,60 +622,6 @@ SetDIBits(HDC hDC,
 
     return LinesCopied;
 }
-#endif
-
-INT
-WINAPI
-SetDIBits(HDC hdc,
-          HBITMAP hbmp,
-          UINT uStartScan,
-          UINT cScanLines,
-          CONST VOID *lpvBits,
-          CONST BITMAPINFO *lpbmi,
-          UINT fuColorUse)
-{
-    PBITMAPINFO pConvertedInfo;
-    UINT ConvertedInfoSize;
-    INT LinesCopied = 0;
-    UINT cjBmpScanSize = 0;
-    PVOID pvSafeBits = (PVOID)lpvBits;
-
-// This needs to be almost the sames as SetDIBitsToDevice
-
-    if ( !cScanLines || !lpbmi || !lpvBits || (GDI_HANDLE_GET_TYPE(hbmp) != GDI_OBJECT_TYPE_BITMAP))
-        return 0;
-
-    if ( fuColorUse && fuColorUse != DIB_PAL_COLORS && fuColorUse != DIB_PAL_COLORS+1 )
-        return 0;
-
-    pConvertedInfo = ConvertBitmapInfo(lpbmi, fuColorUse,
-                                       &ConvertedInfoSize, FALSE);
-    if (!pConvertedInfo)
-        return 0;
-
-    cjBmpScanSize = DIB_BitmapMaxBitsSize((LPBITMAPINFO)lpbmi, cScanLines);
-
-    if ( lpvBits )
-    {
-        pvSafeBits = RtlAllocateHeap(GetProcessHeap(), 0, cjBmpScanSize);
-        if (pvSafeBits)
-            RtlCopyMemory( pvSafeBits, lpvBits, cjBmpScanSize);
-    }
-
-    LinesCopied = NtGdiSetDIBits( hdc,
-                                  hbmp,
-                                  uStartScan,
-                                  cScanLines,
-                                  pvSafeBits,
-                                  pConvertedInfo,
-                                  fuColorUse);
-
-    if ( lpvBits != pvSafeBits)
-        RtlFreeHeap(RtlGetProcessHeap(), 0, pvSafeBits);
-    if (lpbmi != pConvertedInfo)
-        RtlFreeHeap(RtlGetProcessHeap(), 0, pConvertedInfo);
-    return LinesCopied;
-}
 
 /*
  * @implemented