* integration of vector icons with the registrar and the mime data base

* additional versions of SetIcon[ForType] and GetIcon[ForType] in BMimeType
  and BAppFileInfo, which handle flat vector icon data
* changes in Tracker to support scalable icons (currently broken for
non-vector icons and needs cleanup) and drawing icons correctly with alpha
channel (large parts of this work done by Michael Lotz)

If someone feels like looking over the changes, that would be much
appreciated! :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18699 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stephan Aßmus
2006-08-29 17:06:23 +00:00
parent 324e3770e6
commit 7fb6186f3c
22 changed files with 865 additions and 174 deletions
+7
View File
@@ -77,13 +77,20 @@ class BAppFileInfo: public BNodeInfo {
virtual status_t GetIcon(BBitmap *icon, icon_size which) const;
virtual status_t SetIcon(const BBitmap *icon, icon_size which);
status_t GetIcon(uint8** data, size_t* size) const;
status_t SetIcon(const uint8* data, size_t size);
status_t GetVersionInfo(version_info *info, version_kind kind) const;
status_t SetVersionInfo(const version_info *info, version_kind kind);
status_t GetIconForType(const char *type, BBitmap *icon,
icon_size which) const;
status_t GetIconForType(const char *type, uint8** data,
size_t* size) const;
status_t SetIconForType(const char *type, const BBitmap *icon,
icon_size which);
status_t SetIconForType(const char *type, const uint8* data,
size_t size);
void SetInfoLocation(info_location location);
bool IsUsingAttributes() const;
+4
View File
@@ -110,6 +110,7 @@ class BMimeType {
status_t Delete();
bool IsInstalled() const;
status_t GetIcon(BBitmap *icon, icon_size size) const;
status_t GetIcon(uint8** data, size_t* size) const;
status_t GetPreferredApp(char *signature, app_verb verb = B_OPEN) const;
status_t GetAttrInfo(BMessage *info) const;
status_t GetFileExtensions(BMessage *extensions) const;
@@ -118,6 +119,7 @@ class BMimeType {
status_t GetSupportingApps(BMessage *signatures) const;
status_t SetIcon(const BBitmap *icon, icon_size size);
status_t SetIcon(const uint8* data, size_t size);
status_t SetPreferredApp(const char *signature, app_verb verb = B_OPEN);
status_t SetAttrInfo(const BMessage *info);
status_t SetFileExtensions(const BMessage *extensions);
@@ -139,6 +141,8 @@ class BMimeType {
icon_size which) const;
status_t SetIconForType(const char *type, const BBitmap *icon,
icon_size which);
status_t SetIconForType(const char* type, const uint8* data,
size_t size);
/* sniffer rule manipulation */
status_t GetSnifferRule(BString *result) const;
+7 -2
View File
@@ -58,8 +58,11 @@ class Database {
status_t SetFileExtensions(const char *type, const BMessage *extensions);
status_t SetIcon(const char *type, const void *data, size_t dataSize,
icon_size which);
status_t SetIconForType(const char *type, const char *fileType, const void *data,
size_t dataSize, icon_size which);
status_t SetIcon(const char *type, const void *data, size_t dataSize);
status_t SetIconForType(const char *type, const char *fileType,
const void *data, size_t dataSize, icon_size which);
status_t SetIconForType(const char *type, const char *fileType,
const void *data, size_t dataSize);
status_t SetPreferredApp(const char *type, const char *signature,
app_verb verb = B_OPEN);
status_t SetSnifferRule(const char *type, const char *rule);
@@ -89,8 +92,10 @@ class Database {
status_t DeleteLongDescription(const char *type);
status_t DeleteFileExtensions(const char *type);
status_t DeleteIcon(const char *type, icon_size size);
status_t DeleteIcon(const char *type);
status_t DeleteIconForType(const char *type, const char *fileType,
icon_size which);
status_t DeleteIconForType(const char *type, const char *fileType);
status_t DeletePreferredApp(const char *type, app_verb verb = B_OPEN);
status_t DeleteSnifferRule(const char *type);
status_t DeleteSupportedTypes(const char *type, bool fullSync);
@@ -27,8 +27,11 @@ status_t get_short_description(const char *type, char *description);
status_t get_long_description(const char *type, char *description);
status_t get_file_extensions(const char *type, BMessage *extensions);
status_t get_icon(const char *type, BBitmap *icon, icon_size size);
status_t get_icon_for_type(const char *type, const char *fileType, BBitmap *icon,
icon_size which);
status_t get_icon(const char *type, uint8** data, size_t* size);
status_t get_icon_for_type(const char *type, const char *fileType,
BBitmap *icon, icon_size which);
status_t get_icon_for_type(const char *type, const char *fileType,
uint8** data, size_t* size);
status_t get_preferred_app(const char *type, char *signature, app_verb verb);
status_t get_sniffer_rule(const char *type, BString *result);
status_t get_supported_types(const char *type, BMessage *types);