* added vector icons for application and supported types

* added "icon heap" icon
* implemented loading vector icon for "icon heap"


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20684 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stephan Aßmus 2007-04-14 22:36:56 +00:00
parent ffcc37a0aa
commit 35afdf5cc9
3 changed files with 116 additions and 24 deletions

View File

@ -2,6 +2,35 @@
* FileTypes.icons.rdef * FileTypes.icons.rdef
*/ */
#ifdef HAIKU_TARGET_PLATFORM_HAIKU
resource(0, "BEOS:application/x-be-resource") #'VICN' array {
$"6E63696607050102000603399E0F3D9C0ABF82B23B84A94B88504870C900A5B1"
$"FFBCEAF1FFFFB3B8FF020106023E49240000000000003CAAAA4940004A3000FF"
$"C0D5FF7C896EFF040192020006023A4BAE3411A9B629883C6629495368484715"
$"00FFF9BAFFFFC104020006023A6A0E3670BCB6D8C13AD0F64A21BC4A0DF300BA"
$"DCFFFF2A20F10200060239AAD5343BA5B6E7993C629D4ABB354803A500E99797"
$"FFCE3232070606AE0BB40BBF4D33C3AFB75DC173BDEFC607C13EC804CA28BD82"
$"C118B920C51BBB40BF07B8083AB6BC0605AE02B57D3EB9B9C3EFB7BB44BBB751"
$"BD75C936CA8EC1B1402F0A093B593D5BBFCDC93E455BC516C5F160465B435D45"
$"44510A045A425E3F5A3D57400A063236323D3A41403E403739330A063A433A4A"
$"404D464A464341400A064237423E48424E3F4E394835090A03020203000A0001"
$"011001178400040A020101000A0001001001178400040A010100000A00030405"
$"061001178400040A040104000A050105000A06010600"
};
resource(1, "BEOS:application/octet-stream") #'VICN' array {
$"6E6369660402000603399E0F3D9C0ABF82B23B84A94B88504870C900A5B1FFBC"
$"EAF1FFFFB3B8FF0501020106023E49240000000000003CAAAA4940004A3000FF"
$"C0D5FF7C896EFF040192040606AE0BB40BBF4D33C3AFB75DC173BDEFC607C13E"
$"C804CA28BD82C118B920C51BBB40BF07B8083AB6BC0605AE02B57D3EB9B9C3EF"
$"B7BB44BBB751BD75C936CA8EC1B1402F0A093B593D5BBFCDC93E455BC516C5F1"
$"60465B435D4544510A045A425E3F5A3D5740050A03020203000A010101100117"
$"8400040A020101000A0101001001178400040A00010000"
};
#else // HAIKU_TARGET_PLATFORM_HAIKU
resource(0, "BEOS:L:application/x-be-resource") #'ICON' array { resource(0, "BEOS:L:application/x-be-resource") #'ICON' array {
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02020008FFFFFFFFFFFFFFFFFFFF" $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02020008FFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF041B17110802FFFFFFFFFFFFFFFFFF" $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF041B17110802FFFFFFFFFFFFFFFFFF"
@ -109,3 +138,5 @@ resource(1, "BEOS:M:application/octet-stream") #'MICN' array {
$"FFFFFFFFAE00000000AEAEFFFFFFFFFF" $"FFFFFFFFAE00000000AEAEFFFFFFFFFF"
$"FFFFFFFFFFAE00AEFFAEFFFFFFFFFFFF" $"FFFFFFFFFFAE00AEFFAEFFFFFFFFFFFF"
}; };
#endif // HAIKU_TARGET_PLATFORM_HAIKU

View File

@ -27,25 +27,46 @@ resource app_version {
}; };
resource mini_icon array { #ifdef HAIKU_TARGET_PLATFORM_HAIKU
$"FFFFFFFFFFFFFFFF020200FFFFFFFFFF"
$"FFFFFFFFFFFFFF04151E1500FFFFFFFF" resource vector_icon {
$"FFFFFFFFFFFFFF021D1E1C00FFFFFFFF" $"6E6369660C0500040169020006023CADF43D104EBF02CA3EA2224BF02046648D"
$"FFFFFFFF00FFFF00151B1600FFFFFFFF" $"00FFDB97FFFCAF29020006023A6496BA3F153EBCDD3EEA91492CB5C09D5100FF"
$"FFFFFF003F0000FA0000000000FFFFFF" $"F7EAFEFDD17B020006023AB3673751B2BC59783FD2D74C71F846F85900C85805"
$"FFFF003FFD0000F9F9FAFAFAFA00FFFF" $"FFF06306020106033AC71C0000000000003AB6DB4A6A0045300000F2F2F2FFBC"
$"FF003FFEFDFD00F9F9F9F97D7D00FFFF" $"A184AB7D7A7A02000602388A280000000000004000004AF00000000000C85804"
$"003F62FE89007B00F9F900007D00FFFF" $"FFDC952F020006023B37D13A0397BB629E3CB4584A3EDF4A1E9400C6D7F5FF6B"
$"FF003FB0FD002F00F90060600000FFFF" $"94DD020006023C71E33A0C78BA15E43C7D214B02AA49855700E3EDFFFF9EC2FF"
$"FF003FFE002F000000606060606000FF" $"0200060239AB92381275BA365C3BEB2A4B2A844A9A5F00003CB0FF2C62D00200"
$"FF000000002F00003F3F606060D500FF" $"06033AC7B03884E3B903663B534D48B61F4958AE00FCFFDC7FF8F0BCFFF4DC8A"
$"002B00002F00FA00ACAC3F3FD5D500FF" $"020006023A7061B88A6E3B1AAE3CFAD946AC4F48C79100000000FFA9A06E130A"
$"002B7B2CEB000000ACACACACD5D5000E" $"053E303E4452445232452C0A043E303E444C444C360A063E304C3652324630C3"
$"FF002B2F00000E00ACACACACD5D5000E" $"BBB893452C0A044C44524452324C36020448224B22452242284225422B482E45"
$"FF002B2F000E0E0F0000ACACD5000E0E" $"2E4B2E4E284E2B4E250605E2024A60505A5660506054604C584A0A0346305232"
$"FFFF00000E0F0F0F0F0F0000000E0EFF" $"4A2E0A063A443A564A5E56535642463C0A043A443A564A5E4A4B0A043A444A4B"
$"5642463C0A044A4B4A5E565356420604AE342D223822382C4632524247080233"
$"33273B080231BCA9B6AFBEB40802BC10BCA92B40080237BDE8B821C0BF0802BC"
$"1DBF66B8A0C1D708023BBFF3304808023B44BA12C42E100A010105000A00010B"
$"1815FF01178400040A00010B18001501178500040A0A010B000A0B070E0D0C10"
$"0F12111815FF01178100040A0001001001178400040A020101000A030102000A"
$"040103000A060106000A0001041001178400040A050104000A00010710011784"
$"00040A070108000A09010A000A08010900"
}; };
resource(200, "icon heap") #'VICN' array {
$"6E63696605050104019202000603399E0F3D9C0ABF82B23B84A94B885046E193"
$"00A5B1FFBCEAF1FFFFB3B8FF020106023C71C43DE4E9BCEEA63BAE5F49867748"
$"01ECFFC0D5FF7C896EFF020106023C34913DBF47BD1EE83BAC5E49EA70498C6D"
$"FFC0D5FF7C896EFF040A07485E4A5E4C5F6043573D455D475D0606AE0BB40BBC"
$"1D33C07FB72CBE903C47C13EC408CA28BA52C118B656C51BB876BF07B53E3A23"
$"0605AE02B40BBF4D33C3AFB73CC1A43D50C13EC79ECA28BD823AB6BC0605AE02"
$"B40BC27D33C6DFB75DC4A3BDEFC937C13ECB34CA28C0B23AB9EC070A01010000"
$"0A0001031001178400040A040103000A0001021001178400040A030102000A00"
$"01011001178400040A02010100"
};
#else // HAIKU_TARGET_PLATFORM_HAIKU
resource large_icon array { resource large_icon array {
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02020000FFFFFFFFFFFFFFFFFFFF" $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02020000FFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF041B17110802FFFFFFFFFFFFFFFFFF" $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF041B17110802FFFFFFFFFFFFFFFFFF"
@ -81,6 +102,25 @@ resource large_icon array {
$"FFFFFFFF0000000E0F0F0F0F0F0F0F0F0F0F0F00000E0E0EFFFFFFFFFFFFFFFF" $"FFFFFFFF0000000E0F0F0F0F0F0F0F0F0F0F0F00000E0E0EFFFFFFFFFFFFFFFF"
}; };
resource mini_icon array {
$"FFFFFFFFFFFFFFFF020200FFFFFFFFFF"
$"FFFFFFFFFFFFFF04151E1500FFFFFFFF"
$"FFFFFFFFFFFFFF021D1E1C00FFFFFFFF"
$"FFFFFFFF00FFFF00151B1600FFFFFFFF"
$"FFFFFF003F0000FA0000000000FFFFFF"
$"FFFF003FFD0000F9F9FAFAFAFA00FFFF"
$"FF003FFEFDFD00F9F9F9F97D7D00FFFF"
$"003F62FE89007B00F9F900007D00FFFF"
$"FF003FB0FD002F00F90060600000FFFF"
$"FF003FFE002F000000606060606000FF"
$"FF000000002F00003F3F606060D500FF"
$"002B00002F00FA00ACAC3F3FD5D500FF"
$"002B7B2CEB000000ACACACACD5D5000E"
$"FF002B2F00000E00ACACACACD5D5000E"
$"FF002B2F000E0E0F0000ACACD5000E0E"
$"FFFF00000E0F0F0F0F0F0000000E0EFF"
};
resource(200, "icon heap") #'ICON' array { resource(200, "icon heap") #'ICON' array {
$"FFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" $"FFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF0060600000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" $"FFFFFFFFFFFFFFFFFFFFFF0060600000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
@ -115,3 +155,5 @@ resource(200, "icon heap") #'ICON' array {
$"FFFFFFFFFFFFFFFFFFFFFFFFAEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" $"FFFFFFFFFFFFFFFFFFFFFFFFAEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
}; };
#endif // HAIKU_TARGET_PLATFORM_HAIKU

View File

@ -1053,13 +1053,32 @@ IconView::ShowIconHeap(bool show)
if (show) { if (show) {
BResources* resources = be_app->AppResources(); BResources* resources = be_app->AppResources();
const void* data = NULL; if (resources != NULL) {
// TODO: get vector heap icon! const void* data = NULL;
if (resources != NULL) #ifdef HAIKU_TARGET_PLATFORM_HAIKU
data = resources->LoadResource('ICON', "icon heap", NULL); size_t size;
if (data != NULL) { data = resources->LoadResource('VICN', "icon heap", &size);
fHeapIcon = Icon::AllocateBitmap(B_LARGE_ICON, B_CMAP8); if (data != NULL) {
memcpy(fHeapIcon->Bits(), data, fHeapIcon->BitsLength()); // got vector icon data
fHeapIcon = Icon::AllocateBitmap(B_LARGE_ICON, B_RGBA32);
if (BIconUtils::GetVectorIcon((const uint8*)data,
size, fHeapIcon) != B_OK) {
// bad data
delete fHeapIcon;
fHeapIcon = NULL;
data = NULL;
}
}
#endif // HAIKU_TARGET_PLATFORM_HAIKU
if (data == NULL) {
// no vector icon or failed to get bitmap
// try bitmap icon
data = resources->LoadResource('ICON', "icon heap", NULL);
if (data != NULL) {
fHeapIcon = Icon::AllocateBitmap(B_LARGE_ICON, B_CMAP8);
memcpy(fHeapIcon->Bits(), data, fHeapIcon->BitsLength());
}
}
} }
} else { } else {
delete fHeapIcon; delete fHeapIcon;