mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 19:00:08 +00:00
button: Don't honor child-displacement anymore
It doesn't make sense to support child displacement in a world where pseudoclasses behave different from the actual displacement states. Nobody would ever understand why a widget is displaced. It is easily possible to simulate child displacement by using padding CSS properties.
This commit is contained in:
parent
4e077d4638
commit
e9f1d6d85c
@ -518,7 +518,7 @@ gtk_button_class_init (GtkButtonClass *klass)
|
||||
G_MININT,
|
||||
G_MAXINT,
|
||||
0,
|
||||
GTK_PARAM_READABLE));
|
||||
GTK_PARAM_READABLE|G_PARAM_DEPRECATED));
|
||||
gtk_widget_class_install_style_property (widget_class,
|
||||
g_param_spec_int ("child-displacement-y",
|
||||
P_("Child Y Displacement"),
|
||||
@ -526,7 +526,7 @@ gtk_button_class_init (GtkButtonClass *klass)
|
||||
G_MININT,
|
||||
G_MAXINT,
|
||||
0,
|
||||
GTK_PARAM_READABLE));
|
||||
GTK_PARAM_READABLE|G_PARAM_DEPRECATED));
|
||||
|
||||
/**
|
||||
* GtkButton:displace-focus:
|
||||
@ -541,7 +541,7 @@ gtk_button_class_init (GtkButtonClass *klass)
|
||||
P_("Displace focus"),
|
||||
P_("Whether the child_displacement_x/_y properties should also affect the focus rectangle"),
|
||||
FALSE,
|
||||
GTK_PARAM_READABLE));
|
||||
GTK_PARAM_READABLE|G_PARAM_DEPRECATED));
|
||||
|
||||
/**
|
||||
* GtkButton:inner-border:
|
||||
@ -1770,21 +1770,6 @@ gtk_button_size_allocate (GtkWidget *widget,
|
||||
if (baseline != -1)
|
||||
baseline -= border.top;
|
||||
|
||||
if (priv->depressed)
|
||||
{
|
||||
gint child_displacement_x;
|
||||
gint child_displacement_y;
|
||||
|
||||
gtk_style_context_get_style (gtk_widget_get_style_context (GTK_WIDGET (button)),
|
||||
"child-displacement-x", &child_displacement_x,
|
||||
"child-displacement-y", &child_displacement_y,
|
||||
NULL);
|
||||
child_allocation.x += child_displacement_x;
|
||||
child_allocation.y += child_displacement_y;
|
||||
if (baseline != -1)
|
||||
baseline -= child_displacement_y;
|
||||
}
|
||||
|
||||
child_allocation.width = MAX (1, child_allocation.width);
|
||||
child_allocation.height = MAX (1, child_allocation.height);
|
||||
|
||||
@ -1838,16 +1823,8 @@ gtk_button_draw (GtkWidget *widget,
|
||||
|
||||
if (gtk_widget_has_visible_focus (widget))
|
||||
{
|
||||
gint child_displacement_x;
|
||||
gint child_displacement_y;
|
||||
gboolean displace_focus;
|
||||
GtkBorder border;
|
||||
|
||||
gtk_style_context_get_style (context,
|
||||
"child-displacement-y", &child_displacement_y,
|
||||
"child-displacement-x", &child_displacement_x,
|
||||
"displace-focus", &displace_focus,
|
||||
NULL);
|
||||
gtk_style_context_get_border (context, state, &border);
|
||||
|
||||
x += border.left;
|
||||
@ -1855,12 +1832,6 @@ gtk_button_draw (GtkWidget *widget,
|
||||
width -= border.left + border.right;
|
||||
height -= border.top + border.bottom;
|
||||
|
||||
if (priv->depressed && displace_focus)
|
||||
{
|
||||
x += child_displacement_x;
|
||||
y += child_displacement_y;
|
||||
}
|
||||
|
||||
gtk_render_focus (context, cr, x, y, width, height);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user