From 6c3428a26874f2e998f193ceeb0b17ffbf55da05 Mon Sep 17 00:00:00 2001 From: Martin Fuchs Date: Sun, 12 Oct 2003 00:59:33 +0000 Subject: [PATCH] Display colorfull startmenu side logo if enough colors are available in the current display mode svn path=/trunk/; revision=6286 --- .../subsys/system/explorer/explorer_intres.h | 1 + .../subsys/system/explorer/explorer_intres.rc | 1 + reactos/subsys/system/explorer/res/logov.bmp | Bin 6198 -> 6198 bytes .../subsys/system/explorer/res/logov256.bmp | Bin 0 -> 6198 bytes .../system/explorer/taskbar/startmenu.cpp | 19 +++++++++++++++--- 5 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 reactos/subsys/system/explorer/res/logov256.bmp diff --git a/reactos/subsys/system/explorer/explorer_intres.h b/reactos/subsys/system/explorer/explorer_intres.h index 4f2600494d0..14a1b2da883 100644 --- a/reactos/subsys/system/explorer/explorer_intres.h +++ b/reactos/subsys/system/explorer/explorer_intres.h @@ -45,6 +45,7 @@ #define IDI_ARROW 125 #define IDI_ARROW_SELECTED 126 #define IDB_LOGOV 129 +#define IDB_LOGOV256 130 #define IDA_SEARCH_PROGRAM 133 #define ID_VIEW_NAME 401 #define ID_VIEW_ALL_ATTRIBUTES 402 diff --git a/reactos/subsys/system/explorer/explorer_intres.rc b/reactos/subsys/system/explorer/explorer_intres.rc index 79b020ecf28..e06813eb7ab 100644 --- a/reactos/subsys/system/explorer/explorer_intres.rc +++ b/reactos/subsys/system/explorer/explorer_intres.rc @@ -137,6 +137,7 @@ IDB_IMAGES BITMAP DISCARDABLE "res/images.bmp" IDB_TOOLBAR BITMAP DISCARDABLE "res/toolbar.bmp" IDB_DRIVEBAR BITMAP DISCARDABLE "res/drivebar.bmp" IDB_LOGOV BITMAP DISCARDABLE "res/logov.bmp" +IDB_LOGOV256 BITMAP DISCARDABLE "res/logov256.bmp" ///////////////////////////////////////////////////////////////////////////// // diff --git a/reactos/subsys/system/explorer/res/logov.bmp b/reactos/subsys/system/explorer/res/logov.bmp index 534ea9ddadb81ecf4bef604bdb921bca92bbf550..90228e895f54b3b95794e2a6748ac2c12b6ac324 100644 GIT binary patch literal 6198 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 R{!BYE-mm&I?#FbO{srG_#})tp diff --git a/reactos/subsys/system/explorer/res/logov256.bmp b/reactos/subsys/system/explorer/res/logov256.bmp new file mode 100644 index 0000000000000000000000000000000000000000..534ea9ddadb81ecf4bef604bdb921bca92bbf550 GIT binary patch literal 6198 zcmeH{ze{CD6vxkkg@TO`B!$JsD%JxFw)Vm{)^_tR*ra%sbs!*2Czu3MY~x?>sub(g z+N_nuf&{X5LW;@foIAhn^*y)9n%&}EojWtk@XhyP&zm)oA6dO-oHJg@ zI&YruhUw{hCc>}GX2ZmrrOfAZnSYqer}w|h+S;0|udmDI=B8|IZOQibw(RWe$nNg0 z?CtHz(b16{9v;fU!GY}W@5}6`ByZm)`9-cJ{T1cU>%Zmt<45`Vk9Q<;49^IRIBXp@ zhs|MgYD>j(vuEzrQfIYAY*aLPZiP$6dh&^J6*c1E2K1Ivycsuet0yz#j zNn+`FIT#!a4h9E{>D`p5&fHo}eBUYXhQZ;bHNxSXU?4ODI}8bi1VaKKkv|eFaWLWJiQ(CMIFiLyA1^=1Z*qKmEGH)?a(a3y zXJ=<}b#*0|mzQ#Lb0fF6w{mxPC-?XF^6>B=kB^V?>7OLOo}cq~Jfpk%H=q;oY^QN` zn`GnpCp|B3tn}v_wCc|{(VvSaPrjHuJ&`Y_dUec;T-MZlQ4YSCK29*nZ*}y9Wj$~q zCmroh%Ca;-_q|8a&00=&4oz<{`v{A5Qeo>NzXm(gqZQGbHVTb)l&dZC_?g6FqMi_orEx->;_OsjhweYJ4HRWo?=I{GY9VU?06l=SRx0 z>GhViITk(NOPPwf_P+>aE)HeZh%G)|Sy-$$*DtBJs@kfL->hxb>(koQtLa76xmoL~ zncJ#6KRVQH%K1KK-^r|ZCzPsft6l=B+y(e%^sZ+M_}d3D#;^Tv6(_=hd3`xuQ|D-H)%cC9Ih4F*wzKtIU6k|L&}GO6YerktbJcOI z*K7L!^`Z1>9i_erSjFq~8h{w3kNx+NFILqi*YlHWuiM<8x}Ppq`m`hC{i;9XeoS|( R{!BYE-mm&I?#FbO{srG_#})tp literal 0 HcmV?d00001 diff --git a/reactos/subsys/system/explorer/taskbar/startmenu.cpp b/reactos/subsys/system/explorer/taskbar/startmenu.cpp index 005cac16cd0..f93452c23df 100644 --- a/reactos/subsys/system/explorer/taskbar/startmenu.cpp +++ b/reactos/subsys/system/explorer/taskbar/startmenu.cpp @@ -741,21 +741,34 @@ LRESULT StartMenuRoot::WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam) { switch(nmsg) { case WM_PAINT: { + int clr_bits; + {WindowCanvas dc(_hwnd); clr_bits=GetDeviceCaps(dc, BITSPIXEL);} + bool logo256 = clr_bits<=8; + PaintCanvas canvas(_hwnd); MemCanvas mem_dc; - ResBitmap bmp(IDB_LOGOV); + ResBitmap bmp(logo256? IDB_LOGOV256: IDB_LOGOV); BitmapSelection sel(mem_dc, bmp); ClientRect clnt(_hwnd); int h = min(_logo_size.cy, clnt.bottom); RECT rect = {0, 0, _logo_size.cx-1, clnt.bottom-h}; - HBRUSH hbr = CreateSolidBrush(RGB(166,202,240)); // same color as the background color in the logo bitmap + HBRUSH hbr = CreateSolidBrush(logo256? RGB(166,202,240): RGB(255,255,255)); // same color as the background color in the logo bitmap FillRect(canvas, &rect, hbr); - PatBlt(canvas, _logo_size.cx-1, 0, 1, clnt.bottom-h, WHITENESS); DeleteObject(hbr); + //PatBlt(canvas, _logo_size.cx-1, 0, 1, clnt.bottom-h, WHITENESS); + PatBlt(canvas, _logo_size.cx-1, 0, 1, clnt.bottom-h, WHITENESS); BitBlt(canvas, 0, clnt.bottom-h, _logo_size.cx, h, mem_dc, 0, 0, SRCCOPY); + + if (!logo256) { + rect.left = rect.right++; + rect.bottom = clnt.bottom; + HBRUSH hbr_border = GetStockBrush(GRAY_BRUSH); //CreateSolidBrush(RGB(71,88,85)); + FillRect(canvas, &rect, hbr_border); + //DeleteObject(hbr_border); + } break;} default: