xref: /haiku/src/apps/haikudepot/ui_generic/RatingView.h (revision 1f3909ade1dce94d01b720fd4ef45e3ea963e21c)
1823d2b88SStephan Aßmus /*
2823d2b88SStephan Aßmus  * Copyright 2013-2014, Stephan Aßmus <superstippi@gmx.de>.
3*1f3909adSAndrew Lindesay  * Copyright 2018-2020, 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 
10*1f3909adSAndrew Lindesay #include <Referenceable.h>
11823d2b88SStephan Aßmus #include <View.h>
12823d2b88SStephan Aßmus 
13823d2b88SStephan Aßmus #include "SharedBitmap.h"
14823d2b88SStephan Aßmus 
15823d2b88SStephan Aßmus 
16823d2b88SStephan Aßmus class RatingView : public BView {
17823d2b88SStephan Aßmus public:
18823d2b88SStephan Aßmus 								RatingView(const char* name);
19823d2b88SStephan Aßmus 	virtual						~RatingView();
20823d2b88SStephan Aßmus 
21823d2b88SStephan Aßmus 	virtual	void				AttachedToWindow();
22823d2b88SStephan Aßmus 	virtual	void				Draw(BRect updateRect);
23823d2b88SStephan Aßmus 
24823d2b88SStephan Aßmus 	virtual	BSize				MinSize();
25823d2b88SStephan Aßmus 	virtual	BSize				PreferredSize();
26823d2b88SStephan Aßmus 	virtual	BSize				MaxSize();
27823d2b88SStephan Aßmus 
28823d2b88SStephan Aßmus 			void				SetRating(float rating);
29823d2b88SStephan Aßmus 			float				Rating() const;
30823d2b88SStephan Aßmus 
31a9edb9bfSAndrew Lindesay protected:
32a9edb9bfSAndrew Lindesay 	virtual const BBitmap*		StarBitmap();
33*1f3909adSAndrew Lindesay 			BReference<SharedBitmap>
34*1f3909adSAndrew Lindesay 								fStarBlueBitmap;
35*1f3909adSAndrew Lindesay 			BReference<SharedBitmap>
36*1f3909adSAndrew Lindesay 								fStarGrayBitmap;
37a9edb9bfSAndrew Lindesay 
38823d2b88SStephan Aßmus private:
39823d2b88SStephan Aßmus 			float				fRating;
40823d2b88SStephan Aßmus };
41823d2b88SStephan Aßmus 
42823d2b88SStephan Aßmus 
43823d2b88SStephan Aßmus #endif // RATING_VIEW_H
44