[gtk+] range: Introduce finer-grained invalidation
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] range: Introduce finer-grained invalidation
- Date: Sat, 29 Nov 2014 03:09:41 +0000 (UTC)
commit 909d0caa6bf8a5f212340e4e7ae848140eebbb5d
Author: Benjamin Otte <otte redhat com>
Date: Sat Nov 29 01:23:54 2014 +0100
range: Introduce finer-grained invalidation
The invalidation doesn't do anything yet, it just clears up what
actually needs recalculation.
gtk/gtkrange.c | 32 +++++++++++++++++++++-----------
1 files changed, 21 insertions(+), 11 deletions(-)
---
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index 8f3870e..5becc38 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -258,6 +258,8 @@ static void gtk_range_compute_slider_position (GtkRange *range,
static gboolean gtk_range_scroll (GtkRange *range,
GtkScrollType scroll);
static gboolean gtk_range_update_mouse_location (GtkRange *range);
+static void gtk_range_calc_slider (GtkRange *range);
+static void gtk_range_calc_stepper_sensitivity (GtkRange *range);
static void gtk_range_calc_layout (GtkRange *range);
static void gtk_range_calc_marks (GtkRange *range);
static void gtk_range_get_props (GtkRange *range,
@@ -976,11 +978,7 @@ gtk_range_set_slider_size_fixed (GtkRange *range,
priv->slider_size_fixed = size_fixed ? TRUE : FALSE;
if (priv->adjustment && gtk_widget_get_mapped (GTK_WIDGET (range)))
- {
- priv->need_recalc = TRUE;
- gtk_range_calc_layout (range);
- gtk_widget_queue_draw (GTK_WIDGET (range));
- }
+ gtk_range_calc_slider (range);
}
}
@@ -1150,9 +1148,7 @@ gtk_range_set_lower_stepper_sensitivity (GtkRange *range,
{
priv->lower_sensitivity = sensitivity;
- priv->need_recalc = TRUE;
- gtk_range_calc_layout (range);
- gtk_widget_queue_draw (GTK_WIDGET (range));
+ gtk_range_calc_stepper_sensitivity (range);
g_object_notify (G_OBJECT (range), "lower-stepper-sensitivity");
}
@@ -1201,9 +1197,7 @@ gtk_range_set_upper_stepper_sensitivity (GtkRange *range,
{
priv->upper_sensitivity = sensitivity;
- priv->need_recalc = TRUE;
- gtk_range_calc_layout (range);
- gtk_widget_queue_draw (GTK_WIDGET (range));
+ gtk_range_calc_stepper_sensitivity (range);
g_object_notify (G_OBJECT (range), "upper-stepper-sensitivity");
}
@@ -3641,6 +3635,22 @@ gtk_range_compute_slider_position (GtkRange *range,
}
static void
+gtk_range_calc_slider (GtkRange *range)
+{
+ range->priv->need_recalc = TRUE;
+ gtk_range_calc_layout (range);
+ gtk_widget_queue_draw (GTK_WIDGET (range));
+}
+
+static void
+gtk_range_calc_stepper_sensitivity (GtkRange *range)
+{
+ range->priv->need_recalc = TRUE;
+ gtk_range_calc_layout (range);
+ gtk_widget_queue_draw (GTK_WIDGET (range));
+}
+
+static void
gtk_range_calc_layout (GtkRange *range)
{
GtkRangePrivate *priv = range->priv;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]