Enlightenment CVS committal Author : moom Project : e17 Module : proto
Dir : e17/proto/etk/src/lib Modified Files: etk_scrollbar.c etk_slider.c Log Message: * [Slider/Scrollbar] Fix the position of the drag button when the lower bound is different than 0.0 =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_scrollbar.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- etk_scrollbar.c 2 Jun 2006 18:46:34 -0000 1.12 +++ etk_scrollbar.c 24 Jun 2006 02:09:25 -0000 1.13 @@ -201,22 +201,24 @@ /* Default handler for the "value_changed" signal of a scrollbar */ static void _etk_scrollbar_value_changed_handler(Etk_Range *range, double value) { + Etk_Scrollbar *scrollbar; + Evas_Object *theme_object; double percent; - if (!range || !ETK_WIDGET(range)->theme_object) + if (!(scrollbar = ETK_SCROLLBAR(range)) || !(theme_object = ETK_WIDGET(range)->theme_object)) return; if (range->upper - range->page_size > range->lower) - percent = ETK_CLAMP(value / (range->upper - range->lower - range->page_size), 0.0, 1.0); + percent = ETK_CLAMP((value - range->lower) / (range->upper - range->lower - range->page_size), 0.0, 1.0); else percent = 0.0; - if (!ETK_SCROLLBAR(range)->dragging) + if (!scrollbar->dragging) { - if (ETK_IS_HSCROLLBAR(range)) - edje_object_part_drag_value_set(ETK_WIDGET(range)->theme_object, "drag", percent, 0.0); + if (ETK_IS_HSCROLLBAR(scrollbar)) + edje_object_part_drag_value_set(theme_object, "drag", percent, 0.0); else - edje_object_part_drag_value_set(ETK_WIDGET(range)->theme_object, "drag", 0.0, percent); + edje_object_part_drag_value_set(theme_object, "drag", 0.0, percent); } } @@ -250,13 +252,13 @@ /* Update the position of the drag button in the scrollbar */ if (range->upper - range->page_size > range->lower) - percent = ETK_CLAMP(range->value / (range->upper - range->lower - range->page_size), 0.0, 1.0); + percent = ETK_CLAMP((range->value - range->lower) / (range->upper - range->lower - range->page_size), 0.0, 1.0); else percent = 0.0; if (ETK_IS_HSCROLLBAR(range)) - edje_object_part_drag_value_set(ETK_WIDGET(range)->theme_object, "drag", percent, 0.0); + edje_object_part_drag_value_set(theme_object, "drag", percent, 0.0); else - edje_object_part_drag_value_set(ETK_WIDGET(range)->theme_object, "drag", 0.0, percent); + edje_object_part_drag_value_set(theme_object, "drag", 0.0, percent); /* Update the size of the drag button */ new_drag_size = (double)range->page_size / (range->upper - range->lower); =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_slider.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- etk_slider.c 20 May 2006 15:59:17 -0000 1.7 +++ etk_slider.c 24 Jun 2006 02:09:25 -0000 1.8 @@ -197,21 +197,22 @@ { Etk_Slider *slider; Evas_Object *theme_object; + double percent; if (!(slider = ETK_SLIDER(range)) || !(theme_object = ETK_WIDGET(slider)->theme_object)) return; if (range->upper > range->lower) - value = ETK_CLAMP(value / (range->upper - range->lower), 0.0, 1.0); + percent = ETK_CLAMP((value - range->lower) / (range->upper - range->lower - range->page_size), 0.0, 1.0); else - value = 0.0; + percent = 0.0; if (!slider->dragging) { if (ETK_IS_HSLIDER(slider)) - edje_object_part_drag_value_set(theme_object, "drag", value, 0.0); + edje_object_part_drag_value_set(theme_object, "drag", percent, 0.0); else - edje_object_part_drag_value_set(theme_object, "drag", 0.0, value); + edje_object_part_drag_value_set(theme_object, "drag", 0.0, percent); } } @@ -227,13 +228,13 @@ /* Update the position of the drag button in the slider */ if (range->upper - range->page_size > range->lower) - percent = ETK_CLAMP(range->value / (range->upper - range->lower - range->page_size), 0.0, 1.0); + percent = ETK_CLAMP((range->value - range->lower) / (range->upper - range->lower - range->page_size), 0.0, 1.0); else percent = 0.0; if (ETK_IS_HSLIDER(range)) - edje_object_part_drag_value_set(ETK_WIDGET(range)->theme_object, "drag", percent, 0.0); + edje_object_part_drag_value_set(theme_object, "drag", percent, 0.0); else - edje_object_part_drag_value_set(ETK_WIDGET(range)->theme_object, "drag", 0.0, percent); + edje_object_part_drag_value_set(theme_object, "drag", 0.0, percent); } /** @} */ Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs