xref: /haiku/headers/private/interface/ColorMenuItem.h (revision 81364c9d820a024f77f1463d394d36c2d6010b11)
1*81364c9dSJohn Scipione /*
2*81364c9dSJohn Scipione  * Copyright 2014 Haiku, Inc. All rights reserved.
3*81364c9dSJohn Scipione  * Distributed under the terms of the MIT License.
4*81364c9dSJohn Scipione  *
5*81364c9dSJohn Scipione  * Authors:
6*81364c9dSJohn Scipione  *		John Scipione, jscipione@gmail.com
7*81364c9dSJohn Scipione  */
8*81364c9dSJohn Scipione #ifndef COLOR_MENU_ITEM_H
9*81364c9dSJohn Scipione #define COLOR_MENU_ITEM_H
10*81364c9dSJohn Scipione 
11*81364c9dSJohn Scipione 
12*81364c9dSJohn Scipione #include <InterfaceDefs.h>
13*81364c9dSJohn Scipione #include <MenuItem.h>
14*81364c9dSJohn Scipione 
15*81364c9dSJohn Scipione 
16*81364c9dSJohn Scipione class BColorMenuItem : public BMenuItem {
17*81364c9dSJohn Scipione public:
18*81364c9dSJohn Scipione 								BColorMenuItem(const char* label,
19*81364c9dSJohn Scipione 									BMessage* message, rgb_color color,
20*81364c9dSJohn Scipione 									char shortcut = 0,
21*81364c9dSJohn Scipione 									uint32 modifiers = 0);
22*81364c9dSJohn Scipione 								BColorMenuItem(BMenu* menu, rgb_color color,
23*81364c9dSJohn Scipione 									BMessage* message = NULL);
24*81364c9dSJohn Scipione 								BColorMenuItem(BMessage* data);
25*81364c9dSJohn Scipione 
26*81364c9dSJohn Scipione 	static	BArchivable*		Instantiate(BMessage* archive);
27*81364c9dSJohn Scipione 	virtual	status_t			Archive(BMessage* archive,
28*81364c9dSJohn Scipione 									bool deep = true) const;
29*81364c9dSJohn Scipione 
30*81364c9dSJohn Scipione 	virtual	void				DrawContent();
31*81364c9dSJohn Scipione 	virtual	void				GetContentSize(float* _width, float* _height);
32*81364c9dSJohn Scipione 
33*81364c9dSJohn Scipione 	virtual	void				SetMarked(bool mark);
34*81364c9dSJohn Scipione 
Color()35*81364c9dSJohn Scipione 			rgb_color			Color() const { return fColor; };
SetColor(rgb_color color)36*81364c9dSJohn Scipione 	virtual	void				SetColor(rgb_color color) { fColor = color; };
37*81364c9dSJohn Scipione 
38*81364c9dSJohn Scipione private:
39*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem1();
40*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem2();
41*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem3();
42*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem4();
43*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem5();
44*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem6();
45*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem7();
46*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem8();
47*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem9();
48*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem10();
49*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem11();
50*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem12();
51*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem13();
52*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem14();
53*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem15();
54*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem16();
55*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem17();
56*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem18();
57*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem19();
58*81364c9dSJohn Scipione 	virtual	void				_ReservedColorMenuItem20();
59*81364c9dSJohn Scipione 
60*81364c9dSJohn Scipione 			float				_LeftMargin();
61*81364c9dSJohn Scipione 			float				_Padding();
62*81364c9dSJohn Scipione 			float				_ColorRectWidth();
63*81364c9dSJohn Scipione 
64*81364c9dSJohn Scipione private:
65*81364c9dSJohn Scipione 			rgb_color			fColor;
66*81364c9dSJohn Scipione 
67*81364c9dSJohn Scipione 			uint32				_reserved[30];
68*81364c9dSJohn Scipione };
69*81364c9dSJohn Scipione 
70*81364c9dSJohn Scipione 
71*81364c9dSJohn Scipione #endif	// COLOR_MENU_ITEM_H
72