xref: /haiku/headers/private/shared/IconView.h (revision 97f11716bfaa0f385eb0e28a52bf56a5023b9e99)
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