mirror of
https://review.haiku-os.org/haiku
synced 2025-02-22 21:48:35 +01:00
* use B_RGBA32 icons when compiled for Haiku
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19312 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
d63a05d32b
commit
76788886af
@ -90,14 +90,26 @@ void IconMenuItem::Highlight(bool hilited)
|
||||
// --------------------------------------------------------------
|
||||
void IconMenuItem::DrawIcon()
|
||||
{
|
||||
BPoint loc;
|
||||
// TODO: exact code duplication with TeamBarMenuItem::DrawIcon()
|
||||
if (!fIcon)
|
||||
return;
|
||||
|
||||
BPoint loc = ContentLocation();
|
||||
BRect frame = Frame();
|
||||
|
||||
loc = ContentLocation();
|
||||
BRect frame = Frame();
|
||||
loc.y = frame.top + (frame.bottom - frame.top - 15) / 2;
|
||||
Menu()->SetDrawingMode(B_OP_OVER);
|
||||
if (fIcon)
|
||||
Menu()->DrawBitmap(fIcon, loc);
|
||||
|
||||
BMenu* menu = Menu();
|
||||
|
||||
if (fIcon->ColorSpace() == B_RGBA32) {
|
||||
menu->SetDrawingMode(B_OP_ALPHA);
|
||||
menu->SetBlendingMode(B_PIXEL_ALPHA, B_ALPHA_OVERLAY);
|
||||
} else
|
||||
menu->SetDrawingMode(B_OP_OVER);
|
||||
|
||||
menu->DrawBitmap(fIcon, loc);
|
||||
|
||||
menu->SetDrawingMode(B_OP_COPY);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------
|
||||
|
@ -79,15 +79,26 @@ MemoryBarMenuItem::DrawContent()
|
||||
void
|
||||
MemoryBarMenuItem::DrawIcon()
|
||||
{
|
||||
// TODO: exact code duplication with TeamBarMenuItem::DrawIcon()
|
||||
if (!fIcon)
|
||||
return;
|
||||
|
||||
BPoint loc = ContentLocation();
|
||||
BRect frame = Frame();
|
||||
|
||||
loc.y = frame.top + (frame.bottom - frame.top - 15) / 2;
|
||||
|
||||
if (fIcon) {
|
||||
Menu()->SetDrawingMode(B_OP_OVER);
|
||||
Menu()->DrawBitmap(fIcon, loc);
|
||||
Menu()->SetDrawingMode(B_OP_COPY);
|
||||
}
|
||||
BMenu* menu = Menu();
|
||||
|
||||
if (fIcon->ColorSpace() == B_RGBA32) {
|
||||
menu->SetDrawingMode(B_OP_ALPHA);
|
||||
menu->SetBlendingMode(B_PIXEL_ALPHA, B_ALPHA_OVERLAY);
|
||||
} else
|
||||
menu->SetDrawingMode(B_OP_OVER);
|
||||
|
||||
menu->DrawBitmap(fIcon, loc);
|
||||
|
||||
menu->SetDrawingMode(B_OP_COPY);
|
||||
}
|
||||
|
||||
|
||||
|
@ -91,15 +91,25 @@ TeamBarMenuItem::DrawContent()
|
||||
void
|
||||
TeamBarMenuItem::DrawIcon()
|
||||
{
|
||||
if (!fIcon)
|
||||
return;
|
||||
|
||||
BPoint loc = ContentLocation();
|
||||
BRect frame = Frame();
|
||||
|
||||
loc.y = frame.top + (frame.bottom - frame.top - 15) / 2;
|
||||
|
||||
BMenu* menu = Menu ();
|
||||
menu->SetDrawingMode(B_OP_OVER);
|
||||
if (fIcon)
|
||||
menu->DrawBitmap(fIcon, loc);
|
||||
BMenu* menu = Menu();
|
||||
|
||||
if (fIcon->ColorSpace() == B_RGBA32) {
|
||||
menu->SetDrawingMode(B_OP_ALPHA);
|
||||
menu->SetBlendingMode(B_PIXEL_ALPHA, B_ALPHA_OVERLAY);
|
||||
} else
|
||||
menu->SetDrawingMode(B_OP_OVER);
|
||||
|
||||
menu->DrawBitmap(fIcon, loc);
|
||||
|
||||
menu->SetDrawingMode(B_OP_COPY);
|
||||
}
|
||||
|
||||
|
||||
|
@ -68,7 +68,8 @@ get_team_name_and_icon(info_pack& infoPack, bool icon)
|
||||
BEntry entry(infoPack.team_info.args, true);
|
||||
status = entry.GetRef(&info.ref);
|
||||
if (status != B_OK
|
||||
|| strncmp(infoPack.team_info.args, systemPath.Path(), strlen(systemPath.Path())) != 0)
|
||||
|| strncmp(infoPack.team_info.args, systemPath.Path(),
|
||||
strlen(systemPath.Path())) != 0)
|
||||
nameFromArgs = true;
|
||||
tryTrackerIcon = (status == B_OK);
|
||||
}
|
||||
@ -77,9 +78,17 @@ get_team_name_and_icon(info_pack& infoPack, bool icon)
|
||||
B_PATH_NAME_LENGTH - 1);
|
||||
|
||||
if (icon) {
|
||||
infoPack.team_icon = new BBitmap(BRect(0, 0, 15, 15), B_COLOR_8_BIT);
|
||||
if (!tryTrackerIcon || BNodeInfo::GetTrackerIcon(&info.ref, infoPack.team_icon, B_MINI_ICON) != B_OK)
|
||||
infoPack.team_icon->SetBits(k_app_mini, 256, 0, B_COLOR_8_BIT);
|
||||
#ifdef __HAIKU__
|
||||
infoPack.team_icon = new BBitmap(BRect(0, 0, 15, 15), B_RGBA32);
|
||||
#else
|
||||
infoPack.team_icon = new BBitmap(BRect(0, 0, 15, 15), B_CMAP8);
|
||||
#endif
|
||||
if (!tryTrackerIcon
|
||||
|| BNodeInfo::GetTrackerIcon(&info.ref, infoPack.team_icon,
|
||||
B_MINI_ICON) != B_OK) {
|
||||
// TODO: don't hardcode the "app" icon!
|
||||
infoPack.team_icon->SetBits(k_app_mini, 256, 0, B_CMAP8);
|
||||
}
|
||||
} else
|
||||
infoPack.team_icon = NULL;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user