]> git.lizzy.rs Git - nothing.git/blob - src/game/level/level_editor/color_picker.h
Delete LineStream from the existance
[nothing.git] / src / game / level / level_editor / color_picker.h
1 #ifndef COLOR_PICKER_H_
2 #define COLOR_PICKER_H_
3
4 #include <stdbool.h>
5 #include "layer.h"
6 #include "ui/slider.h"
7
8 typedef enum {
9     COLOR_SLIDER_HUE = 0,
10     COLOR_SLIDER_SAT,
11     COLOR_SLIDER_LIT,
12     COLOR_SLIDER_N
13 } ColorPickerSlider;
14
15 typedef struct {
16     Slider sliders[COLOR_SLIDER_N];
17 } ColorPicker;
18
19
20 ColorPicker create_color_picker_from_rgba(Color color);
21
22 int color_picker_render(const ColorPicker *color_picker,
23                         const Camera *camera);
24 int color_picker_event(ColorPicker *color_picker,
25                        const SDL_Event *event,
26                        const Camera *camera,
27                        int *selected);
28
29 Color color_picker_rgba(const ColorPicker *color_picker);
30
31 static inline
32 int color_picker_drag(const ColorPicker *color_picker)
33 {
34     int result = 0;
35
36     for (int i = 0; i < COLOR_SLIDER_N; ++i) {
37         result = result || color_picker->sliders[i].drag;
38     }
39
40     return result;
41 }
42
43 #endif  // COLOR_PICKER_H_