diff --git a/src/apps/deskbar/BarMenuBar.cpp b/src/apps/deskbar/BarMenuBar.cpp index 2189d12702..73e5ead2f8 100644 --- a/src/apps/deskbar/BarMenuBar.cpp +++ b/src/apps/deskbar/BarMenuBar.cpp @@ -36,9 +36,12 @@ All rights reserved. #include "BarMenuBar.h" +#include + #include #include #include +#include #include #include "icons.h" @@ -108,8 +111,24 @@ TBarMenuBar::TBarMenuBar(BRect frame, const char* name, TBarView* barView) TDeskbarMenu* beMenu = new TDeskbarMenu(barView); TBarWindow::SetDeskbarMenu(beMenu); - fDeskbarMenuItem = new TBarMenuTitle(0.0f, 0.0f, - AppResSet()->FindBitmap(B_MESSAGE_TYPE, R_LeafLogoBitmap), beMenu); + BBitmap* icon = NULL; + size_t dataSize; + const void* data = AppResSet()->FindResource(B_VECTOR_ICON_TYPE, + R_LeafLogoBitmap, &dataSize); + if (data != NULL) { + // Scale bitmap according to font size + float width = std::max(63.f, ceilf(63 * be_plain_font->Size() / 12.f)); + float height = std::max(22.f, ceilf(22 * be_plain_font->Size() / 12.f)); + icon = new BBitmap(BRect(0, 0, width - 1, height - 1), B_RGBA32); + if (icon->InitCheck() != B_OK + || BIconUtils::GetVectorIcon((const uint8*)data, dataSize, icon) + != B_OK) { + delete icon; + icon = NULL; + } + } + + fDeskbarMenuItem = new TBarMenuTitle(0.0f, 0.0f, icon, beMenu); AddItem(fDeskbarMenuItem); } diff --git a/src/apps/deskbar/BarMenuTitle.cpp b/src/apps/deskbar/BarMenuTitle.cpp index 48b1bf73e6..332793484c 100644 --- a/src/apps/deskbar/BarMenuTitle.cpp +++ b/src/apps/deskbar/BarMenuTitle.cpp @@ -122,7 +122,9 @@ TBarMenuTitle::DrawContent() iconRect.OffsetTo(frame.LeftTop()); float widthOffset = rintf((frame.Width() - iconRect.Width()) / 2); - float heightOffset = rintf((frame.Height() - iconRect.Height()) / 2); + float heightOffset = 0; + if (frame.Height() > iconRect.Height() + 2) + heightOffset = rintf((frame.Height() - iconRect.Height()) / 2); iconRect.OffsetBy(widthOffset - 1.0f, heightOffset + 2.0f); menu->DrawBitmapAsync(fIcon, iconRect); diff --git a/src/apps/deskbar/BarView.cpp b/src/apps/deskbar/BarView.cpp index 570348d4e8..526fa996d2 100644 --- a/src/apps/deskbar/BarView.cpp +++ b/src/apps/deskbar/BarView.cpp @@ -395,7 +395,7 @@ TBarView::PlaceDeskbarMenu() BRect menuFrame(Bounds()); if (fVertical) { width = static_cast(be_app)->Settings()->width; - height = kMenuBarHeight; + height = 4 + fReplicantTray->MaxReplicantHeight(); menuFrame.bottom = menuFrame.top + height; } else { width = gMinimumWindowWidth; diff --git a/src/apps/deskbar/ExpandoMenuBar.cpp b/src/apps/deskbar/ExpandoMenuBar.cpp index 6b9ebd9a36..dad7a02672 100644 --- a/src/apps/deskbar/ExpandoMenuBar.cpp +++ b/src/apps/deskbar/ExpandoMenuBar.cpp @@ -106,10 +106,12 @@ TExpandoMenuBar::TExpandoMenuBar(TBarView* barView, bool vertical) // top or bottom mode, add deskbar menu and sep for menubar tracking // consistency - const BBitmap* logoBitmap = AppResSet()->FindBitmap(B_MESSAGE_TYPE, - R_LeafLogoBitmap); - if (logoBitmap != NULL) - fDeskbarMenuWidth = logoBitmap->Bounds().Width() + 16; + // TODO: this is broken code + fDeskbarMenuWidth = 63 + 16; +// const BBitmap* logoBitmap = AppResSet()->FindBitmap(B_MESSAGE_TYPE, +// R_LeafLogoBitmap); +// if (logoBitmap != NULL) +// fDeskbarMenuWidth = logoBitmap->Bounds().Width() + 16; } diff --git a/src/apps/deskbar/icons.rdef b/src/apps/deskbar/icons.rdef index d023d86a47..1ce1d01844 100644 --- a/src/apps/deskbar/icons.rdef +++ b/src/apps/deskbar/icons.rdef @@ -1,195 +1,18 @@ #include "icons.h" -resource(R_LeafLogoBitmap) archive(, 0x00000000) BBitmap { - "_frame" = rect { 0.0, 0.0, 62.0, 22.0 }, - "_cspace" = 8200, - "_bmflags" = 0, - "_rowbytes" = 252, - "_data" = array { - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000180000002" - $"8080000280000002000000000000000000000000FF000001000000008B401344" - $"8D3E13778E3F1395904015AE914114C0924315CE934315DD944515E3964616DC" - $"974716CD984717BE9A4817A99B4A188A9C48185F9F4D1738AA55181500000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"000000000000000000000000FF00000180000002808000020000000000000000" - $"00000000000000008C3F13358D3E1531000000008E401458914114FF964415FF" - $"9A4716FF9D4817FF9F4A17FFA04B17FF9F4B17FF9F4C18FFA24D18FFA54F19FF" - $"A65019FFA75119FFA44F19FFA9521AFFA24F19E99F4F184A0000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"FF0000018080000280800002000000000000000000000000853D14198D3E1262" - $"8E4013AE904214F99142156100000000954515D6A34C18FF9A4817FF9C4A17FF" - $"9C4B18FF9E4C18FE9F4E18FDA14E19FEA24F19FEA35019FEA45119FDA5521AFC" - $"A6521AFBAF571CFFA7531AF1A5511952AA550003000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000018080000280800002" - $"0000000000000000000000008E4014349042148C924214D9944415FF9B4816FF" - $"A64D18FF994916469B491B1CA04C18FF9F4D18FDA14F18FAA34F19FCA45119FD" - $"A6511AFEA7521AFEA8541BFFA9551BFFAB551BFEAF581CFFB15A1DFFB25A1DFF" - $"AE591CF2B0581C37000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"00000000000000000000000080000002AA550003000000000000000000000001" - $"91431548934315A7934315EF9C4816FF9F4A17FF9D4A17FF9C4A17FBAA521AFF" - $"9F4E1758A251183FB0561BFFA7521AFCA9541BFFAA551BFFAC561BFFAD571CFF" - $"AF581CFFB0591DFFB15A1DFFB45C1DFFB35B1DEDB45D1DECBC611FFFB35D1D68" - $"00000000AA550003AA5500030000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"FF00000180800002FF00000100000000000000009445154A954516B9964515FA" - $"A04B17FFA04C18FF9F4C18FFA04D18FCA34F19FBA4511AFAB2581CFFA8541BAD" - $"AB561C77B85D1EFFAE581CFCB05A1DFFB25B1DFFB45C1EFFB55D1EFFB75E1EFF" - $"B85F1FFFB9601FFDC16420FFBB621FCBB9611F3ABB612047FF80000200000000" - $"AA55000300000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"00000000FF000001800000028080000280800002FF0000010000000080800002" - $"0000000000000000934617219746179D974716FBA34D18FFA24D18FFA04E19FF" - $"A34F19FBA5511AFCA7531AFFAA551BFFAC571CFFB0591CFFB0591DF8B35C1DE3" - $"B85E1EFFB75E1EFEB9601FFFBA611FFFBC6220FFBD6320FFBF6420FFC06521FF" - $"C16621FFC16621FCCA6B23FFC66A237400000000000000018080000200000000" - $"00000000FF000001000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000018080000280800002" - $"8080000200000000000000000000000000000000AA55000300000000994D1A0A" - $"9948176E9A4A17E1A54F19FFA44F19FFA34F19FEA65119FBA8541AFDAB561BFF" - $"AD581CFFB0591DFFB25B1DFFB55D1EFFB85E1EFEBB611FFFC06420FFBE6320FE" - $"C06520FFC16621FFC36721FFC46822FFC66922FFC76A22FFC86B23FFC96B22FD" - $"CB6D23FFCF6F24FFC868225300000000BF804004000000000000000000000000" - $"0000000080000002800000020000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000008080000280800002000000000000000000000000" - $"00000000000000008E471C129E49181500000000994916469D4C18CEA34E19FF" - $"A9521AFFA6521AFFA9531AFBAB551BFEAE581CFFB15A1DFFB35C1DFFB65E1EFF" - $"B9601FFFBB621FFFBE6320FFC06521FFC36621FEC56822FEC66A22FFC86B23FF" - $"CA6C23FFCB6D23FFCC6E24FFCE6F24FFCF6F24FFD06F24FED17024FDDD7827FF" - $"D170257400000000BF8040040000000000000000000000000000000000000000" - $"00000000FF000001800000028000000280000002000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"FF00000180800002000000000000000000000000893B140D8F44144094431579" - $"964616A5994816E39A48166A99660005A14E19EAB0561BFFA9541BFFAB551BFC" - $"AD581CFDB15A1DFFB35C1DFFB65E1EFFB9601FFFBC6220FFBF6420FFC26621FF" - $"C46822FFC76A22FFC96B23FFCB6D23FFCC6E24FFCF6F24FFD07024FFD27125FF" - $"D37225FFD47325FFD57426FFD57426FFD57526FBE67D29FFD77525A400000000" - $"00000000FF000001000000000000000000000000000000006F21085C70200010" - $"000000000000000000000000FF00000180000002800000028000000280000002" - $"FF00000100000000000000000000000000000000000000008000000280800002" - $"00000000000000008D43142691421480944415CC964516F79F4B17FFA14D18FF" - $"B6581CFFA24F187EA8531B84B85C1DFFAC571CFAB0591CFCB35C1DFFB65E1EFF" - $"B9601FFFBC6320FFBF6520FFC26721FFC56922FFC86B22FFCA6C23FFCD6E24FF" - $"CF7024FFD17125FFD37225FFD57325FFD67426FFD77526FFD97626FFDA7727FF" - $"DB7827FFDB7827FEDB7827FAEA802AFFDC7927CCC6711C0900000000BF804004" - $"00000000000000000000000000000000000000006F2109E86F2208DB6F230865" - $"6C1D0A1A00000000000000000000000000000000000000000000000180000002" - $"80800002555500035555000380800002AA550003000000000000000094430D13" - $"93431586944415E79D4917FFA24C18FFA24E18FFA34F19FFA45019FEAC551BFF" - $"AA561BC7AF581CEEB45C1DFFB55E1EFDB9601FFFBC6220FFBF6420FFC26721FF" - $"C56922FFC86B23FFCB6D23FFCE6F24FFD07124FFD37225FFD57426FFD77526FF" - $"D97626FFDA7727FFDC7927FFDD7A27FFDE7A28FFDF7B28FFE07B28FFE17C28FD" - $"E17C29FBED832BFFE07C28EAE3782B2400000000CC6633050000000000000000" - $"000000000000000000000000000000006F2208B5752409FF79260AFF71250AEC" - $"73270BA474280B5A78260F220000000000000000000000000000000000000000" - $"000000000000000000000000000000000000000094431645954516D39E4A17FF" - $"A14C18FFA04D18FFA24F19FDA5511AFCA9541AFCAC571BFDB0591CFEB55D1EFF" - $"B9601FFFBB611FFEBE6420FFC16621FFC56922FFC86B23FFCB6D23FFCE6F24FF" - $"D17125FFD47325FFD67426FFD87626FFDA7727FFDC7927FFDE7A28FFDF7B28FF" - $"E07C28FFE27C28FCE37D28FCE37E29FDE47E29FDE67E29FCE68029FEF4872CFF" - $"E57F2AEFE680293E00000000FF80400400000000000000000000000000000000" - $"000000000000000000000000661A000A6F22093C73240A8574270ACB75290BFB" - $"7B2D0DFF792D0DF27C300EC680330E92823410628638113B873810208833110F" - $"6633000500000000000000009545176F974717F8A34D18FFA04D18FFA34F19FC" - $"A6521AFCAA541BFEAD581CFFB15A1DFFB55D1EFFB8601FFFBD6320FFC06520FE" - $"C46821FFC76A22FFCA6C23FFCE6F24FFD17125FFD47325FFD67526FFD97626FF" - $"DB7827FFDD7927FFDF7B28FFE17C28FFE27D29FFE47E29FFE57F29FFE9812AFF" - $"EC832BFFEB822AFFEB822BFFEA822AFFEE842BFFF88A2DFFEA822BCCE6802734" - $"00000000AA550003FF0000010000000000000000000000000000000000000000" - $"000000000000000000000000000000000000000099330005772B0B2F792D0D65" - $"7C300EA07F320FD1823510F1863811FE883B12FC8C3E13EF8F4114DD934315CE" - $"964615C09A4917C7A74F19FFA55019FFA2501AFAA7531AFCAA551BFFAE581CFF" - $"B25B1DFFB65E1EFFB9601FFFBD6320FFC16621FFC56822FEC96B23FFCC6E24FF" - $"D07024FFD37225FFD67426FFD87626FFDB7827FFDD7A28FFE07B28FFE27D29FF" - $"E37E29FFE57F29FFE7802AFFE8812AFFE9822AFFEB832BFFEA832BF8EF852BFF" - $"F98B2DFFF78A2DFFF98B2DFFF1872CFFEC842B93DD88220F00000000FFFF0001" - $"FFFF000100000000000000000000000000000000000000000000000000000000" - $"0000000055000003FF0000010000000000000000000000000000000000000000" - $"8E391C0986361426883B11498A3D136D8F3F148D934315A7964616B99A4917C4" - $"9E4B18C2A24F19C5AB551BFFAD571CFFAE581CFCB25B1DFEB75E1EFFBA611FFF" - $"BE6420FFC26721FFC66A22FFCA6C23FFCE6F24FFD17125FFD47325FFD77526FF" - $"DA7727FFDD7927FFDF7B28FFE27D29FFE47E29FFE67F29FFE7802AFFE9822AFF" - $"EA832BFFEC832BFFED842BFFEE852BFDF68A2DFFF0862CCBEE872D5BEF842C5D" - $"EE852B6BF0862C74F0872B530000000000000000FF800002FFFF000100000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"00000000FF000001550000035500000380000002000000000000000000000000" - $"000000000000000000000000000000000000000000000000AA550003AA550003" - $"FF000001AD571C89B95F1EFFBC611FFFBA611FFCBE6420FDC36721FFC76A22FF" - $"CB6D23FFCF6F24FFD27225FFD67426FFD97626FFDC7827FFDE7A28FFE17C28FF" - $"E37E29FFE57F29FFE7802AFFEA822AFFEB832BFFEC842BFFEE852BFFEF862CFF" - $"F0872CFFF2872CFFF3892CFEF5892DFFF4892CF8F68B2D8FFA8C2D33FFAA5503" - $"000000000000000000000000FFAA5503FFFF0001000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000180000002AA550003AA55000355550003" - $"FF00000100000000000000000000000000000000000000000000000000000000" - $"00000000B8611F6CBE6420F9CE6D23FFC76A22FFCB6D23FCD07024FDD37225FF" - $"D77526FFDA7727FFDD7927FFDF7B28FFE27D29FFE47F29FFE7802AFFE9812AFF" - $"EB832BFFED852BFEEE852BFDF0862CFFF2882CFFF3892DFFF4892DFFF58A2DFF" - $"F68B2DFFF68B2DFFF78B2EFCF88C2EFFFF9932FFF78B2DECFA8D2B2F00000000" - $"FF800002FF550003000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"00000000000000000000000000000000000000000000000000000000FF000001" - $"80800002AA550003AA550003AA550003AA550003AA5500038040000400000000" - $"00000000C46A2341CB6D23D3DC7727FFD97626FFD77426FEDB7726FCDD7927FD" - $"E07B28FEE37E29FFE67F29FFE8812AFFEA822AFFEC842BFFEE852BFFF0862CFF" - $"F68A2DFFF58A2DFFF58A2DFCF68B2EFCF68B2DFDF78B2DFDF88C2DFDF98D2EFC" - $"F98C2EFDFA8D2EFFFF9631FFFA8D2EEDF98C2F5200000000BF804004FF800002" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"000000000000000000000000000000000000000000000000AA55000300000000" - $"00000000CC732614D474258FDA7726F6EB812AFFE77F29FFE47E29FFE67F29FD" - $"E9822BFCEB832BFCED842BFDEE862BFEF1872CFEF3892CFEF58A2DFEF68A2DF5" - $"FF912FFFFF9230FFFD8F2FFFFB8E2EFFFB8E2EFFFD8F2FFFFF902FFFFF9531FF" - $"FF9731FFFC8F2FCAF98E2D2D0000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"000000000000000000000000000000000000000000000000FF80000280800002" - $"0000000000000000DC7B283AE27E29A8E6802AF5F6892DFFF6892DFFF3882CFF" - $"F2872CFFF2882CFFF3892CFEF58A2DFEF78B2EFBFF912FFFF88C2EBCFB8D2E86" - $"FB8E2FE6FF9230FFFF9731FFFF9832FFFF9732FFFF9330FFFE902FE2FD8F2F82" - $"FF88330F00000000FF800002FFFF000100000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"000000000000000000000000000000000000000000000000FFFF0001AA550003" - $"000000000000000000000000E9822839ED832B8EEE862BD4F2882CFAFE8F2FFF" - $"FF9230FFFF9330FFFF9430FFFF9330FFFF9731FFFF9130FFFF912F51F6922E1C" - $"FF8F2F5DFF903085FF913094FF902F88FF92315EFF94311F0000000000000000" - $"FF80000280800002000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"00000000000000000000000000000000000000000000000000000000AA550003" - $"FFFF0001000000000000000000000000FF862813F4892E43F68B2E75F98C2D9E" - $"F98D2DB9FB8E2FC9FD8F2ED2FE8F2ECBFE902ECBFF902F910000000000000000" - $"000000000000000000000000000000000000000000000000FFAA0003FFFF0001" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"0000000000000000000000000000000000000000000000000000000000000000" - $"00000000" - } +resource(R_LeafLogoBitmap) #'VICN' array { + $"6E6369660102010602438798C0E5A13DF937406BAE4D330E4CA0420000AAFFFF" + $"00337F010216C676C7BCC676C7BCCDE4CEECDD2DCFB2D596D105DBF0CEC5DAD9" + $"CCB5DB59CDA2E352D196EA2CC98EE790CB83E947C8D3E65EC72EE82DC964E8B0" + $"C781EC54C75DEA32C760EDACC61DF0EEC3A2EFB0C520F275C1CDF601BD33F468" + $"BF49F4FCBC92F462BB37F4C7BC01F552BB76F736BB8DF646BB93F879B921FBD3" + $"B6F6FA7BB79CF63725E9D3B656EF07B542E819B7D5E796BCFDE824B9C7E67FBB" + $"8DE6A6B743E602B9C1E2FCB86CDBFCBBA2DF6DBA00DAA7BC42D578BF61D75FBE" + $"A3D491C0BFD330C351D3CDC211D327C229D30FBFD4D2FAC106CCC4C0D3C565C6" + $"0EC952C285BCFAC614B3A0C121B38EC270B3A0C121B373C436B373C436B373C4" + $"36C67BC7BFBDF1C83CC67BC7BF010A000100023CB85D0000000000003CB85D3E" + $"FEBEC1A530" }; resource(R_LargeNewGroupIcon) archive(, 0x00000000) BBitmap {