From cc99d3ad5ffe06d351024e207d5f0b39ec9ef30d Mon Sep 17 00:00:00 2001 From: Stanislav Motylkov Date: Sat, 23 Mar 2019 20:53:01 +0300 Subject: [PATCH] [SHELL32] Add line bar to About dialog for consistence Addendum to f9d2931. CORE-15215 --- dll/win32/shell32/bitmap_res.rc | 1 + dll/win32/shell32/res/bitmaps/line.bmp | Bin 0 -> 6254 bytes dll/win32/shell32/shresdef.h | 1 + dll/win32/shell32/wine/shell32_main.c | 19 ++++++++++++++----- 4 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 dll/win32/shell32/res/bitmaps/line.bmp diff --git a/dll/win32/shell32/bitmap_res.rc b/dll/win32/shell32/bitmap_res.rc index f267eb74b1a..80dfa6f0edc 100644 --- a/dll/win32/shell32/bitmap_res.rc +++ b/dll/win32/shell32/bitmap_res.rc @@ -1,4 +1,5 @@ IDB_REACTOS BITMAP "res/bitmaps/reactos.bmp" +IDB_LINEBAR BITMAP "res/bitmaps/line.bmp" IDB_SHELL_IEXPLORE_LG BITMAP "res/bitmaps/204.bmp" IDB_SHELL_IEXPLORE_LG_HOT BITMAP "res/bitmaps/205.bmp" diff --git a/dll/win32/shell32/res/bitmaps/line.bmp b/dll/win32/shell32/res/bitmaps/line.bmp new file mode 100644 index 0000000000000000000000000000000000000000..08717d3cbe7738f9fba2ed8d5a3c8e8fd4fd2ec2 GIT binary patch literal 6254 zcmeHLS65nD7&Q;`I?wYH=5cDqnIz7PDN{|;i8QgyEGU zPU0``zPC5x@X_>}PiEh`n1AQ`@_W};Ke)aA(cR*{$D5x#EDcF-fA+Ncg>3bJZ2gd8 z^T^BA$lK1y``xcT?|<{P|DEb!Om%$h=k$c;{M6t1ng54B0zUp3`01}8m%oEt{|R>c zH^kk9?qNbFJrDJK5$0(cPBsgtm`8ZMjP!mLBV`8XNQuv4Dh)*ezE~!y&Y0>U!F{JcZaz-2_Gu}HZ!6!S3nw?C`N%3c- z1~SuvSs5X$%use#7$-Y|n-j%jM)O%Qe0FRuCtko!%;P8J=cW`0QVa6Z3-dFJ3bTrf za!P>WoYG=OSuvx$$_WPJDaN*-nK%n+E`MqFJjmjJW5b3 z%M|h%6ot~(7NjT>#iC>sj`BeQr~o0L1>}Gt5CyvCB|V@H1kR3jfK1tN8;AwHAQ@Ck z`x`(z$VUs%i18jFnj-10l5|y~O`{#Q9zmUckMg?OMMXbFI*pe|?(fY_iqXb*r6p+;yD%7i|lQfL*5g>IqV zI~kXiFraE^8w!Wcq4vUp%)-3%0zn#FkjGCJ@Dc^w_*`}zJi=ps<}#wVIgy;~aCT-G zD}&BV4`HSSF;W9yuIwbgtVAm82GhZMFd%FQGs2QEChQ55CWSe}un8d!FmGJYySPBx z*Z}JoniZ@KgGc*X!0fO*j341;9!@a}Bby=+=%g2PkLQR81O?&(p@HZ?fFMR_&d+F0 zPyHO9P#qro+8ZNk5IBe(FFPZO?IViKL$dV)8ZloZ=4-@!jhL?y^EF}}N~}YPbtth8CDx(D{u;5rM(nQ<`)mJWf9*fW CF4*b- literal 0 HcmV?d00001 diff --git a/dll/win32/shell32/shresdef.h b/dll/win32/shell32/shresdef.h index 0a8cb724ac0..9f7d6747cfb 100644 --- a/dll/win32/shell32/shresdef.h +++ b/dll/win32/shell32/shresdef.h @@ -27,6 +27,7 @@ /* Bitmaps */ #define IDB_REACTOS 131 +#define IDB_LINEBAR 138 #define IDB_SHELL_IEXPLORE_LG 204 #define IDB_SHELL_IEXPLORE_LG_HOT 205 #define IDB_SHELL_IEXPLORE_SM 206 diff --git a/dll/win32/shell32/wine/shell32_main.c b/dll/win32/shell32/wine/shell32_main.c index 5b9ca5eae83..4ae3ea0d50b 100644 --- a/dll/win32/shell32/wine/shell32_main.c +++ b/dll/win32/shell32/wine/shell32_main.c @@ -1132,8 +1132,8 @@ INT_PTR CALLBACK AboutAuthorsDlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM static INT_PTR CALLBACK AboutDlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) { static DWORD cxLogoBmp; - static DWORD cyLogoBmp; - static HBITMAP hLogoBmp; + static DWORD cyLogoBmp, cyLineBmp; + static HBITMAP hLogoBmp, hLineBmp; static HWND hWndAuthors; switch(msg) @@ -1153,8 +1153,9 @@ static INT_PTR CALLBACK AboutDlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM // Preload the ROS bitmap hLogoBmp = (HBITMAP)LoadImage(shell32_hInstance, MAKEINTRESOURCE(IDB_REACTOS), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); + hLineBmp = (HBITMAP)LoadImage(shell32_hInstance, MAKEINTRESOURCE(IDB_LINEBAR), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); - if(hLogoBmp) + if(hLogoBmp && hLineBmp) { BITMAP bmpLogo; @@ -1162,6 +1163,9 @@ static INT_PTR CALLBACK AboutDlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM cxLogoBmp = bmpLogo.bmWidth; cyLogoBmp = bmpLogo.bmHeight; + + GetObject( hLineBmp, sizeof(BITMAP), &bmpLogo ); + cyLineBmp = bmpLogo.bmHeight; } // Set App-specific stuff (icon, app name, szOtherStuff string) @@ -1258,20 +1262,25 @@ static INT_PTR CALLBACK AboutDlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM case WM_PAINT: { - if(hLogoBmp) + if(hLogoBmp && hLineBmp) { PAINTSTRUCT ps; HDC hdc; HDC hdcMem; + HGDIOBJ hOldObj; hdc = BeginPaint(hWnd, &ps); hdcMem = CreateCompatibleDC(hdc); if(hdcMem) { - SelectObject(hdcMem, hLogoBmp); + hOldObj = SelectObject(hdcMem, hLogoBmp); BitBlt(hdc, 0, 0, cxLogoBmp, cyLogoBmp, hdcMem, 0, 0, SRCCOPY); + SelectObject(hdcMem, hLineBmp); + BitBlt(hdc, 0, cyLogoBmp, cxLogoBmp, cyLineBmp, hdcMem, 0, 0, SRCCOPY); + + SelectObject(hdcMem, hOldObj); DeleteDC(hdcMem); }