diff options
Diffstat (limited to 'src/gui/colourpicker/ColourPickerActivity.h')
| -rw-r--r-- | src/gui/colourpicker/ColourPickerActivity.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/gui/colourpicker/ColourPickerActivity.h b/src/gui/colourpicker/ColourPickerActivity.h new file mode 100644 index 0000000..f1e62b7 --- /dev/null +++ b/src/gui/colourpicker/ColourPickerActivity.h @@ -0,0 +1,43 @@ +#pragma once + +#include <vector> +#include <string> +#include "Activity.h" +#include "gui/interface/Window.h" +#include "gui/interface/Textbox.h" + +class ColourPickedCallback +{ +public: + ColourPickedCallback() {} + virtual ~ColourPickedCallback() {} + virtual void ColourPicked(ui::Colour colour) {} +}; + +class ColourPickerActivity: public WindowActivity { + int currentHue; + int currentSaturation; + int currentValue; + int currentAlpha; + + bool mouseDown; + bool valueMouseDown; + + ui::Textbox * rValue; + ui::Textbox * gValue; + ui::Textbox * bValue; + ui::Textbox * aValue; + ui::Label * hexValue; + + ColourPickedCallback * callback; + + void UpdateTextboxes(int r, int g, int b, int a); +public: + virtual void OnMouseMove(int x, int y, int dx, int dy); + virtual void OnMouseDown(int x, int y, unsigned button); + virtual void OnMouseUp(int x, int y, unsigned button); + virtual void OnTryExit(ExitMethod method); + ColourPickerActivity(ui::Colour initialColour, ColourPickedCallback * callback = NULL); + virtual ~ColourPickerActivity(); + virtual void OnDraw(); +}; |
