00001 /* 00002 * Copyright Mark Adamson 2010 00003 */ 00004 00005 #ifndef _COLOUR_PICKER_H_ 00006 #define _COLOUR_PICKER_H_ 00007 00008 #include "amigawindow.h" 00009 #include "gadgetstyle.h" 00010 00011 namespace WoopsiUI { 00012 00013 class Button; 00014 class SliderHorizontal; 00015 00019 class ColourPicker : public AmigaWindow { 00020 public: 00021 00032 ColourPicker(s16 x, s16 y, u16 width, u16 height, const WoopsiString& title, u16 colour, u32 flags, GadgetStyle* style = NULL); 00033 00038 virtual u16 getColour() const; 00039 00044 virtual void setColour(u16 colour); 00045 00050 virtual void handleReleaseEvent(const GadgetEventArgs& e); 00051 00056 virtual void handleValueChangeEvent(const GadgetEventArgs& e); 00057 00058 protected: 00059 Button* _okButton; 00060 Button* _cancelButton; 00061 Button* _colourButton; 00062 SliderHorizontal* _redSlider; 00063 SliderHorizontal* _greenSlider; 00064 SliderHorizontal* _blueSlider; 00071 virtual void onResize(u16 width, u16 height); 00072 00076 virtual ~ColourPicker() { }; 00077 00081 inline ColourPicker(const ColourPicker& colourPicker) : AmigaWindow(colourPicker) { }; 00082 }; 00083 } 00084 00085 #endif