In Media preflet:

* Move icons to resource file.
* Add MediaIcons class to handle loading and storing the icons.
* Use a MediaIcons object in place of a BList for passing icons to our list items.
* Add IconHandles.h to hold an enum for identifying icons in/from our resource file.
* style fixes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39180 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Alex Wilson
2010-10-29 01:22:23 +00:00
parent 1d056b26be
commit b63e3a348c
11 changed files with 278 additions and 224 deletions
+15
View File
@@ -0,0 +1,15 @@
/*
* Copyright 2010, Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
enum {
devices_icon = 1,
mixer_icon = 2,
tv_icon = 3,
cam_icon = 4,
mic_icon = 5,
speaker_icon = 6
};
+4 -3
View File
@@ -11,10 +11,11 @@ UsePrivateHeaders media shared ;
Preference Media :
Media.cpp
MediaWindow.cpp
MediaViews.cpp
MediaListItem.cpp
MediaAlert.cpp
MediaIcons.cpp
MediaListItem.cpp
MediaViews.cpp
MediaWindow.cpp
: media be $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++)
: media.rdef
;
+2 -1
View File
@@ -21,7 +21,8 @@
Media::Media()
:
BApplication("application/x-vnd.Haiku-Media")
BApplication("application/x-vnd.Haiku-Media"),
fWindow(NULL)
{
BRect rect(32, 64, 637, 462);
+55
View File
@@ -0,0 +1,55 @@
/*
* Copyright 2010, Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#include "MediaIcons.h"
#include <Application.h>
#include <File.h>
#include <Resources.h>
#include <Roster.h>
#include "IconHandles.h"
const BRect MediaIcons::sBounds(0, 0, 15, 15);
MediaIcons::MediaIcons()
:
devicesIcon(sBounds, B_CMAP8),
mixerIcon(sBounds, B_CMAP8),
tvIcon(sBounds, B_CMAP8),
camIcon(sBounds, B_CMAP8),
micIcon(sBounds, B_CMAP8),
speakerIcon(sBounds, B_CMAP8)
{
app_info info;
be_app->GetAppInfo(&info);
BFile executableFile(&info.ref, B_READ_ONLY);
BResources resources(&executableFile);
resources.PreloadResourceType(B_COLOR_8_BIT_TYPE);
_LoadBitmap(&resources, devices_icon, &devicesIcon);
_LoadBitmap(&resources, mixer_icon, &mixerIcon);
_LoadBitmap(&resources, tv_icon, &tvIcon);
_LoadBitmap(&resources, cam_icon, &camIcon);
_LoadBitmap(&resources, mic_icon, &micIcon);
_LoadBitmap(&resources, speaker_icon, &speakerIcon);
}
void
MediaIcons::_LoadBitmap(BResources* resources, int32 id, BBitmap* bitmap)
{
size_t size;
const void* bits = resources->LoadResource(B_COLOR_8_BIT_TYPE, id, &size);
bitmap->SetBits(bits, size, 0, B_CMAP8);
}
BRect
MediaIcons::IconRectAt(const BPoint& topLeft)
{
return BRect(sBounds).OffsetToSelf(topLeft);
}
+33
View File
@@ -0,0 +1,33 @@
/*
* Copyright 2010, Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef __MEDIA_ICONS_H
#define __MEDIA_ICONS_H
#include <Bitmap.h>
class BResources;
struct MediaIcons {
MediaIcons();
BBitmap devicesIcon;
BBitmap mixerIcon;
BBitmap tvIcon;
BBitmap camIcon;
BBitmap micIcon;
BBitmap speakerIcon;
BRect IconRectAt(const BPoint& topLeft);
private:
static const BRect sBounds;
void _LoadBitmap(BResources* resources, int32 id,
BBitmap* bitmap);
};
#endif
+29 -31
View File
@@ -20,40 +20,40 @@
#include <View.h>
#include "MediaIcons.h"
#define kITEM_MARGIN 1
MediaListItem::MediaListItem(dormant_node_info* info, uint32 level,
bool isVideo, BList* icons, uint32 modifiers)
bool isVideo, MediaIcons* icons, uint32 modifiers)
:
BListItem(level),
fInfo(info),
fLabel(info->name),
fIsAudioMixer(false),
fIsVideo(isVideo),
fIsDefaultInput(false),
fIsDefaultOutput(false)
fIsDefaultOutput(false),
fIcons(icons)
{
fIcons = icons;
fInfo = info;
fLabel = fInfo->name;
SetHeight(16 + kITEM_MARGIN);
}
MediaListItem::MediaListItem(const char* label, uint32 level,
bool isVideo, BList* icons, uint32 modifiers)
bool isVideo, MediaIcons* icons, uint32 modifiers)
:
BListItem(level),
fInfo(NULL),
fLabel(label),
fIsAudioMixer(false),
fIsVideo(isVideo),
fIsDefaultInput(false),
fIsDefaultOutput(false)
fIsDefaultOutput(false),
fIcons(icons)
{
fIcons = icons;
fInfo = NULL;
SetHeight(16 + kITEM_MARGIN);
}
@@ -88,38 +88,36 @@ MediaListItem::DrawItem(BView* owner, BRect frame, bool complete)
}
frame.left += 4;
BRect iconFrame(frame);
iconFrame.Set(iconFrame.left, iconFrame.top+1,
iconFrame.left+15, iconFrame.top+16);
uint32 index = 0;
if (OutlineLevel()==0 || (fIsDefaultInput && fIsDefaultOutput)) {
if (fIsDefaultInput && fIsVideo)
index = 4;
else if (fIsDefaultInput && !fIsVideo)
index = 2;
owner->SetDrawingMode(B_OP_OVER);
BRect iconFrame(fIcons->IconRectAt(BPoint(frame.left, frame.top + 1)));
BBitmap* icon = static_cast<BBitmap*>(fIcons->ItemAt(index));
BBitmap* icon = &fIcons->devicesIcon;
if (OutlineLevel() == 0 || (fIsDefaultInput && fIsDefaultOutput)) {
if (fIsDefaultInput && fIsVideo)
icon = &fIcons->camIcon;
else if (fIsDefaultInput && !fIsVideo)
icon = &fIcons->micIcon;
owner->SetDrawingMode(B_OP_OVER);
owner->DrawBitmap(icon, iconFrame);
owner->SetDrawingMode(B_OP_COPY);
}
iconFrame.OffsetBy(16, 0);
if (fIsDefaultInput || fIsDefaultOutput || fIsAudioMixer) {
if (fIsAudioMixer)
index = 1;
icon = &fIcons->mixerIcon;
else if (fIsDefaultOutput) {
if (fIsVideo)
index = 5;
icon = &fIcons->tvIcon;
else
index = 3;
icon = &fIcons->speakerIcon;
} else {
if (fIsVideo)
index = 4;
icon = &fIcons->camIcon;
else
index = 2;
icon = &fIcons->speakerIcon;
}
owner->SetDrawingMode(B_OP_OVER);
BBitmap* icon = static_cast<BBitmap*>(fIcons->ItemAt(index));
owner->DrawBitmap(icon, iconFrame);
owner->SetDrawingMode(B_OP_COPY);
}
@@ -159,7 +157,7 @@ MediaListItem::SetAudioMixer(bool isAudioMixer)
void
MediaListItem::Update(BView* owner, const BFont* finfo)
{
// we need to override the update method so we can make sure are
// we need to override the update method so we can make sure our
// list item size doesn't change
BListItem::Update(owner, finfo);
if ((Height() < 16 + kITEM_MARGIN)) {
@@ -172,9 +170,9 @@ int
MediaListItem::Compare(const void* firstArg, const void* secondArg)
{
const MediaListItem* item1
= *static_cast<const MediaListItem * const *>(firstArg);
= *static_cast<const MediaListItem* const*>(firstArg);
const MediaListItem* item2
= *static_cast<const MediaListItem * const *>(secondArg);
= *static_cast<const MediaListItem* const*>(secondArg);
if (item1->fIsVideo != item2->fIsVideo)
return item1->fIsVideo ? 1 : -1;
+7 -4
View File
@@ -20,13 +20,16 @@
#include <MediaAddOn.h>
class MediaIcons;
class MediaListItem : public BListItem {
public:
MediaListItem(dormant_node_info* info,
uint32 level, bool isVideo, BList* icons,
uint32 modifiers=0);
uint32 level, bool isVideo,
MediaIcons* icons, uint32 modifiers = 0);
MediaListItem(const char* label, uint32 level,
bool isVideo, BList* icons,
bool isVideo, MediaIcons* icons,
uint32 modifiers=0);
virtual ~MediaListItem();
@@ -60,7 +63,7 @@ private:
bool fIsDefaultInput;
bool fIsDefaultOutput;
//dormant_node_info fNodeInfo;
BList* fIcons;
MediaIcons* fIcons;
};
#endif /* __MEDIALISTITEM_H__ */
+5 -27
View File
@@ -23,6 +23,7 @@
#include <Locale.h>
#include <MediaRoster.h>
#include <MediaTheme.h>
#include <Resources.h>
#include <Roster.h>
#include <Screen.h>
#include <ScrollView.h>
@@ -32,8 +33,7 @@
#include <String.h>
#include <TextView.h>
// Images
#include "iconfile.h"
#include "MediaIcons.h"
#undef B_TRANSLATE_CONTEXT
@@ -43,6 +43,7 @@
const uint32 ML_SELECTED_NODE = 'MlSN';
const uint32 ML_INIT_MEDIA = 'MlIM';
// MediaWindow - Constructor
MediaWindow::MediaWindow(BRect frame)
:
@@ -54,6 +55,7 @@ MediaWindow::MediaWindow(BRect frame)
fAudioOutputs(5, true),
fVideoInputs(5, true),
fVideoOutputs(5, true),
fIcons(),
fAlert(NULL),
fInitCheck(B_OK)
{
@@ -183,32 +185,8 @@ MediaWindow::_EmptyNodeLists()
void
MediaWindow::InitWindow(void)
MediaWindow::InitWindow()
{
// Bitmaps
BRect iconRect(0, 0, 15, 15);
BBitmap* icon = new BBitmap(iconRect, B_CMAP8);
icon->SetBits(kDevicesBits, kDevicesWidth * kDevicesHeight, 0,
kDevicesColorSpace);
fIcons.AddItem(icon);
icon = new BBitmap(iconRect, B_CMAP8);
icon->SetBits(kMixerBits, kMixerWidth * kMixerHeight, 0,
kMixerColorSpace);
fIcons.AddItem(icon);
icon = new BBitmap(iconRect, B_CMAP8);
icon->SetBits(kMicBits, kMicWidth * kMicHeight, 0, kMicColorSpace);
fIcons.AddItem(icon);
icon = new BBitmap(iconRect, B_CMAP8);
icon->SetBits(kSpeakerBits, kSpeakerWidth * kSpeakerHeight, 0,
kSpeakerColorSpace);
fIcons.AddItem(icon);
icon = new BBitmap(iconRect, B_CMAP8);
icon->SetBits(kCamBits, kCamWidth * kCamHeight, 0, kCamColorSpace);
fIcons.AddItem(icon);
icon = new BBitmap(iconRect, B_CMAP8);
icon->SetBits(kTVBits, kTVWidth * kTVHeight, 0, kTVColorSpace);
fIcons.AddItem(icon);
const float scrollWidth = 9 * be_plain_font->Size() + 30;
fListView = new BListView("media_list_view");
+7 -3
View File
@@ -25,15 +25,17 @@
#include <ObjectList.h>
#include "MediaViews.h"
#include "MediaListItem.h"
#include "MediaAlert.h"
#include "MediaIcons.h"
#include "MediaListItem.h"
#include "MediaViews.h"
#define SETTINGS_FILE "MediaPrefs Settings"
class BSeparatorView;
// struct dormant_node_info;
class MediaWindow : public BWindow
@@ -81,7 +83,9 @@ private:
NodeList fVideoInputs;
NodeList fVideoOutputs;
BList fIcons;
MediaIcons fIcons;
MediaAlert* fAlert;
status_t fInitCheck;
};
-154
View File
@@ -1,154 +0,0 @@
// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
//
// Copyright (c) 2003, OpenBeOS
//
// This software is part of the OpenBeOS distribution and is covered
// by the OpenBeOS license.
//
//
// File: MediaWindow.h
// Author: Jérôme Duval
// Description: Media Preferences
// Created : June 25, 2003
//
// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
const int32 kDevicesWidth = 16;
const int32 kDevicesHeight = 16;
const color_space kDevicesColorSpace = B_CMAP8;
const unsigned char kDevicesBits [] = {
0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0x00,0x9f,0x29,0x29,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0x00,0x70,0x37,0x9f,0x01,0x29,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0x01,0xfa,0xfa,0x77,0x3a,0xb7,0x29,0x29,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0x00,0x91,0x3e,0x91,0xdc,0x77,0x97,0x97,0x29,0x00,0x00,0xff,0xff,0xff,
0xff,0xff,0x00,0x90,0x7f,0x71,0xfa,0x6b,0xfa,0x71,0x97,0x07,0x13,0x29,0xff,0xff,
0xff,0xff,0x00,0x71,0x70,0x6b,0xfa,0xcb,0x6b,0x3e,0x08,0x14,0x00,0xff,0xff,0xff,
0xff,0xff,0x00,0x6b,0x45,0xfa,0xfa,0xaa,0xfa,0x71,0x05,0x11,0x29,0xff,0xff,0xff,
0xff,0xff,0x00,0x4b,0xe5,0x3c,0x77,0x71,0x71,0xfa,0x06,0x11,0x29,0xff,0xff,0xff,
0xff,0xff,0x00,0x91,0xfa,0xb7,0x71,0x3c,0x77,0x70,0x07,0x12,0x00,0xff,0xff,0xff,
0xff,0xff,0x29,0x00,0xfa,0x51,0x6b,0x3a,0xfa,0xfa,0x06,0x12,0x29,0xff,0xff,0xff,
0xff,0xff,0xff,0x29,0x00,0x97,0xf9,0x51,0xfa,0x97,0x08,0x16,0x01,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0x29,0x00,0x97,0xfa,0x06,0x07,0x16,0x00,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x29,0x00,0x00,0x06,0x16,0x00,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x0d,0x00,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff
};
const int32 kMixerWidth = 16;
const int32 kMixerHeight = 16;
const color_space kMixerColorSpace = B_CMAP8;
const unsigned char kMixerBits [] = {
0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0x00,0x17,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0x00,0x17,0x17,0x18,0x3f,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0x00,0x17,0x17,0x31,0x18,0x00,0x3f,0x3f,0x00,0x00,0xff,0xff,0xff,
0xff,0xff,0x00,0x17,0x17,0x18,0x3f,0x17,0x17,0x00,0x00,0x3f,0x3f,0x00,0x00,0xff,
0xff,0x00,0x17,0x17,0x31,0x18,0x00,0x3f,0x3f,0x17,0x17,0x00,0x00,0x18,0x17,0x00,
0x00,0x17,0x18,0x17,0x3f,0x17,0x17,0x00,0x00,0x3f,0x3f,0x17,0x17,0x18,0x0a,0x00,
0x00,0x3f,0x31,0x17,0x00,0x3f,0x3f,0x17,0x17,0x00,0x00,0x18,0x17,0x0b,0x04,0x00,
0x00,0x17,0x18,0x3f,0x3f,0x00,0x00,0x3f,0x3f,0x17,0x17,0x18,0x0a,0x05,0x0a,0x00,
0x00,0x11,0x11,0x18,0x17,0x3f,0x3f,0x00,0x00,0x17,0x17,0x0b,0x04,0x0b,0x00,0x0f,
0x00,0x04,0x04,0x11,0x11,0x18,0x17,0x3f,0x3f,0x17,0x0b,0x04,0x0a,0x00,0x0f,0xff,
0x00,0x11,0x11,0x04,0x04,0x11,0x11,0x17,0x18,0x0a,0x05,0x0a,0x00,0x0f,0xff,0xff,
0xff,0x00,0x00,0x11,0x11,0x04,0x04,0x11,0x0b,0x04,0x0b,0x00,0x0e,0xff,0xff,0xff,
0xff,0xff,0xff,0x00,0x00,0x11,0x11,0x04,0x04,0x0b,0x00,0x0f,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x11,0x0a,0x00,0x0f,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x0e,0xff,0xff,0xff,0xff,0xff,0xff
};
const int32 kTVWidth = 16;
const int32 kTVHeight = 16;
const color_space kTVColorSpace = B_CMAP8;
const unsigned char kTVBits [] = {
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0x06,0x06,0x05,0x06,0xff,0xff,0x00,0xff,0xff,0x00,0xff,0xff,0xff,0xff,
0xff,0x05,0x3f,0x3f,0x1e,0x17,0x05,0x06,0x00,0xff,0x00,0xff,0xff,0xff,0xff,0xff,
0xff,0x04,0x3f,0x3f,0x1d,0x1e,0x1d,0x19,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0x05,0x13,0x14,0x3f,0x3f,0x1e,0x1e,0x00,0x06,0x06,0x00,0xff,0xff,0xff,0xff,
0xff,0x05,0x11,0xd5,0x0c,0x13,0x3f,0x3f,0x1e,0x1e,0x1e,0x01,0xff,0xff,0xff,0xff,
0xff,0x05,0x11,0xd5,0x60,0x0c,0x0a,0x15,0x3f,0x3f,0x16,0x01,0xff,0xff,0xff,0xff,
0xff,0x05,0x11,0xd5,0x60,0x60,0x86,0xd5,0x15,0x17,0x0c,0x03,0xff,0xff,0xff,0xff,
0xff,0x05,0x11,0xd5,0x60,0x60,0x86,0xd3,0x60,0x19,0x0f,0x03,0xff,0xff,0xff,0xff,
0xff,0x05,0x11,0xd3,0x86,0x86,0x86,0x23,0x60,0x19,0x0f,0x03,0xff,0xff,0xff,0xff,
0xff,0x00,0x15,0x1c,0x1d,0x3f,0xd3,0xd3,0x60,0x19,0x10,0x05,0x11,0xff,0xff,0xff,
0xff,0xff,0x02,0x02,0x11,0x19,0x3f,0x3f,0x60,0x16,0x11,0x05,0x11,0x11,0x11,0xff,
0xff,0xff,0xff,0xff,0x02,0x02,0x11,0x1a,0x20,0x15,0x12,0x05,0x11,0x11,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0x02,0x02,0x12,0x2a,0x0f,0x00,0x11,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x02,0x05,0x00,0x11,0xff,0xff,0xff,0xff
};
const int32 kCamWidth = 16;
const int32 kCamHeight = 16;
const color_space kCamColorSpace = B_CMAP8;
const unsigned char kCamBits [] = {
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,
0xff,0x00,0x00,0x1b,0x1c,0x00,0xff,0xff,0xff,0x00,0x01,0x3f,0x1b,0x01,0xff,0xff,
0x00,0x3f,0x1c,0x1a,0x01,0x00,0xff,0x00,0x00,0x1a,0x1c,0x1c,0x3f,0x0f,0x00,0xff,
0x00,0x15,0x15,0x3f,0x1c,0x1b,0x02,0x1c,0x1c,0x1c,0x3f,0x0f,0x0f,0x0f,0x00,0xff,
0xff,0x00,0x00,0x15,0x15,0x3f,0x3f,0x3f,0x3f,0x0f,0x0f,0x0f,0x0f,0x0f,0x00,0xff,
0xff,0xff,0xff,0x00,0x00,0x0a,0x15,0x0a,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x00,0xff,
0xff,0x05,0x05,0x05,0x00,0x14,0x0b,0x0a,0x0f,0x0f,0x0f,0x0f,0x0f,0x00,0xff,0xff,
0x02,0x02,0x1c,0x0e,0x00,0x07,0x07,0x07,0x0f,0x0f,0x0f,0x0f,0x06,0x00,0x0f,0x0f,
0x00,0x15,0x06,0x3f,0x05,0x07,0x07,0x07,0x0f,0x0f,0x06,0x00,0x00,0x0f,0x0f,0x0f,
0x00,0x06,0x06,0x3f,0x05,0x07,0x07,0x07,0x0f,0x00,0x00,0x0f,0x0f,0x0f,0xff,0xff,
0x02,0x02,0x02,0x02,0x05,0x7b,0x07,0x00,0x00,0x0f,0x0f,0x0f,0xff,0xff,0xff,0xff,
0xff,0x00,0x00,0x05,0xff,0x00,0x00,0x0f,0x0f,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
};
const int32 kMicWidth = 16;
const int32 kMicHeight = 16;
const color_space kMicColorSpace = B_CMAP8;
const unsigned char kMicBits [] = {
0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0x03,0x19,0x19,0x19,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0x00,0x09,0x12,0x19,0x19,0x0f,0x00,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0x00,0x19,0x19,0x12,0x09,0x0f,0x0f,0x00,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0x00,0x09,0x12,0x19,0x19,0x05,0x0f,0x00,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0x02,0x09,0x19,0x19,0x09,0x05,0x0f,0x0f,0x00,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0x00,0x19,0x12,0x12,0x19,0x0f,0x05,0x0f,0x00,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0x00,0x09,0x19,0x19,0x09,0x05,0x0f,0x00,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0x00,0x19,0x12,0x09,0x19,0x0f,0x0f,0x00,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0x00,0x19,0x19,0x09,0x05,0x0f,0x00,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0x00,0x08,0x0c,0x08,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x0c,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0x00,0x00,0x00,0x3f,0x0c,0x09,0x00,0x00,0x00,0x0f,0x0f,0xff,0xff,
0xff,0xff,0x00,0x3f,0x1c,0x1c,0x19,0x0f,0x0f,0x09,0x09,0x09,0x00,0x0f,0x0f,0xff,
0xff,0xff,0x00,0x00,0x1c,0x1c,0x19,0x14,0x0f,0x0f,0x09,0x00,0x00,0x0f,0x0f,0xff,
0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0f,0x0f,0x0f,0xff,0xff
};
const int32 kSpeakerWidth = 16;
const int32 kSpeakerHeight = 16;
const color_space kSpeakerColorSpace = B_CMAP8;
const unsigned char kSpeakerBits [] = {
0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0x00,0x3f,0x1c,0x1c,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0x00,0x3f,0x1c,0x1c,0x1c,0x1c,0x1c,0x00,0x00,0xff,0xff,0xff,0xff,
0xff,0xff,0x00,0x3f,0x3f,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x11,0x00,0xff,0xff,0xff,
0xff,0xff,0x00,0x17,0x18,0x3f,0x3f,0x1c,0x1c,0x1c,0x11,0x0f,0x00,0xff,0xff,0xff,
0xff,0xff,0x00,0x17,0x17,0x18,0x17,0x3f,0x3f,0x11,0x0f,0x0f,0x00,0xff,0xff,0xff,
0xff,0xff,0x00,0x11,0x00,0x00,0x00,0x17,0x11,0x0f,0x0f,0x0f,0x00,0xff,0xff,0xff,
0xff,0xff,0x00,0x00,0x08,0x09,0x00,0x11,0x11,0x0f,0x0f,0x0f,0x00,0xff,0xff,0xff,
0xff,0xff,0x00,0x00,0x08,0x0f,0x0b,0x08,0x11,0x0f,0x0f,0x0f,0x00,0xff,0xff,0xff,
0xff,0xff,0x00,0x11,0x00,0x0a,0x0f,0x09,0x11,0x0f,0x0f,0x0f,0x00,0xff,0xff,0xff,
0xff,0xff,0x00,0x17,0x11,0x08,0x09,0x11,0x11,0x0f,0x0f,0x0f,0x00,0xff,0xff,0xff,
0xff,0xff,0x00,0x17,0x17,0x17,0x17,0x17,0x11,0x0f,0x0f,0x0f,0x00,0x0f,0xff,0xff,
0xff,0xff,0x00,0x00,0x17,0x17,0x2d,0x18,0x11,0x0f,0x0f,0x00,0x0f,0x0f,0xff,0xff,
0xff,0xff,0xff,0xff,0x00,0x00,0x17,0x17,0x11,0x0f,0x00,0x0f,0x0f,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x11,0x00,0x0f,0x0f,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x0f,0x0f,0xff,0xff,0xff,0xff,0xff
};
+121 -1
View File
@@ -1,3 +1,4 @@
#include "IconHandles.h"
resource app_signature "application/x-vnd.Haiku-Media";
@@ -13,7 +14,7 @@ resource app_version {
internal = 0,
short_info = "Media",
long_info = "Media ©2003-2009 Haiku"
long_info = "Media ©2003-2010 Haiku"
};
resource app_flags B_SINGLE_LAUNCH;
@@ -41,3 +42,122 @@ resource vector_icon {
$"040A07010920372A0A08010A20372A0A09010B20372A"
};
resource(devices_icon) #'CLRB' array {
$"ffff0000ffffffffffffffffffffffff"
$"ffff009f2929ffffffffffffffffffff"
$"ffff0070379f0129ffffffffffffffff"
$"ffff01fafa773ab72929ffffffffffff"
$"ffff00913e91dc779797290000ffffff"
$"ffff00907f71fa6bfa7197071329ffff"
$"ffff0071706bfacb6b3e081400ffffff"
$"ffff006b45fafaaafa71051129ffffff"
$"ffff004be53c777171fa061129ffffff"
$"ffff0091fab7713c7770071200ffffff"
$"ffff2900fa516b3afafa061229ffffff"
$"ffffff290097f951fa97081601ffffff"
$"ffffffffff290097fa06071600ffffff"
$"ffffffffffffff290000061600ffffff"
$"ffffffffffffffffffff000d00ffffff"
$"ffffffffffffffffffffff00ffffffff"
};
resource(mixer_icon) #'CLRB' array {
$"ffffffffffff00ffffffffffffffffff"
$"ffffffffff00170000ffffffffffffff"
$"ffffffff001717183f0000ffffffffff"
$"ffffff0017173118003f3f0000ffffff"
$"ffff001717183f171700003f3f0000ff"
$"ff0017173118003f3f17170000181700"
$"001718173f171700003f3f1717180a00"
$"003f3117003f3f1717000018170b0400"
$"0017183f3f00003f3f1717180a050a00"
$"00111118173f3f000017170b040b000f"
$"000404111118173f3f170b040a000fff"
$"0011110404111117180a050a000fffff"
$"ff000011110404110b040b000effffff"
$"ffffff0000111104040b000fffffffff"
$"ffffffffff0000110a000fffffffffff"
$"ffffffffffffff00000effffffffffff"
};
resource(tv_icon) #'CLRB' array {
$"ffffffffffffffffffffffffffffffff"
$"ffffffffffffffff00ffffffffffffff"
$"ffff06060506ffff00ffff00ffffffff"
$"ff053f3f1e17050600ff00ffffffffff"
$"ff043f3f1d1e1d190000ffffffffffff"
$"ff0513143f3f1e1e00060600ffffffff"
$"ff0511d50c133f3f1e1e1e01ffffffff"
$"ff0511d5600c0a153f3f1601ffffffff"
$"ff0511d5606086d515170c03ffffffff"
$"ff0511d5606086d360190f03ffffffff"
$"ff0511d38686862360190f03ffffffff"
$"ff00151c1d3fd3d36019100511ffffff"
$"ffff020211193f3f60161105111111ff"
$"ffffffff0202111a201512051111ffff"
$"ffffffffffff0202122a0f0011ffffff"
$"ffffffffffffffff02050011ffffffff"
};
resource(cam_icon) #'CLRB' array {
$"ffffffffffffffffffffffffffffffff"
$"ffffffffffffffffffffffffffffffff"
$"ffffff0000ffffffffffff0000ffffff"
$"ff00001b1c00ffffff00013f1b01ffff"
$"003f1c1a0100ff00001a1c1c3f0f00ff"
$"0015153f1c1b021c1c1c3f0f0f0f00ff"
$"ff000015153f3f3f3f0f0f0f0f0f00ff"
$"ffffff00000a150a0f0f0f0f0f0f00ff"
$"ff05050500140b0a0f0f0f0f0f00ffff"
$"02021c0e000707070f0f0f0f06000f0f"
$"0015063f050707070f0f0600000f0f0f"
$"0006063f050707070f00000f0f0fffff"
$"02020202057b0700000f0f0fffffffff"
$"ff000005ff00000f0f0fffffffffffff"
$"ffffffffffffffffffffffffffffffff"
$"ffffffffffffffffffffffffffffffff"
};
resource(mic_icon) #'CLRB' array {
$"ffffffffff000000ffffffffffffffff"
$"ffffffff031919190000ffffffffffff"
$"ffffffff00091219190f00ffffffffff"
$"ffffffff00191912090f0f00ffffffff"
$"ffffffff0009121919050f00ffffffff"
$"ffffff0209191909050f0f00ffffffff"
$"ffffff00191212190f050f00ffffffff"
$"ffffff0009191909050f00ffffffffff"
$"ffffff00191209190f0f00ffffffffff"
$"ffffffff00191909050f00ffffffffff"
$"ffffffffff00080c0800ffffffffffff"
$"ffffffffffff000c00ffffffffffffff"
$"ffffff0000003f0c090000000f0fffff"
$"ffff003f1c1c190f0f090909000f0fff"
$"ffff00001c1c19140f0f0900000f0fff"
$"ffffffff000000000000030f0f0fffff"
};
resource(speaker_icon) #'CLRB' array {
$"ffffffffff000000ffffffffffffffff"
$"ffffffff003f1c1c0000ffffffffffff"
$"ffffff003f1c1c1c1c1c0000ffffffff"
$"ffff003f3f1c1c1c1c1c1c1100ffffff"
$"ffff0017183f3f1c1c1c110f00ffffff"
$"ffff00171718173f3f110f0f00ffffff"
$"ffff001100000017110f0f0f00ffffff"
$"ffff000008090011110f0f0f00ffffff"
$"ffff0000080f0b08110f0f0f00ffffff"
$"ffff0011000a0f09110f0f0f00ffffff"
$"ffff001711080911110f0f0f00ffffff"
$"ffff001717171717110f0f0f000fffff"
$"ffff000017172d18110f0f000f0fffff"
$"ffffffff00001717110f000f0fffffff"
$"ffffffffffff000011000f0fffffffff"
$"ffffffffffffffff000f0fffffffffff"
};