Hi,

I want to synchronize my change from ReactOS with the Wine tree. Unfortunetly I can't test it and I don't even know if it compiles under Wine. So if anyone want to take care of it, here it is.

Regards,
Filip

--- static.c    Tue Feb 10 20:09:04 2004
+++ static.c    Mon Mar 15 21:34:06 2004
@@ -122,6 +122,7 @@
static HBITMAP STATIC_SetBitmap( HWND hwnd, HBITMAP hBitmap, DWORD style )
{
    HBITMAP hOldBitmap;
+    LONG full_style = GetWindowLongA( hwnd, GWL_STYLE );

if ((style & SS_TYPEMASK) != SS_BITMAP) return 0;
if (hBitmap && GetObjectType(hBitmap) != OBJ_BITMAP) {
@@ -129,7 +130,7 @@
return 0;
}
hOldBitmap = (HBITMAP)SetWindowLongA( hwnd, HICON_GWL_OFFSET, (LONG)hBitmap );
- if (hBitmap)
+ if (hBitmap && !(full_style & SS_REALSIZEIMAGE))
{
BITMAP bm;
GetObjectW(hBitmap, sizeof(bm), &bm);
@@ -559,6 +560,7 @@
HBRUSH hbrush;
HDC hMemDC;
HBITMAP hBitmap, oldbitmap;
+ LONG full_style = GetWindowLongA( hwnd, GWL_STYLE );


    GetClientRect( hwnd, &rc );
    hbrush = (HBRUSH)SendMessageW( GetParent(hwnd), WM_CTLCOLORSTATIC,
@@ -573,8 +575,17 @@
        if (!(hMemDC = CreateCompatibleDC( hdc ))) return;
    GetObjectW(hBitmap, sizeof(bm), &bm);
    oldbitmap = SelectObject(hMemDC, hBitmap);
-    BitBlt(hdc, 0, 0, bm.bmWidth, bm.bmHeight, hMemDC, 0, 0,
-           SRCCOPY);
+        if (full_style & SS_CENTERIMAGE)
+        {
+            BitBlt(hdc, (rc.right - bm.bmWidth) >> 1,
+                   (rc.bottom - bm.bmHeight) >> 1,
+                   bm.bmWidth, bm.bmHeight, hMemDC, 0, 0, SRCCOPY);
+        }
+        else
+        {
+            BitBlt(hdc, 0, 0, bm.bmWidth, bm.bmHeight, hMemDC, 0, 0,
+                   SRCCOPY);
+        }
    SelectObject(hMemDC, oldbitmap);
    DeleteDC(hMemDC);
    }




Reply via email to