]> git.saurik.com Git - wxWidgets.git/commitdiff
fixed handling of dst offset in wxAlphaBlend()
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 12 Dec 2005 11:15:23 +0000 (11:15 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 12 Dec 2005 11:15:23 +0000 (11:15 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36371 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/dc.cpp

index 6cc73510af43ec8f239351250e8726561d2a3947..cf75d3e84e599f56f56f6970bbee3ef3662e1a62 100644 (file)
@@ -131,10 +131,13 @@ static bool AlphaBlt(HDC hdcDst,
                      const wxBitmap& bmpSrc);
 
 #ifdef wxHAVE_RAW_BITMAP
-// our (limited) AlphaBlend() replacement
+
+// our (limited) AlphaBlend() replacement for Windows versions not providing it
 static void
-wxAlphaBlend(HDC hdcDst, int x, int y, int w, int h, int srcX, int srcY, const wxBitmap& bmp);
-#endif
+wxAlphaBlend(HDC hdcDst, int x, int y, int w, int h,
+             int srcX, int srcY, const wxBitmap& bmp);
+
+#endif // wxHAVE_RAW_BITMAP
 
 // ----------------------------------------------------------------------------
 // private classes
@@ -2562,14 +2565,16 @@ static bool AlphaBlt(HDC hdcDst,
 #ifdef wxHAVE_RAW_BITMAP
 
 static void
-wxAlphaBlend(HDC hdcDst, int xDst, int yDst, int w, int h, int srcX, int srcY, const wxBitmap& bmpSrc)
+wxAlphaBlend(HDC hdcDst, int xDst, int yDst,
+             int w, int h,
+             int srcX, int srcY, const wxBitmap& bmpSrc)
 {
     // get the destination DC pixels
     wxBitmap bmpDst(w, h, 32 /* force creating RGBA DIB */);
     MemoryHDC hdcMem;
     SelectInHDC select(hdcMem, GetHbitmapOf(bmpDst));
 
-    if ( !::BitBlt(hdcMem, 0, 0, w, h, hdcDst, 0, 0, SRCCOPY) )
+    if ( !::BitBlt(hdcMem, 0, 0, w, h, hdcDst, xDst, yDst, SRCCOPY) )
     {
         wxLogLastError(_T("BitBlt"));
     }