From 8b1385804e049d6e691462224ed928d15c5b8dc6 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 11 Apr 2012 15:02:56 +0200 Subject: [PATCH] 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 1ecd6d1468..7957f48a52 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 232973c1fc..22d6b3df63 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 d88ed22e08..6b1664e873 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)