15c2709cdSAdrien Destugues /* 25c2709cdSAdrien Destugues * Copyright 2004-2020, Haiku. 35c2709cdSAdrien Destugues * Distributed under the terms of the MIT License. 45c2709cdSAdrien Destugues * 55c2709cdSAdrien Destugues * Authors: 65c2709cdSAdrien Destugues * Adrien Destugues, pulkomandy@pulkomandy.tk 75c2709cdSAdrien Destugues * Michael Wilber 85c2709cdSAdrien Destugues */ 973f559a4SJonas Sundström #ifndef ICONVIEW_H 1073f559a4SJonas Sundström #define ICONVIEW_H 1173f559a4SJonas Sundström 1273f559a4SJonas Sundström 1373f559a4SJonas Sundström #include <Bitmap.h> 149b4ad591SJonas Sundström #include <Mime.h> 1573f559a4SJonas Sundström #include <Path.h> 1673f559a4SJonas Sundström #include <View.h> 1773f559a4SJonas Sundström 1873f559a4SJonas Sundström 1973f559a4SJonas Sundström class IconView : public BView { 2073f559a4SJonas Sundström public: 219b4ad591SJonas Sundström IconView(icon_size iconSize = B_LARGE_ICON); 229b4ad591SJonas Sundström 2373f559a4SJonas Sundström ~IconView(); 249b4ad591SJonas Sundström 259b4ad591SJonas Sundström status_t InitCheck() const; 2673f559a4SJonas Sundström virtual void Draw(BRect area); 2773f559a4SJonas Sundström 289b4ad591SJonas Sundström void DrawIcon(bool draw); 299b4ad591SJonas Sundström status_t SetIcon(const BPath& path, 309b4ad591SJonas Sundström icon_size iconSize = B_LARGE_ICON); 315c2709cdSAdrien Destugues status_t SetIcon(const uint8_t* hvifData, size_t size, 325c2709cdSAdrien Destugues icon_size iconSize = B_LARGE_ICON); 33*1f0c8771SAugustin Cavalier status_t SetIcon(const BBitmap* icon); 3473f559a4SJonas Sundström 3573f559a4SJonas Sundström private: 369b4ad591SJonas Sundström void _SetSize(); 379b4ad591SJonas Sundström 389b4ad591SJonas Sundström icon_size fIconSize; 3973f559a4SJonas Sundström BBitmap* fIconBitmap; 4073f559a4SJonas Sundström bool fDrawIcon; 4173f559a4SJonas Sundström }; 4273f559a4SJonas Sundström 4373f559a4SJonas Sundström #endif // #ifndef ICONVIEW_H 44