[gtk/style-context-redux: 1/4] widget: Stop using style context internally
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/style-context-redux: 1/4] widget: Stop using style context internally
- Date: Sat, 25 Jan 2020 15:56:39 +0000 (UTC)
commit b6bce5845552e5f682e3451e242aec35556457d1
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Jan 18 03:12:01 2020 -0500
widget: Stop using style context internally
gtk/gtkwidget.c | 27 +++++++++------------------
1 file changed, 9 insertions(+), 18 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 4fd0c3a63b..48de06e7fd 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -5650,9 +5650,6 @@ gtk_widget_set_name (GtkWidget *widget,
g_free (priv->name);
priv->name = g_strdup (name);
- if (priv->context)
- gtk_style_context_set_id (priv->context, priv->name);
-
gtk_css_node_set_id (priv->cssnode, priv->name);
g_object_notify_by_pspec (G_OBJECT (widget), widget_props[PROP_NAME]);
@@ -6583,26 +6580,24 @@ static void
update_pango_context (GtkWidget *widget,
PangoContext *context)
{
+ GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
PangoFontDescription *font_desc;
- GtkStyleContext *style_context;
+ GtkCssStyle *style;
GtkSettings *settings;
cairo_font_options_t *font_options;
GtkCssValue *value;
char *variations;
- style_context = _gtk_widget_get_style_context (widget);
- gtk_style_context_get (style_context,
- "font", &font_desc,
- NULL);
+ style = gtk_css_node_get_style (priv->cssnode);
+
+ font_desc = gtk_css_style_get_pango_font (style);
+ value = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_FONT_VARIATION_SETTINGS);
- value = _gtk_style_context_peek_property (_gtk_widget_get_style_context (widget),
GTK_CSS_PROPERTY_FONT_VARIATION_SETTINGS);
variations = gtk_css_font_variations_value_get_variations (value);
pango_font_description_set_variations (font_desc, variations);
pango_context_set_font_description (context, font_desc);
-
- pango_font_description_free (font_desc);
g_free (variations);
pango_context_set_base_dir (context,
@@ -6610,10 +6605,8 @@ update_pango_context (GtkWidget *widget,
PANGO_DIRECTION_LTR : PANGO_DIRECTION_RTL);
pango_cairo_context_set_resolution (context,
- _gtk_css_number_value_get (
- _gtk_style_context_peek_property (style_context,
- GTK_CSS_PROPERTY_DPI),
- 100));
+ _gtk_css_number_value_get (gtk_css_style_get_value (style,
GTK_CSS_PROPERTY_DPI),
+ 100));
settings = gtk_widget_get_settings (widget);
font_options = (cairo_font_options_t*)g_object_get_qdata (G_OBJECT (widget), quark_font_options);
@@ -8137,7 +8130,7 @@ gtk_widget_propagate_state (GtkWidget *widget,
if (!gtk_widget_is_sensitive (widget) && gtk_widget_has_grab (widget))
gtk_grab_remove (widget);
- gtk_style_context_set_state (_gtk_widget_get_style_context (widget), new_flags);
+ gtk_css_node_set_state (priv->cssnode, new_flags);
g_signal_emit (widget, widget_signals[STATE_FLAGS_CHANGED], 0, old_flags);
@@ -11400,8 +11393,6 @@ gtk_widget_get_style_context (GtkWidget *widget)
priv->context = gtk_style_context_new_for_node (priv->cssnode);
- gtk_style_context_set_id (priv->context, priv->name);
- gtk_style_context_set_state (priv->context, priv->state_flags);
gtk_style_context_set_scale (priv->context, gtk_widget_get_scale_factor (widget));
display = _gtk_widget_get_display (widget);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]