[gtk+/wip/cssvalue: 157/165] button: Remove _gtk_button_paint()



commit 7def967c5ecb26a789c1ab97e6244742fb037239
Author: Benjamin Otte <otte redhat com>
Date:   Wed Apr 11 15:02:56 2012 +0200

    button: Remove _gtk_button_paint()
    
    All buttons use the same paint function these days. States are managed
    correctly so this was just leftovers from GTK 1 or GTK 2.

 gtk/gtkbutton.c        |   34 +++++++++-------------------------
 gtk/gtkbuttonprivate.h |    5 -----
 gtk/gtktogglebutton.c  |   31 -------------------------------
 3 files changed, 9 insertions(+), 61 deletions(-)
---
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c
index 1ecd6d1..7957f48 100644
--- a/gtk/gtkbutton.c
+++ b/gtk/gtkbutton.c
@@ -1677,15 +1677,12 @@ gtk_button_size_allocate (GtkWidget     *widget,
     }
 }
 
-void
-_gtk_button_paint (GtkButton          *button,
-		   cairo_t            *cr,
-                   int                 width,
-                   int                 height,
-		   GtkStateFlags       state)
+static gboolean
+gtk_button_draw (GtkWidget *widget,
+		 cairo_t   *cr)
 {
+  GtkButton *button = GTK_BUTTON (widget);
   GtkButtonPrivate *priv = button->priv;
-  GtkWidget *widget;
   gint x, y;
   GtkBorder default_border;
   GtkBorder default_outside_border;
@@ -1694,13 +1691,12 @@ _gtk_button_paint (GtkButton          *button,
   gint focus_pad;
   GtkAllocation allocation;
   GtkStyleContext *context;
+  GtkStateFlags state;
   gboolean draw_focus;
+  gint width, height;
 
-  widget = GTK_WIDGET (button);
   context = gtk_widget_get_style_context (widget);
-
-  gtk_style_context_save (context);
-  gtk_style_context_set_state (context, state);
+  state = gtk_style_context_get_state (context);
 
   gtk_button_get_props (button, &default_border, &default_outside_border, NULL, NULL, &interior_focus);
   gtk_style_context_get_style (context,
@@ -1712,6 +1708,8 @@ _gtk_button_paint (GtkButton          *button,
 
   x = 0;
   y = 0;
+  width = allocation.width;
+  height = allocation.height;
 
   if (gtk_widget_has_default (widget) &&
       priv->relief == GTK_RELIEF_NORMAL)
@@ -1787,20 +1785,6 @@ _gtk_button_paint (GtkButton          *button,
       gtk_render_focus (context, cr, x, y, width, height);
     }
 
-  gtk_style_context_restore (context);
-}
-
-static gboolean
-gtk_button_draw (GtkWidget *widget,
-		 cairo_t   *cr)
-{
-  GtkButton *button = GTK_BUTTON (widget);
-
-  _gtk_button_paint (button, cr, 
-                     gtk_widget_get_allocated_width (widget),
-                     gtk_widget_get_allocated_height (widget),
-                     gtk_widget_get_state_flags (widget));
-
   GTK_WIDGET_CLASS (gtk_button_parent_class)->draw (widget, cr);
 
   return FALSE;
diff --git a/gtk/gtkbuttonprivate.h b/gtk/gtkbuttonprivate.h
index 232973c..22d6b3d 100644
--- a/gtk/gtkbuttonprivate.h
+++ b/gtk/gtkbuttonprivate.h
@@ -63,11 +63,6 @@ struct _GtkButtonPrivate
 
 void _gtk_button_set_depressed             (GtkButton          *button,
                                             gboolean            depressed);
-void _gtk_button_paint                     (GtkButton          *button,
-                                            cairo_t            *cr,
-                                            int                 width,
-                                            int                 height,
-                                            GtkStateFlags       state);
 
 
 G_END_DECLS
diff --git a/gtk/gtktogglebutton.c b/gtk/gtktogglebutton.c
index d88ed22..6b1664e 100644
--- a/gtk/gtktogglebutton.c
+++ b/gtk/gtktogglebutton.c
@@ -113,8 +113,6 @@ enum {
 };
 
 
-static gint gtk_toggle_button_draw         (GtkWidget            *widget,
-					    cairo_t              *cr);
 static gboolean gtk_toggle_button_mnemonic_activate  (GtkWidget            *widget,
                                                       gboolean              group_cycling);
 static void gtk_toggle_button_pressed       (GtkButton            *button);
@@ -159,7 +157,6 @@ gtk_toggle_button_class_init (GtkToggleButtonClass *class)
   gobject_class->set_property = gtk_toggle_button_set_property;
   gobject_class->get_property = gtk_toggle_button_get_property;
 
-  widget_class->draw = gtk_toggle_button_draw;
   widget_class->mnemonic_activate = gtk_toggle_button_mnemonic_activate;
 
   button_class->pressed = gtk_toggle_button_pressed;
@@ -563,34 +560,6 @@ gtk_toggle_button_get_inconsistent (GtkToggleButton *toggle_button)
   return toggle_button->priv->inconsistent;
 }
 
-static gint
-gtk_toggle_button_draw (GtkWidget *widget,
-			cairo_t   *cr)
-{
-  GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (widget);
-  GtkToggleButtonPrivate *priv = toggle_button->priv;
-  GtkWidget *child = gtk_bin_get_child (GTK_BIN (widget));
-  GtkButton *button = GTK_BUTTON (widget);
-  GtkStateType state;
-
-  state = gtk_widget_get_state_flags (widget);
-
-  if (priv->inconsistent)
-    state |= GTK_STATE_FLAG_INCONSISTENT;
-  else if (button->priv->depressed)
-    state |= GTK_STATE_FLAG_ACTIVE;
-
-  _gtk_button_paint (button, cr,
-                     gtk_widget_get_allocated_width (widget),
-                     gtk_widget_get_allocated_height (widget),
-                     state);
-
-  if (child)
-    gtk_container_propagate_draw (GTK_CONTAINER (widget), child, cr);
-
-  return FALSE;
-}
-
 static gboolean
 gtk_toggle_button_mnemonic_activate (GtkWidget *widget,
                                      gboolean   group_cycling)



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