Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl
Dir : e17/libs/ewl/src/lib Modified Files: ewl_colordialog.c Log Message: - clean this up a bit. add the debug macros in, move all declaraions to the top of the functions. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_colordialog.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ewl_colordialog.c 17 Jun 2005 16:49:07 -0000 1.2 +++ ewl_colordialog.c 17 Jun 2005 17:39:12 -0000 1.3 @@ -6,7 +6,8 @@ * @return Returns NULL on failure, otherwise a newly allocated color dialog. * @brief Allocate and initialize a new color dialog widget. */ -Ewl_Widget *ewl_colordialog_new(int r, int g, int b) +Ewl_Widget * +ewl_colordialog_new(int r, int g, int b) { Ewl_ColorDialog *cd; @@ -29,7 +30,8 @@ * @return Returns TRUE on success, FALSE on failure. * @brief Initialize a color dialog to starting values. */ -int ewl_colordialog_init(Ewl_ColorDialog *cd, int r, int g, int b) +int +ewl_colordialog_init(Ewl_ColorDialog *cd, int r, int g, int b) { Ewl_Widget *vbox; Ewl_Widget *hbox; @@ -40,8 +42,9 @@ DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR_RET("cd", cd, FALSE); - if (!ewl_box_init(EWL_BOX(cd), EWL_ORIENTATION_HORIZONTAL)) + if (!ewl_box_init(EWL_BOX(cd), EWL_ORIENTATION_HORIZONTAL)) { DRETURN_INT(FALSE, DLEVEL_STABLE); + } ewl_widget_appearance_set(EWL_WIDGET(cd), "colordialog"); ewl_widget_inherit(EWL_WIDGET(cd), "colordialog"); @@ -162,149 +165,207 @@ ewl_widget_show(vbox); - col.r = r; col.g = g; col.b = b; + col.r = r; + col.g = g; + col.b = b; ewl_colordialog_color_valuechanged_cb(EWL_WIDGET(cd), &col, cd); DRETURN_INT(TRUE, DLEVEL_STABLE); } -void ewl_colordialog_color_get(Ewl_ColorDialog *cd, int *r, int *g, int *b) +void +ewl_colordialog_color_get(Ewl_ColorDialog *cd, int *r, int *g, int *b) { - *r = cd->selected.r; - *g = cd->selected.g; - *b = cd->selected.b; + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("cd", cd); + + if (r) *r = cd->selected.r; + if (g) *g = cd->selected.g; + if (b) *b = cd->selected.b; + + DLEAVE_FUNCTION(DLEVEL_STABLE); } -void ewl_colordialog_redvalue_changed(Ewl_Widget *w, void *ev_data, void *user_data) +void +ewl_colordialog_redvalue_changed(Ewl_Widget *w, void *ev_data, void *user_data) { - Ewl_ColorDialog *cd = EWL_COLORDIALOG(user_data); + Ewl_ColorDialog *cd; Ewl_ColorDialog_Color col; float h, s, v; + + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("user_data", user_data); + + cd = user_data; col.r = strtol(ev_data, NULL, 10); col.g = cd->selected.g; col.b = cd->selected.b; - if(col.r > 255) - col.r = 255; - if(col.r < 0) - col.r = 0; + + if(col.r > 255) col.r = 255; + if(col.r < 0) col.r = 0; // Change the base color ewl_spectrum_rgb_to_hsv(col.r, col.g, col.b, &h, &s, &v); ewl_colorpicker_hue_set(EWL_COLORPICKER(cd->picker), h); ewl_colordialog_color_valuechanged_cb(w, &col, cd); + + DLEAVE_FUNCTION(DLEVEL_STABLE); } -void ewl_colordialog_greenvalue_changed(Ewl_Widget *w, void *ev_data, void *user_data) +void +ewl_colordialog_greenvalue_changed(Ewl_Widget *w, void *ev_data, void *user_data) { - Ewl_ColorDialog *cd = EWL_COLORDIALOG(user_data); + Ewl_ColorDialog *cd; Ewl_ColorDialog_Color col; float h, s, v; + + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("w", w); + DCHECK_PARAM_PTR("user_data", user_data); + + cd = user_data; col.r = cd->selected.r; col.g = strtol(ev_data, NULL, 10); col.b = cd->selected.b; - if(col.g > 255) - col.g = 255; - if(col.g < 0) - col.g = 0; + + if(col.g > 255) col.g = 255; + if(col.g < 0) col.g = 0; // Change the base color ewl_spectrum_rgb_to_hsv(col.r, col.g, col.b, &h, &s, &v); ewl_colorpicker_hue_set(EWL_COLORPICKER(cd->picker), h); ewl_colordialog_color_valuechanged_cb(w, &col, cd); + + DLEAVE_FUNCTION(DLEVEL_STABLE); } -void ewl_colordialog_bluevalue_changed(Ewl_Widget *w, void *ev_data, void *user_data) +void +ewl_colordialog_bluevalue_changed(Ewl_Widget *w, void *ev_data, void *user_data) { - Ewl_ColorDialog *cd = EWL_COLORDIALOG(user_data); + Ewl_ColorDialog *cd; Ewl_ColorDialog_Color col; float h, s, v; + + DENTER_FUNCITON(DLEVEL_STABLE); + DCHECK_PARAM_PTR("user_data", user_data); + + cd = user_data; col.r = cd->selected.r; col.g = cd->selected.g; col.b = strtol(ev_data, NULL, 10); - if(col.b > 255) - col.b = 255; - if(col.b < 0) - col.b = 0; + + if(col.b > 255) col.b = 255; + if(col.b < 0) col.b = 0; // Change the base color ewl_spectrum_rgb_to_hsv(col.r, col.g, col.b, &h, &s, &v); ewl_colorpicker_hue_set(EWL_COLORPICKER(cd->picker), h); ewl_colordialog_color_valuechanged_cb(w, &col, cd); + + DLEAVE_FUNCTION(DLEVEL_STABLE); } -void ewl_colordialog_huevalue_changed(Ewl_Widget *w, void *ev_data, void *user_data) +void +ewl_colordialog_huevalue_changed(Ewl_Widget *w, void *ev_data, void *user_data) { - Ewl_ColorDialog *cd = EWL_COLORDIALOG(user_data); + Ewl_ColorDialog *cd; Ewl_ColorDialog_Color col; float h, s, v; + + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("user_data", user_data); + + cd = user_data; ewl_spectrum_rgb_to_hsv(cd->selected.r, cd->selected.g, cd->selected.b, &h, &s, &v); h = strtod(ev_data, NULL); - if(h > 360) - h = 360; - if(h < 0) - h = 0; + if(h > 360) h = 360; + if(h < 0) h = 0; ewl_spectrum_hsv_to_rgb(h, s, v, &col.r, &col.g, &col.b); ewl_colorpicker_hue_set(EWL_COLORPICKER(cd->picker), h); ewl_colordialog_color_valuechanged_cb(w, &col, cd); + + DLEAVE_FUNCTION(DLEVEL_STABLE); } -void ewl_colordialog_saturationvalue_changed(Ewl_Widget *w, void *ev_data, void *user_data) +void +ewl_colordialog_saturationvalue_changed(Ewl_Widget *w, void *ev_data, void *user_data) { - Ewl_ColorDialog *cd = EWL_COLORDIALOG(user_data); + Ewl_ColorDialog *cd; Ewl_ColorDialog_Color col; float h, s, v; + + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("user_data", user_data); + + cd = user_data; ewl_spectrum_rgb_to_hsv(cd->selected.r, cd->selected.g, cd->selected.b, &h, &s, &v); s = strtod(ev_data, NULL); - if(s > 1) - s = 1; - if(s < 0) - s = 0; + if(s > 1) s = 1; + if(s < 0) s = 0; ewl_spectrum_hsv_to_rgb(h, s, v, &col.r, &col.g, &col.b); ewl_colorpicker_hue_set(EWL_COLORPICKER(cd->picker), h); ewl_colordialog_color_valuechanged_cb(w, &col, cd); + + DLEAVE_FUNCTION(DLEVEL_STABLE); } -void ewl_colordialog_valuevalue_changed(Ewl_Widget *w, void *ev_data, void *user_data) +void +ewl_colordialog_valuevalue_changed(Ewl_Widget *w, void *ev_data, void *user_data) { - Ewl_ColorDialog *cd = EWL_COLORDIALOG(user_data); + Ewl_ColorDialog *cd; Ewl_ColorDialog_Color col; float h, s, v; + + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("user_data", user_data); + + cd = user_data; ewl_spectrum_rgb_to_hsv(cd->selected.r, cd->selected.g, cd->selected.b, &h, &s, &v); v = strtod(ev_data, NULL); - if(v > 1) - v = 1; - if(v < 0) - v = 0; + if(v > 1) v = 1; + if(v < 0) v = 0; ewl_spectrum_hsv_to_rgb(h, s, v, &col.r, &col.g, &col.b); ewl_colorpicker_hue_set(EWL_COLORPICKER(cd->picker), h); ewl_colordialog_color_valuechanged_cb(w, &col, cd); + + DLEAVE_FUNCTION(DLEVEL_STABLE); } -void ewl_colordialog_color_valuechanged_cb(Ewl_Widget *w, void *ev_data, void *user_data) +void +ewl_colordialog_color_valuechanged_cb(Ewl_Widget *w, void *ev_data, void *user_data) { - Ewl_ColorDialog *cd = EWL_COLORDIALOG(user_data); - Ewl_ColorDialog_Color *col = ev_data; + Ewl_ColorDialog *cd; + Ewl_ColorDialog_Color *col; + float h, s, v; + char redtext[8], greentext[8], bluetext[8]; + char huetext[8], saturationtext[8], valuetext[8]; + + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("user_data", user_data); + DCHECK_PARAM_PTR("ev_data", ev_data); + + cd = user_data; + col = ev_data; + cd->selected.r = col->r; cd->selected.g = col->g; cd->selected.b = col->b; - float h, s, v; ewl_spectrum_rgb_to_hsv(col->r, col->g, col->b, &h, &s, &v); // Update the entry values - char redtext[8], greentext[8], bluetext[8]; - char huetext[8], saturationtext[8], valuetext[8]; snprintf(redtext, 8, "%i", cd->selected.r); snprintf(greentext, 8, "%i", cd->selected.g); snprintf(bluetext, 8, "%i", cd->selected.b); snprintf(huetext, 8, "%.0f", h); snprintf(saturationtext, 8, "%.2f", s); snprintf(valuetext, 8, "%.2f", v); + ewl_entry_text_set(EWL_ENTRY(cd->red_entry), redtext); ewl_entry_text_set(EWL_ENTRY(cd->green_entry), greentext); ewl_entry_text_set(EWL_ENTRY(cd->blue_entry), bluetext); @@ -314,11 +375,21 @@ // Update the preview ewl_coloredrect_color_set(EWL_COLOREDRECT(cd->preview), col->r, col->g, col->b, 255); + + DLEAVE_FUNCTION(DLEVEL_STABLE); } -void ewl_colordialog_button_cb(Ewl_Widget *w, void *ev_data, void *user_data) +void +ewl_colordialog_button_cb(Ewl_Widget *w, void *ev_data, void *user_data) { - Ewl_ColorDialog *cd = EWL_COLORDIALOG(user_data); + Ewl_ColorDialog *cd; + + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("user_data", user_data); + + cd = user_data; ewl_callback_call_with_event_data(EWL_WIDGET(cd), EWL_CALLBACK_VALUE_CHANGED, &EWL_BUTTON_STOCK(w)->response_id); + + DLEAVE_FUNCTION(DLEVEL_STABLE); } ------------------------------------------------------- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs