Download

Support

lib/ewl_colorpicker.h

Go to the documentation of this file.
00001 /* vim: set sw=8 ts=8 sts=8 expandtab: */
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   * * internally used callbacks, override at your own risk.
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 

Copyright © Enlightenment.org

Enlightened Widget Library Documentation Generated: Fri Jan 23 21:56:23 2009