1 /* 2 * Copyright 2004-2020, Haiku. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Adrien Destugues, pulkomandy@pulkomandy.tk 7 * Michael Wilber 8 */ 9 #ifndef ICONVIEW_H 10 #define ICONVIEW_H 11 12 13 #include <Bitmap.h> 14 #include <Mime.h> 15 #include <Path.h> 16 #include <View.h> 17 18 19 class IconView : public BView { 20 public: 21 IconView(icon_size iconSize = B_LARGE_ICON); 22 23 ~IconView(); 24 25 status_t InitCheck() const; 26 virtual void Draw(BRect area); 27 28 void DrawIcon(bool draw); 29 status_t SetIcon(const BPath& path, 30 icon_size iconSize = B_LARGE_ICON); 31 status_t SetIcon(const uint8_t* hvifData, size_t size, 32 icon_size iconSize = B_LARGE_ICON); 33 status_t SetIcon(const BBitmap* icon); 34 35 private: 36 void _SetSize(); 37 38 icon_size fIconSize; 39 BBitmap* fIconBitmap; 40 bool fDrawIcon; 41 }; 42 43 #endif // #ifndef ICONVIEW_H 44