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, 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   * * internally used callbacks, override at your own risk.
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 

Copyright © Enlightenment.org

Enlightened Widget Library Documentation Generated: Sat May 17 16:49:03 2008