lib/ewl_colorpicker.h
Go to the documentation of this file.00001
00002 #ifndef EWL_COLORPICKER_H
00003 #define EWL_COLORPICKER_H
00004
00005 #include "ewl_box.h"
00006
00022 #define EWL_COLORPICKER_TYPE "colorpicker"
00023
00028 #define EWL_COLORPICKER_IS(w) (ewl_widget_type_is(EWL_WIDGET(w), EWL_COLORPICKER_TYPE))
00029
00034 #define EWL_COLORPICKER(cp) ((Ewl_Colorpicker *) cp)
00035
00039 typedef struct Ewl_Colorpicker Ewl_Colorpicker;
00040
00044 struct Ewl_Colorpicker
00045 {
00046 Ewl_Box box;
00047 struct
00048 {
00049 Ewl_Widget *square;
00050 Ewl_Widget *vertical;
00051 } picker;
00053 struct
00054 {
00055 Ewl_Widget *current;
00056 Ewl_Widget *previous;
00057 } preview;
00059 struct
00060 {
00061 struct
00062 {
00063 Ewl_Widget *r;
00064 Ewl_Widget *g;
00065 Ewl_Widget *b;
00066 } rgb;
00068 struct
00069 {
00070 Ewl_Widget *h;
00071 Ewl_Widget *s;
00072 Ewl_Widget *v;
00073 } hsv;
00075 Ewl_Widget *alpha;
00076 } spinners;
00078 Ewl_Widget *alpha_box;
00080 Ewl_Color_Set previous;
00081 Ewl_Color_Mode mode;
00083 unsigned int has_alpha:1;
00084 unsigned int updating:1;
00085 };
00086
00087 Ewl_Widget *ewl_colorpicker_new(void);
00088 int ewl_colorpicker_init(Ewl_Colorpicker *cp);
00089
00090 void ewl_colorpicker_has_alpha_set(Ewl_Colorpicker *cp, unsigned int alpha);
00091 unsigned int ewl_colorpicker_has_alpha_get(Ewl_Colorpicker *cp);
00092
00093 void ewl_colorpicker_alpha_set(Ewl_Colorpicker *cp, unsigned int alpha);
00094 unsigned int ewl_colorpicker_alpha_get(Ewl_Colorpicker *cp);
00095
00096 void ewl_colorpicker_current_rgb_set(Ewl_Colorpicker *cp, unsigned int r,
00097 unsigned int g, unsigned int b);
00098 void ewl_colorpicker_current_rgb_get(Ewl_Colorpicker *cp, unsigned int *r,
00099 unsigned int *g, unsigned int *b);
00100
00101 void ewl_colorpicker_previous_rgba_set(Ewl_Colorpicker *cp, unsigned int r,
00102 unsigned int g, unsigned int b,
00103 unsigned int a);
00104 void ewl_colorpicker_previous_rgba_get(Ewl_Colorpicker *cp, unsigned int *r,
00105 unsigned int *g, unsigned int *b,
00106 unsigned int *a);
00107
00108 void ewl_colorpicker_color_mode_set(Ewl_Colorpicker *cp, Ewl_Color_Mode type);
00109 Ewl_Color_Mode ewl_colorpicker_color_mode_get(Ewl_Colorpicker *cp);
00110
00111
00112
00113
00114 void ewl_colorpicker_cb_square_change(Ewl_Widget *w, void *ev, void *data);
00115 void ewl_colorpicker_cb_vertical_change(Ewl_Widget *w, void *ev, void *data);
00116
00117 void ewl_colorpicker_cb_spinner_change(Ewl_Widget *w, void *ev, void *data);
00118 void ewl_colorpicker_cb_alpha_change(Ewl_Widget *w, void *ev, void *data);
00119 void ewl_colorpicker_cb_radio_change(Ewl_Widget *w, void *ev, void *data);
00120
00121 void ewl_colorpicker_cb_previous_clicked(Ewl_Widget *w, void *ev, void *data);
00122 void ewl_colorpicker_cb_dnd_data(Ewl_Widget *w, void *ev, void *data);
00123
00128 #endif
00129