[gimp] app: add private function gimp_dial_set_target()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: add private function gimp_dial_set_target()
- Date: Tue, 27 May 2014 00:11:00 +0000 (UTC)
commit 21d97b02cea20df20256528b7b4a30fa18f93fb3
Author: Michael Natterer <mitch gimp org>
Date: Tue May 27 02:06:34 2014 +0200
app: add private function gimp_dial_set_target()
which avoids invalidating the widget if the target didn't change.
app/widgets/gimpdial.c | 30 +++++++++++++++++-------------
1 files changed, 17 insertions(+), 13 deletions(-)
---
diff --git a/app/widgets/gimpdial.c b/app/widgets/gimpdial.c
index dc21e64..02342aa 100644
--- a/app/widgets/gimpdial.c
+++ b/app/widgets/gimpdial.c
@@ -96,6 +96,9 @@ static gboolean gimp_dial_enter_notify_event (GtkWidget *widget,
static gboolean gimp_dial_leave_notify_event (GtkWidget *widget,
GdkEventCrossing *event);
+static void gimp_dial_set_target (GimpDial *dial,
+ DialTarget target);
+
static void gimp_dial_draw_arrows (cairo_t *cr,
gint size,
gdouble alpha,
@@ -350,10 +353,7 @@ gimp_dial_button_release_event (GtkWidget *widget,
dial->priv->has_grab = FALSE;
if (! dial->priv->in_widget)
- {
- dial->priv->target = DIAL_TARGET_NONE;
- gtk_widget_queue_draw (widget);
- }
+ gimp_dial_set_target (dial, DIAL_TARGET_NONE);
}
return FALSE;
@@ -429,11 +429,7 @@ gimp_dial_motion_notify_event (GtkWidget *widget,
target = DIAL_TARGET_BOTH;
}
- if (target != dial->priv->target)
- {
- dial->priv->target = target;
- gtk_widget_queue_draw (widget);
- }
+ gimp_dial_set_target (dial, target);
}
gdk_event_request_motions (mevent);
@@ -461,10 +457,7 @@ gimp_dial_leave_notify_event (GtkWidget *widget,
dial->priv->in_widget = FALSE;
if (! dial->priv->has_grab)
- {
- dial->priv->target = DIAL_TARGET_NONE;
- gtk_widget_queue_draw (widget);
- }
+ gimp_dial_set_target (dial, DIAL_TARGET_NONE);
return FALSE;
}
@@ -482,6 +475,17 @@ gimp_dial_new (void)
/* private functions */
static void
+gimp_dial_set_target (GimpDial *dial,
+ DialTarget target)
+{
+ if (target != dial->priv->target)
+ {
+ dial->priv->target = target;
+ gtk_widget_queue_draw (GTK_WIDGET (dial));
+ }
+}
+
+static void
gimp_dial_draw_arrow (cairo_t *cr,
gdouble radius,
gdouble angle)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]