summaryrefslogtreecommitdiff
path: root/src/colourpicker/ColourPickerActivity.h
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-09-01 16:55:27 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-09-01 16:55:27 (GMT)
commit618e29d5d487a2215628b5cf70ccc72462878201 (patch)
treeb7a940375cf681162e9e6522cfae3e427c9465e5 /src/colourpicker/ColourPickerActivity.h
parent0a67e560f4ca85f16c24fa90cbcefa7e07bac62f (diff)
downloadpowder-618e29d5d487a2215628b5cf70ccc72462878201.zip
powder-618e29d5d487a2215628b5cf70ccc72462878201.tar.gz
Colour picker and presets for decorations
Diffstat (limited to 'src/colourpicker/ColourPickerActivity.h')
-rw-r--r--src/colourpicker/ColourPickerActivity.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/colourpicker/ColourPickerActivity.h b/src/colourpicker/ColourPickerActivity.h
new file mode 100644
index 0000000..261651e
--- /dev/null
+++ b/src/colourpicker/ColourPickerActivity.h
@@ -0,0 +1,37 @@
+#pragma once
+
+#include <vector>
+#include <string>
+#include "Activity.h"
+#include "interface/Window.h"
+#include "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;
+
+ bool mouseDown;
+ bool valueMouseDown;
+
+ ui::Textbox * rValue;
+ ui::Textbox * gValue;
+ ui::Textbox * bValue;
+
+ ColourPickedCallback * callback;
+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);
+ ColourPickerActivity(ui::Colour initialColour, ColourPickedCallback * callback = NULL);
+ virtual ~ColourPickerActivity();
+ virtual void OnDraw();
+};