void DeskbarView::_InitBitmaps() { for (int i = 0; i < kStatusCount; i++) fBitmaps[i] = NULL; image_info info; if (our_image(&info) != B_OK) return; BFile file(info.name, B_READ_ONLY); if (file.InitCheck() != B_OK) return; BResources resources(&file); if (resources.InitCheck() != B_OK) return; for (int i = 0; i < kStatusCount; i++) { const void* data = NULL; size_t size; data = resources.LoadResource(B_VECTOR_ICON_TYPE, kIconNoMail + i, &size); if (data != NULL) { BBitmap* icon = new BBitmap(Bounds(), B_RGBA32); if (icon->InitCheck() == B_OK && BIconUtils::GetVectorIcon((const uint8 *)data, size, icon) == B_OK) { fBitmaps[i] = icon; } else delete icon; } } }
void NetworkStatusView::_UpdateBitmaps() { for (int i = 0; i < kStatusCount; i++) { delete fTrayIcons[i]; delete fNotifyIcons[i]; fTrayIcons[i] = NULL; fNotifyIcons[i] = NULL; } image_info info; if (our_image(info) != B_OK) return; BFile file(info.name, B_READ_ONLY); if (file.InitCheck() < B_OK) return; BResources resources(&file); #ifdef HAIKU_TARGET_PLATFORM_HAIKU if (resources.InitCheck() < B_OK) return; #endif for (int i = 0; i < kStatusCount; i++) { const void* data = NULL; size_t size; data = resources.LoadResource(B_VECTOR_ICON_TYPE, kNetworkStatusNoDevice + i, &size); if (data != NULL) { // Scale main tray icon BBitmap* trayIcon = new BBitmap(Bounds(), B_RGBA32); if (trayIcon->InitCheck() == B_OK && BIconUtils::GetVectorIcon((const uint8 *)data, size, trayIcon) == B_OK) { fTrayIcons[i] = trayIcon; } else delete trayIcon; // Scale notification icon BBitmap* notifyIcon = new BBitmap(BRect(0, 0, 31, 31), B_RGBA32); if (notifyIcon->InitCheck() == B_OK && BIconUtils::GetVectorIcon((const uint8 *)data, size, notifyIcon) == B_OK) { fNotifyIcons[i] = notifyIcon; } else delete notifyIcon; } } }
void NetworkStatus::_InstallReplicantInDeskbar() { image_info info; entry_ref ref; if (our_image(info) == B_OK && get_ref_for_path(info.name, &ref) == B_OK) { BDeskbar deskbar; deskbar.AddItem(&ref); } Quit(); }
status_t VBoxGuestDeskbarView::_Init(BMessage *archive) { BString toolTipText; toolTipText << VBOX_PRODUCT << " Guest Additions "; toolTipText << VBOX_VERSION_MAJOR << "." << VBOX_VERSION_MINOR << "." << VBOX_VERSION_BUILD; toolTipText << "r" << VBOX_SVN_REV; SetToolTip(toolTipText.String()); image_info info; if (our_image(info) != B_OK) return B_ERROR; BFile file(info.name, B_READ_ONLY); if (file.InitCheck() < B_OK) return B_ERROR; BResources resources(&file); if (resources.InitCheck() < B_OK) return B_ERROR; const void *data = NULL; size_t size; //data = resources.LoadResource(B_VECTOR_ICON_TYPE, // kNetworkStatusNoDevice + i, &size); data = resources.LoadResource('data', 400, &size); if (data != NULL) { BMemoryIO mem(data, size); fIcon = BTranslationUtils::GetBitmap(&mem); } int rc = RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE); if (RT_SUCCESS(rc)) { rc = VbglR3Init(); if (RT_SUCCESS(rc)) { fClipboardService = new VBoxClipboardService(); fDisplayService = new VBoxDisplayService(); } else LogRel(("VBoxGuestDeskbarView::_init VbglR3Init failed. rc=%d\n", rc)); } else LogRel(("VBoxGuestDeskbarView::_init RTR3InitDll failed. rc=%d\n", rc)); return RTErrConvertToErrno(rc); }
BResources* CayaResources() { image_info info; if (our_image(info) != B_OK) return NULL; BFile file(info.name, B_READ_ONLY); if (file.InitCheck() != B_OK) return NULL; BResources* res = new BResources(&file); if (res->InitCheck() != B_OK) { delete res; return NULL; } return res; }
void MuscleAdmin::ReadyToRun() { bool isInstalled = false; bool isDeskbarRunning = true; { // if the Deskbar is not alive at this point, it might be after having // acknowledged the requester below BDeskbar deskbar; isDeskbarRunning = deskbar.IsRunning(); isInstalled = deskbar.HasItem(kDeskbarItemName); } if (isDeskbarRunning && !isInstalled) { BAlert* alert = new BAlert("", "You can run MuscleAdmin in a window or install it in the Deskbar." , "Run in window", "Install in Deskbar", NULL, B_WIDTH_AS_USUAL, B_WARNING_ALERT); if (alert->Go()) { image_info info; entry_ref ref; if (our_image(info) == B_OK && get_ref_for_path(info.name, &ref) == B_OK) { BDeskbar deskbar; deskbar.AddItem(&ref); } Quit(); return; } } BWindow* window = new MuscleAdminWindow(); window->Show(); }
void InterfaceListItem::_PopulateBitmaps(const char* mediaType) { const uint8* interfaceHVIF; const uint8* offlineHVIF; const uint8* pendingHVIF; const uint8* onlineHVIF; BBitmap* interfaceBitmap = NULL; /* Load interface icons */ image_info info; if (our_image(info) != B_OK) return; BFile resourcesFile(info.name, B_READ_ONLY); if (resourcesFile.InitCheck() < B_OK) return; BResources addonResources(&resourcesFile); if (addonResources.InitCheck() < B_OK) return; size_t iconSize; // Try specific interface icon? interfaceHVIF = (const uint8*)addonResources.LoadResource( B_VECTOR_ICON_TYPE, Name(), &iconSize); if (interfaceHVIF == NULL && mediaType != NULL) // Not found, try interface media type? interfaceHVIF = (const uint8*)addonResources.LoadResource( B_VECTOR_ICON_TYPE, mediaType, &iconSize); if (interfaceHVIF == NULL) // Not found, try default interface icon? interfaceHVIF = (const uint8*)addonResources.LoadResource( B_VECTOR_ICON_TYPE, "ether", &iconSize); if (interfaceHVIF) { // Now build the bitmap interfaceBitmap = new BBitmap(BRect(0, 0, ICON_SIZE, ICON_SIZE), 0, B_RGBA32); if (BIconUtils::GetVectorIcon(interfaceHVIF, iconSize, interfaceBitmap) == B_OK) fIcon = interfaceBitmap; else delete interfaceBitmap; } // Load possible state icons offlineHVIF = (const uint8*)addonResources.LoadResource( B_VECTOR_ICON_TYPE, "offline", &iconSize); if (offlineHVIF) { fIconOffline = new BBitmap(BRect(0, 0, ICON_SIZE, ICON_SIZE), 0, B_RGBA32); BIconUtils::GetVectorIcon(offlineHVIF, iconSize, fIconOffline); } pendingHVIF = (const uint8*)addonResources.LoadResource( B_VECTOR_ICON_TYPE, "pending", &iconSize); if (pendingHVIF) { fIconPending = new BBitmap(BRect(0, 0, ICON_SIZE, ICON_SIZE), 0, B_RGBA32); BIconUtils::GetVectorIcon(pendingHVIF, iconSize, fIconPending); } onlineHVIF = (const uint8*)addonResources.LoadResource( B_VECTOR_ICON_TYPE, "online", &iconSize); if (onlineHVIF) { fIconOnline = new BBitmap(BRect(0, 0, ICON_SIZE, ICON_SIZE), 0, B_RGBA32); BIconUtils::GetVectorIcon(onlineHVIF, iconSize, fIconOnline); } }