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

Reply via email to