static void st_scroll_view_style_changed (StWidget *widget) { StScrollView *self = ST_SCROLL_VIEW (widget); StScrollViewPrivate *priv = self->priv; StThemeNode *theme_node = st_widget_get_theme_node (widget); gdouble vfade_offset = st_theme_node_get_length (theme_node, "-st-vfade-offset"); gdouble hfade_offset = st_theme_node_get_length (theme_node, "-st-hfade-offset"); st_scroll_view_update_fade_effect (self, vfade_offset, hfade_offset); st_widget_style_changed (ST_WIDGET (priv->hscroll)); st_widget_style_changed (ST_WIDGET (priv->vscroll)); ST_WIDGET_CLASS (st_scroll_view_parent_class)->style_changed (widget); }
static void st_icon_style_changed (StWidget *widget) { StIcon *self = ST_ICON (widget); StThemeNode *theme_node = st_widget_get_theme_node (widget); StIconPrivate *priv = self->priv; if (priv->shadow_spec) { st_shadow_unref (priv->shadow_spec); priv->shadow_spec = NULL; } if (priv->shadow_material) { cogl_handle_unref (priv->shadow_material); priv->shadow_material = COGL_INVALID_HANDLE; } priv->shadow_spec = st_theme_node_get_shadow (theme_node, "icon-shadow"); if (priv->shadow_spec && priv->shadow_spec->inset) { g_warning ("The icon-shadow property does not support inset shadows"); st_shadow_unref (priv->shadow_spec); priv->shadow_spec = NULL; } priv->theme_icon_size = (int)(0.5 + st_theme_node_get_length (theme_node, "icon-size")); st_icon_update_icon_size (self); st_icon_update (self); }
static void st_table_style_changed (StWidget *self) { StTablePrivate *priv = ST_TABLE (self)->priv; StThemeNode *theme_node = st_widget_get_theme_node (self); int old_row_spacing = priv->row_spacing; int old_col_spacing = priv->col_spacing; double row_spacing, col_spacing; row_spacing = st_theme_node_get_length (theme_node, "spacing-rows"); priv->row_spacing = (int)(row_spacing + 0.5); col_spacing = st_theme_node_get_length (theme_node, "spacing-columns"); priv->col_spacing = (int)(col_spacing + 0.5); if (priv->row_spacing != old_row_spacing || priv->col_spacing != old_col_spacing) clutter_actor_queue_relayout (CLUTTER_ACTOR (self)); ST_WIDGET_CLASS (st_table_parent_class)->style_changed (self); }
static void st_box_layout_style_changed (StWidget *self) { StThemeNode *theme_node = st_widget_get_theme_node (self); ClutterBoxLayout *layout; double spacing; layout = CLUTTER_BOX_LAYOUT (clutter_actor_get_layout_manager (CLUTTER_ACTOR (self))); spacing = st_theme_node_get_length (theme_node, "spacing"); clutter_box_layout_set_spacing (layout, (int)(spacing + 0.5)); ST_WIDGET_CLASS (st_box_layout_parent_class)->style_changed (self); }
static void st_box_layout_style_changed (StWidget *self) { StBoxLayoutPrivate *priv = ST_BOX_LAYOUT (self)->priv; StThemeNode *theme_node = st_widget_get_theme_node (self); int old_spacing = priv->spacing; double spacing; spacing = st_theme_node_get_length (theme_node, "spacing"); priv->spacing = (int)(spacing + 0.5); if (priv->spacing != old_spacing) clutter_actor_queue_relayout (CLUTTER_ACTOR (self)); ST_WIDGET_CLASS (st_box_layout_parent_class)->style_changed (self); }
static void st_scroll_view_style_changed (StWidget *widget) { StScrollView *self = ST_SCROLL_VIEW (widget); StScrollViewPrivate *priv = self->priv; StThemeNode *theme_node = st_widget_get_theme_node (widget); gdouble fade_offset = st_theme_node_get_length (theme_node, "-st-vfade-offset"); gboolean vfade_enabled = g_settings_get_boolean (priv->settings, "enable-vfade"); if (!vfade_enabled) fade_offset = 0; st_scroll_view_update_vfade_effect (self, fade_offset); st_widget_style_changed (ST_WIDGET (priv->hscroll)); st_widget_style_changed (ST_WIDGET (priv->vscroll)); ST_WIDGET_CLASS (st_scroll_view_parent_class)->style_changed (widget); }
static void st_icon_style_changed (StWidget *widget) { StIcon *self = ST_ICON (widget); StThemeNode *theme_node = st_widget_get_theme_node (widget); StIconPrivate *priv = self->priv; g_clear_pointer (&priv->shadow_pipeline, cogl_object_unref); g_clear_pointer (&priv->shadow_spec, st_shadow_unref); priv->shadow_spec = st_theme_node_get_shadow (theme_node, "icon-shadow"); if (priv->shadow_spec && priv->shadow_spec->inset) { g_warning ("The icon-shadow property does not support inset shadows"); st_shadow_unref (priv->shadow_spec); priv->shadow_spec = NULL; } priv->theme_icon_size = (int)(0.5 + st_theme_node_get_length (theme_node, "icon-size")); st_icon_update_icon_size (self); st_icon_update (self); }