GtkCssValue *
gtk_css_style_get_used_value (GtkCssStyle *style,
guint id)
{ switch (id)
{ case GTK_CSS_PROPERTY_COLOR: return style->used->color; case GTK_CSS_PROPERTY_ICON_PALETTE: return style->used->icon_palette; case GTK_CSS_PROPERTY_BACKGROUND_COLOR: return style->used->background_color; case GTK_CSS_PROPERTY_BOX_SHADOW: return style->used->box_shadow; case GTK_CSS_PROPERTY_BACKGROUND_IMAGE: return style->used->background_image; case GTK_CSS_PROPERTY_BORDER_TOP_COLOR: return style->used->border_top_color; case GTK_CSS_PROPERTY_BORDER_RIGHT_COLOR: return style->used->border_right_color; case GTK_CSS_PROPERTY_BORDER_BOTTOM_COLOR: return style->used->border_bottom_color; case GTK_CSS_PROPERTY_BORDER_LEFT_COLOR: return style->used->border_left_color; case GTK_CSS_PROPERTY_BORDER_IMAGE_SOURCE: return style->used->border_image_source; case GTK_CSS_PROPERTY_ICON_SHADOW: return style->used->icon_shadow; case GTK_CSS_PROPERTY_OUTLINE_COLOR: return style->used->outline_color; case GTK_CSS_PROPERTY_CARET_COLOR: return style->used->caret_color; case GTK_CSS_PROPERTY_SECONDARY_CARET_COLOR: return style->used->secondary_caret_color; case GTK_CSS_PROPERTY_TEXT_SHADOW: return style->used->text_shadow; case GTK_CSS_PROPERTY_TEXT_DECORATION_COLOR: return style->used->text_decoration_color; case GTK_CSS_PROPERTY_ICON_SOURCE: return style->used->icon_source;
GtkCssValue *
gtk_css_style_get_computed_value (GtkCssStyle *style,
guint id)
{ switch (id)
{ case GTK_CSS_PROPERTY_COLOR: return style->core->color; case GTK_CSS_PROPERTY_DPI: return style->core->dpi; case GTK_CSS_PROPERTY_FONT_SIZE: return style->core->font_size; case GTK_CSS_PROPERTY_ICON_PALETTE: return style->core->icon_palette; case GTK_CSS_PROPERTY_BACKGROUND_COLOR: return style->background->background_color; case GTK_CSS_PROPERTY_FONT_FAMILY: return style->font->font_family; case GTK_CSS_PROPERTY_FONT_STYLE: return style->font->font_style; case GTK_CSS_PROPERTY_FONT_WEIGHT: return style->font->font_weight; case GTK_CSS_PROPERTY_FONT_WIDTH: return style->font->font_width; case GTK_CSS_PROPERTY_LETTER_SPACING: return style->font->letter_spacing; case GTK_CSS_PROPERTY_LINE_HEIGHT: return style->font->line_height; case GTK_CSS_PROPERTY_TEXT_DECORATION_LINE: return style->text_decoration->text_decoration_line; case GTK_CSS_PROPERTY_TEXT_DECORATION_COLOR: return style->text_decoration->text_decoration_color; case GTK_CSS_PROPERTY_TEXT_DECORATION_STYLE: return style->text_decoration->text_decoration_style; case GTK_CSS_PROPERTY_TEXT_TRANSFORM: return style->font_variant->text_transform; case GTK_CSS_PROPERTY_FONT_KERNING: return style->font_variant->font_kerning; case GTK_CSS_PROPERTY_FONT_VARIANT_LIGATURES: return style->font_variant->font_variant_ligatures; case GTK_CSS_PROPERTY_FONT_VARIANT_POSITION: return style->font_variant->font_variant_position; case GTK_CSS_PROPERTY_FONT_VARIANT_CAPS: return style->font_variant->font_variant_caps; case GTK_CSS_PROPERTY_FONT_VARIANT_NUMERIC: return style->font_variant->font_variant_numeric; case GTK_CSS_PROPERTY_FONT_VARIANT_ALTERNATES: return style->font_variant->font_variant_alternates; case GTK_CSS_PROPERTY_FONT_VARIANT_EAST_ASIAN: return style->font_variant->font_variant_east_asian; case GTK_CSS_PROPERTY_TEXT_SHADOW: return style->font->text_shadow; case GTK_CSS_PROPERTY_BOX_SHADOW: return style->background->box_shadow; case GTK_CSS_PROPERTY_MARGIN_TOP: return style->size->margin_top; case GTK_CSS_PROPERTY_MARGIN_LEFT: return style->size->margin_left; case GTK_CSS_PROPERTY_MARGIN_BOTTOM: return style->size->margin_bottom; case GTK_CSS_PROPERTY_MARGIN_RIGHT: return style->size->margin_right; case GTK_CSS_PROPERTY_PADDING_TOP: return style->size->padding_top; case GTK_CSS_PROPERTY_PADDING_LEFT: return style->size->padding_left; case GTK_CSS_PROPERTY_PADDING_BOTTOM: return style->size->padding_bottom; case GTK_CSS_PROPERTY_PADDING_RIGHT: return style->size->padding_right; case GTK_CSS_PROPERTY_BORDER_TOP_STYLE: return style->border->border_top_style; case GTK_CSS_PROPERTY_BORDER_TOP_WIDTH: return style->border->border_top_width; case GTK_CSS_PROPERTY_BORDER_LEFT_STYLE: return style->border->border_left_style; case GTK_CSS_PROPERTY_BORDER_LEFT_WIDTH: return style->border->border_left_width; case GTK_CSS_PROPERTY_BORDER_BOTTOM_STYLE: return style->border->border_bottom_style; case GTK_CSS_PROPERTY_BORDER_BOTTOM_WIDTH: return style->border->border_bottom_width; case GTK_CSS_PROPERTY_BORDER_RIGHT_STYLE: return style->border->border_right_style; case GTK_CSS_PROPERTY_BORDER_RIGHT_WIDTH: return style->border->border_right_width; case GTK_CSS_PROPERTY_BORDER_TOP_LEFT_RADIUS: return style->border->border_top_left_radius; case GTK_CSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS: return style->border->border_top_right_radius; case GTK_CSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS: return style->border->border_bottom_right_radius; case GTK_CSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS: return style->border->border_bottom_left_radius; case GTK_CSS_PROPERTY_OUTLINE_STYLE: return style->outline->outline_style; case GTK_CSS_PROPERTY_OUTLINE_WIDTH: return style->outline->outline_width; case GTK_CSS_PROPERTY_OUTLINE_OFFSET: return style->outline->outline_offset; case GTK_CSS_PROPERTY_BACKGROUND_CLIP: return style->background->background_clip; case GTK_CSS_PROPERTY_BACKGROUND_ORIGIN: return style->background->background_origin; case GTK_CSS_PROPERTY_BACKGROUND_SIZE: return style->background->background_size; case GTK_CSS_PROPERTY_BACKGROUND_POSITION: return style->background->background_position; case GTK_CSS_PROPERTY_BORDER_TOP_COLOR: return style->border->border_top_color; case GTK_CSS_PROPERTY_BORDER_RIGHT_COLOR: return style->border->border_right_color; case GTK_CSS_PROPERTY_BORDER_BOTTOM_COLOR: return style->border->border_bottom_color; case GTK_CSS_PROPERTY_BORDER_LEFT_COLOR: return style->border->border_left_color; case GTK_CSS_PROPERTY_OUTLINE_COLOR: return style->outline->outline_color; case GTK_CSS_PROPERTY_BACKGROUND_REPEAT: return style->background->background_repeat; case GTK_CSS_PROPERTY_BACKGROUND_IMAGE: return style->background->background_image; case GTK_CSS_PROPERTY_BACKGROUND_BLEND_MODE: return style->background->background_blend_mode; case GTK_CSS_PROPERTY_BORDER_IMAGE_SOURCE: return style->border->border_image_source; case GTK_CSS_PROPERTY_BORDER_IMAGE_REPEAT: return style->border->border_image_repeat; case GTK_CSS_PROPERTY_BORDER_IMAGE_SLICE: return style->border->border_image_slice; case GTK_CSS_PROPERTY_BORDER_IMAGE_WIDTH: return style->border->border_image_width; case GTK_CSS_PROPERTY_ICON_SOURCE: return style->other->icon_source; case GTK_CSS_PROPERTY_ICON_SIZE: return style->icon->icon_size; case GTK_CSS_PROPERTY_ICON_SHADOW: return style->icon->icon_shadow; case GTK_CSS_PROPERTY_ICON_STYLE: return style->icon->icon_style; case GTK_CSS_PROPERTY_ICON_TRANSFORM: return style->other->icon_transform; case GTK_CSS_PROPERTY_ICON_FILTER: return style->other->icon_filter; case GTK_CSS_PROPERTY_ICON_WEIGHT: return style->icon->icon_weight; case GTK_CSS_PROPERTY_BORDER_SPACING: return style->size->border_spacing; case GTK_CSS_PROPERTY_TRANSFORM: return style->other->transform; case GTK_CSS_PROPERTY_TRANSFORM_ORIGIN: return style->other->transform_origin; case GTK_CSS_PROPERTY_MIN_WIDTH: return style->size->min_width; case GTK_CSS_PROPERTY_MIN_HEIGHT: return style->size->min_height; case GTK_CSS_PROPERTY_TRANSITION_PROPERTY: return style->transition->transition_property; case GTK_CSS_PROPERTY_TRANSITION_DURATION: return style->transition->transition_duration; case GTK_CSS_PROPERTY_TRANSITION_TIMING_FUNCTION: return style->transition->transition_timing_function; case GTK_CSS_PROPERTY_TRANSITION_DELAY: return style->transition->transition_delay; case GTK_CSS_PROPERTY_ANIMATION_NAME: return style->animation->animation_name; case GTK_CSS_PROPERTY_ANIMATION_DURATION: return style->animation->animation_duration; case GTK_CSS_PROPERTY_ANIMATION_TIMING_FUNCTION: return style->animation->animation_timing_function; case GTK_CSS_PROPERTY_ANIMATION_ITERATION_COUNT: return style->animation->animation_iteration_count; case GTK_CSS_PROPERTY_ANIMATION_DIRECTION: return style->animation->animation_direction; case GTK_CSS_PROPERTY_ANIMATION_PLAY_STATE: return style->animation->animation_play_state; case GTK_CSS_PROPERTY_ANIMATION_DELAY: return style->animation->animation_delay; case GTK_CSS_PROPERTY_ANIMATION_FILL_MODE: return style->animation->animation_fill_mode; case GTK_CSS_PROPERTY_OPACITY: return style->other->opacity; case GTK_CSS_PROPERTY_BACKDROP_FILTER: return style->other->backdrop_filter; case GTK_CSS_PROPERTY_FILTER: return style->other->filter; case GTK_CSS_PROPERTY_CARET_COLOR: return style->font->caret_color; case GTK_CSS_PROPERTY_SECONDARY_CARET_COLOR: return style->font->secondary_caret_color; case GTK_CSS_PROPERTY_FONT_FEATURE_SETTINGS: return style->font->font_feature_settings; case GTK_CSS_PROPERTY_FONT_VARIATION_SETTINGS: return style->font->font_variation_settings;
v = style->font->font_family; if (_gtk_css_array_value_get_n_values (v) > 1)
{ int i;
GString *s = g_string_new ("");
for (i = 0; i < _gtk_css_array_value_get_n_values (v); i++)
{ if (i > 0)
g_string_append (s, ",");
g_string_append (s, _gtk_css_string_value_get (_gtk_css_array_value_get_nth (v, i)));
}
switch (id)
{ case GTK_CSS_PROPERTY_COLOR:
{
GtkCssValue *current;
if (context->parent_style && context->parent_style->core->color == value)
used = gtk_css_value_ref (context->parent_style->used->color); else
{ if (context->parent_style)
current = context->parent_style->used->color; else
current = _gtk_css_style_property_get_initial_value (_gtk_css_style_property_lookup_by_id (GTK_CSS_PROPERTY_COLOR));
used = gtk_css_value_resolve (value, context, current);
}
} break;
case GTK_CSS_PROPERTY_BACKGROUND_COLOR: case GTK_CSS_PROPERTY_TEXT_DECORATION_COLOR: case GTK_CSS_PROPERTY_BORDER_TOP_COLOR: case GTK_CSS_PROPERTY_BORDER_RIGHT_COLOR: case GTK_CSS_PROPERTY_BORDER_BOTTOM_COLOR: case GTK_CSS_PROPERTY_BORDER_LEFT_COLOR: case GTK_CSS_PROPERTY_OUTLINE_COLOR: case GTK_CSS_PROPERTY_CARET_COLOR: case GTK_CSS_PROPERTY_SECONDARY_CARET_COLOR: case GTK_CSS_PROPERTY_BOX_SHADOW: case GTK_CSS_PROPERTY_TEXT_SHADOW: case GTK_CSS_PROPERTY_ICON_SHADOW: case GTK_CSS_PROPERTY_ICON_PALETTE: case GTK_CSS_PROPERTY_BACKGROUND_IMAGE: case GTK_CSS_PROPERTY_ICON_SOURCE: case GTK_CSS_PROPERTY_BORDER_IMAGE_SOURCE:
used = gtk_css_value_resolve (value, context, style->used->color); break;
for (guint i = 0; i < G_N_ELEMENTS (used_props); i++)
{
guint id = used_props[i];
GtkCssValue *value, *used;
value = gtk_css_style_get_computed_value (style, id);
if (gtk_css_value_contains_current_color (value))
used = gtk_css_style_resolve_used_value (style, value, id, context); else
used = gtk_css_value_ref (value);
gtk_css_take_value (&values[i], used);
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet am 2026-07-03)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.