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