From e20af02a1de215edb7903104359f1b81fb91a564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Thu, 14 Sep 2006 18:14:17 +0000 Subject: [PATCH] * now draws disabled icons fine when they are B_RGBA32 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18847 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/tracker/IconMenuItem.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/kits/tracker/IconMenuItem.cpp b/src/kits/tracker/IconMenuItem.cpp index 230e2e3303..062d7dd3e6 100644 --- a/src/kits/tracker/IconMenuItem.cpp +++ b/src/kits/tracker/IconMenuItem.cpp @@ -120,8 +120,17 @@ ModelMenuItem::Highlight(bool hilited) static void DimmedIconBlitter(BView *view, BPoint where, BBitmap *bitmap, void *) { - view->SetDrawingMode(B_OP_BLEND); - view->DrawBitmap(bitmap, where); + if (bitmap->ColorSpace() == B_RGBA32) { + rgb_color oldHighColor = view->HighColor(); + view->SetHighColor(0, 0, 0, 128); + view->SetDrawingMode(B_OP_ALPHA); + view->SetBlendingMode(B_CONSTANT_ALPHA, B_ALPHA_OVERLAY); + view->DrawBitmap(bitmap, where); + view->SetHighColor(oldHighColor); + } else { + view->SetDrawingMode(B_OP_BLEND); + view->DrawBitmap(bitmap, where); + } view->SetDrawingMode(B_OP_OVER); }