[Xfce4-commits] <midori:master> Use adjustment accessor functions in KatzeScrolled

Christian Dywan noreply at xfce.org
Sat Jan 30 17:40:02 CET 2010


Updating branch refs/heads/master
         to a1c598851b3ab9a35b0d790d2ac8c86103d0045d (commit)
       from c43d887747e3545fdccfbfc73bc9a1111696b555 (commit)

commit a1c598851b3ab9a35b0d790d2ac8c86103d0045d
Author: Christian Dywan <christian at twotoasts.de>
Date:   Sat Jan 30 16:59:37 2010 +0100

    Use adjustment accessor functions in KatzeScrolled

 katze/katze-scrolled.c |   89 +++++++++++++++++++++++++++++++----------------
 1 files changed, 59 insertions(+), 30 deletions(-)

diff --git a/katze/katze-scrolled.c b/katze/katze-scrolled.c
index e059551..15c52b7 100644
--- a/katze/katze-scrolled.c
+++ b/katze/katze-scrolled.c
@@ -18,6 +18,15 @@
 #include "katze-scrolled.h"
 #include "katze-utils.h"
 
+#if !GTK_CHECK_VERSION (2, 14, 0)
+    #define gtk_adjustment_get_page_size(adj) adj->page_size
+    #define gtk_adjustment_get_upper(adj) adj->upper
+    #define gtk_adjustment_get_lower(adj) adj->lower
+    #define gtk_adjustment_get_value(adj) adj->value
+    #define gtk_adjustment_get_page_size(adj) adj->page_size
+    #define gtk_adjustment_get_page_size(adj) adj->page_size
+#endif
+
 #define DEFAULT_INTERVAL 50
 #define DEFAULT_DECELERATION 0.7
 #define DEFAULT_DRAGGING_STOPPED_DELAY 100
