14153964aSStephan Aßmus /* 2*4dbd4747SPulkoMandy * Copyright 2006-2023, Haiku. All rights reserved. 34153964aSStephan Aßmus * Distributed under the terms of the MIT License. 44153964aSStephan Aßmus */ 54153964aSStephan Aßmus #ifndef _ICON_UTILS_H 64153964aSStephan Aßmus #define _ICON_UTILS_H 74153964aSStephan Aßmus 84153964aSStephan Aßmus 94153964aSStephan Aßmus #include <Mime.h> 104153964aSStephan Aßmus 114153964aSStephan Aßmus class BBitmap; 124153964aSStephan Aßmus class BNode; 134153964aSStephan Aßmus 144153964aSStephan Aßmus 154153964aSStephan Aßmus class BIconUtils { 164153964aSStephan Aßmus BIconUtils(); 174153964aSStephan Aßmus ~BIconUtils(); 184153964aSStephan Aßmus BIconUtils(const BIconUtils&); 194153964aSStephan Aßmus BIconUtils& operator=(const BIconUtils&); 204153964aSStephan Aßmus 214153964aSStephan Aßmus public: 224153964aSStephan Aßmus static status_t GetIcon(BNode* node, 234153964aSStephan Aßmus const char* vectorIconAttrName, 244153964aSStephan Aßmus const char* smallIconAttrName, 254153964aSStephan Aßmus const char* largeIconAttrName, 264153964aSStephan Aßmus icon_size size, BBitmap* result); 274153964aSStephan Aßmus 284153964aSStephan Aßmus static status_t GetVectorIcon(BNode* node, 294153964aSStephan Aßmus const char* attrName, BBitmap* result); 304153964aSStephan Aßmus 314153964aSStephan Aßmus static status_t GetVectorIcon(const uint8* buffer, 324153964aSStephan Aßmus size_t size, BBitmap* result); 334153964aSStephan Aßmus 344153964aSStephan Aßmus static status_t GetCMAP8Icon(BNode* node, 354153964aSStephan Aßmus const char* smallIconAttrName, 364153964aSStephan Aßmus const char* largeIconAttrName, 374153964aSStephan Aßmus icon_size size, BBitmap* icon); 384153964aSStephan Aßmus 39*4dbd4747SPulkoMandy static status_t GetSystemIcon(const char* iconName, BBitmap* result); 40*4dbd4747SPulkoMandy 414153964aSStephan Aßmus static status_t ConvertFromCMAP8(BBitmap* source, 424153964aSStephan Aßmus BBitmap* result); 434153964aSStephan Aßmus static status_t ConvertToCMAP8(BBitmap* source, 444153964aSStephan Aßmus BBitmap* result); 454153964aSStephan Aßmus 464153964aSStephan Aßmus static status_t ConvertFromCMAP8(const uint8* data, 474153964aSStephan Aßmus uint32 width, uint32 height, 484153964aSStephan Aßmus uint32 bytesPerRow, BBitmap* result); 494153964aSStephan Aßmus 504153964aSStephan Aßmus static status_t ConvertToCMAP8(const uint8* data, 514153964aSStephan Aßmus uint32 width, uint32 height, 524153964aSStephan Aßmus uint32 bytesPerRow, BBitmap* result); 534153964aSStephan Aßmus }; 544153964aSStephan Aßmus 554153964aSStephan Aßmus #endif // _ICON_UTILS_H 56