[gimp/blend-tool-fun: 105/163] libgimpwidgets: slightly redo how GimpPickButton calls its new backends



commit d8ebf9006190a579982fea1125d8c7e29f0decc5
Author: Michael Natterer <mitch gimp org>
Date:   Tue Oct 6 23:44:36 2015 +0200

    libgimpwidgets: slightly redo how GimpPickButton calls its new backends
    
    to make porting to GTK+ 3.x easier, for less diff to the gtk3-port
    branch.

 libgimpwidgets/gimppickbutton-default.c |   11 +++++------
 libgimpwidgets/gimppickbutton-quartz.c  |    7 +++----
 libgimpwidgets/gimppickbutton.c         |   21 +++++++++++++++++----
 3 files changed, 25 insertions(+), 14 deletions(-)
---
diff --git a/libgimpwidgets/gimppickbutton-default.c b/libgimpwidgets/gimppickbutton-default.c
index b99a372..c59c144 100644
--- a/libgimpwidgets/gimppickbutton-default.c
+++ b/libgimpwidgets/gimppickbutton-default.c
@@ -54,7 +54,7 @@ static void       gimp_pick_button_pick          (GdkScreen      *screen,
                                                   gint            y_root,
                                                   GimpPickButton *button);
 
-void              _gimp_pick_button_clicked      (GtkButton      *gtk_button);
+void              _gimp_pick_button_default_pick (GimpPickButton *button);
 
 
 static GdkCursor *
@@ -226,14 +226,13 @@ gimp_pick_button_pick (GdkScreen      *screen,
 
 /* entry point to this file, called from gimppickbutton.c */
 void
-_gimp_pick_button_clicked (GtkButton *gtk_button)
+_gimp_pick_button_default_pick (GimpPickButton *button)
 {
-  GimpPickButton *button = GIMP_PICK_BUTTON (gtk_button);
-  GtkWidget      *widget;
-  guint32         timestamp;
+  GtkWidget *widget;
+  guint32    timestamp;
 
   if (! button->cursor)
-    button->cursor = make_cursor (gtk_widget_get_display (GTK_WIDGET (gtk_button)));
+    button->cursor = make_cursor (gtk_widget_get_display (GTK_WIDGET (button)));
 
   if (! button->grab_widget)
     {
diff --git a/libgimpwidgets/gimppickbutton-quartz.c b/libgimpwidgets/gimppickbutton-quartz.c
index 07bb86a..40d7577 100644
--- a/libgimpwidgets/gimppickbutton-quartz.c
+++ b/libgimpwidgets/gimppickbutton-quartz.c
@@ -34,7 +34,7 @@
 #endif
 
 
-void              _gimp_pick_button_clicked      (GtkButton      *gtk_button);
+void   _gimp_pick_button_quartz_pick (GimpPickButton *button);
 
 
 @interface GimpPickWindowController : NSObject
@@ -398,11 +398,10 @@ void              _gimp_pick_button_clicked      (GtkButton      *gtk_button);
 }
 @end
 
-/* entrypoint to this file, called from gimppickbutton.c */
+/* entry point to this file, called from gimppickbutton.c */
 void
-_gimp_pick_button_clicked (GtkButton *gtk_button)
+_gimp_pick_button_quartz_pick (GimpPickButton *button)
 {
-  GimpPickButton           *button = GIMP_PICK_BUTTON (gtk_button);
   GimpPickWindowController *controller;
   NSAutoreleasePool        *pool;
 
diff --git a/libgimpwidgets/gimppickbutton.c b/libgimpwidgets/gimppickbutton.c
index 9e05153..a76b18a 100644
--- a/libgimpwidgets/gimppickbutton.c
+++ b/libgimpwidgets/gimppickbutton.c
@@ -50,12 +50,15 @@ enum
   LAST_SIGNAL
 };
 
-/* entry point to gimppickbutton-{default,quartz}.c */
-extern void       _gimp_pick_button_clicked      (GtkButton      *gtk_button);
-
+/* entry points to gimppickbutton-{default,quartz}.c */
+void              _gimp_pick_button_default_pick (GimpPickButton *button);
+void              _gimp_pick_button_quartz_pick  (GimpPickButton *button);
 
 static void       gimp_pick_button_dispose       (GObject        *object);
 
+static void       gimp_pick_button_clicked       (GtkButton      *button);
+
+
 G_DEFINE_TYPE (GimpPickButton, gimp_pick_button, GTK_TYPE_BUTTON)
 
 #define parent_class gimp_pick_button_parent_class
@@ -88,7 +91,7 @@ gimp_pick_button_class_init (GimpPickButtonClass* klass)
 
   object_class->dispose = gimp_pick_button_dispose;
 
-  button_class->clicked = _gimp_pick_button_clicked;
+  button_class->clicked = gimp_pick_button_clicked;
 
   klass->color_picked   = NULL;
 }
@@ -129,6 +132,16 @@ gimp_pick_button_dispose (GObject *object)
   G_OBJECT_CLASS (parent_class)->dispose (object);
 }
 
+static void
+gimp_pick_button_clicked (GtkButton *button)
+{
+#ifdef GDK_WINDOWING_QUARTZ
+  _gimp_pick_button_quartz_pick (GIMP_PICK_BUTTON (button));
+#else
+  _gimp_pick_button_default_pick (GIMP_PICK_BUTTON (button));
+#endif
+}
+
 
 /*  public functions  */
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]