@@ -305,18 +314,24 @@ adjust_scrollbar (KatzeScrolled* scrolled,
 {
     KatzeScrolledPrivate* priv = scrolled->priv;
     GtkWidget* widget = GTK_WIDGET (scrolled);
+    gdouble page_size, upper, lower, value;
     gint x, y;
     gint size;
     double position;
     GtkWidget* window;
 
-    if (adjustment->page_size >= adjustment->upper - adjustment->lower)
+    page_size = gtk_adjustment_get_page_size (adjustment);
+    upper = gtk_adjustment_get_upper (adjustment);
+    lower = gtk_adjustment_get_lower (adjustment);
+    value = gtk_adjustment_get_value (adjustment);
+
+    if (page_size >= upper - lower)
     {
         *previous_size = 0;
         return FALSE;
     }
 
-    size = ((double)adjustment->page_size) / (adjustment->upper - adjustment->lower) * (horizontal
+    size = ((double)page_size) / (upper - lower) * (horizontal
         ? widget->allocation.height : widget->allocation.width);
     if (size != *previous_size)
     {
@@ -341,7 +356,7 @@ adjust_scrollbar (KatzeScrolled* scrolled,
         }
     }
 
-    position = (adjustment->value - adjustment->lower) / (adjustment->upper - adjustment->lower);
+    position = (value - lower) / (upper - lower);
     window = gtk_widget_get_toplevel (widget);
     if (horizontal)
     {
@@ -418,35 +433,45 @@ do_timeout_scroll (KatzeScrolled* scrolled)
     GtkScrolledWindow* gtk_scrolled = GTK_SCROLLED_WINDOW (scrolled);
     GtkAdjustment* hadjustment;
     GtkAdjustment* vadjustment;
-    gdouble hvalue;
-    gdouble vvalue;
+    gdouble hpage_size, hupper, hlower, hvalue, new_hvalue;
+    gdouble vpage_size, vupper, vlower, vvalue, new_vvalue;
 
     hadjustment = gtk_scrolled_window_get_hadjustment (gtk_scrolled);
-    vadjustment = gtk_scrolled_window_get_vadjustment (gtk_scrolled);
-    hvalue = calculate_timeout_scroll_values (hadjustment->value,
-        hadjustment->upper - hadjustment->page_size,
+    hpage_size = gtk_adjustment_get_page_size (hadjustment);
+    hupper = gtk_adjustment_get_upper (hadjustment);
+    hlower = gtk_adjustment_get_lower (hadjustment);
+    hvalue = gtk_adjustment_get_value (hadjustment);
+    new_hvalue = calculate_timeout_scroll_values (hvalue,
+        hupper - hpage_size,
         &priv->horizontal_speed,
         priv->horizontal_deceleration,
         &priv->vertical_deceleration,
         priv->deceleration);
-    vvalue = calculate_timeout_scroll_values (vadjustment->value,
-        vadjustment->upper - vadjustment->page_size,
+
+    vadjustment = gtk_scrolled_window_get_vadjustment (gtk_scrolled);
+    vpage_size = gtk_adjustment_get_page_size (vadjustment);
+    vupper = gtk_adjustment_get_upper (vadjustment);
+    vlower = gtk_adjustment_get_lower (vadjustment);
+    vvalue = gtk_adjustment_get_value (vadjustment);
+    new_vvalue = calculate_timeout_scroll_values (vvalue,
+        vupper - vpage_size,
         &priv->vertical_speed,
         priv->vertical_deceleration,
         &priv->horizontal_deceleration,
         priv->deceleration);
-    if (vvalue != vadjustment->value)
+
+    if (new_vvalue != vvalue)
     {
-        if (hvalue != hadjustment->value)
+        if (new_hvalue != hvalue)
         {
             disable_hadjustment (scrolled);
-            gtk_adjustment_set_value (hadjustment, hvalue);
+            gtk_adjustment_set_value (hadjustment, new_hvalue);
             enable_hadjustment (scrolled);
         }
-        gtk_adjustment_set_value (vadjustment, vvalue);
+        gtk_adjustment_set_value (vadjustment, new_vvalue);
     }
-    else if (hvalue != hadjustment->value)
-        gtk_adjustment_set_value (hadjustment, hvalue);
+    else if (new_hvalue != hvalue)
+        gtk_adjustment_set_value (hadjustment, new_hvalue);
 
     adjust_scrollbar (scrolled, priv->horizontal_scrollbar_window,
                      gtk_scrolled_window_get_hadjustment (gtk_scrolled),
@@ -510,13 +535,14 @@ do_motion_scroll (KatzeScrolled* scrolled,
                   guint32        timestamp)
 {
     KatzeScrolledPrivate* priv = scrolled->priv;
-    GtkAdjustment* hadjustment;
-    GtkAdjustment* vadjustment;
-    gdouble hvalue;
-    gdouble vvalue;
 
     if (priv->dragged || gtk_drag_check_threshold (widget, priv->start_x, priv->start_y, x, y))
     {
+        GtkAdjustment* hadjustment;
+        GtkAdjustment* vadjustment;
+        gdouble hpage_size, hupper, hvalue, new_hvalue;
+        gdouble vpage_size, vupper, vvalue, new_vvalue;
+
         if (timestamp - priv->previous_time > priv->dragging_stopped_delay || !priv->dragged)
         {
             priv->dragged = TRUE;
@@ -554,23 +580,26 @@ do_motion_scroll (KatzeScrolled* scrolled,
         }
 
         hadjustment = gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (scrolled));
+        hvalue = gtk_adjustment_get_value (hadjustment);
+        new_hvalue = calculate_motion_scroll_values (hvalue,
+            hupper - hpage_size, x, priv->previous_x);
+
         vadjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled));
-        hvalue = calculate_motion_scroll_values (hadjustment->value,
-            hadjustment->upper - hadjustment->page_size, x, priv->previous_x);
-        vvalue = calculate_motion_scroll_values (vadjustment->value,
-            vadjustment->upper - vadjustment->page_size, y, priv->previous_y);
-        if (vvalue != vadjustment->value)
+        vvalue = gtk_adjustment_get_value (vadjustment);
+        new_vvalue = calculate_motion_scroll_values (vvalue,
+            vupper - vpage_size, y, priv->previous_y);
+        if (new_vvalue != vvalue)
         {
-            if (hvalue != hadjustment->value)
+            if (new_hvalue != hvalue)
             {
                 disable_hadjustment (scrolled);
-                gtk_adjustment_set_value (hadjustment, hvalue);
+                gtk_adjustment_set_value (hadjustment, new_hvalue);
                 enable_hadjustment (scrolled);
             }
-            gtk_adjustment_set_value (vadjustment, vvalue);
+            gtk_adjustment_set_value (vadjustment, new_vvalue);
         }
-        else if (hvalue != hadjustment->value)
-            gtk_adjustment_set_value (hadjustment, hvalue);
+        else if (new_hvalue != hvalue)
+            gtk_adjustment_set_value (hadjustment, new_hvalue);
     }
 
     priv->previous_y = y;



More information about the Xfce4-commits mailing list