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,
00091 unsigned int alpha);
00092 unsigned int ewl_colorpicker_has_alpha_get(Ewl_Colorpicker *cp);
00093
00094 void ewl_colorpicker_alpha_set(Ewl_Colorpicker *cp,
00095 unsigned int alpha);
00096 unsigned int ewl_colorpicker_alpha_get(Ewl_Colorpicker *cp);
00097
00098 void ewl_colorpicker_current_rgb_set(Ewl_Colorpicker *cp,
00099 unsigned int r, unsigned int g,
00100 unsigned int b);
00101 void ewl_colorpicker_current_rgb_get(Ewl_Colorpicker *cp,
00102 unsigned int *r, unsigned int *g,
00103 unsigned int *b);
00104
00105 void ewl_colorpicker_previous_rgba_set(Ewl_Colorpicker *cp,
00106 unsigned int r, unsigned int g,
00107 unsigned int b, unsigned int a);
00108 void ewl_colorpicker_previous_rgba_get(Ewl_Colorpicker *cp,
00109 unsigned int *r, unsigned int *g,
00110 unsigned int *b, unsigned int *a);
00111
00112 void ewl_colorpicker_color_mode_set(Ewl_Colorpicker *cp,
00113 Ewl_Color_Mode type);
00114 Ewl_Color_Mode ewl_colorpicker_color_mode_get(Ewl_Colorpicker *cp);
00115
00116
00117
00118
00119 void ewl_colorpicker_cb_square_change(Ewl_Widget *w, void *ev, void *data);
00120 void ewl_colorpicker_cb_vertical_change(Ewl_Widget *w, void *ev, void *data);
00121
00122 void ewl_colorpicker_cb_spinner_change(Ewl_Widget *w, void *ev, void *data);
00123 void ewl_colorpicker_cb_alpha_change(Ewl_Widget *w, void *ev, void *data);
00124 void ewl_colorpicker_cb_radio_change(Ewl_Widget *w, void *ev, void *data);
00125
00126 void ewl_colorpicker_cb_previous_clicked(Ewl_Widget *w, void *ev, void *data);
00127 void ewl_colorpicker_cb_dnd_data(Ewl_Widget *w, void *ev, void *data);
00128
00133 #endif
00134