xref: /haiku/src/apps/haikudepot/ui_generic/BitmapView.h (revision 2a36368bda35aed7210c3285019b286581fc8786)
1823d2b88SStephan Aßmus /*
2823d2b88SStephan Aßmus  * Copyright 2013, Stephan Aßmus <superstippi@gmx.de>.
3823d2b88SStephan Aßmus  * All rights reserved. Distributed under the terms of the MIT License.
4823d2b88SStephan Aßmus  */
5823d2b88SStephan Aßmus #ifndef BITMAP_VIEW_H
6823d2b88SStephan Aßmus #define BITMAP_VIEW_H
7823d2b88SStephan Aßmus 
8823d2b88SStephan Aßmus 
9*2a36368bSMichael Lotz #include "SharedBitmap.h"
10*2a36368bSMichael Lotz 
11823d2b88SStephan Aßmus #include <View.h>
12823d2b88SStephan Aßmus 
13823d2b88SStephan Aßmus 
14823d2b88SStephan Aßmus class BitmapView : public BView {
15823d2b88SStephan Aßmus public:
16823d2b88SStephan Aßmus 								BitmapView(const char* name);
17823d2b88SStephan Aßmus 
18823d2b88SStephan Aßmus 	virtual						~BitmapView();
19823d2b88SStephan Aßmus 
20823d2b88SStephan Aßmus 	virtual	void				AttachedToWindow();
21823d2b88SStephan Aßmus 	virtual	void				Draw(BRect updateRect);
22823d2b88SStephan Aßmus 
23823d2b88SStephan Aßmus 	virtual	BSize				MinSize();
24823d2b88SStephan Aßmus 	virtual	BSize				PreferredSize();
25823d2b88SStephan Aßmus 	virtual	BSize				MaxSize();
26823d2b88SStephan Aßmus 
27*2a36368bSMichael Lotz 			void				SetBitmap(SharedBitmap* bitmap,
28*2a36368bSMichael Lotz 									SharedBitmap::Size bitmapSize
29*2a36368bSMichael Lotz 										= SharedBitmap::SIZE_ANY);
30*2a36368bSMichael Lotz 			void				UnsetBitmap();
31823d2b88SStephan Aßmus 			void				SetScaleBitmap(bool scaleBitmap);
32823d2b88SStephan Aßmus 
33823d2b88SStephan Aßmus protected:
34823d2b88SStephan Aßmus 	virtual void				DrawBackground(BRect& bounds,
35823d2b88SStephan Aßmus 									BRect updateRect);
36823d2b88SStephan Aßmus 
37823d2b88SStephan Aßmus private:
38*2a36368bSMichael Lotz 			BitmapRef			fReference;
39*2a36368bSMichael Lotz 			SharedBitmap::Size	fBitmapSize;
40823d2b88SStephan Aßmus 			const BBitmap*		fBitmap;
41823d2b88SStephan Aßmus 			bool				fScaleBitmap;
42823d2b88SStephan Aßmus };
43823d2b88SStephan Aßmus 
44823d2b88SStephan Aßmus 
45823d2b88SStephan Aßmus #endif // BITMAP_VIEW_H
46