Enlightenment CVS committal
Author : rbdpngn
Project : e17
Module : libs/ewl
Dir : e17/libs/ewl/src
Modified Files:
ewl_colorpicker.c ewl_colorpicker.h
Log Message:
Update the color picker value when dragging the mouse.
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_colorpicker.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- ewl_colorpicker.c 30 Jul 2004 19:44:23 -0000 1.1
+++ ewl_colorpicker.c 11 Aug 2004 04:29:06 -0000 1.2
@@ -44,7 +44,11 @@
EWL_PICK_MODE_HSV_HUE);
ewl_spectrum_dimensions_set(EWL_SPECTRUM(cp->range), 1);
ewl_callback_append(cp->range, EWL_CALLBACK_MOUSE_DOWN,
- ewl_colorpicker_down_cb, cp->spectrum);
+ ewl_colorpicker_down_cb, cp);
+ ewl_callback_append(cp->range, EWL_CALLBACK_MOUSE_UP,
+ ewl_colorpicker_up_cb, cp);
+ ewl_callback_append(cp->range, EWL_CALLBACK_MOUSE_MOVE,
+ ewl_colorpicker_move_cb, cp);
ewl_object_set_preferred_size(EWL_OBJECT(cp->range), 20, 200);
ewl_object_set_fill_policy(EWL_OBJECT(cp->range), EWL_FLAG_FILL_VFILL);
ewl_container_append_child(EWL_CONTAINER(cp), cp->range);
@@ -53,16 +57,47 @@
DRETURN_INT(TRUE, DLEVEL_STABLE);
}
+void ewl_colorpicker_move_cb(Ewl_Widget *w, void *ev_data, void *user_data)
+{
+ int r, g, b, a;
+ Ewl_ColorPicker *cp = user_data;
+ Ewl_Event_Mouse_Move *ev = ev_data;
+
+ DENTER_FUNCTION(DLEVEL_STABLE);
+
+ if (cp->drag) {
+ ewl_spectrum_color_coord_map(EWL_SPECTRUM(w), ev->x, ev->y,
+ &r, &g, &b, &a);
+ ewl_spectrum_rgb_set(EWL_SPECTRUM(cp->spectrum), r, g, b);
+ }
+
+ DLEAVE_FUNCTION(DLEVEL_STABLE);
+}
+
void ewl_colorpicker_down_cb(Ewl_Widget *w, void *ev_data, void *user_data)
{
int r, g, b, a;
+ Ewl_ColorPicker *cp = user_data;
Ewl_Event_Mouse_Down *ev = ev_data;
DENTER_FUNCTION(DLEVEL_STABLE);
+ cp->drag = 1;
ewl_spectrum_color_coord_map(EWL_SPECTRUM(w), ev->x, ev->y,
&r, &g, &b, &a);
- ewl_spectrum_rgb_set(EWL_SPECTRUM(user_data), r, g, b);
+ ewl_spectrum_rgb_set(EWL_SPECTRUM(cp->spectrum), r, g, b);
+
+ DLEAVE_FUNCTION(DLEVEL_STABLE);
+}
+
+void ewl_colorpicker_up_cb(Ewl_Widget *w, void *ev_data, void *user_data)
+{
+ Ewl_ColorPicker *cp = user_data;
+
+ DENTER_FUNCTION(DLEVEL_STABLE);
+
+ cp->drag = 0;
+ ewl_callback_call(cp, EWL_CALLBACK_VALUE_CHANGED);
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_colorpicker.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- ewl_colorpicker.h 30 Jul 2004 19:44:23 -0000 1.1
+++ ewl_colorpicker.h 11 Aug 2004 04:29:06 -0000 1.2
@@ -8,6 +8,7 @@
Ewl_Box box;
Ewl_Widget *spectrum;
Ewl_Widget *range;
+ int drag;
};
Ewl_Widget *ewl_colorpicker_new();
@@ -17,5 +18,7 @@
* Internal callbacks, override at your own risk.
*/
void ewl_colorpicker_down_cb(Ewl_Widget *w, void *ev_data, void *user_data);
+void ewl_colorpicker_up_cb(Ewl_Widget *w, void *ev_data, void *user_data);
+void ewl_colorpicker_move_cb(Ewl_Widget *w, void *ev_data, void *user_data);
#endif
-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs