Compare commits
2 Commits
color-mana
...
fix-curren
Author | SHA1 | Date | |
---|---|---|---|
|
6078c545af | ||
|
e78572f592 |
@@ -364,20 +364,21 @@ gsk_pango_renderer_prepare_run (PangoRenderer *renderer,
|
||||
GTK_IS_TEXT_VIEW (crenderer->widget))
|
||||
{
|
||||
GtkCssNode *node;
|
||||
GtkCssValue *value;
|
||||
GtkCssStyle *style;
|
||||
|
||||
node = gtk_text_view_get_selection_node ((GtkTextView *)crenderer->widget);
|
||||
value = gtk_css_node_get_style (node)->core->color;
|
||||
fg_rgba = gtk_css_color_value_get_rgba (value);
|
||||
style = gtk_css_node_get_style (node);
|
||||
fg_rgba = gtk_css_color_value_get_rgba (style->core->color, NULL);
|
||||
}
|
||||
else if (crenderer->state == GSK_PANGO_RENDERER_CURSOR && gtk_widget_has_focus (crenderer->widget))
|
||||
{
|
||||
GtkCssNode *node;
|
||||
GtkCssValue *value;
|
||||
GtkCssStyle *style;
|
||||
|
||||
node = gtk_widget_get_css_node (crenderer->widget);
|
||||
value = gtk_css_node_get_style (node)->background->background_color;
|
||||
fg_rgba = gtk_css_color_value_get_rgba (value);
|
||||
style = gtk_css_node_get_style (node);
|
||||
fg_rgba = gtk_css_color_value_get_rgba (style->background->background_color,
|
||||
style->core->color);
|
||||
}
|
||||
else
|
||||
fg_rgba = appearance->fg_rgba;
|
||||
|
@@ -156,6 +156,10 @@ gtk_css_value_color_compute (GtkCssValue *value,
|
||||
current,
|
||||
NULL);
|
||||
}
|
||||
else if (value->type == COLOR_TYPE_CURRENT_COLOR)
|
||||
{
|
||||
resolved = _gtk_css_value_ref (value);
|
||||
}
|
||||
else if (value->type == COLOR_TYPE_LITERAL)
|
||||
{
|
||||
resolved = _gtk_css_value_ref (value);
|
||||
@@ -388,7 +392,7 @@ _gtk_css_color_value_resolve (GtkCssValue *color,
|
||||
val = _gtk_css_color_value_resolve (color->sym_col.shade.color, provider, current, cycle_list);
|
||||
if (val == NULL)
|
||||
return NULL;
|
||||
c = gtk_css_color_value_get_rgba (val);
|
||||
c = gtk_css_color_value_get_rgba (val, current);
|
||||
|
||||
apply_shade (c, &shade, color->sym_col.shade.factor);
|
||||
|
||||
@@ -406,7 +410,7 @@ _gtk_css_color_value_resolve (GtkCssValue *color,
|
||||
val = _gtk_css_color_value_resolve (color->sym_col.alpha.color, provider, current, cycle_list);
|
||||
if (val == NULL)
|
||||
return NULL;
|
||||
c = gtk_css_color_value_get_rgba (val);
|
||||
c = gtk_css_color_value_get_rgba (val, current);
|
||||
|
||||
apply_alpha (c, &alpha, color->sym_col.alpha.factor);
|
||||
|
||||
@@ -424,12 +428,12 @@ _gtk_css_color_value_resolve (GtkCssValue *color,
|
||||
val1 = _gtk_css_color_value_resolve (color->sym_col.mix.color1, provider, current, cycle_list);
|
||||
if (val1 == NULL)
|
||||
return NULL;
|
||||
color1 = gtk_css_color_value_get_rgba (val1);
|
||||
color1 = gtk_css_color_value_get_rgba (val1, current);
|
||||
|
||||
val2 = _gtk_css_color_value_resolve (color->sym_col.mix.color2, provider, current, cycle_list);
|
||||
if (val2 == NULL)
|
||||
return NULL;
|
||||
color2 = gtk_css_color_value_get_rgba (val2);
|
||||
color2 = gtk_css_color_value_get_rgba (val2, current);
|
||||
|
||||
apply_mix (color1, color2, &res, color->sym_col.mix.factor);
|
||||
|
||||
@@ -781,11 +785,32 @@ _gtk_css_color_value_parse (GtkCssParser *parser)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const GdkRGBA *
|
||||
gtk_css_color_value_get_rgba (const GtkCssValue *color)
|
||||
static inline const GdkRGBA *
|
||||
get_rgba (const GtkCssValue *color)
|
||||
{
|
||||
g_assert (color->class == >K_CSS_VALUE_COLOR);
|
||||
g_assert (color->type == COLOR_TYPE_LITERAL);
|
||||
|
||||
return &color->sym_col.rgba;
|
||||
}
|
||||
|
||||
static GdkRGBA fallback;
|
||||
|
||||
const GdkRGBA *
|
||||
gtk_css_color_value_get_rgba (const GtkCssValue *value,
|
||||
const GtkCssValue *color)
|
||||
{
|
||||
if (value->type == COLOR_TYPE_CURRENT_COLOR)
|
||||
{
|
||||
if (color)
|
||||
return get_rgba (color);
|
||||
else
|
||||
{
|
||||
fallback = GDK_RGBA("FF69B4");
|
||||
return &fallback;
|
||||
}
|
||||
}
|
||||
else
|
||||
return get_rgba (value);
|
||||
|
||||
}
|
||||
|
@@ -44,8 +44,8 @@ GtkCssValue * _gtk_css_color_value_resolve (GtkCssValue *color
|
||||
GtkStyleProvider *provider,
|
||||
GtkCssValue *current,
|
||||
GSList *cycle_list);
|
||||
const GdkRGBA * gtk_css_color_value_get_rgba (const GtkCssValue *color) G_GNUC_CONST;
|
||||
|
||||
const GdkRGBA * gtk_css_color_value_get_rgba (const GtkCssValue *value,
|
||||
const GtkCssValue *color) G_GNUC_CONST;
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
@@ -72,7 +72,7 @@ gtk_css_image_fallback_snapshot (GtkCssImage *image,
|
||||
{
|
||||
if (fallback->color)
|
||||
{
|
||||
const GdkRGBA *color = gtk_css_color_value_get_rgba (fallback->color);
|
||||
const GdkRGBA *color = gtk_css_color_value_get_rgba (fallback->color, NULL);
|
||||
if (!gdk_rgba_is_clear (color))
|
||||
gtk_snapshot_append_color (snapshot, color,
|
||||
&GRAPHENE_RECT_INIT (0, 0, width, height));
|
||||
|
@@ -193,7 +193,7 @@ gtk_css_image_linear_snapshot (GtkCssImage *image,
|
||||
const GtkCssImageLinearColorStop *stop = &linear->color_stops[linear->n_stops - 1];
|
||||
|
||||
gtk_snapshot_append_color (snapshot,
|
||||
gtk_css_color_value_get_rgba (stop->color),
|
||||
gtk_css_color_value_get_rgba (stop->color, NULL),
|
||||
&GRAPHENE_RECT_INIT (0, 0, width, height));
|
||||
return;
|
||||
}
|
||||
@@ -237,7 +237,7 @@ gtk_css_image_linear_snapshot (GtkCssImage *image,
|
||||
offset += step;
|
||||
|
||||
stops[last].offset = (offset - start) / (end - start);
|
||||
stops[last].color = *gtk_css_color_value_get_rgba (stop->color);
|
||||
stops[last].color = *gtk_css_color_value_get_rgba (stop->color, NULL);
|
||||
}
|
||||
|
||||
offset = pos;
|
||||
|
@@ -206,7 +206,7 @@ gtk_css_image_radial_snapshot (GtkCssImage *image,
|
||||
|
||||
stop = &radial->color_stops[last];
|
||||
|
||||
rgba = gtk_css_color_value_get_rgba (stop->color);
|
||||
rgba = gtk_css_color_value_get_rgba (stop->color, NULL);
|
||||
offset += step;
|
||||
|
||||
cairo_pattern_add_color_stop_rgba (pattern,
|
||||
|
@@ -72,7 +72,7 @@ lookup_symbolic_colors (GtkCssStyle *style,
|
||||
{
|
||||
const GdkRGBA *lookup;
|
||||
|
||||
*color_out = *gtk_css_color_value_get_rgba (style->core->color);
|
||||
*color_out = *gtk_css_color_value_get_rgba (style->core->color, NULL);
|
||||
|
||||
lookup = gtk_css_palette_value_get_color (palette, "success");
|
||||
if (lookup)
|
||||
|
@@ -351,7 +351,7 @@ gtk_css_palette_value_get_color (GtkCssValue *value,
|
||||
for (i = 0; i < value->n_colors; i ++)
|
||||
{
|
||||
if (strcmp (value->color_names[i], name) == 0)
|
||||
return gtk_css_color_value_get_rgba (value->color_values[i]);
|
||||
return gtk_css_color_value_get_rgba (value->color_values[i], NULL);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
@@ -544,12 +544,12 @@ gtk_css_shadow_value_snapshot_outset (const GtkCssValue *value,
|
||||
continue;
|
||||
|
||||
/* We don't need to draw invisible shadows */
|
||||
if (gdk_rgba_is_clear (gtk_css_color_value_get_rgba (shadow->color)))
|
||||
if (gdk_rgba_is_clear (gtk_css_color_value_get_rgba (shadow->color, NULL)))
|
||||
continue;
|
||||
|
||||
gtk_snapshot_append_outset_shadow (snapshot,
|
||||
border_box,
|
||||
gtk_css_color_value_get_rgba (shadow->color),
|
||||
gtk_css_color_value_get_rgba (shadow->color, NULL),
|
||||
_gtk_css_number_value_get (shadow->hoffset, 0),
|
||||
_gtk_css_number_value_get (shadow->voffset, 0),
|
||||
_gtk_css_number_value_get (shadow->spread, 0),
|
||||
@@ -576,14 +576,14 @@ gtk_css_shadow_value_snapshot_inset (const GtkCssValue *value,
|
||||
continue;
|
||||
|
||||
/* We don't need to draw invisible shadows */
|
||||
if (gdk_rgba_is_clear (gtk_css_color_value_get_rgba (shadow->color)))
|
||||
if (gdk_rgba_is_clear (gtk_css_color_value_get_rgba (shadow->color, NULL)))
|
||||
continue;
|
||||
|
||||
dx = _gtk_css_number_value_get (shadow->hoffset, 0);
|
||||
dy = _gtk_css_number_value_get (shadow->voffset, 0);
|
||||
spread = _gtk_css_number_value_get (shadow->spread, 0);
|
||||
radius = _gtk_css_number_value_get (shadow->radius, 0);
|
||||
color = gtk_css_color_value_get_rgba (shadow->color);
|
||||
color = gtk_css_color_value_get_rgba (shadow->color, NULL);
|
||||
|
||||
/* These are trivial to do with a color node */
|
||||
if (spread == 0 && radius == 0 &&
|
||||
@@ -659,7 +659,7 @@ gtk_css_shadow_value_is_clear (const GtkCssValue *value)
|
||||
{
|
||||
const ShadowValue *shadow = &value->shadows[i];
|
||||
|
||||
if (!gdk_rgba_is_clear (gtk_css_color_value_get_rgba (shadow->color)))
|
||||
if (!gdk_rgba_is_clear (gtk_css_color_value_get_rgba (shadow->color, NULL)))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -684,7 +684,7 @@ gtk_css_shadow_value_push_snapshot (const GtkCssValue *value,
|
||||
{
|
||||
const ShadowValue *shadow = &value->shadows[i];
|
||||
|
||||
if (!gdk_rgba_is_clear (gtk_css_color_value_get_rgba (shadow->color)))
|
||||
if (!gdk_rgba_is_clear (gtk_css_color_value_get_rgba (shadow->color, NULL)))
|
||||
{
|
||||
need_shadow = TRUE;
|
||||
break;
|
||||
@@ -701,7 +701,7 @@ gtk_css_shadow_value_push_snapshot (const GtkCssValue *value,
|
||||
|
||||
shadows[i].dx = _gtk_css_number_value_get (shadow->hoffset, 0);
|
||||
shadows[i].dy = _gtk_css_number_value_get (shadow->voffset, 0);
|
||||
shadows[i].color = *gtk_css_color_value_get_rgba (shadow->color);
|
||||
shadows[i].color = *gtk_css_color_value_get_rgba (shadow->color, NULL);
|
||||
shadows[i].radius = _gtk_css_number_value_get (shadow->radius, 0);
|
||||
}
|
||||
|
||||
|
@@ -757,10 +757,10 @@ gtk_css_border_create_initial_values (void)
|
||||
values->border_top_right_radius = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS, NULL, NULL, NULL);
|
||||
values->border_bottom_left_radius = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS, NULL, NULL, NULL);
|
||||
values->border_bottom_right_radius = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS, NULL, NULL, NULL);
|
||||
values->border_top_color = NULL;
|
||||
values->border_right_color = NULL;
|
||||
values->border_bottom_color = NULL;
|
||||
values->border_left_color = NULL;
|
||||
values->border_top_color = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_BORDER_TOP_COLOR, NULL, NULL, NULL);
|
||||
values->border_right_color = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_BORDER_RIGHT_COLOR, NULL, NULL, NULL);
|
||||
values->border_bottom_color = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_BORDER_BOTTOM_COLOR, NULL, NULL, NULL);
|
||||
values->border_left_color = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_BORDER_LEFT_COLOR, NULL, NULL, NULL);
|
||||
values->border_image_source = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_BORDER_IMAGE_SOURCE, NULL, NULL, NULL);
|
||||
values->border_image_repeat = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_BORDER_IMAGE_REPEAT, NULL, NULL, NULL);
|
||||
values->border_image_slice = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_BORDER_IMAGE_SLICE, NULL, NULL, NULL);
|
||||
@@ -779,7 +779,7 @@ gtk_css_outline_create_initial_values (void)
|
||||
values->outline_style = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_OUTLINE_STYLE, NULL, NULL, NULL);
|
||||
values->outline_width = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_OUTLINE_WIDTH, NULL, NULL, NULL);
|
||||
values->outline_offset = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_OUTLINE_OFFSET, NULL, NULL, NULL);
|
||||
values->outline_color = NULL;
|
||||
values->outline_color = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_OUTLINE_COLOR, NULL, NULL, NULL);
|
||||
|
||||
return (GtkCssValues *)values;
|
||||
}
|
||||
@@ -804,7 +804,7 @@ gtk_css_font_variant_create_initial_values (void)
|
||||
values = (GtkCssFontVariantValues *)gtk_css_values_new (GTK_CSS_FONT_VARIANT_INITIAL_VALUES);
|
||||
|
||||
values->text_decoration_line = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_TEXT_DECORATION_LINE, NULL, NULL, NULL);
|
||||
values->text_decoration_color = NULL;
|
||||
values->text_decoration_color = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_TEXT_DECORATION_COLOR, NULL, NULL, NULL);
|
||||
values->text_decoration_style = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_TEXT_DECORATION_STYLE, NULL, NULL, NULL);
|
||||
values->font_kerning = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_FONT_KERNING, NULL, NULL, NULL);
|
||||
values->font_variant_ligatures = _gtk_css_initial_value_new_compute (GTK_CSS_PROPERTY_FONT_VARIANT_LIGATURES, NULL, NULL, NULL);
|
||||
|
@@ -122,7 +122,7 @@ gtk_css_style_get_value (GtkCssStyle *style,
|
||||
case GTK_CSS_PROPERTY_TEXT_DECORATION_LINE:
|
||||
return style->font_variant->text_decoration_line;
|
||||
case GTK_CSS_PROPERTY_TEXT_DECORATION_COLOR:
|
||||
return style->font_variant->text_decoration_color ? style->font_variant->text_decoration_color : style->core->color;
|
||||
return style->font_variant->text_decoration_color;
|
||||
case GTK_CSS_PROPERTY_TEXT_DECORATION_STYLE:
|
||||
return style->font_variant->text_decoration_style;
|
||||
case GTK_CSS_PROPERTY_FONT_KERNING:
|
||||
@@ -198,15 +198,15 @@ gtk_css_style_get_value (GtkCssStyle *style,
|
||||
case GTK_CSS_PROPERTY_BACKGROUND_POSITION:
|
||||
return style->background->background_position;
|
||||
case GTK_CSS_PROPERTY_BORDER_TOP_COLOR:
|
||||
return style->border->border_top_color ? style->border->border_top_color : style->core->color;
|
||||
return style->border->border_top_color;
|
||||
case GTK_CSS_PROPERTY_BORDER_RIGHT_COLOR:
|
||||
return style->border->border_right_color ? style->border->border_right_color : style->core->color;
|
||||
return style->border->border_right_color;
|
||||
case GTK_CSS_PROPERTY_BORDER_BOTTOM_COLOR:
|
||||
return style->border->border_bottom_color ? style->border->border_bottom_color : style->core->color;
|
||||
return style->border->border_bottom_color;
|
||||
case GTK_CSS_PROPERTY_BORDER_LEFT_COLOR:
|
||||
return style->border->border_left_color ? style->border->border_left_color: style->core->color;
|
||||
return style->border->border_left_color;
|
||||
case GTK_CSS_PROPERTY_OUTLINE_COLOR:
|
||||
return style->outline->outline_color ? style->outline->outline_color : style->core->color;
|
||||
return style->outline->outline_color;
|
||||
case GTK_CSS_PROPERTY_BACKGROUND_REPEAT:
|
||||
return style->background->background_repeat;
|
||||
case GTK_CSS_PROPERTY_BACKGROUND_IMAGE:
|
||||
@@ -270,9 +270,9 @@ gtk_css_style_get_value (GtkCssStyle *style,
|
||||
case GTK_CSS_PROPERTY_FILTER:
|
||||
return style->other->filter;
|
||||
case GTK_CSS_PROPERTY_CARET_COLOR:
|
||||
return style->font->caret_color ? style->font->caret_color : style->core->color;
|
||||
return style->font->caret_color;
|
||||
case GTK_CSS_PROPERTY_SECONDARY_CARET_COLOR:
|
||||
return style->font->secondary_caret_color ? style->font->secondary_caret_color : style->core->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:
|
||||
@@ -437,10 +437,8 @@ gtk_css_style_get_pango_attributes (GtkCssStyle *style)
|
||||
/* text-decoration */
|
||||
decoration_line = _gtk_css_text_decoration_line_value_get (style->font_variant->text_decoration_line);
|
||||
decoration_style = _gtk_css_text_decoration_style_value_get (style->font_variant->text_decoration_style);
|
||||
color = gtk_css_color_value_get_rgba (style->core->color);
|
||||
decoration_color = gtk_css_color_value_get_rgba (style->font_variant->text_decoration_color
|
||||
? style->font_variant->text_decoration_color
|
||||
: style->core->color);
|
||||
color = gtk_css_color_value_get_rgba (style->core->color, NULL);
|
||||
decoration_color = gtk_css_color_value_get_rgba (style->font_variant->text_decoration_color, style->core->color);
|
||||
|
||||
switch (decoration_line)
|
||||
{
|
||||
|
@@ -114,10 +114,10 @@ struct _GtkCssBorderValues {
|
||||
GtkCssValue *border_top_right_radius;
|
||||
GtkCssValue *border_bottom_right_radius;
|
||||
GtkCssValue *border_bottom_left_radius;
|
||||
GtkCssValue *border_top_color; // NULL if currentColor
|
||||
GtkCssValue *border_right_color; // NULL if currentColor
|
||||
GtkCssValue *border_bottom_color; // NULL if currentColor
|
||||
GtkCssValue *border_left_color; // NULL if currentColor
|
||||
GtkCssValue *border_top_color;
|
||||
GtkCssValue *border_right_color;
|
||||
GtkCssValue *border_bottom_color;
|
||||
GtkCssValue *border_left_color;
|
||||
GtkCssValue *border_image_source;
|
||||
GtkCssValue *border_image_repeat;
|
||||
GtkCssValue *border_image_slice;
|
||||
@@ -137,7 +137,7 @@ struct _GtkCssOutlineValues {
|
||||
GtkCssValue *outline_style;
|
||||
GtkCssValue *outline_width;
|
||||
GtkCssValue *outline_offset;
|
||||
GtkCssValue *outline_color; // NULL if currentColor
|
||||
GtkCssValue *outline_color;
|
||||
};
|
||||
|
||||
struct _GtkCssFontValues {
|
||||
@@ -148,8 +148,8 @@ struct _GtkCssFontValues {
|
||||
GtkCssValue *font_stretch;
|
||||
GtkCssValue *letter_spacing;
|
||||
GtkCssValue *text_shadow;
|
||||
GtkCssValue *caret_color; // NULL if currentColor
|
||||
GtkCssValue *secondary_caret_color; // NULL if currentColor
|
||||
GtkCssValue *caret_color;
|
||||
GtkCssValue *secondary_caret_color;
|
||||
GtkCssValue *font_feature_settings;
|
||||
GtkCssValue *font_variation_settings;
|
||||
};
|
||||
@@ -157,7 +157,7 @@ struct _GtkCssFontValues {
|
||||
struct _GtkCssFontVariantValues {
|
||||
GtkCssValues base;
|
||||
GtkCssValue *text_decoration_line;
|
||||
GtkCssValue *text_decoration_color; // NULL if currentColor
|
||||
GtkCssValue *text_decoration_color;
|
||||
GtkCssValue *text_decoration_style;
|
||||
GtkCssValue *font_kerning;
|
||||
GtkCssValue *font_variant_ligatures;
|
||||
|
@@ -2380,7 +2380,7 @@ gtk_flow_box_snapshot (GtkWidget *widget,
|
||||
cairo_append_path (cr, path);
|
||||
cairo_path_destroy (path);
|
||||
|
||||
border_color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_COLOR));
|
||||
border_color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_COLOR), _gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
|
||||
gtk_style_context_get_border (context, &border);
|
||||
|
||||
cairo_set_line_width (cr, border.left);
|
||||
|
@@ -2523,7 +2523,7 @@ gtk_icon_theme_lookup_symbolic_colors (GtkCssStyle *style,
|
||||
|
||||
color = style->core->color;
|
||||
palette = style->core->icon_palette;
|
||||
*color_out = *gtk_css_color_value_get_rgba (color);
|
||||
*color_out = *gtk_css_color_value_get_rgba (color, NULL);
|
||||
|
||||
lookup = gtk_css_palette_value_get_color (palette, "success");
|
||||
if (lookup)
|
||||
|
@@ -3045,7 +3045,7 @@ gtk_label_update_layout_attributes (GtkLabel *label)
|
||||
pango_attr_list_insert (attrs, attribute);
|
||||
|
||||
style = gtk_css_node_get_style (link->cssnode);
|
||||
link_color = gtk_css_color_value_get_rgba (style->core->color);
|
||||
link_color = gtk_css_color_value_get_rgba (style->core->color, NULL);
|
||||
|
||||
attribute = pango_attr_foreground_new (link_color->red * 65535,
|
||||
link_color->green * 65535,
|
||||
|
@@ -1455,7 +1455,8 @@ create_arrow_render_node (GtkPopover *popover)
|
||||
const GdkRGBA *border_color;
|
||||
|
||||
style = gtk_css_node_get_style (priv->arrow_node);
|
||||
border_color = gtk_css_color_value_get_rgba (style->border->border_left_color ? style->border->border_left_color : style->core->color);
|
||||
border_color = gtk_css_color_value_get_rgba (style->border->border_left_color,
|
||||
style->core->color);
|
||||
|
||||
gtk_popover_apply_tail_path (popover, cr);
|
||||
gdk_cairo_set_source_rgba (cr, border_color);
|
||||
|
@@ -383,7 +383,7 @@ gtk_do_render_line (GtkStyleContext *context,
|
||||
|
||||
cairo_save (cr);
|
||||
|
||||
color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
|
||||
color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR), NULL);
|
||||
|
||||
cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
|
||||
cairo_set_line_width (cr, 1);
|
||||
|
@@ -273,7 +273,7 @@ gtk_css_style_snapshot_background (GtkCssBoxes *boxes,
|
||||
return;
|
||||
|
||||
background_image = background->background_image;
|
||||
bg_color = gtk_css_color_value_get_rgba (background->background_color);
|
||||
bg_color = gtk_css_color_value_get_rgba (background->background_color, boxes->style->core->color);
|
||||
box_shadow = background->box_shadow;
|
||||
|
||||
has_bg_color = !gdk_rgba_is_clear (bg_color);
|
||||
|
@@ -687,10 +687,10 @@ gtk_css_style_snapshot_border (GtkCssBoxes *boxes,
|
||||
gtk_css_boxes_get_padding_rect (boxes)))
|
||||
return;
|
||||
|
||||
colors[0] = *gtk_css_color_value_get_rgba (border->border_top_color ? border->border_top_color : boxes->style->core->color);
|
||||
colors[1] = *gtk_css_color_value_get_rgba (border->border_right_color ? border->border_right_color : boxes->style->core->color);
|
||||
colors[2] = *gtk_css_color_value_get_rgba (border->border_bottom_color ? border->border_bottom_color : boxes->style->core->color);
|
||||
colors[3] = *gtk_css_color_value_get_rgba (border->border_left_color ? border->border_left_color : boxes->style->core->color);
|
||||
colors[0] = *gtk_css_color_value_get_rgba (border->border_top_color, boxes->style->core->color);
|
||||
colors[1] = *gtk_css_color_value_get_rgba (border->border_right_color, boxes->style->core->color);
|
||||
colors[2] = *gtk_css_color_value_get_rgba (border->border_bottom_color, boxes->style->core->color);
|
||||
colors[3] = *gtk_css_color_value_get_rgba (border->border_left_color, boxes->style->core->color);
|
||||
|
||||
alpha_test_vector = graphene_simd4f_init (colors[0].alpha, colors[1].alpha, colors[2].alpha, colors[3].alpha);
|
||||
if (graphene_simd4f_is_zero4 (alpha_test_vector))
|
||||
@@ -745,7 +745,7 @@ gtk_css_style_snapshot_outline (GtkCssBoxes *boxes,
|
||||
border_style[1] = border_style[2] = border_style[3] = border_style[0];
|
||||
border_width[0] = _gtk_css_number_value_get (outline->outline_width, 100);
|
||||
border_width[3] = border_width[2] = border_width[1] = border_width[0];
|
||||
colors[0] = *gtk_css_color_value_get_rgba (outline->outline_color ? outline->outline_color : boxes->style->core->color);
|
||||
colors[0] = *gtk_css_color_value_get_rgba (outline->outline_color, boxes->style->core->color);
|
||||
colors[3] = colors[2] = colors[1] = colors[0];
|
||||
|
||||
snapshot_border (snapshot,
|
||||
|
@@ -1732,7 +1732,7 @@ gtk_snapshot_render_layout (GtkSnapshot *snapshot,
|
||||
gtk_snapshot_save (snapshot);
|
||||
gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (x, y));
|
||||
|
||||
fg_color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
|
||||
fg_color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR), NULL);
|
||||
|
||||
shadows_value = _gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_TEXT_SHADOW);
|
||||
has_shadow = gtk_css_shadow_value_push_snapshot (shadows_value, snapshot);
|
||||
|
@@ -929,7 +929,7 @@ gtk_style_context_resolve_color (GtkStyleContext *context,
|
||||
if (val == NULL)
|
||||
return FALSE;
|
||||
|
||||
*result = *gtk_css_color_value_get_rgba (val);
|
||||
*result = *gtk_css_color_value_get_rgba (val, NULL);
|
||||
_gtk_css_value_unref (val);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -980,7 +980,7 @@ gtk_style_context_get_color (GtkStyleContext *context,
|
||||
g_return_if_fail (color != NULL);
|
||||
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
|
||||
|
||||
*color = *gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
|
||||
*color = *gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR), NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1072,10 +1072,10 @@ _gtk_style_context_get_cursor_color (GtkStyleContext *context,
|
||||
style = gtk_style_context_lookup_style (context);
|
||||
|
||||
if (primary_color)
|
||||
*primary_color = *gtk_css_color_value_get_rgba (style->font->caret_color ? style->font->caret_color : style->core->color);
|
||||
*primary_color = *gtk_css_color_value_get_rgba (style->font->caret_color, style->core->color);
|
||||
|
||||
if (secondary_color)
|
||||
*secondary_color = *gtk_css_color_value_get_rgba (style->font->secondary_caret_color ? style->font->secondary_caret_color : style->core->color);
|
||||
*secondary_color = *gtk_css_color_value_get_rgba (style->font->secondary_caret_color, style->core->color);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1449,14 +1449,15 @@ _gtk_style_context_get_attributes (AtkAttributeSet *attributes,
|
||||
const GdkRGBA *color;
|
||||
gchar *value;
|
||||
|
||||
color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BACKGROUND_COLOR));
|
||||
color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BACKGROUND_COLOR),
|
||||
_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
|
||||
value = g_strdup_printf ("%u,%u,%u",
|
||||
(guint) ceil (color->red * 65536 - color->red),
|
||||
(guint) ceil (color->green * 65536 - color->green),
|
||||
(guint) ceil (color->blue * 65536 - color->blue));
|
||||
attributes = add_attribute (attributes, ATK_TEXT_ATTR_BG_COLOR, value);
|
||||
|
||||
color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
|
||||
color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR), NULL);
|
||||
value = g_strdup_printf ("%u,%u,%u",
|
||||
(guint) ceil (color->red * 65536 - color->red),
|
||||
(guint) ceil (color->green * 65536 - color->green),
|
||||
|
@@ -3977,7 +3977,8 @@ render_para (GskPangoRenderer *crenderer,
|
||||
GtkCssNode *selection_node = gtk_text_view_get_selection_node ((GtkTextView*)crenderer->widget);
|
||||
gtk_style_context_save_to_node (context, selection_node);
|
||||
|
||||
selection = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BACKGROUND_COLOR));
|
||||
selection = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BACKGROUND_COLOR),
|
||||
_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
|
||||
|
||||
gtk_style_context_restore (context);
|
||||
}
|
||||
|
@@ -131,7 +131,7 @@ gtk_text_util_create_drag_icon (GtkWidget *widget,
|
||||
snapshot = gtk_snapshot_new ();
|
||||
|
||||
style = gtk_css_node_get_style (gtk_widget_get_css_node (widget));
|
||||
color = gtk_css_color_value_get_rgba (style->core->color);
|
||||
color = gtk_css_color_value_get_rgba (style->core->color, NULL);
|
||||
|
||||
gtk_snapshot_append_layout (snapshot, layout, color);
|
||||
|
||||
@@ -157,8 +157,8 @@ set_attributes_from_style (GtkWidget *widget,
|
||||
context = gtk_widget_get_style_context (widget);
|
||||
style = gtk_style_context_lookup_style (context);
|
||||
|
||||
*values->appearance.bg_rgba = *gtk_css_color_value_get_rgba (style->background->background_color);
|
||||
*values->appearance.fg_rgba = *gtk_css_color_value_get_rgba (style->core->color);
|
||||
*values->appearance.bg_rgba = *gtk_css_color_value_get_rgba (style->background->background_color, style->core->color);
|
||||
*values->appearance.fg_rgba = *gtk_css_color_value_get_rgba (style->core->color, NULL);
|
||||
|
||||
if (values->font)
|
||||
pango_font_description_free (values->font);
|
||||
|
@@ -7541,9 +7541,10 @@ gtk_text_view_set_attributes_from_style (GtkTextView *text_view,
|
||||
|
||||
context = gtk_widget_get_style_context (GTK_WIDGET (text_view));
|
||||
|
||||
color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BACKGROUND_COLOR));
|
||||
color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BACKGROUND_COLOR),
|
||||
_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
|
||||
*values->appearance.bg_rgba = *color;
|
||||
color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
|
||||
color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR), NULL);
|
||||
*values->appearance.fg_rgba = *color;
|
||||
|
||||
if (values->font)
|
||||
|
@@ -4174,9 +4174,8 @@ gtk_tree_view_snapshot_grid_line (GtkTreeView *tree_view,
|
||||
const GdkRGBA *grid_line_color;
|
||||
|
||||
context = gtk_widget_get_style_context (GTK_WIDGET (tree_view));
|
||||
grid_line_color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context,
|
||||
GTK_CSS_PROPERTY_BORDER_TOP_COLOR));
|
||||
|
||||
grid_line_color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_COLOR),
|
||||
_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
|
||||
if (!gdk_rgba_equal (grid_line_color, &tree_view->grid_line_color) ||
|
||||
(orientation == GTK_ORIENTATION_HORIZONTAL && !tree_view->horizontal_grid_line_texture) ||
|
||||
(orientation == GTK_ORIENTATION_VERTICAL && !tree_view->vertical_grid_line_texture))
|
||||
@@ -4248,9 +4247,8 @@ gtk_tree_view_snapshot_tree_line (GtkTreeView *tree_view,
|
||||
const GdkRGBA *tree_line_color;
|
||||
|
||||
context = gtk_widget_get_style_context (GTK_WIDGET (tree_view));
|
||||
tree_line_color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context,
|
||||
GTK_CSS_PROPERTY_BORDER_LEFT_COLOR));
|
||||
|
||||
tree_line_color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_LEFT_COLOR),
|
||||
_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
|
||||
if (!gdk_rgba_equal (tree_line_color, &tree_view->tree_line_color) ||
|
||||
(orientation == GTK_ORIENTATION_HORIZONTAL && !tree_view->horizontal_tree_line_texture) ||
|
||||
(orientation == GTK_ORIENTATION_VERTICAL && !tree_view->vertical_tree_line_texture))
|
||||
|
@@ -4706,8 +4706,8 @@ update_opaque_region (GtkWindow *window,
|
||||
|
||||
context = gtk_widget_get_style_context (widget);
|
||||
|
||||
is_opaque = gdk_rgba_is_opaque (gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BACKGROUND_COLOR)));
|
||||
|
||||
is_opaque = gdk_rgba_is_opaque (gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BACKGROUND_COLOR),
|
||||
_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR)));
|
||||
if (gtk_widget_get_opacity (widget) < 1.0)
|
||||
is_opaque = FALSE;
|
||||
|
||||
|
Reference in New Issue
Block a user