xref: /haiku/src/apps/haikudepot/ui_generic/RatingView.h (revision 66ee6532aab036bee121141274257aab39ddbd67)
1823d2b88SStephan Aßmus /*
2823d2b88SStephan Aßmus  * Copyright 2013-2014, Stephan Aßmus <superstippi@gmx.de>.
3*66ee6532SAndrew Lindesay  * Copyright 2018-2024, Andrew Lindesay <apl@lindesay.co.nz>.
4823d2b88SStephan Aßmus  * All rights reserved. Distributed under the terms of the MIT License.
5823d2b88SStephan Aßmus  */
6823d2b88SStephan Aßmus #ifndef RATING_VIEW_H
7823d2b88SStephan Aßmus #define RATING_VIEW_H
8823d2b88SStephan Aßmus 
9823d2b88SStephan Aßmus 
101f3909adSAndrew Lindesay #include <Referenceable.h>
11823d2b88SStephan Aßmus #include <View.h>
12823d2b88SStephan Aßmus 
13823d2b88SStephan Aßmus 
14823d2b88SStephan Aßmus class RatingView : public BView {
15823d2b88SStephan Aßmus public:
16823d2b88SStephan Aßmus 								RatingView(const char* name);
17823d2b88SStephan Aßmus 	virtual						~RatingView();
18823d2b88SStephan Aßmus 
19823d2b88SStephan Aßmus 	virtual	void				AttachedToWindow();
20823d2b88SStephan Aßmus 	virtual	void				Draw(BRect updateRect);
21823d2b88SStephan Aßmus 
22823d2b88SStephan Aßmus 	virtual	BSize				MinSize();
23823d2b88SStephan Aßmus 	virtual	BSize				PreferredSize();
24823d2b88SStephan Aßmus 	virtual	BSize				MaxSize();
25823d2b88SStephan Aßmus 
26823d2b88SStephan Aßmus 			void				SetRating(float rating);
27823d2b88SStephan Aßmus 			float				Rating() const;
28823d2b88SStephan Aßmus 
29a9edb9bfSAndrew Lindesay protected:
30a9edb9bfSAndrew Lindesay 	virtual const BBitmap*		StarBitmap();
31a9edb9bfSAndrew Lindesay 
32823d2b88SStephan Aßmus private:
33823d2b88SStephan Aßmus 			float				fRating;
34823d2b88SStephan Aßmus };
35823d2b88SStephan Aßmus 
36823d2b88SStephan Aßmus 
37823d2b88SStephan Aßmus #endif // RATING_VIEW_H
38