1 /*
2 	GWEN
3 	Copyright (c) 2010 Facepunch Studios
4 	See license in Gwen.h
5 */
6 
7 #pragma once
8 #ifndef GWEN_CONTROLS_HSVCOLORPICKER_H
9 #define GWEN_CONTROLS_HSVCOLORPICKER_H
10 
11 #include "Gwen/Controls/Base.h"
12 #include "Gwen/Gwen.h"
13 #include "Gwen/Skin.h"
14 #include "Gwen/Controls/ColorControls.h"
15 #include "Gwen/Controls/ColorPicker.h"
16 
17 namespace Gwen
18 {
19 namespace Controls
20 {
21 class GWEN_EXPORT HSVColorPicker : public Controls::Base
22 {
23 public:
24 	GWEN_CONTROL(HSVColorPicker, Controls::Base);
25 
26 	Gwen::Color GetColor();
GetDefaultColor()27 	Gwen::Color GetDefaultColor() { return m_Before->GetColor(); }
28 	void SetColor(Gwen::Color color, bool onlyHue = false, bool reset = false);
29 
30 	void ColorBoxChanged(Gwen::Controls::Base* pControl);
31 	void ColorSliderChanged(Gwen::Controls::Base* pControl);
32 	void NumericTyped(Gwen::Controls::Base* control);
33 
34 	void UpdateControls(Gwen::Color newColor);
35 
36 	Event::Caller onColorChanged;
37 
38 protected:
39 	ColorLerpBox* m_LerpBox;
40 	ColorSlider* m_ColorSlider;
41 	ControlsInternal::ColorDisplay* m_Before;
42 	ControlsInternal::ColorDisplay* m_After;
43 };
44 }  // namespace Controls
45 }  // namespace Gwen
46 #endif
47