#include "layer.h"
#include "ui/slider.h"
+typedef enum {
+ COLOR_SLIDER_HUE = 0,
+ COLOR_SLIDER_SAT,
+ COLOR_SLIDER_LIT,
+ COLOR_SLIDER_N
+} ColorPickerSlider;
+
typedef struct {
- // TODO(#933): ColorPicker should use array of sliders
- Slider hue;
- Slider saturation;
- Slider lightness;
+ Slider sliders[COLOR_SLIDER_N];
} ColorPicker;
typedef struct LineStream LineStream;
int color_picker_read_from_line_stream(ColorPicker *color_picker,
LineStream *line_stream);
-LayerPtr color_picker_as_layer(ColorPicker *color_picker);
-
int color_picker_render(const ColorPicker *color_picker,
- Camera *camera);
-int color_picker_event(ColorPicker *color_picker, const SDL_Event *event, int *selected);
+ Camera *camera,
+ Point position);
+int color_picker_event(ColorPicker *color_picker,
+ const SDL_Event *event,
+ int *selected);
Color color_picker_rgba(const ColorPicker *color_picker);
+static inline
+int color_picker_drag(const ColorPicker *color_picker)
+{
+ int result = 0;
+
+ for (int i = 0; i < COLOR_SLIDER_N; ++i) {
+ result = result || color_picker->sliders[i].drag;
+ }
+
+ return result;
+}
+
#endif // COLOR_PICKER_H_