diff --git a/src/preferences/print/PrinterListView.cpp b/src/preferences/print/PrinterListView.cpp index f5ee52588a..dd8e83eb26 100644 --- a/src/preferences/print/PrinterListView.cpp +++ b/src/preferences/print/PrinterListView.cpp @@ -215,9 +215,36 @@ PrinterItem::PrinterItem(PrintersWindow* window, const BDirectory& node) } if (sSelectedIcon == NULL) { - sSelectedIcon = new BBitmap(BRect(0,0,B_LARGE_ICON-1,B_LARGE_ICON-1), B_CMAP8); - BMimeType type(PRNT_SIGNATURE_TYPE); - type.GetIcon(sSelectedIcon, B_LARGE_ICON); + BBitmap *checkMark = LoadBitmap("check_mark_icon", 'BBMP'); + if (checkMark == NULL) { + BAlert *alert = new BAlert("Error", + "Fatal error: Check mark icon could not be loaded from resources!", + "Bye"); + alert->Go(); + exit(1); + } + + // draw check mark at bottom left over printer icon + sSelectedIcon = new BBitmap(sIcon->Bounds(), B_RGBA32, true); + if (!sSelectedIcon->IsValid()) { + BAlert *alert = new BAlert("Error", + "Fatal error: Bitmap could not be created for selected printer icon!", + "Bye"); + alert->Go(); + exit(1); + } + BView *view = new BView(sIcon->Bounds(), "offscreen", B_FOLLOW_ALL, B_WILL_DRAW); + float y = sIcon->Bounds().Height() - checkMark->Bounds().Height(); + sSelectedIcon->Lock(); + sSelectedIcon->AddChild(view); + view->DrawBitmap(sIcon); + view->SetDrawingMode(B_OP_ALPHA); + view->DrawBitmap(checkMark, BPoint(0, y)); + view->Sync(); + view->RemoveSelf(); + sSelectedIcon->Unlock(); + delete view; + delete checkMark; } // Get Name of printer diff --git a/src/preferences/print/Printers.rdef b/src/preferences/print/Printers.rdef index 583e585381..30eb079508 100644 --- a/src/preferences/print/Printers.rdef +++ b/src/preferences/print/Printers.rdef @@ -102,6 +102,55 @@ resource(101, "BEOS:M:STD_ICON") #'MICN' array { resource(1, "BEOS:FILE_TYPES") message; +resource(102, "check_mark_icon") #'BBMP' archive BBitmap { + "_frame" = rect { 0.00000, 0.00000, 15.0000, 19.0000 }, + "_cspace" = 8200, + "_bmflags" = 1, + "_rowbytes" = 64, + "_data" = array { + $"FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000FF000000FFFFFFFF00FFFFFF00" + $"FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00FFFFFF00FFFFFF00000000FF6666FFFF6666FFFF000000FFFFFFFF00" + $"FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00FFFFFF00FFFFFF00000000FFCBCBFFFF6666FFFF6666FFFF000000FF" + $"FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00FFFFFF00000000FF0000E4FF0000E4FFCBCBFFFF6666FFFF000000FF" + $"FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00FFFFFF00000000FF0000E4FF000080FF000080FF000000FFFFFFFF00" + $"FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00000000FF0000E4FF0000CBFF000098FF000080FF000000FFFFFFFF00" + $"FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00000000FF0000E4FF000080FF000080FF000000FFFFFFFF00FFFFFF00" + $"FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"000000FF0000E4FF0000CBFF000098FF000080FF000000FFFFFFFF00FFFFFF00" + $"FFFFFF00FFFFFF00000000FF000000FF000000FFFFFFFF00FFFFFF00FFFFFF00" + $"000000FF0000E4FF000080FF000080FF000000FFFFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00000000FF6666FFFF6666FFFF6666FFFF000000FFFFFFFF00000000FF" + $"0000E4FF0000CBFF000098FF000080FF000000FFFFFFFF00FFFFFF00FFFFFF00" + $"000000FF6666FFFF6666FFFF6666FFFFCBCBFFFF000000FFFFFFFF00000000FF" + $"0000E4FF000080FF000080FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"000000FF0000E4FF0000CBFFCBCBFFFF6666FFFF6666FFFF000000FF0000E4FF" + $"0000CBFF000098FF000080FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00000000FF0000E4FF0000CBFFCBCBFFFF6666FFFF0000E4FF0000CBFF" + $"000098FF000080FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00000000FF0000E4FF0000CBFFCBCBFFFF6666FFFF0000E4FF0000CBFF" + $"000098FF000080FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00FFFFFF00000000FF0000E4FF0000CBFF0000E4FF0000E4FF000080FF" + $"000080FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00FFFFFF00000000FF0000E4FF0000CBFF0000E4FF0000E4FF000080FF" + $"000080FF000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00FFFFFF00FFFFFF00000000FF0000E4FF0000CBFF000098FF000080FF" + $"000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00FFFFFF00FFFFFF00000000FF0000E4FF0000CBFF000098FF000080FF" + $"000000FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000FF0000E4FF000080FF000000FF" + $"FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + $"FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000FF000000FF000000FFFFFFFF00" + $"FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00" + } +}; + resource(0, "init_icon") #'bits' array { $"424D369000000000000036000000280000004000000090000000010020000000" $"000000900000130B0000130B00000000000000000000808080FFFFFFFFFFFFFF"