[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