Compare commits

...

20 Commits

Author SHA1 Message Date
Matthias Clasen 4f6ea7c418 wip: static values
Determine whether a css value is 'static' at creation
time. Static values don't need to have compute() called,
since their value is always the same, so we can just
ref them.
2020-01-10 14:50:13 -05:00
Timm Bäder ba8f39a90a Remove GtkCssRgbaValue
The differenciation between a literal color value and an RGBA value
caused problems in various situations. Just treat the two the same but
don't allow access to the rgba value of a non-literal color value.
2020-01-10 14:50:13 -05:00
Matthias Clasen 6d17e74d0e Fix up css parser tests
Some css parser tests were relying on the parser preserving
some units. Update them. The numbers look uglier this way,
but they are the same numbers the css machinery was using
anyway.
2020-01-10 14:50:13 -05:00
Matthias Clasen 9ab78cd215 css: Do more computation ahead of time
The computation we do for angles and times does not
depend on the context, and can be done at creation
time.
2020-01-10 14:50:13 -05:00
Matthias Clasen 8ae8fe9e4c update css parser test results
We now print colors differently in some places.
2020-01-10 14:50:13 -05:00
Matthias Clasen d63a729ab1 css: Make the common font size singletons 2020-01-10 14:50:13 -05:00
Matthias Clasen 444323244c dump css value stats 2020-01-10 14:50:13 -05:00
Matthias Clasen ce44bd7fa4 css: Simplify compute for font variations
Just like font features, font variations are stored
as a hash table mapping strings to pure number values,
which never change during compute.
2020-01-10 14:50:13 -05:00
Matthias Clasen 3568a591f1 css: Simplify compute for font features
Font features consist of a hash table of number
values, which will never change during compute,
so there is no point in recreating a new value
with a copy of the hash table, constaining the
same string->number mapping.
2020-01-10 14:50:13 -05:00
Matthias Clasen 1577db0092 Add opaque black singleton 2020-01-10 14:50:13 -05:00
Matthias Clasen ea7ab799ad dimension: Improve the coverage of singletons
The values 5px, 6px, 7px, 0.15s, 0.2s and 0.3s
all show up in high numbers.
2020-01-10 14:50:13 -05:00
Timm Bäder 6535af8424 cssshadowvalue: Treat one shadow like multiple shadows
If we create a GtkCssShadowsValue for just one shadow, just return that
show value instead and allow calls on GtkCssShadowsValue API on one
shadow. That saves us around 480 GtkCssShadowsValue instances in the
widget factory.

css value stats before:

GtkCssColorValue: 1452
GtkCssFilterValue: 3
GtkCssRgbaValue: 1092
GtkCssShadowValue: 708
GtkCssEaseValue: 33
GtkCssBorderValue: 2
GtkCssTransformValue: 11
GtkCssDimensionValue: 882
GtkCssShadowsValue: 584
GtkCssBgSizeValue: 23
GtkCssIdentValue: 25
GtkCssPositionValue: 81
GtkCssArrayValue: 143
GtkCssStringValue: 33
GtkCssPaletteValue: 29
GtkCssImageValue: 2765
SUM: 7872

and after:

GtkCssShadowsValue: 107
GtkCssBgSizeValue: 23
GtkCssIdentValue: 25
GtkCssPositionValue: 81
GtkCssArrayValue: 143
GtkCssStringValue: 33
GtkCssPaletteValue: 29
GtkCssImageValue: 2764
GtkCssColorValue: 1452
GtkCssFilterValue: 3
GtkCssRgbaValue: 1092
GtkCssShadowValue: 708
GtkCssEaseValue: 33
GtkCssBorderValue: 2
GtkCssTransformValue: 11
GtkCssDimensionValue: 883
SUM: 7395

7872 to 7395 is a 477 reduction (6.0%)
2020-01-10 14:06:55 -05:00
Timm Bäder 7821cb1417 csssshadwovalue: Remove unused function prototype 2020-01-10 14:06:55 -05:00
Timm Bäder 8c50312abf cssnumbervalue: Add early-outs to transition code
we don't need to do the calculation at all if the progress is 0 or 1
anyway.

We also sometimes transition from 0 to 0 etc., so we can short-circuit
that as well by doing the fast pointer-equality check and relying on the
singletons.
2020-01-10 14:06:55 -05:00
Timm Bäder 723010ed09 csscornervalue: Accept other values if x == y
Most corners are square, so x == y. In that case, just accept either of
them. This makes the corner value unnecessary.

In fact none of the corner values in the widget-factory are needed, so
this spares us around 500 corner value allocations.

css value stats before:

GtkCssBgSizeValue: 23
GtkCssIdentValue: 25
GtkCssPositionValue: 81
GtkCssCornerValue: 556
GtkCssArrayValue: 143
GtkCssStringValue: 33
GtkCssPaletteValue: 29
GtkCssImageValue: 2765
GtkCssColorValue: 1452
GtkCssFilterValue: 3
GtkCssRgbaValue: 1092
GtkCssShadowValue: 708
GtkCssEaseValue: 33
GtkCssBorderValue: 2
GtkCssTransformValue: 11
GtkCssDimensionValue: 882
GtkCssShadowsValue: 584
SUM: 8428

and after:

GtkCssColorValue: 1452
GtkCssFilterValue: 3
GtkCssRgbaValue: 1092
GtkCssShadowValue: 708
GtkCssEaseValue: 33
GtkCssBorderValue: 2
GtkCssTransformValue: 11
GtkCssDimensionValue: 882
GtkCssShadowsValue: 584
GtkCssBgSizeValue: 23
GtkCssIdentValue: 25
GtkCssPositionValue: 81
GtkCssArrayValue: 143
GtkCssStringValue: 33
GtkCssPaletteValue: 29
GtkCssImageValue: 2765
SUM: 7872

8428 to 7872 is a 556 reduction (6.5%)
2020-01-10 14:06:55 -05:00
Timm Bäder f0affa8886 cssarrayvalue: Reserve 2 pointers when parsing array values
given that we parse an array, chances are we're gonna see 2 values.
2020-01-10 14:06:55 -05:00
Timm Bäder 8b3304820e cssarrayvalue: Loosen the definition of "array value"
Just allow calling _get_nth() and _get_n_values() on every kind of css
value. This way we can allow all values in places where only array
values would be allowed before.

This spares us around 1000 array values in the widget factory.

css value stats before:

GtkCssFilterValue: 3
GtkCssRgbaValue: 1092
GtkCssShadowValue: 708
GtkCssEaseValue: 33
GtkCssBorderValue: 2
GtkCssTransformValue: 11
GtkCssDimensionValue: 882
GtkCssShadowsValue: 584
GtkCssBgSizeValue: 23
GtkCssIdentValue: 25
GtkCssPositionValue: 81
GtkCssCornerValue: 556
GtkCssArrayValue: 1130
GtkCssStringValue: 33
GtkCssPaletteValue: 29
GtkCssImageValue: 2765
GtkCssColorValue: 1452
SUM: 9415

and after:

GtkCssBgSizeValue: 23
GtkCssIdentValue: 25
GtkCssPositionValue: 81
GtkCssCornerValue: 556
GtkCssArrayValue: 143
GtkCssStringValue: 33
GtkCssPaletteValue: 29
GtkCssImageValue: 2765
GtkCssColorValue: 1452
GtkCssFilterValue: 3
GtkCssRgbaValue: 1092
GtkCssShadowValue: 708
GtkCssEaseValue: 33
GtkCssBorderValue: 2
GtkCssTransformValue: 11
GtkCssDimensionValue: 882
GtkCssShadowsValue: 584
SUM: 8428

9415 to 8428 is a 987 reduction (10.4%)
2020-01-10 14:06:55 -05:00
Timm Bäder 5592af40ad cssvalue: Add type names for all classes 2020-01-10 14:06:55 -05:00
Timm Bäder d3268b3af0 csscolorvalue: Compute alpha/shade/mix of color literals directly
The values of these are never gonna change so we can as well create
literal color values from the resulting colors instead.
2020-01-10 14:06:55 -05:00
Timm Bäder c5e1c97ca4 csscolorvalue: Don't resolve literal color values 2020-01-10 14:06:55 -05:00
60 changed files with 1074 additions and 692 deletions
+27 -4
View File
@@ -369,6 +369,7 @@ gtk_css_value_array_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_ARRAY = { static const GtkCssValueClass GTK_CSS_VALUE_ARRAY = {
"GtkCssArrayValue",
gtk_css_value_array_free, gtk_css_value_array_free,
gtk_css_value_array_compute, gtk_css_value_array_compute,
gtk_css_value_array_equal, gtk_css_value_array_equal,
@@ -391,11 +392,27 @@ _gtk_css_array_value_new_from_array (GtkCssValue **values,
guint n_values) guint n_values)
{ {
GtkCssValue *result; GtkCssValue *result;
gboolean is_static;
int i;
g_return_val_if_fail (values != NULL, NULL); g_return_val_if_fail (values != NULL, NULL);
g_return_val_if_fail (n_values > 0, NULL); g_return_val_if_fail (n_values > 0, NULL);
if (n_values == 1)
return values[0];
is_static = TRUE;
for (i = 0; i < n_values; i++)
{
if (!values[i]->is_static)
{
is_static = FALSE;
break;
}
}
result = _gtk_css_value_alloc (&GTK_CSS_VALUE_ARRAY, sizeof (GtkCssValue) + sizeof (GtkCssValue *) * (n_values - 1)); result = _gtk_css_value_alloc (&GTK_CSS_VALUE_ARRAY, sizeof (GtkCssValue) + sizeof (GtkCssValue *) * (n_values - 1));
result->is_static = is_static;
result->n_values = n_values; result->n_values = n_values;
memcpy (&result->values[0], values, sizeof (GtkCssValue *) * n_values); memcpy (&result->values[0], values, sizeof (GtkCssValue *) * n_values);
@@ -409,7 +426,7 @@ _gtk_css_array_value_parse (GtkCssParser *parser,
GtkCssValue *value, *result; GtkCssValue *value, *result;
GPtrArray *values; GPtrArray *values;
values = g_ptr_array_new (); values = g_ptr_array_sized_new (2);
do { do {
value = parse_func (parser); value = parse_func (parser);
@@ -430,9 +447,12 @@ _gtk_css_array_value_parse (GtkCssParser *parser,
} }
GtkCssValue * GtkCssValue *
_gtk_css_array_value_get_nth (const GtkCssValue *value, _gtk_css_array_value_get_nth (GtkCssValue *value,
guint i) guint i)
{ {
if (value->class != &GTK_CSS_VALUE_ARRAY)
return value;
g_return_val_if_fail (value != NULL, NULL); g_return_val_if_fail (value != NULL, NULL);
g_return_val_if_fail (value->class == &GTK_CSS_VALUE_ARRAY, NULL); g_return_val_if_fail (value->class == &GTK_CSS_VALUE_ARRAY, NULL);
g_return_val_if_fail (value->n_values > 0, NULL); g_return_val_if_fail (value->n_values > 0, NULL);
@@ -443,6 +463,9 @@ _gtk_css_array_value_get_nth (const GtkCssValue *value,
guint guint
_gtk_css_array_value_get_n_values (const GtkCssValue *value) _gtk_css_array_value_get_n_values (const GtkCssValue *value)
{ {
if (value->class != &GTK_CSS_VALUE_ARRAY)
return 1;
g_return_val_if_fail (value != NULL, 0); g_return_val_if_fail (value != NULL, 0);
g_return_val_if_fail (value->class == &GTK_CSS_VALUE_ARRAY, 0); g_return_val_if_fail (value->class == &GTK_CSS_VALUE_ARRAY, 0);
+1 -1
View File
@@ -32,7 +32,7 @@ GtkCssValue * _gtk_css_array_value_new_from_array (GtkCssValue **
GtkCssValue * _gtk_css_array_value_parse (GtkCssParser *parser, GtkCssValue * _gtk_css_array_value_parse (GtkCssParser *parser,
GtkCssValue * (* parse_func) (GtkCssParser *)); GtkCssValue * (* parse_func) (GtkCssParser *));
GtkCssValue * _gtk_css_array_value_get_nth (const GtkCssValue *value, GtkCssValue * _gtk_css_array_value_get_nth (GtkCssValue *value,
guint i); guint i);
guint _gtk_css_array_value_get_n_values (const GtkCssValue *value); guint _gtk_css_array_value_get_n_values (const GtkCssValue *value);
+4 -3
View File
@@ -153,6 +153,7 @@ gtk_css_value_bg_size_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_BG_SIZE = { static const GtkCssValueClass GTK_CSS_VALUE_BG_SIZE = {
"GtkCssBgSizeValue",
gtk_css_value_bg_size_free, gtk_css_value_bg_size_free,
gtk_css_value_bg_size_compute, gtk_css_value_bg_size_compute,
gtk_css_value_bg_size_equal, gtk_css_value_bg_size_equal,
@@ -162,9 +163,9 @@ static const GtkCssValueClass GTK_CSS_VALUE_BG_SIZE = {
gtk_css_value_bg_size_print gtk_css_value_bg_size_print
}; };
static GtkCssValue auto_singleton = { &GTK_CSS_VALUE_BG_SIZE, 1, FALSE, FALSE, NULL, NULL }; static GtkCssValue auto_singleton = { &GTK_CSS_VALUE_BG_SIZE, 1, 0, FALSE, FALSE, NULL, NULL };
static GtkCssValue cover_singleton = { &GTK_CSS_VALUE_BG_SIZE, 1, TRUE, FALSE, NULL, NULL }; static GtkCssValue cover_singleton = { &GTK_CSS_VALUE_BG_SIZE, 1, 0, TRUE, FALSE, NULL, NULL };
static GtkCssValue contain_singleton = { &GTK_CSS_VALUE_BG_SIZE, 1, FALSE, TRUE, NULL, NULL }; static GtkCssValue contain_singleton = { &GTK_CSS_VALUE_BG_SIZE, 1, 0, FALSE, TRUE, NULL, NULL };
GtkCssValue * GtkCssValue *
_gtk_css_bg_size_value_new (GtkCssValue *x, _gtk_css_bg_size_value_new (GtkCssValue *x,
+1
View File
@@ -140,6 +140,7 @@ gtk_css_value_border_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_BORDER = { static const GtkCssValueClass GTK_CSS_VALUE_BORDER = {
"GtkCssBorderValue",
gtk_css_value_border_free, gtk_css_value_border_free,
gtk_css_value_border_compute, gtk_css_value_border_compute,
gtk_css_value_border_equal, gtk_css_value_border_equal,
+1
View File
@@ -245,6 +245,7 @@ gtk_css_value_calc_get_calc_term_order (const GtkCssValue *value)
static const GtkCssNumberValueClass GTK_CSS_VALUE_CALC = { static const GtkCssNumberValueClass GTK_CSS_VALUE_CALC = {
{ {
"GtkCssCalcValue",
gtk_css_value_calc_free, gtk_css_value_calc_free,
gtk_css_value_calc_compute, gtk_css_value_calc_compute,
gtk_css_value_calc_equal, gtk_css_value_calc_equal,
+131 -30
View File
@@ -45,6 +45,7 @@ struct _GtkCssValue
union union
{ {
gchar *name; gchar *name;
GdkRGBA rgba;
struct struct
{ {
@@ -104,7 +105,7 @@ gtk_css_value_color_get_fallback (guint property_id,
case GTK_CSS_PROPERTY_TEXT_SHADOW: case GTK_CSS_PROPERTY_TEXT_SHADOW:
case GTK_CSS_PROPERTY_ICON_SHADOW: case GTK_CSS_PROPERTY_ICON_SHADOW:
case GTK_CSS_PROPERTY_BOX_SHADOW: case GTK_CSS_PROPERTY_BOX_SHADOW:
return _gtk_css_rgba_value_new_transparent (); return gtk_css_color_value_new_transparent ();
case GTK_CSS_PROPERTY_COLOR: case GTK_CSS_PROPERTY_COLOR:
case GTK_CSS_PROPERTY_BACKGROUND_COLOR: case GTK_CSS_PROPERTY_BACKGROUND_COLOR:
case GTK_CSS_PROPERTY_BORDER_TOP_COLOR: case GTK_CSS_PROPERTY_BORDER_TOP_COLOR:
@@ -125,7 +126,7 @@ gtk_css_value_color_get_fallback (guint property_id,
if (property_id < GTK_CSS_PROPERTY_N_PROPERTIES) if (property_id < GTK_CSS_PROPERTY_N_PROPERTIES)
g_warning ("No fallback color defined for property '%s'", g_warning ("No fallback color defined for property '%s'",
_gtk_style_property_get_name (GTK_STYLE_PROPERTY (_gtk_css_style_property_lookup_by_id (property_id)))); _gtk_style_property_get_name (GTK_STYLE_PROPERTY (_gtk_css_style_property_lookup_by_id (property_id))));
return _gtk_css_rgba_value_new_transparent (); return gtk_css_color_value_new_transparent ();
} }
} }
@@ -136,7 +137,7 @@ gtk_css_value_color_compute (GtkCssValue *value,
GtkCssStyle *style, GtkCssStyle *style,
GtkCssStyle *parent_style) GtkCssStyle *parent_style)
{ {
GtkCssValue *resolved, *current; GtkCssValue *resolved;
/* The computed value of the currentColor keyword is the computed /* The computed value of the currentColor keyword is the computed
* value of the color property. If the currentColor keyword is * value of the color property. If the currentColor keyword is
@@ -144,20 +145,31 @@ gtk_css_value_color_compute (GtkCssValue *value,
*/ */
if (property_id == GTK_CSS_PROPERTY_COLOR) if (property_id == GTK_CSS_PROPERTY_COLOR)
{ {
GtkCssValue *current;
if (parent_style) if (parent_style)
current = gtk_css_style_get_value (parent_style, GTK_CSS_PROPERTY_COLOR); current = gtk_css_style_get_value (parent_style, GTK_CSS_PROPERTY_COLOR);
else else
current = NULL; current = NULL;
resolved = _gtk_css_color_value_resolve (value,
provider,
current,
NULL);
}
else if (value->type == COLOR_TYPE_LITERAL)
{
resolved = _gtk_css_value_ref (value);
} }
else else
{ {
current = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_COLOR); GtkCssValue *current = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_COLOR);
resolved = _gtk_css_color_value_resolve (value,
provider,
current,
NULL);
} }
resolved = _gtk_css_color_value_resolve (value,
provider,
current,
NULL);
if (resolved == NULL) if (resolved == NULL)
return gtk_css_value_color_get_fallback (property_id, provider, style, parent_style); return gtk_css_value_color_get_fallback (property_id, provider, style, parent_style);
@@ -175,7 +187,7 @@ gtk_css_value_color_equal (const GtkCssValue *value1,
switch (value1->type) switch (value1->type)
{ {
case COLOR_TYPE_LITERAL: case COLOR_TYPE_LITERAL:
return _gtk_css_value_equal (value1->last_value, value2->last_value); return gdk_rgba_equal (&value1->sym_col.rgba, &value2->sym_col.rgba);
case COLOR_TYPE_NAME: case COLOR_TYPE_NAME:
return g_str_equal (value1->sym_col.name, value2->sym_col.name); return g_str_equal (value1->sym_col.name, value2->sym_col.name);
case COLOR_TYPE_SHADE: case COLOR_TYPE_SHADE:
@@ -216,7 +228,11 @@ gtk_css_value_color_print (const GtkCssValue *value,
switch (value->type) switch (value->type)
{ {
case COLOR_TYPE_LITERAL: case COLOR_TYPE_LITERAL:
_gtk_css_value_print (value->last_value, string); {
char *s = gdk_rgba_to_string (&value->sym_col.rgba);
g_string_append (string, s);
g_free (s);
}
break; break;
case COLOR_TYPE_NAME: case COLOR_TYPE_NAME:
g_string_append (string, "@"); g_string_append (string, "@");
@@ -269,6 +285,7 @@ gtk_css_value_color_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_COLOR = { static const GtkCssValueClass GTK_CSS_VALUE_COLOR = {
"GtkCssColorValue",
gtk_css_value_color_free, gtk_css_value_color_free,
gtk_css_value_color_compute, gtk_css_value_color_compute,
gtk_css_value_color_equal, gtk_css_value_color_equal,
@@ -278,6 +295,41 @@ static const GtkCssValueClass GTK_CSS_VALUE_COLOR = {
gtk_css_value_color_print gtk_css_value_color_print
}; };
static void
apply_alpha (const GdkRGBA *in,
GdkRGBA *out,
double factor)
{
*out = *in;
out->alpha = CLAMP (in->alpha * factor, 0, 1);
}
static void
apply_shade (const GdkRGBA *in,
GdkRGBA *out,
double factor)
{
GtkHSLA hsla;
_gtk_hsla_init_from_rgba (&hsla, in);
_gtk_hsla_shade (&hsla, &hsla, factor);
_gdk_rgba_init_from_hsla (out, &hsla);
}
static void
apply_mix (const GdkRGBA *in1,
const GdkRGBA *in2,
GdkRGBA *out,
double factor)
{
out->red = CLAMP (in1->red + ((in2->red - in1->red) * factor), 0, 1);
out->green = CLAMP (in1->green + ((in2->green - in1->green) * factor), 0, 1);
out->blue = CLAMP (in1->blue + ((in2->blue - in1->blue) * factor), 0, 1);
out->alpha = CLAMP (in1->alpha + ((in2->alpha - in1->alpha) * factor), 0, 1);
}
GtkCssValue * GtkCssValue *
_gtk_css_color_value_resolve (GtkCssValue *color, _gtk_css_color_value_resolve (GtkCssValue *color,
GtkStyleProvider *provider, GtkStyleProvider *provider,
@@ -291,7 +343,7 @@ _gtk_css_color_value_resolve (GtkCssValue *color,
switch (color->type) switch (color->type)
{ {
case COLOR_TYPE_LITERAL: case COLOR_TYPE_LITERAL:
return _gtk_css_value_ref (color->last_value); return _gtk_css_value_ref (color);
case COLOR_TYPE_NAME: case COLOR_TYPE_NAME:
{ {
GtkCssValue *named; GtkCssValue *named;
@@ -315,21 +367,17 @@ _gtk_css_color_value_resolve (GtkCssValue *color,
case COLOR_TYPE_SHADE: case COLOR_TYPE_SHADE:
{ {
GtkCssValue *val; GtkCssValue *val;
GtkHSLA hsla;
GdkRGBA shade; GdkRGBA shade;
val = _gtk_css_color_value_resolve (color->sym_col.shade.color, provider, current, cycle_list); val = _gtk_css_color_value_resolve (color->sym_col.shade.color, provider, current, cycle_list);
if (val == NULL) if (val == NULL)
return NULL; return NULL;
_gtk_hsla_init_from_rgba (&hsla, _gtk_css_rgba_value_get_rgba (val)); apply_shade (gtk_css_color_value_get_rgba (val), &shade, color->sym_col.shade.factor);
_gtk_hsla_shade (&hsla, &hsla, color->sym_col.shade.factor);
_gdk_rgba_init_from_hsla (&shade, &hsla);
_gtk_css_value_unref (val); _gtk_css_value_unref (val);
value = _gtk_css_rgba_value_new_from_rgba (&shade); value = _gtk_css_color_value_new_literal (&shade);
} }
break; break;
@@ -342,12 +390,12 @@ _gtk_css_color_value_resolve (GtkCssValue *color,
if (val == NULL) if (val == NULL)
return NULL; return NULL;
alpha = *_gtk_css_rgba_value_get_rgba (val); alpha = *gtk_css_color_value_get_rgba (val);
alpha.alpha = CLAMP (alpha.alpha * color->sym_col.alpha.factor, 0, 1); apply_alpha (&alpha, &alpha, color->sym_col.alpha.factor);
_gtk_css_value_unref (val); _gtk_css_value_unref (val);
value = _gtk_css_rgba_value_new_from_rgba (&alpha); value = _gtk_css_color_value_new_literal (&alpha);
} }
break; break;
@@ -359,21 +407,18 @@ _gtk_css_color_value_resolve (GtkCssValue *color,
val = _gtk_css_color_value_resolve (color->sym_col.mix.color1, provider, current, cycle_list); val = _gtk_css_color_value_resolve (color->sym_col.mix.color1, provider, current, cycle_list);
if (val == NULL) if (val == NULL)
return NULL; return NULL;
color1 = *_gtk_css_rgba_value_get_rgba (val); color1 = *gtk_css_color_value_get_rgba (val);
_gtk_css_value_unref (val); _gtk_css_value_unref (val);
val = _gtk_css_color_value_resolve (color->sym_col.mix.color2, provider, current, cycle_list); val = _gtk_css_color_value_resolve (color->sym_col.mix.color2, provider, current, cycle_list);
if (val == NULL) if (val == NULL)
return NULL; return NULL;
color2 = *_gtk_css_rgba_value_get_rgba (val); color2 = *gtk_css_color_value_get_rgba (val);
_gtk_css_value_unref (val); _gtk_css_value_unref (val);
res.red = CLAMP (color1.red + ((color2.red - color1.red) * color->sym_col.mix.factor), 0, 1); apply_mix (&color1, &color2, &res, color->sym_col.mix.factor);
res.green = CLAMP (color1.green + ((color2.green - color1.green) * color->sym_col.mix.factor), 0, 1);
res.blue = CLAMP (color1.blue + ((color2.blue - color1.blue) * color->sym_col.mix.factor), 0, 1);
res.alpha = CLAMP (color1.alpha + ((color2.alpha - color1.alpha) * color->sym_col.mix.factor), 0, 1);
value =_gtk_css_rgba_value_new_from_rgba (&res); value = _gtk_css_color_value_new_literal (&res);
} }
break; break;
@@ -420,6 +465,24 @@ _gtk_css_color_value_resolve (GtkCssValue *color,
return value; return value;
} }
static GtkCssValue transparent_black_singleton = { &GTK_CSS_VALUE_COLOR, 1, 1, COLOR_TYPE_LITERAL, NULL,
.sym_col.rgba = {0, 0, 0, 0} };
static GtkCssValue white_singleton = { &GTK_CSS_VALUE_COLOR, 1, 1, COLOR_TYPE_LITERAL, NULL,
.sym_col.rgba = {1, 1, 1, 1} };
GtkCssValue *
gtk_css_color_value_new_transparent (void)
{
return _gtk_css_value_ref (&transparent_black_singleton);
}
GtkCssValue *
gtk_css_color_value_new_white (void)
{
return _gtk_css_value_ref (&white_singleton);
}
GtkCssValue * GtkCssValue *
_gtk_css_color_value_new_literal (const GdkRGBA *color) _gtk_css_color_value_new_literal (const GdkRGBA *color)
{ {
@@ -428,8 +491,9 @@ _gtk_css_color_value_new_literal (const GdkRGBA *color)
g_return_val_if_fail (color != NULL, NULL); g_return_val_if_fail (color != NULL, NULL);
value = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_COLOR); value = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_COLOR);
value->is_static = TRUE;
value->type = COLOR_TYPE_LITERAL; value->type = COLOR_TYPE_LITERAL;
value->last_value = _gtk_css_rgba_value_new_from_rgba (color); value->sym_col.rgba = *color;
return value; return value;
} }
@@ -456,6 +520,15 @@ _gtk_css_color_value_new_shade (GtkCssValue *color,
gtk_internal_return_val_if_fail (color->class == &GTK_CSS_VALUE_COLOR, NULL); gtk_internal_return_val_if_fail (color->class == &GTK_CSS_VALUE_COLOR, NULL);
if (color->type == COLOR_TYPE_LITERAL)
{
GdkRGBA c;
apply_shade (&color->sym_col.rgba, &c, factor);
return _gtk_css_color_value_new_literal (&c);
}
value = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_COLOR); value = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_COLOR);
value->type = COLOR_TYPE_SHADE; value->type = COLOR_TYPE_SHADE;
value->sym_col.shade.color = _gtk_css_value_ref (color); value->sym_col.shade.color = _gtk_css_value_ref (color);
@@ -472,6 +545,15 @@ _gtk_css_color_value_new_alpha (GtkCssValue *color,
gtk_internal_return_val_if_fail (color->class == &GTK_CSS_VALUE_COLOR, NULL); gtk_internal_return_val_if_fail (color->class == &GTK_CSS_VALUE_COLOR, NULL);
if (color->type == COLOR_TYPE_LITERAL)
{
GdkRGBA c;
apply_alpha (&color->sym_col.rgba, &c, factor);
return _gtk_css_color_value_new_literal (&c);
}
value = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_COLOR); value = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_COLOR);
value->type = COLOR_TYPE_ALPHA; value->type = COLOR_TYPE_ALPHA;
value->sym_col.alpha.color = _gtk_css_value_ref (color); value->sym_col.alpha.color = _gtk_css_value_ref (color);
@@ -490,6 +572,17 @@ _gtk_css_color_value_new_mix (GtkCssValue *color1,
gtk_internal_return_val_if_fail (color1->class == &GTK_CSS_VALUE_COLOR, NULL); gtk_internal_return_val_if_fail (color1->class == &GTK_CSS_VALUE_COLOR, NULL);
gtk_internal_return_val_if_fail (color2->class == &GTK_CSS_VALUE_COLOR, NULL); gtk_internal_return_val_if_fail (color2->class == &GTK_CSS_VALUE_COLOR, NULL);
if (color1->type == COLOR_TYPE_LITERAL &&
color2->type == COLOR_TYPE_LITERAL)
{
GdkRGBA result;
apply_mix (&color1->sym_col.rgba, &color2->sym_col.rgba, &result, factor);
return _gtk_css_color_value_new_literal (&result);
}
value = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_COLOR); value = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_COLOR);
value->type = COLOR_TYPE_MIX; value->type = COLOR_TYPE_MIX;
value->sym_col.mix.color1 = _gtk_css_value_ref (color1); value->sym_col.mix.color1 = _gtk_css_value_ref (color1);
@@ -502,7 +595,7 @@ _gtk_css_color_value_new_mix (GtkCssValue *color1,
GtkCssValue * GtkCssValue *
_gtk_css_color_value_new_current_color (void) _gtk_css_color_value_new_current_color (void)
{ {
static GtkCssValue current_color = { &GTK_CSS_VALUE_COLOR, 1, COLOR_TYPE_CURRENT_COLOR, NULL, }; static GtkCssValue current_color = { &GTK_CSS_VALUE_COLOR, 1, 0, COLOR_TYPE_CURRENT_COLOR, NULL, };
return _gtk_css_value_ref (&current_color); return _gtk_css_value_ref (&current_color);
} }
@@ -665,3 +758,11 @@ _gtk_css_color_value_parse (GtkCssParser *parser)
return NULL; return NULL;
} }
const GdkRGBA *
gtk_css_color_value_get_rgba (const GtkCssValue *color)
{
g_assert (color->class == &GTK_CSS_VALUE_COLOR);
g_assert (color->type == COLOR_TYPE_LITERAL);
return &color->sym_col.rgba;
}
+3
View File
@@ -24,6 +24,8 @@
G_BEGIN_DECLS G_BEGIN_DECLS
GtkCssValue * gtk_css_color_value_new_transparent (void);
GtkCssValue * gtk_css_color_value_new_white (void);
GtkCssValue * _gtk_css_color_value_new_literal (const GdkRGBA *color); GtkCssValue * _gtk_css_color_value_new_literal (const GdkRGBA *color);
GtkCssValue * _gtk_css_color_value_new_name (const gchar *name); GtkCssValue * _gtk_css_color_value_new_name (const gchar *name);
GtkCssValue * _gtk_css_color_value_new_shade (GtkCssValue *color, GtkCssValue * _gtk_css_color_value_new_shade (GtkCssValue *color,
@@ -42,6 +44,7 @@ GtkCssValue * _gtk_css_color_value_resolve (GtkCssValue *color
GtkStyleProvider *provider, GtkStyleProvider *provider,
GtkCssValue *current, GtkCssValue *current,
GSList *cycle_list); GSList *cycle_list);
const GdkRGBA * gtk_css_color_value_get_rgba (const GtkCssValue *color);
G_END_DECLS G_END_DECLS
+13
View File
@@ -99,6 +99,7 @@ gtk_css_value_corner_print (const GtkCssValue *corner,
} }
static const GtkCssValueClass GTK_CSS_VALUE_CORNER = { static const GtkCssValueClass GTK_CSS_VALUE_CORNER = {
"GtkCssCornerValue",
gtk_css_value_corner_free, gtk_css_value_corner_free,
gtk_css_value_corner_compute, gtk_css_value_corner_compute,
gtk_css_value_corner_equal, gtk_css_value_corner_equal,
@@ -114,6 +115,12 @@ _gtk_css_corner_value_new (GtkCssValue *x,
{ {
GtkCssValue *result; GtkCssValue *result;
if (x == y)
{
_gtk_css_value_unref (y);
return _gtk_css_value_ref (x);
}
result = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_CORNER); result = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_CORNER);
result->x = x; result->x = x;
result->y = y; result->y = y;
@@ -155,6 +162,9 @@ double
_gtk_css_corner_value_get_x (const GtkCssValue *corner, _gtk_css_corner_value_get_x (const GtkCssValue *corner,
double one_hundred_percent) double one_hundred_percent)
{ {
if (corner->class != &GTK_CSS_VALUE_CORNER)
return _gtk_css_number_value_get (corner, one_hundred_percent);
g_return_val_if_fail (corner != NULL, 0.0); g_return_val_if_fail (corner != NULL, 0.0);
g_return_val_if_fail (corner->class == &GTK_CSS_VALUE_CORNER, 0.0); g_return_val_if_fail (corner->class == &GTK_CSS_VALUE_CORNER, 0.0);
@@ -165,6 +175,9 @@ double
_gtk_css_corner_value_get_y (const GtkCssValue *corner, _gtk_css_corner_value_get_y (const GtkCssValue *corner,
double one_hundred_percent) double one_hundred_percent)
{ {
if (corner->class != &GTK_CSS_VALUE_CORNER)
return _gtk_css_number_value_get (corner, one_hundred_percent);
g_return_val_if_fail (corner != NULL, 0.0); g_return_val_if_fail (corner != NULL, 0.0);
g_return_val_if_fail (corner->class == &GTK_CSS_VALUE_CORNER, 0.0); g_return_val_if_fail (corner->class == &GTK_CSS_VALUE_CORNER, 0.0);
+83 -30
View File
@@ -279,6 +279,7 @@ gtk_css_value_dimension_get_calc_term_order (const GtkCssValue *value)
static const GtkCssNumberValueClass GTK_CSS_VALUE_DIMENSION = { static const GtkCssNumberValueClass GTK_CSS_VALUE_DIMENSION = {
{ {
"GtkCssDimensionValue",
gtk_css_value_dimension_free, gtk_css_value_dimension_free,
gtk_css_value_dimension_compute, gtk_css_value_dimension_compute,
gtk_css_value_dimension_equal, gtk_css_value_dimension_equal,
@@ -300,37 +301,45 @@ gtk_css_dimension_value_new (double value,
GtkCssUnit unit) GtkCssUnit unit)
{ {
static GtkCssValue number_singletons[] = { static GtkCssValue number_singletons[] = {
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_NUMBER, 0 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_NUMBER, 0 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_NUMBER, 1 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_NUMBER, 1 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_NUMBER, 96 }, /* DPI default */ { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_NUMBER, 96 }, /* DPI default */
}; };
static GtkCssValue px_singletons[] = { static GtkCssValue px_singletons[] = {
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_PX, 0 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_PX, 0 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_PX, 1 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_PX, 1 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_PX, 2 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_PX, 2 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_PX, 3 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_PX, 3 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_PX, 4 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_PX, 4 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_PX, 8 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_PX, 5 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_PX, 16 }, /* Icon size default */ { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_PX, 6 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_PX, 32 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_PX, 7 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_PX, 64 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_PX, 8 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_PX, 16 }, /* Icon size default */
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_PX, 32 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_PX, 10 * 96.0 / 72.0 }, /* font size 10 */
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_PX, 11 * 96.0 / 72.0 }, /* font size 11 */
}; };
static GtkCssValue percent_singletons[] = { static GtkCssValue percent_singletons[] = {
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_PERCENT, 0 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 0, GTK_CSS_PERCENT, 0 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_PERCENT, 50 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 0, GTK_CSS_PERCENT, 50 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_PERCENT, 100 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 0, GTK_CSS_PERCENT, 100 },
}; };
static GtkCssValue second_singletons[] = { static GtkCssValue second_singletons[] = {
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_S, 0 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_S, 0 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_S, 1 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_S, 0.15 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_S, 0.2 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_S, 0.3 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_S, 1 },
}; };
static GtkCssValue deg_singletons[] = { static GtkCssValue deg_singletons[] = {
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_DEG, 0 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_DEG, 0 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_DEG, 90 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_DEG, 90 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_DEG, 180 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_DEG, 180 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_DEG, 270 }, { &GTK_CSS_VALUE_DIMENSION.value_class, 1, 1, GTK_CSS_DEG, 270 },
}; };
GtkCssValue *result; GtkCssValue *result;
gboolean is_static = FALSE;
switch ((guint)unit) switch ((guint)unit)
{ {
@@ -341,6 +350,7 @@ gtk_css_dimension_value_new (double value,
if (value == 96) if (value == 96)
return _gtk_css_value_ref (&number_singletons[2]); return _gtk_css_value_ref (&number_singletons[2]);
is_static = TRUE;
break; break;
case GTK_CSS_PX: case GTK_CSS_PX:
@@ -348,17 +358,22 @@ gtk_css_dimension_value_new (double value,
value == 1 || value == 1 ||
value == 2 || value == 2 ||
value == 3 || value == 3 ||
value == 4) value == 4 ||
value == 5 ||
value == 6 ||
value == 7 ||
value == 8)
return _gtk_css_value_ref (&px_singletons[(int) value]); return _gtk_css_value_ref (&px_singletons[(int) value]);
if (value == 8)
return _gtk_css_value_ref (&px_singletons[5]);
if (value == 16) if (value == 16)
return _gtk_css_value_ref (&px_singletons[6]); return _gtk_css_value_ref (&px_singletons[9]);
if (value == 32) if (value == 32)
return _gtk_css_value_ref (&px_singletons[7]); return _gtk_css_value_ref (&px_singletons[10]);
if (value == 64) if (value == 10 * 96.0 / 72.0)
return _gtk_css_value_ref (&px_singletons[8]); return _gtk_css_value_ref (&px_singletons[11]);
if (value == 11 * 96.0 / 72.0)
return _gtk_css_value_ref (&px_singletons[12]);
is_static = TRUE;
break; break;
case GTK_CSS_PERCENT: case GTK_CSS_PERCENT:
@@ -372,9 +387,18 @@ gtk_css_dimension_value_new (double value,
break; break;
case GTK_CSS_S: case GTK_CSS_S:
if (value == 0 || value == 1) if (value == 0)
return _gtk_css_value_ref (&second_singletons[(int)value]); return _gtk_css_value_ref (&second_singletons[0]);
if (value == 0.15)
return _gtk_css_value_ref (&second_singletons[1]);
if (value == 0.2)
return _gtk_css_value_ref (&second_singletons[2]);
if (value == 0.3)
return _gtk_css_value_ref (&second_singletons[3]);
if (value == 1)
return _gtk_css_value_ref (&second_singletons[4]);
is_static = TRUE;
break; break;
case GTK_CSS_DEG: case GTK_CSS_DEG:
@@ -386,7 +410,32 @@ gtk_css_dimension_value_new (double value,
return _gtk_css_value_ref (&deg_singletons[2]); return _gtk_css_value_ref (&deg_singletons[2]);
if (value == 270) if (value == 270)
return _gtk_css_value_ref (&deg_singletons[3]); return _gtk_css_value_ref (&deg_singletons[3]);
is_static = TRUE;
break;
case GTK_CSS_RAD:
value = value * 360.0 / (2 * G_PI);
unit = GTK_CSS_DEG;
is_static = TRUE;
break;
case GTK_CSS_GRAD:
value = value * 360.0 / 400.0;
unit = GTK_CSS_DEG;
is_static = TRUE;
break;
case GTK_CSS_TURN:
value = value * 360.0;
unit = GTK_CSS_DEG;
is_static = TRUE;
break;
case GTK_CSS_MS:
value = value / 1000.0;
unit = GTK_CSS_S;
is_static = TRUE;
break; break;
default: default:
@@ -394,6 +443,7 @@ gtk_css_dimension_value_new (double value,
} }
result = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_DIMENSION.value_class); result = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_DIMENSION.value_class);
result->is_static = is_static;
result->unit = unit; result->unit = unit;
result->value = value; result->value = value;
@@ -508,6 +558,9 @@ gtk_css_dimension_value_parse (GtkCssParser *parser,
} }
result = gtk_css_dimension_value_new (number, unit); result = gtk_css_dimension_value_new (number, unit);
if (flags & GTK_CSS_PARSE_NON_STATIC)
result->is_static = FALSE;
gtk_css_parser_consume_token (parser); gtk_css_parser_consume_token (parser);
return result; return result;
+3
View File
@@ -135,6 +135,7 @@ gtk_css_value_ease_print (const GtkCssValue *ease,
} }
static const GtkCssValueClass GTK_CSS_VALUE_EASE = { static const GtkCssValueClass GTK_CSS_VALUE_EASE = {
"GtkCssEaseValue",
gtk_css_value_ease_free, gtk_css_value_ease_free,
gtk_css_value_ease_compute, gtk_css_value_ease_compute,
gtk_css_value_ease_equal, gtk_css_value_ease_equal,
@@ -158,6 +159,7 @@ _gtk_css_ease_value_new_cubic_bezier (double x1,
g_return_val_if_fail (x2 <= 1.0, NULL); g_return_val_if_fail (x2 <= 1.0, NULL);
value = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_EASE); value = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_EASE);
value->is_static = TRUE;
value->type = GTK_CSS_EASE_CUBIC_BEZIER; value->type = GTK_CSS_EASE_CUBIC_BEZIER;
value->u.cubic.x1 = x1; value->u.cubic.x1 = x1;
@@ -177,6 +179,7 @@ _gtk_css_ease_value_new_steps (guint n_steps,
g_return_val_if_fail (n_steps > 0, NULL); g_return_val_if_fail (n_steps > 0, NULL);
value = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_EASE); value = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_EASE);
value->is_static = TRUE;
value->type = GTK_CSS_EASE_STEPS; value->type = GTK_CSS_EASE_STEPS;
value->u.steps.steps = n_steps; value->u.steps.steps = n_steps;
+106 -86
View File
@@ -78,6 +78,7 @@ gtk_css_value_enum_print (const GtkCssValue *value,
/* GtkBorderStyle */ /* GtkBorderStyle */
static const GtkCssValueClass GTK_CSS_VALUE_BORDER_STYLE = { static const GtkCssValueClass GTK_CSS_VALUE_BORDER_STYLE = {
"GtkCssBorderStyleValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -88,16 +89,16 @@ static const GtkCssValueClass GTK_CSS_VALUE_BORDER_STYLE = {
}; };
static GtkCssValue border_style_values[] = { static GtkCssValue border_style_values[] = {
{ &GTK_CSS_VALUE_BORDER_STYLE, 1, GTK_BORDER_STYLE_NONE, "none" }, { &GTK_CSS_VALUE_BORDER_STYLE, 1, 1, GTK_BORDER_STYLE_NONE, "none" },
{ &GTK_CSS_VALUE_BORDER_STYLE, 1, GTK_BORDER_STYLE_SOLID, "solid" }, { &GTK_CSS_VALUE_BORDER_STYLE, 1, 1, GTK_BORDER_STYLE_SOLID, "solid" },
{ &GTK_CSS_VALUE_BORDER_STYLE, 1, GTK_BORDER_STYLE_INSET, "inset" }, { &GTK_CSS_VALUE_BORDER_STYLE, 1, 1, GTK_BORDER_STYLE_INSET, "inset" },
{ &GTK_CSS_VALUE_BORDER_STYLE, 1, GTK_BORDER_STYLE_OUTSET, "outset" }, { &GTK_CSS_VALUE_BORDER_STYLE, 1, 1, GTK_BORDER_STYLE_OUTSET, "outset" },
{ &GTK_CSS_VALUE_BORDER_STYLE, 1, GTK_BORDER_STYLE_HIDDEN, "hidden" }, { &GTK_CSS_VALUE_BORDER_STYLE, 1, 1, GTK_BORDER_STYLE_HIDDEN, "hidden" },
{ &GTK_CSS_VALUE_BORDER_STYLE, 1, GTK_BORDER_STYLE_DOTTED, "dotted" }, { &GTK_CSS_VALUE_BORDER_STYLE, 1, 1, GTK_BORDER_STYLE_DOTTED, "dotted" },
{ &GTK_CSS_VALUE_BORDER_STYLE, 1, GTK_BORDER_STYLE_DASHED, "dashed" }, { &GTK_CSS_VALUE_BORDER_STYLE, 1, 1, GTK_BORDER_STYLE_DASHED, "dashed" },
{ &GTK_CSS_VALUE_BORDER_STYLE, 1, GTK_BORDER_STYLE_DOUBLE, "double" }, { &GTK_CSS_VALUE_BORDER_STYLE, 1, 1, GTK_BORDER_STYLE_DOUBLE, "double" },
{ &GTK_CSS_VALUE_BORDER_STYLE, 1, GTK_BORDER_STYLE_GROOVE, "groove" }, { &GTK_CSS_VALUE_BORDER_STYLE, 1, 1, GTK_BORDER_STYLE_GROOVE, "groove" },
{ &GTK_CSS_VALUE_BORDER_STYLE, 1, GTK_BORDER_STYLE_RIDGE, "ridge" } { &GTK_CSS_VALUE_BORDER_STYLE, 1, 1, GTK_BORDER_STYLE_RIDGE, "ridge" }
}; };
GtkCssValue * GtkCssValue *
@@ -135,6 +136,7 @@ _gtk_css_border_style_value_get (const GtkCssValue *value)
/* GtkCssBlendMode */ /* GtkCssBlendMode */
static const GtkCssValueClass GTK_CSS_VALUE_BLEND_MODE = { static const GtkCssValueClass GTK_CSS_VALUE_BLEND_MODE = {
"GtkCssBlendModeValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -145,22 +147,22 @@ static const GtkCssValueClass GTK_CSS_VALUE_BLEND_MODE = {
}; };
static GtkCssValue blend_mode_values[] = { static GtkCssValue blend_mode_values[] = {
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_DEFAULT, "normal" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_DEFAULT, "normal" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_MULTIPLY, "multiply" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_MULTIPLY, "multiply" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_SCREEN, "screen" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_SCREEN, "screen" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_OVERLAY, "overlay" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_OVERLAY, "overlay" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_DARKEN, "darken" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_DARKEN, "darken" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_LIGHTEN, "lighten" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_LIGHTEN, "lighten" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_COLOR_DODGE, "color-dodge" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_COLOR_DODGE, "color-dodge" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_COLOR_BURN, "color-burn" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_COLOR_BURN, "color-burn" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_HARD_LIGHT, "hard-light" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_HARD_LIGHT, "hard-light" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_SOFT_LIGHT, "soft-light" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_SOFT_LIGHT, "soft-light" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_DIFFERENCE, "difference" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_DIFFERENCE, "difference" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_EXCLUSION, "exclusion" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_EXCLUSION, "exclusion" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_COLOR, "color" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_COLOR, "color" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_HUE, "hue" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_HUE, "hue" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_SATURATION, "saturation" }, { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_SATURATION, "saturation" },
{ &GTK_CSS_VALUE_BLEND_MODE, 1, GSK_BLEND_MODE_LUMINOSITY, "luminosity" } { &GTK_CSS_VALUE_BLEND_MODE, 1, 1, GSK_BLEND_MODE_LUMINOSITY, "luminosity" }
}; };
GtkCssValue * GtkCssValue *
@@ -285,6 +287,7 @@ gtk_css_value_font_size_compute (GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_FONT_SIZE = { static const GtkCssValueClass GTK_CSS_VALUE_FONT_SIZE = {
"GtkCssFontSizeValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_font_size_compute, gtk_css_value_font_size_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -295,15 +298,15 @@ static const GtkCssValueClass GTK_CSS_VALUE_FONT_SIZE = {
}; };
static GtkCssValue font_size_values[] = { static GtkCssValue font_size_values[] = {
{ &GTK_CSS_VALUE_FONT_SIZE, 1, GTK_CSS_FONT_SIZE_SMALLER, "smaller" }, { &GTK_CSS_VALUE_FONT_SIZE, 1, 0, GTK_CSS_FONT_SIZE_SMALLER, "smaller" },
{ &GTK_CSS_VALUE_FONT_SIZE, 1, GTK_CSS_FONT_SIZE_LARGER, "larger" }, { &GTK_CSS_VALUE_FONT_SIZE, 1, 0, GTK_CSS_FONT_SIZE_LARGER, "larger" },
{ &GTK_CSS_VALUE_FONT_SIZE, 1, GTK_CSS_FONT_SIZE_XX_SMALL, "xx-small" }, { &GTK_CSS_VALUE_FONT_SIZE, 1, 0, GTK_CSS_FONT_SIZE_XX_SMALL, "xx-small" },
{ &GTK_CSS_VALUE_FONT_SIZE, 1, GTK_CSS_FONT_SIZE_X_SMALL, "x-small" }, { &GTK_CSS_VALUE_FONT_SIZE, 1, 0, GTK_CSS_FONT_SIZE_X_SMALL, "x-small" },
{ &GTK_CSS_VALUE_FONT_SIZE, 1, GTK_CSS_FONT_SIZE_SMALL, "small" }, { &GTK_CSS_VALUE_FONT_SIZE, 1, 0, GTK_CSS_FONT_SIZE_SMALL, "small" },
{ &GTK_CSS_VALUE_FONT_SIZE, 1, GTK_CSS_FONT_SIZE_MEDIUM, "medium" }, { &GTK_CSS_VALUE_FONT_SIZE, 1, 0, GTK_CSS_FONT_SIZE_MEDIUM, "medium" },
{ &GTK_CSS_VALUE_FONT_SIZE, 1, GTK_CSS_FONT_SIZE_LARGE, "large" }, { &GTK_CSS_VALUE_FONT_SIZE, 1, 0, GTK_CSS_FONT_SIZE_LARGE, "large" },
{ &GTK_CSS_VALUE_FONT_SIZE, 1, GTK_CSS_FONT_SIZE_X_LARGE, "x-large" }, { &GTK_CSS_VALUE_FONT_SIZE, 1, 0, GTK_CSS_FONT_SIZE_X_LARGE, "x-large" },
{ &GTK_CSS_VALUE_FONT_SIZE, 1, GTK_CSS_FONT_SIZE_XX_LARGE, "xx-large" } { &GTK_CSS_VALUE_FONT_SIZE, 1, 0, GTK_CSS_FONT_SIZE_XX_LARGE, "xx-large" }
}; };
GtkCssValue * GtkCssValue *
@@ -341,6 +344,7 @@ _gtk_css_font_size_value_get (const GtkCssValue *value)
/* PangoStyle */ /* PangoStyle */
static const GtkCssValueClass GTK_CSS_VALUE_FONT_STYLE = { static const GtkCssValueClass GTK_CSS_VALUE_FONT_STYLE = {
"GtkCssFontStyleValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -351,9 +355,9 @@ static const GtkCssValueClass GTK_CSS_VALUE_FONT_STYLE = {
}; };
static GtkCssValue font_style_values[] = { static GtkCssValue font_style_values[] = {
{ &GTK_CSS_VALUE_FONT_STYLE, 1, PANGO_STYLE_NORMAL, "normal" }, { &GTK_CSS_VALUE_FONT_STYLE, 1, 1, PANGO_STYLE_NORMAL, "normal" },
{ &GTK_CSS_VALUE_FONT_STYLE, 1, PANGO_STYLE_OBLIQUE, "oblique" }, { &GTK_CSS_VALUE_FONT_STYLE, 1, 1, PANGO_STYLE_OBLIQUE, "oblique" },
{ &GTK_CSS_VALUE_FONT_STYLE, 1, PANGO_STYLE_ITALIC, "italic" } { &GTK_CSS_VALUE_FONT_STYLE, 1, 1, PANGO_STYLE_ITALIC, "italic" }
}; };
GtkCssValue * GtkCssValue *
@@ -439,6 +443,7 @@ gtk_css_value_font_weight_compute (GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_FONT_WEIGHT = { static const GtkCssValueClass GTK_CSS_VALUE_FONT_WEIGHT = {
"GtkCssFontWeightValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_font_weight_compute, gtk_css_value_font_weight_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -449,8 +454,8 @@ static const GtkCssValueClass GTK_CSS_VALUE_FONT_WEIGHT = {
}; };
static GtkCssValue font_weight_values[] = { static GtkCssValue font_weight_values[] = {
{ &GTK_CSS_VALUE_FONT_WEIGHT, 1, BOLDER, "bolder" }, { &GTK_CSS_VALUE_FONT_WEIGHT, 1, 0, BOLDER, "bolder" },
{ &GTK_CSS_VALUE_FONT_WEIGHT, 1, LIGHTER, "lighter" }, { &GTK_CSS_VALUE_FONT_WEIGHT, 1, 0, LIGHTER, "lighter" },
}; };
GtkCssValue * GtkCssValue *
@@ -488,6 +493,7 @@ gtk_css_font_weight_value_get (const GtkCssValue *value)
/* PangoStretch */ /* PangoStretch */
static const GtkCssValueClass GTK_CSS_VALUE_FONT_STRETCH = { static const GtkCssValueClass GTK_CSS_VALUE_FONT_STRETCH = {
"GtkCssFontStretchValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -498,15 +504,15 @@ static const GtkCssValueClass GTK_CSS_VALUE_FONT_STRETCH = {
}; };
static GtkCssValue font_stretch_values[] = { static GtkCssValue font_stretch_values[] = {
{ &GTK_CSS_VALUE_FONT_STRETCH, 1, PANGO_STRETCH_ULTRA_CONDENSED, "ultra-condensed" }, { &GTK_CSS_VALUE_FONT_STRETCH, 1, 1, PANGO_STRETCH_ULTRA_CONDENSED, "ultra-condensed" },
{ &GTK_CSS_VALUE_FONT_STRETCH, 1, PANGO_STRETCH_EXTRA_CONDENSED, "extra-condensed" }, { &GTK_CSS_VALUE_FONT_STRETCH, 1, 1, PANGO_STRETCH_EXTRA_CONDENSED, "extra-condensed" },
{ &GTK_CSS_VALUE_FONT_STRETCH, 1, PANGO_STRETCH_CONDENSED, "condensed" }, { &GTK_CSS_VALUE_FONT_STRETCH, 1, 1, PANGO_STRETCH_CONDENSED, "condensed" },
{ &GTK_CSS_VALUE_FONT_STRETCH, 1, PANGO_STRETCH_SEMI_CONDENSED, "semi-condensed" }, { &GTK_CSS_VALUE_FONT_STRETCH, 1, 1, PANGO_STRETCH_SEMI_CONDENSED, "semi-condensed" },
{ &GTK_CSS_VALUE_FONT_STRETCH, 1, PANGO_STRETCH_NORMAL, "normal" }, { &GTK_CSS_VALUE_FONT_STRETCH, 1, 1, PANGO_STRETCH_NORMAL, "normal" },
{ &GTK_CSS_VALUE_FONT_STRETCH, 1, PANGO_STRETCH_SEMI_EXPANDED, "semi-expanded" }, { &GTK_CSS_VALUE_FONT_STRETCH, 1, 1, PANGO_STRETCH_SEMI_EXPANDED, "semi-expanded" },
{ &GTK_CSS_VALUE_FONT_STRETCH, 1, PANGO_STRETCH_EXPANDED, "expanded" }, { &GTK_CSS_VALUE_FONT_STRETCH, 1, 1, PANGO_STRETCH_EXPANDED, "expanded" },
{ &GTK_CSS_VALUE_FONT_STRETCH, 1, PANGO_STRETCH_EXTRA_EXPANDED, "extra-expanded" }, { &GTK_CSS_VALUE_FONT_STRETCH, 1, 1, PANGO_STRETCH_EXTRA_EXPANDED, "extra-expanded" },
{ &GTK_CSS_VALUE_FONT_STRETCH, 1, PANGO_STRETCH_ULTRA_EXPANDED, "ultra-expanded" }, { &GTK_CSS_VALUE_FONT_STRETCH, 1, 1, PANGO_STRETCH_ULTRA_EXPANDED, "ultra-expanded" },
}; };
GtkCssValue * GtkCssValue *
@@ -544,6 +550,7 @@ _gtk_css_font_stretch_value_get (const GtkCssValue *value)
/* GtkTextDecorationLine */ /* GtkTextDecorationLine */
static const GtkCssValueClass GTK_CSS_VALUE_TEXT_DECORATION_LINE = { static const GtkCssValueClass GTK_CSS_VALUE_TEXT_DECORATION_LINE = {
"GtkCssTextDecorationLineValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -554,9 +561,9 @@ static const GtkCssValueClass GTK_CSS_VALUE_TEXT_DECORATION_LINE = {
}; };
static GtkCssValue text_decoration_line_values[] = { static GtkCssValue text_decoration_line_values[] = {
{ &GTK_CSS_VALUE_TEXT_DECORATION_LINE, 1, GTK_CSS_TEXT_DECORATION_LINE_NONE, "none" }, { &GTK_CSS_VALUE_TEXT_DECORATION_LINE, 1, 1, GTK_CSS_TEXT_DECORATION_LINE_NONE, "none" },
{ &GTK_CSS_VALUE_TEXT_DECORATION_LINE, 1, GTK_CSS_TEXT_DECORATION_LINE_UNDERLINE, "underline" }, { &GTK_CSS_VALUE_TEXT_DECORATION_LINE, 1, 1, GTK_CSS_TEXT_DECORATION_LINE_UNDERLINE, "underline" },
{ &GTK_CSS_VALUE_TEXT_DECORATION_LINE, 1, GTK_CSS_TEXT_DECORATION_LINE_LINE_THROUGH, "line-through" }, { &GTK_CSS_VALUE_TEXT_DECORATION_LINE, 1, 1, GTK_CSS_TEXT_DECORATION_LINE_LINE_THROUGH, "line-through" },
}; };
GtkCssValue * GtkCssValue *
@@ -594,6 +601,7 @@ _gtk_css_text_decoration_line_value_get (const GtkCssValue *value)
/* GtkTextDecorationStyle */ /* GtkTextDecorationStyle */
static const GtkCssValueClass GTK_CSS_VALUE_TEXT_DECORATION_STYLE = { static const GtkCssValueClass GTK_CSS_VALUE_TEXT_DECORATION_STYLE = {
"GtkCssTextDecorationStyleValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -604,9 +612,9 @@ static const GtkCssValueClass GTK_CSS_VALUE_TEXT_DECORATION_STYLE = {
}; };
static GtkCssValue text_decoration_style_values[] = { static GtkCssValue text_decoration_style_values[] = {
{ &GTK_CSS_VALUE_TEXT_DECORATION_STYLE, 1, GTK_CSS_TEXT_DECORATION_STYLE_SOLID, "solid" }, { &GTK_CSS_VALUE_TEXT_DECORATION_STYLE, 1, 1, GTK_CSS_TEXT_DECORATION_STYLE_SOLID, "solid" },
{ &GTK_CSS_VALUE_TEXT_DECORATION_STYLE, 1, GTK_CSS_TEXT_DECORATION_STYLE_DOUBLE, "double" }, { &GTK_CSS_VALUE_TEXT_DECORATION_STYLE, 1, 1, GTK_CSS_TEXT_DECORATION_STYLE_DOUBLE, "double" },
{ &GTK_CSS_VALUE_TEXT_DECORATION_STYLE, 1, GTK_CSS_TEXT_DECORATION_STYLE_WAVY, "wavy" }, { &GTK_CSS_VALUE_TEXT_DECORATION_STYLE, 1, 1, GTK_CSS_TEXT_DECORATION_STYLE_WAVY, "wavy" },
}; };
GtkCssValue * GtkCssValue *
@@ -644,6 +652,7 @@ _gtk_css_text_decoration_style_value_get (const GtkCssValue *value)
/* GtkCssArea */ /* GtkCssArea */
static const GtkCssValueClass GTK_CSS_VALUE_AREA = { static const GtkCssValueClass GTK_CSS_VALUE_AREA = {
"GtkCssAreaValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -654,9 +663,9 @@ static const GtkCssValueClass GTK_CSS_VALUE_AREA = {
}; };
static GtkCssValue area_values[] = { static GtkCssValue area_values[] = {
{ &GTK_CSS_VALUE_AREA, 1, GTK_CSS_AREA_BORDER_BOX, "border-box" }, { &GTK_CSS_VALUE_AREA, 1, 1, GTK_CSS_AREA_BORDER_BOX, "border-box" },
{ &GTK_CSS_VALUE_AREA, 1, GTK_CSS_AREA_PADDING_BOX, "padding-box" }, { &GTK_CSS_VALUE_AREA, 1, 1, GTK_CSS_AREA_PADDING_BOX, "padding-box" },
{ &GTK_CSS_VALUE_AREA, 1, GTK_CSS_AREA_CONTENT_BOX, "content-box" } { &GTK_CSS_VALUE_AREA, 1, 1, GTK_CSS_AREA_CONTENT_BOX, "content-box" }
}; };
GtkCssValue * GtkCssValue *
@@ -700,6 +709,7 @@ _gtk_css_area_value_get (const GtkCssValue *value)
/* GtkCssDirection */ /* GtkCssDirection */
static const GtkCssValueClass GTK_CSS_VALUE_DIRECTION = { static const GtkCssValueClass GTK_CSS_VALUE_DIRECTION = {
"GtkCssDirectionValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -710,10 +720,10 @@ static const GtkCssValueClass GTK_CSS_VALUE_DIRECTION = {
}; };
static GtkCssValue direction_values[] = { static GtkCssValue direction_values[] = {
{ &GTK_CSS_VALUE_DIRECTION, 1, GTK_CSS_DIRECTION_NORMAL, "normal" }, { &GTK_CSS_VALUE_DIRECTION, 1, 1, GTK_CSS_DIRECTION_NORMAL, "normal" },
{ &GTK_CSS_VALUE_DIRECTION, 1, GTK_CSS_DIRECTION_REVERSE, "reverse" }, { &GTK_CSS_VALUE_DIRECTION, 1, 1, GTK_CSS_DIRECTION_REVERSE, "reverse" },
{ &GTK_CSS_VALUE_DIRECTION, 1, GTK_CSS_DIRECTION_ALTERNATE, "alternate" }, { &GTK_CSS_VALUE_DIRECTION, 1, 1, GTK_CSS_DIRECTION_ALTERNATE, "alternate" },
{ &GTK_CSS_VALUE_DIRECTION, 1, GTK_CSS_DIRECTION_ALTERNATE_REVERSE, "alternate-reverse" } { &GTK_CSS_VALUE_DIRECTION, 1, 1, GTK_CSS_DIRECTION_ALTERNATE_REVERSE, "alternate-reverse" }
}; };
GtkCssValue * GtkCssValue *
@@ -760,6 +770,7 @@ _gtk_css_direction_value_get (const GtkCssValue *value)
/* GtkCssPlayState */ /* GtkCssPlayState */
static const GtkCssValueClass GTK_CSS_VALUE_PLAY_STATE = { static const GtkCssValueClass GTK_CSS_VALUE_PLAY_STATE = {
"GtkCssPlayStateValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -770,8 +781,8 @@ static const GtkCssValueClass GTK_CSS_VALUE_PLAY_STATE = {
}; };
static GtkCssValue play_state_values[] = { static GtkCssValue play_state_values[] = {
{ &GTK_CSS_VALUE_PLAY_STATE, 1, GTK_CSS_PLAY_STATE_RUNNING, "running" }, { &GTK_CSS_VALUE_PLAY_STATE, 1, 1, GTK_CSS_PLAY_STATE_RUNNING, "running" },
{ &GTK_CSS_VALUE_PLAY_STATE, 1, GTK_CSS_PLAY_STATE_PAUSED, "paused" } { &GTK_CSS_VALUE_PLAY_STATE, 1, 1, GTK_CSS_PLAY_STATE_PAUSED, "paused" }
}; };
GtkCssValue * GtkCssValue *
@@ -815,6 +826,7 @@ _gtk_css_play_state_value_get (const GtkCssValue *value)
/* GtkCssFillMode */ /* GtkCssFillMode */
static const GtkCssValueClass GTK_CSS_VALUE_FILL_MODE = { static const GtkCssValueClass GTK_CSS_VALUE_FILL_MODE = {
"GtkCssFillModeValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -825,10 +837,10 @@ static const GtkCssValueClass GTK_CSS_VALUE_FILL_MODE = {
}; };
static GtkCssValue fill_mode_values[] = { static GtkCssValue fill_mode_values[] = {
{ &GTK_CSS_VALUE_FILL_MODE, 1, GTK_CSS_FILL_NONE, "none" }, { &GTK_CSS_VALUE_FILL_MODE, 1, 1, GTK_CSS_FILL_NONE, "none" },
{ &GTK_CSS_VALUE_FILL_MODE, 1, GTK_CSS_FILL_FORWARDS, "forwards" }, { &GTK_CSS_VALUE_FILL_MODE, 1, 1, GTK_CSS_FILL_FORWARDS, "forwards" },
{ &GTK_CSS_VALUE_FILL_MODE, 1, GTK_CSS_FILL_BACKWARDS, "backwards" }, { &GTK_CSS_VALUE_FILL_MODE, 1, 1, GTK_CSS_FILL_BACKWARDS, "backwards" },
{ &GTK_CSS_VALUE_FILL_MODE, 1, GTK_CSS_FILL_BOTH, "both" } { &GTK_CSS_VALUE_FILL_MODE, 1, 1, GTK_CSS_FILL_BOTH, "both" }
}; };
GtkCssValue * GtkCssValue *
@@ -872,6 +884,7 @@ _gtk_css_fill_mode_value_get (const GtkCssValue *value)
/* GtkCssIconStyle */ /* GtkCssIconStyle */
static const GtkCssValueClass GTK_CSS_VALUE_ICON_STYLE = { static const GtkCssValueClass GTK_CSS_VALUE_ICON_STYLE = {
"GtkCssIconStyleValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -882,9 +895,9 @@ static const GtkCssValueClass GTK_CSS_VALUE_ICON_STYLE = {
}; };
static GtkCssValue icon_style_values[] = { static GtkCssValue icon_style_values[] = {
{ &GTK_CSS_VALUE_ICON_STYLE, 1, GTK_CSS_ICON_STYLE_REQUESTED, "requested" }, { &GTK_CSS_VALUE_ICON_STYLE, 1, 1, GTK_CSS_ICON_STYLE_REQUESTED, "requested" },
{ &GTK_CSS_VALUE_ICON_STYLE, 1, GTK_CSS_ICON_STYLE_REGULAR, "regular" }, { &GTK_CSS_VALUE_ICON_STYLE, 1, 1, GTK_CSS_ICON_STYLE_REGULAR, "regular" },
{ &GTK_CSS_VALUE_ICON_STYLE, 1, GTK_CSS_ICON_STYLE_SYMBOLIC, "symbolic" } { &GTK_CSS_VALUE_ICON_STYLE, 1, 1, GTK_CSS_ICON_STYLE_SYMBOLIC, "symbolic" }
}; };
GtkCssValue * GtkCssValue *
@@ -928,6 +941,7 @@ _gtk_css_icon_style_value_get (const GtkCssValue *value)
/* GtkCssFontKerning */ /* GtkCssFontKerning */
static const GtkCssValueClass GTK_CSS_VALUE_FONT_KERNING = { static const GtkCssValueClass GTK_CSS_VALUE_FONT_KERNING = {
"GtkCssFontKerningValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -938,9 +952,9 @@ static const GtkCssValueClass GTK_CSS_VALUE_FONT_KERNING = {
}; };
static GtkCssValue font_kerning_values[] = { static GtkCssValue font_kerning_values[] = {
{ &GTK_CSS_VALUE_FONT_KERNING, 1, GTK_CSS_FONT_KERNING_AUTO, "auto" }, { &GTK_CSS_VALUE_FONT_KERNING, 1, 1, GTK_CSS_FONT_KERNING_AUTO, "auto" },
{ &GTK_CSS_VALUE_FONT_KERNING, 1, GTK_CSS_FONT_KERNING_NORMAL, "normal" }, { &GTK_CSS_VALUE_FONT_KERNING, 1, 1, GTK_CSS_FONT_KERNING_NORMAL, "normal" },
{ &GTK_CSS_VALUE_FONT_KERNING, 1, GTK_CSS_FONT_KERNING_NONE, "none" } { &GTK_CSS_VALUE_FONT_KERNING, 1, 1, GTK_CSS_FONT_KERNING_NONE, "none" }
}; };
GtkCssValue * GtkCssValue *
@@ -984,6 +998,7 @@ _gtk_css_font_kerning_value_get (const GtkCssValue *value)
/* GtkCssFontVariantPos */ /* GtkCssFontVariantPos */
static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_POSITION = { static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_POSITION = {
"GtkCssFontVariationPositionValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -994,9 +1009,9 @@ static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_POSITION = {
}; };
static GtkCssValue font_variant_position_values[] = { static GtkCssValue font_variant_position_values[] = {
{ &GTK_CSS_VALUE_FONT_VARIANT_POSITION, 1, GTK_CSS_FONT_VARIANT_POSITION_NORMAL, "normal" }, { &GTK_CSS_VALUE_FONT_VARIANT_POSITION, 1, 1, GTK_CSS_FONT_VARIANT_POSITION_NORMAL, "normal" },
{ &GTK_CSS_VALUE_FONT_VARIANT_POSITION, 1, GTK_CSS_FONT_VARIANT_POSITION_SUB, "sub" }, { &GTK_CSS_VALUE_FONT_VARIANT_POSITION, 1, 1, GTK_CSS_FONT_VARIANT_POSITION_SUB, "sub" },
{ &GTK_CSS_VALUE_FONT_VARIANT_POSITION, 1, GTK_CSS_FONT_VARIANT_POSITION_SUPER, "super" } { &GTK_CSS_VALUE_FONT_VARIANT_POSITION, 1, 1, GTK_CSS_FONT_VARIANT_POSITION_SUPER, "super" }
}; };
GtkCssValue * GtkCssValue *
@@ -1040,6 +1055,7 @@ _gtk_css_font_variant_position_value_get (const GtkCssValue *value)
/* GtkCssFontVariantCaps */ /* GtkCssFontVariantCaps */
static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_CAPS = { static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_CAPS = {
"GtkCssFontVariantCapsValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -1050,13 +1066,13 @@ static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_CAPS = {
}; };
static GtkCssValue font_variant_caps_values[] = { static GtkCssValue font_variant_caps_values[] = {
{ &GTK_CSS_VALUE_FONT_VARIANT_CAPS, 1, GTK_CSS_FONT_VARIANT_CAPS_NORMAL, "normal" }, { &GTK_CSS_VALUE_FONT_VARIANT_CAPS, 1, 1, GTK_CSS_FONT_VARIANT_CAPS_NORMAL, "normal" },
{ &GTK_CSS_VALUE_FONT_VARIANT_CAPS, 1, GTK_CSS_FONT_VARIANT_CAPS_SMALL_CAPS, "small-caps" }, { &GTK_CSS_VALUE_FONT_VARIANT_CAPS, 1, 1, GTK_CSS_FONT_VARIANT_CAPS_SMALL_CAPS, "small-caps" },
{ &GTK_CSS_VALUE_FONT_VARIANT_CAPS, 1, GTK_CSS_FONT_VARIANT_CAPS_ALL_SMALL_CAPS, "all-small-caps" }, { &GTK_CSS_VALUE_FONT_VARIANT_CAPS, 1, 1, GTK_CSS_FONT_VARIANT_CAPS_ALL_SMALL_CAPS, "all-small-caps" },
{ &GTK_CSS_VALUE_FONT_VARIANT_CAPS, 1, GTK_CSS_FONT_VARIANT_CAPS_PETITE_CAPS, "petite-caps" }, { &GTK_CSS_VALUE_FONT_VARIANT_CAPS, 1, 1, GTK_CSS_FONT_VARIANT_CAPS_PETITE_CAPS, "petite-caps" },
{ &GTK_CSS_VALUE_FONT_VARIANT_CAPS, 1, GTK_CSS_FONT_VARIANT_CAPS_ALL_PETITE_CAPS, "all-petite-caps" }, { &GTK_CSS_VALUE_FONT_VARIANT_CAPS, 1, 1, GTK_CSS_FONT_VARIANT_CAPS_ALL_PETITE_CAPS, "all-petite-caps" },
{ &GTK_CSS_VALUE_FONT_VARIANT_CAPS, 1, GTK_CSS_FONT_VARIANT_CAPS_UNICASE, "unicase" }, { &GTK_CSS_VALUE_FONT_VARIANT_CAPS, 1, 1, GTK_CSS_FONT_VARIANT_CAPS_UNICASE, "unicase" },
{ &GTK_CSS_VALUE_FONT_VARIANT_CAPS, 1, GTK_CSS_FONT_VARIANT_CAPS_TITLING_CAPS, "titling-caps" } { &GTK_CSS_VALUE_FONT_VARIANT_CAPS, 1, 1, GTK_CSS_FONT_VARIANT_CAPS_TITLING_CAPS, "titling-caps" }
}; };
GtkCssValue * GtkCssValue *
@@ -1100,6 +1116,7 @@ _gtk_css_font_variant_caps_value_get (const GtkCssValue *value)
/* GtkCssFontVariantAlternate */ /* GtkCssFontVariantAlternate */
static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_ALTERNATE = { static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_ALTERNATE = {
"GtkCssFontVariantAlternateValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_enum_equal, gtk_css_value_enum_equal,
@@ -1110,8 +1127,8 @@ static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_ALTERNATE = {
}; };
static GtkCssValue font_variant_alternate_values[] = { static GtkCssValue font_variant_alternate_values[] = {
{ &GTK_CSS_VALUE_FONT_VARIANT_ALTERNATE, 1, GTK_CSS_FONT_VARIANT_ALTERNATE_NORMAL, "normal" }, { &GTK_CSS_VALUE_FONT_VARIANT_ALTERNATE, 1, 1, GTK_CSS_FONT_VARIANT_ALTERNATE_NORMAL, "normal" },
{ &GTK_CSS_VALUE_FONT_VARIANT_ALTERNATE, 1, GTK_CSS_FONT_VARIANT_ALTERNATE_HISTORICAL_FORMS, "historical-forms" } { &GTK_CSS_VALUE_FONT_VARIANT_ALTERNATE, 1, 1, GTK_CSS_FONT_VARIANT_ALTERNATE_HISTORICAL_FORMS, "historical-forms" }
}; };
GtkCssValue * GtkCssValue *
@@ -1213,6 +1230,7 @@ gtk_css_font_variant_ligature_value_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_LIGATURE = { static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_LIGATURE = {
"GtkCssFontVariantLigatureValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_flags_equal, gtk_css_value_flags_equal,
@@ -1319,6 +1337,7 @@ gtk_css_font_variant_numeric_value_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_NUMERIC = { static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_NUMERIC = {
"GtkCssFontVariantNumbericValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_flags_equal, gtk_css_value_flags_equal,
@@ -1422,6 +1441,7 @@ gtk_css_font_variant_east_asian_value_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_EAST_ASIAN = { static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT_EAST_ASIAN = {
"GtkCssFontVariantEastAsianValue",
gtk_css_value_enum_free, gtk_css_value_enum_free,
gtk_css_value_enum_compute, gtk_css_value_enum_compute,
gtk_css_value_flags_equal, gtk_css_value_flags_equal,
+14 -2
View File
@@ -693,6 +693,7 @@ gtk_css_value_filter_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_FILTER = { static const GtkCssValueClass GTK_CSS_VALUE_FILTER = {
"GtkCssFilterValue",
gtk_css_value_filter_free, gtk_css_value_filter_free,
gtk_css_value_filter_compute, gtk_css_value_filter_compute,
gtk_css_value_filter_equal, gtk_css_value_filter_equal,
@@ -702,7 +703,7 @@ static const GtkCssValueClass GTK_CSS_VALUE_FILTER = {
gtk_css_value_filter_print gtk_css_value_filter_print
}; };
static GtkCssValue none_singleton = { &GTK_CSS_VALUE_FILTER, 1, 0, { { GTK_CSS_FILTER_NONE } } }; static GtkCssValue none_singleton = { &GTK_CSS_VALUE_FILTER, 1, 1, 0, { { GTK_CSS_FILTER_NONE } } };
static GtkCssValue * static GtkCssValue *
gtk_css_filter_value_alloc (guint n_filters) gtk_css_filter_value_alloc (guint n_filters)
@@ -777,6 +778,7 @@ gtk_css_filter_value_parse (GtkCssParser *parser)
GtkCssValue *value; GtkCssValue *value;
GArray *array; GArray *array;
guint i; guint i;
gboolean is_static = TRUE;
if (gtk_css_parser_try_ident (parser, "none")) if (gtk_css_parser_try_ident (parser, "none"))
return gtk_css_filter_value_new_none (); return gtk_css_filter_value_new_none ();
@@ -793,6 +795,7 @@ gtk_css_filter_value_parse (GtkCssParser *parser)
goto fail; goto fail;
filter.type = GTK_CSS_FILTER_BLUR; filter.type = GTK_CSS_FILTER_BLUR;
is_static = is_static && filter.blur.value->is_static;
} }
else if (gtk_css_parser_has_function (parser, "brightness")) else if (gtk_css_parser_has_function (parser, "brightness"))
{ {
@@ -800,6 +803,7 @@ gtk_css_filter_value_parse (GtkCssParser *parser)
goto fail; goto fail;
filter.type = GTK_CSS_FILTER_BRIGHTNESS; filter.type = GTK_CSS_FILTER_BRIGHTNESS;
is_static = is_static && filter.brightness.value->is_static;
} }
else if (gtk_css_parser_has_function (parser, "contrast")) else if (gtk_css_parser_has_function (parser, "contrast"))
{ {
@@ -807,6 +811,7 @@ gtk_css_filter_value_parse (GtkCssParser *parser)
goto fail; goto fail;
filter.type = GTK_CSS_FILTER_CONTRAST; filter.type = GTK_CSS_FILTER_CONTRAST;
is_static = is_static && filter.contrast.value->is_static;
} }
else if (gtk_css_parser_has_function (parser, "grayscale")) else if (gtk_css_parser_has_function (parser, "grayscale"))
{ {
@@ -814,13 +819,15 @@ gtk_css_filter_value_parse (GtkCssParser *parser)
goto fail; goto fail;
filter.type = GTK_CSS_FILTER_GRAYSCALE; filter.type = GTK_CSS_FILTER_GRAYSCALE;
is_static = is_static && filter.grayscale.value->is_static;
} }
else if (gtk_css_parser_has_function (parser, "hue-rotate")) else if (gtk_css_parser_has_function (parser, "hue-rotate"))
{ {
if (!gtk_css_parser_consume_function (parser, 1, 1, gtk_css_filter_parse_angle, &filter.blur.value)) if (!gtk_css_parser_consume_function (parser, 1, 1, gtk_css_filter_parse_angle, &filter.hue_rotate.value))
goto fail; goto fail;
filter.type = GTK_CSS_FILTER_HUE_ROTATE; filter.type = GTK_CSS_FILTER_HUE_ROTATE;
is_static = is_static && filter.hue_rotate.value->is_static;
} }
else if (gtk_css_parser_has_function (parser, "invert")) else if (gtk_css_parser_has_function (parser, "invert"))
{ {
@@ -828,6 +835,7 @@ gtk_css_filter_value_parse (GtkCssParser *parser)
goto fail; goto fail;
filter.type = GTK_CSS_FILTER_INVERT; filter.type = GTK_CSS_FILTER_INVERT;
is_static = is_static && filter.invert.value->is_static;
} }
else if (gtk_css_parser_has_function (parser, "opacity")) else if (gtk_css_parser_has_function (parser, "opacity"))
{ {
@@ -835,6 +843,7 @@ gtk_css_filter_value_parse (GtkCssParser *parser)
goto fail; goto fail;
filter.type = GTK_CSS_FILTER_OPACITY; filter.type = GTK_CSS_FILTER_OPACITY;
is_static = is_static && filter.opacity.value->is_static;
} }
else if (gtk_css_parser_has_function (parser, "saturate")) else if (gtk_css_parser_has_function (parser, "saturate"))
{ {
@@ -842,6 +851,7 @@ gtk_css_filter_value_parse (GtkCssParser *parser)
goto fail; goto fail;
filter.type = GTK_CSS_FILTER_SATURATE; filter.type = GTK_CSS_FILTER_SATURATE;
is_static = is_static && filter.saturate.value->is_static;
} }
else if (gtk_css_parser_has_function (parser, "sepia")) else if (gtk_css_parser_has_function (parser, "sepia"))
{ {
@@ -849,6 +859,7 @@ gtk_css_filter_value_parse (GtkCssParser *parser)
goto fail; goto fail;
filter.type = GTK_CSS_FILTER_SEPIA; filter.type = GTK_CSS_FILTER_SEPIA;
is_static = is_static && filter.sepia.value->is_static;
} }
else else
{ {
@@ -865,6 +876,7 @@ gtk_css_filter_value_parse (GtkCssParser *parser)
} }
value = gtk_css_filter_value_alloc (array->len); value = gtk_css_filter_value_alloc (array->len);
value->is_static = is_static;
memcpy (value->filters, array->data, sizeof (GtkCssFilter) * array->len); memcpy (value->filters, array->data, sizeof (GtkCssFilter) * array->len);
g_array_free (array, TRUE); g_array_free (array, TRUE);
+2 -23
View File
@@ -57,29 +57,7 @@ gtk_css_value_font_features_compute (GtkCssValue *specified,
GtkCssStyle *style, GtkCssStyle *style,
GtkCssStyle *parent_style) GtkCssStyle *parent_style)
{ {
GHashTableIter iter; return _gtk_css_value_ref (specified);
gpointer name, val;
GtkCssValue *computed_val;
GtkCssValue *result;
gboolean changes = FALSE;
result = gtk_css_font_features_value_new_empty ();
g_hash_table_iter_init (&iter, specified->features);
while (g_hash_table_iter_next (&iter, &name, &val))
{
computed_val = _gtk_css_value_compute (val, property_id, provider, style, parent_style);
changes |= computed_val != val;
gtk_css_font_features_value_add_feature (result, name, computed_val);
}
if (!changes)
{
_gtk_css_value_unref (result);
result = _gtk_css_value_ref (specified);
}
return result;
} }
static gboolean static gboolean
@@ -177,6 +155,7 @@ gtk_css_value_font_features_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_FONT_FEATURES = { static const GtkCssValueClass GTK_CSS_VALUE_FONT_FEATURES = {
"GtkCssFontFeaturesValue",
gtk_css_value_font_features_free, gtk_css_value_font_features_free,
gtk_css_value_font_features_compute, gtk_css_value_font_features_compute,
gtk_css_value_font_features_equal, gtk_css_value_font_features_equal,
+2 -23
View File
@@ -56,29 +56,7 @@ gtk_css_value_font_variations_compute (GtkCssValue *specified,
GtkCssStyle *style, GtkCssStyle *style,
GtkCssStyle *parent_style) GtkCssStyle *parent_style)
{ {
GHashTableIter iter; return _gtk_css_value_ref (specified);
gpointer name, coord;
GtkCssValue *computed_coord;
GtkCssValue *result;
gboolean changes = FALSE;
result = gtk_css_font_variations_value_new_empty ();
g_hash_table_iter_init (&iter, specified->axes);
while (g_hash_table_iter_next (&iter, &name, &coord))
{
computed_coord = _gtk_css_value_compute (coord, property_id, provider, style, parent_style);
changes |= computed_coord != coord;
gtk_css_font_variations_value_add_axis (result, name, computed_coord);
}
if (!changes)
{
_gtk_css_value_unref (result);
result = _gtk_css_value_ref (specified);
}
return result;
} }
static gboolean static gboolean
@@ -176,6 +154,7 @@ gtk_css_value_font_variations_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIATIONS = { static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIATIONS = {
"GtkCssFontVariationsValue",
gtk_css_value_font_variations_free, gtk_css_value_font_variations_free,
gtk_css_value_font_variations_compute, gtk_css_value_font_variations_compute,
gtk_css_value_font_variations_equal, gtk_css_value_font_variations_equal,
+2 -1
View File
@@ -111,6 +111,7 @@ gtk_css_value_icon_theme_print (const GtkCssValue *icon_theme,
} }
static const GtkCssValueClass GTK_CSS_VALUE_ICON_THEME = { static const GtkCssValueClass GTK_CSS_VALUE_ICON_THEME = {
"GtkCssIconThemeValue",
gtk_css_value_icon_theme_free, gtk_css_value_icon_theme_free,
gtk_css_value_icon_theme_compute, gtk_css_value_icon_theme_compute,
gtk_css_value_icon_theme_equal, gtk_css_value_icon_theme_equal,
@@ -120,7 +121,7 @@ static const GtkCssValueClass GTK_CSS_VALUE_ICON_THEME = {
gtk_css_value_icon_theme_print gtk_css_value_icon_theme_print
}; };
static GtkCssValue default_icon_theme_value = { &GTK_CSS_VALUE_ICON_THEME, 1, NULL, 0 }; static GtkCssValue default_icon_theme_value = { &GTK_CSS_VALUE_ICON_THEME, 1, 0, NULL, 0 };
GtkCssValue * GtkCssValue *
gtk_css_icon_theme_value_new (GtkIconTheme *icontheme) gtk_css_icon_theme_value_new (GtkIconTheme *icontheme)
+3 -3
View File
@@ -23,7 +23,7 @@
#include "gtkcssenumvalueprivate.h" #include "gtkcssenumvalueprivate.h"
#include "gtkcssnumbervalueprivate.h" #include "gtkcssnumbervalueprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssstyleprivate.h" #include "gtkcssstyleprivate.h"
#include "gtkhslaprivate.h" #include "gtkhslaprivate.h"
@@ -484,8 +484,8 @@ gtk_css_image_builtin_compute (GtkCssImage *image,
result = g_object_new (GTK_TYPE_CSS_IMAGE_BUILTIN, NULL); result = g_object_new (GTK_TYPE_CSS_IMAGE_BUILTIN, NULL);
result->fg_color = *_gtk_css_rgba_value_get_rgba (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_COLOR)); result->fg_color = *gtk_css_color_value_get_rgba (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_COLOR));
result->bg_color = *_gtk_css_rgba_value_get_rgba (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BACKGROUND_COLOR)); result->bg_color = *gtk_css_color_value_get_rgba (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BACKGROUND_COLOR));
return GTK_CSS_IMAGE (result); return GTK_CSS_IMAGE (result);
} }
+2 -2
View File
@@ -21,7 +21,7 @@
#include "gtkcssimagefallbackprivate.h" #include "gtkcssimagefallbackprivate.h"
#include "gtkcsscolorvalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkstyleproviderprivate.h" #include "gtkstyleproviderprivate.h"
@@ -74,7 +74,7 @@ gtk_css_image_fallback_snapshot (GtkCssImage *image,
const GdkRGBA *color; const GdkRGBA *color;
if (fallback->color) if (fallback->color)
color = _gtk_css_rgba_value_get_rgba (fallback->color); color = gtk_css_color_value_get_rgba (fallback->color);
else else
color = &red; color = &red;
+3 -3
View File
@@ -25,7 +25,7 @@
#include "gtkcsscolorvalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssnumbervalueprivate.h" #include "gtkcssnumbervalueprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssprovider.h" #include "gtkcssprovider.h"
G_DEFINE_TYPE (GtkCssImageLinear, _gtk_css_image_linear, GTK_TYPE_CSS_IMAGE) G_DEFINE_TYPE (GtkCssImageLinear, _gtk_css_image_linear, GTK_TYPE_CSS_IMAGE)
@@ -194,7 +194,7 @@ gtk_css_image_linear_snapshot (GtkCssImage *image,
linear->stops->len - 1); linear->stops->len - 1);
gtk_snapshot_append_color (snapshot, gtk_snapshot_append_color (snapshot,
_gtk_css_rgba_value_get_rgba (stop->color), gtk_css_color_value_get_rgba (stop->color),
&GRAPHENE_RECT_INIT (0, 0, width, height)); &GRAPHENE_RECT_INIT (0, 0, width, height));
return; return;
} }
@@ -240,7 +240,7 @@ gtk_css_image_linear_snapshot (GtkCssImage *image,
offset += step; offset += step;
stops[last].offset = (offset - start) / (end - start); stops[last].offset = (offset - start) / (end - start);
stops[last].color = *_gtk_css_rgba_value_get_rgba (stop->color); stops[last].color = *gtk_css_color_value_get_rgba (stop->color);
} }
offset = pos; offset = pos;
+2 -2
View File
@@ -26,7 +26,7 @@
#include "gtkcsscolorvalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssnumbervalueprivate.h" #include "gtkcssnumbervalueprivate.h"
#include "gtkcsspositionvalueprivate.h" #include "gtkcsspositionvalueprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssprovider.h" #include "gtkcssprovider.h"
G_DEFINE_TYPE (GtkCssImageRadial, _gtk_css_image_radial, GTK_TYPE_CSS_IMAGE) G_DEFINE_TYPE (GtkCssImageRadial, _gtk_css_image_radial, GTK_TYPE_CSS_IMAGE)
@@ -208,7 +208,7 @@ gtk_css_image_radial_snapshot (GtkCssImage *image,
stop = &g_array_index (radial->stops, GtkCssImageRadialColorStop, last); stop = &g_array_index (radial->stops, GtkCssImageRadialColorStop, last);
rgba = _gtk_css_rgba_value_get_rgba (stop->color); rgba = gtk_css_color_value_get_rgba (stop->color);
offset += step; offset += step;
cairo_pattern_add_color_stop_rgba (pattern, cairo_pattern_add_color_stop_rgba (pattern,
+2 -2
View File
@@ -22,7 +22,7 @@
#include "gtkcssimagerecolorprivate.h" #include "gtkcssimagerecolorprivate.h"
#include "gtkcssimageprivate.h" #include "gtkcssimageprivate.h"
#include "gtkcsspalettevalueprivate.h" #include "gtkcsspalettevalueprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkiconthemeprivate.h" #include "gtkiconthemeprivate.h"
#include "gdkpixbufutilsprivate.h" #include "gdkpixbufutilsprivate.h"
@@ -74,7 +74,7 @@ lookup_symbolic_colors (GtkCssStyle *style,
const GdkRGBA *lookup; const GdkRGBA *lookup;
color = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_COLOR); color = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_COLOR);
*color_out = *_gtk_css_rgba_value_get_rgba (color); *color_out = *gtk_css_color_value_get_rgba (color);
lookup = gtk_css_palette_value_get_color (palette, "success"); lookup = gtk_css_palette_value_get_color (palette, "success");
if (lookup) if (lookup)
+2 -1
View File
@@ -123,6 +123,7 @@ gtk_css_value_image_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_IMAGE = { static const GtkCssValueClass GTK_CSS_VALUE_IMAGE = {
"GtkCssImageValue",
gtk_css_value_image_free, gtk_css_value_image_free,
gtk_css_value_image_compute, gtk_css_value_image_compute,
gtk_css_value_image_equal, gtk_css_value_image_equal,
@@ -135,7 +136,7 @@ static const GtkCssValueClass GTK_CSS_VALUE_IMAGE = {
GtkCssValue * GtkCssValue *
_gtk_css_image_value_new (GtkCssImage *image) _gtk_css_image_value_new (GtkCssImage *image)
{ {
static GtkCssValue none_singleton = { &GTK_CSS_VALUE_IMAGE, 1, NULL }; static GtkCssValue none_singleton = { &GTK_CSS_VALUE_IMAGE, 1, 1, NULL };
GtkCssValue *value; GtkCssValue *value;
if (image == NULL) if (image == NULL)
+1
View File
@@ -78,6 +78,7 @@ gtk_css_value_inherit_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_INHERIT = { static const GtkCssValueClass GTK_CSS_VALUE_INHERIT = {
"GtkCssInheritValue",
gtk_css_value_inherit_free, gtk_css_value_inherit_free,
gtk_css_value_inherit_compute, gtk_css_value_inherit_compute,
gtk_css_value_inherit_equal, gtk_css_value_inherit_equal,
+1
View File
@@ -102,6 +102,7 @@ gtk_css_value_initial_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_INITIAL = { static const GtkCssValueClass GTK_CSS_VALUE_INITIAL = {
"GtkCssInitialValue",
gtk_css_value_initial_free, gtk_css_value_initial_free,
gtk_css_value_initial_compute, gtk_css_value_initial_compute,
gtk_css_value_initial_equal, gtk_css_value_initial_equal,
+9
View File
@@ -115,6 +115,15 @@ gtk_css_number_value_transition (GtkCssValue *start,
{ {
GtkCssValue *result, *mul_start, *mul_end; GtkCssValue *result, *mul_start, *mul_end;
if (progress == 0)
return _gtk_css_value_ref (start);
if (progress == 1)
return _gtk_css_value_ref (end);
if (start == end)
return _gtk_css_value_ref (start);
mul_start = gtk_css_number_value_multiply (start, 1 - progress); mul_start = gtk_css_number_value_multiply (start, 1 - progress);
mul_end = gtk_css_number_value_multiply (end, progress); mul_end = gtk_css_number_value_multiply (end, progress);
+2 -1
View File
@@ -32,7 +32,8 @@ typedef enum /*< skip >*/ {
GTK_CSS_PARSE_NUMBER = (1 << 2), GTK_CSS_PARSE_NUMBER = (1 << 2),
GTK_CSS_PARSE_LENGTH = (1 << 3), GTK_CSS_PARSE_LENGTH = (1 << 3),
GTK_CSS_PARSE_ANGLE = (1 << 4), GTK_CSS_PARSE_ANGLE = (1 << 4),
GTK_CSS_PARSE_TIME = (1 << 5) GTK_CSS_PARSE_TIME = (1 << 5),
GTK_CSS_PARSE_NON_STATIC = (1 << 6)
} GtkCssNumberParseFlags; } GtkCssNumberParseFlags;
typedef struct _GtkCssNumberValueClass GtkCssNumberValueClass; typedef struct _GtkCssNumberValueClass GtkCssNumberValueClass;
+3 -2
View File
@@ -21,7 +21,7 @@
#include "gtkcssiconthemevalueprivate.h" #include "gtkcssiconthemevalueprivate.h"
#include "gtkcsscolorvalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkprivate.h" #include "gtkprivate.h"
struct _GtkCssValue { struct _GtkCssValue {
@@ -244,6 +244,7 @@ gtk_css_value_palette_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_PALETTE = { static const GtkCssValueClass GTK_CSS_VALUE_PALETTE = {
"GtkCssPaletteValue",
gtk_css_value_palette_free, gtk_css_value_palette_free,
gtk_css_value_palette_compute, gtk_css_value_palette_compute,
gtk_css_value_palette_equal, gtk_css_value_palette_equal,
@@ -348,7 +349,7 @@ gtk_css_palette_value_get_color (GtkCssValue *value,
for (i = 0; i < value->n_colors; i ++) for (i = 0; i < value->n_colors; i ++)
{ {
if (strcmp (value->color_names[i], name) == 0) if (strcmp (value->color_names[i], name) == 0)
return _gtk_css_rgba_value_get_rgba (value->color_values[i]); return gtk_css_color_value_get_rgba (value->color_values[i]);
} }
return NULL; return NULL;
+2
View File
@@ -150,6 +150,7 @@ done:
} }
static const GtkCssValueClass GTK_CSS_VALUE_POSITION = { static const GtkCssValueClass GTK_CSS_VALUE_POSITION = {
"GtkCssPositionValue",
gtk_css_value_position_free, gtk_css_value_position_free,
gtk_css_value_position_compute, gtk_css_value_position_compute,
gtk_css_value_position_equal, gtk_css_value_position_equal,
@@ -166,6 +167,7 @@ _gtk_css_position_value_new (GtkCssValue *x,
GtkCssValue *result; GtkCssValue *result;
result = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_POSITION); result = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_POSITION);
result->is_static = x->is_static && y->is_static;
result->x = x; result->x = x;
result->y = y; result->y = y;
+2
View File
@@ -113,6 +113,7 @@ gtk_css_value_border_repeat_print (const GtkCssValue *repeat,
} }
static const GtkCssValueClass GTK_CSS_VALUE_BACKGROUND_REPEAT = { static const GtkCssValueClass GTK_CSS_VALUE_BACKGROUND_REPEAT = {
"GtkCssBackgroundRepeatValue",
gtk_css_value_repeat_free, gtk_css_value_repeat_free,
gtk_css_value_repeat_compute, gtk_css_value_repeat_compute,
gtk_css_value_repeat_equal, gtk_css_value_repeat_equal,
@@ -123,6 +124,7 @@ static const GtkCssValueClass GTK_CSS_VALUE_BACKGROUND_REPEAT = {
}; };
static const GtkCssValueClass GTK_CSS_VALUE_BORDER_REPEAT = { static const GtkCssValueClass GTK_CSS_VALUE_BORDER_REPEAT = {
"GtkCssBorderRepeatValue",
gtk_css_value_repeat_free, gtk_css_value_repeat_free,
gtk_css_value_repeat_compute, gtk_css_value_repeat_compute,
gtk_css_value_repeat_equal, gtk_css_value_repeat_equal,
+10 -3
View File
@@ -98,6 +98,7 @@ gtk_css_value_rgba_print (const GtkCssValue *rgba,
} }
static const GtkCssValueClass GTK_CSS_VALUE_RGBA = { static const GtkCssValueClass GTK_CSS_VALUE_RGBA = {
"GtkCssRgbaValue",
gtk_css_value_rgba_free, gtk_css_value_rgba_free,
gtk_css_value_rgba_compute, gtk_css_value_rgba_compute,
gtk_css_value_rgba_equal, gtk_css_value_rgba_equal,
@@ -107,9 +108,10 @@ static const GtkCssValueClass GTK_CSS_VALUE_RGBA = {
gtk_css_value_rgba_print gtk_css_value_rgba_print
}; };
static GtkCssValue transparent_black_singleton = { &GTK_CSS_VALUE_RGBA, 1, { 0, 0, 0, 0 }}; static GtkCssValue transparent_black_singleton = { &GTK_CSS_VALUE_RGBA, 1, 1, { 0, 0, 0, 0 }};
static GtkCssValue transparent_white_singleton = { &GTK_CSS_VALUE_RGBA, 1, { 1, 1, 1, 0 }}; static GtkCssValue transparent_white_singleton = { &GTK_CSS_VALUE_RGBA, 1, 1, { 1, 1, 1, 0 }};
static GtkCssValue opaque_white_singleton = { &GTK_CSS_VALUE_RGBA, 1, { 1, 1, 1, 1 }}; static GtkCssValue opaque_black_singleton = { &GTK_CSS_VALUE_RGBA, 1, 1, { 0, 0, 0, 1 }};
static GtkCssValue opaque_white_singleton = { &GTK_CSS_VALUE_RGBA, 1, 1, { 1, 1, 1, 1 }};
GtkCssValue * GtkCssValue *
_gtk_css_rgba_value_new_from_rgba (const GdkRGBA *rgba) _gtk_css_rgba_value_new_from_rgba (const GdkRGBA *rgba)
@@ -136,6 +138,11 @@ _gtk_css_rgba_value_new_from_rgba (const GdkRGBA *rgba)
rgba->green == 1 && rgba->green == 1 &&
rgba->blue == 1) rgba->blue == 1)
return _gtk_css_value_ref (&opaque_white_singleton); return _gtk_css_value_ref (&opaque_white_singleton);
if (rgba->red == 0 &&
rgba->green == 0 &&
rgba->blue == 0)
return _gtk_css_value_ref (&opaque_black_singleton);
} }
value = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_RGBA); value = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_RGBA);
+72 -5
View File
@@ -200,6 +200,7 @@ gtk_css_value_shadows_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_SHADOWS = { static const GtkCssValueClass GTK_CSS_VALUE_SHADOWS = {
"GtkCssShadowsValue",
gtk_css_value_shadows_free, gtk_css_value_shadows_free,
gtk_css_value_shadows_compute, gtk_css_value_shadows_compute,
gtk_css_value_shadows_equal, gtk_css_value_shadows_equal,
@@ -209,7 +210,7 @@ static const GtkCssValueClass GTK_CSS_VALUE_SHADOWS = {
gtk_css_value_shadows_print gtk_css_value_shadows_print
}; };
static GtkCssValue none_singleton = { &GTK_CSS_VALUE_SHADOWS, 1, 0, { NULL } }; static GtkCssValue none_singleton = { &GTK_CSS_VALUE_SHADOWS, 1, 1, 0, { NULL } };
GtkCssValue * GtkCssValue *
_gtk_css_shadows_value_new_none (void) _gtk_css_shadows_value_new_none (void)
@@ -222,14 +223,30 @@ gtk_css_shadows_value_new (GtkCssValue **values,
guint len) guint len)
{ {
GtkCssValue *result; GtkCssValue *result;
gboolean is_static;
int i;
g_return_val_if_fail (values != NULL, NULL); g_return_val_if_fail (values != NULL, NULL);
g_return_val_if_fail (len > 0, NULL); g_return_val_if_fail (len > 0, NULL);
if (len == 1)
return values[0];
is_static = TRUE;
for (i = 0; i < len; i++)
{
if (!values[i]->is_static)
{
is_static = FALSE;
break;
}
}
result = _gtk_css_value_alloc (&GTK_CSS_VALUE_SHADOWS, sizeof (GtkCssValue) + sizeof (GtkCssValue *) * (len - 1)); result = _gtk_css_value_alloc (&GTK_CSS_VALUE_SHADOWS, sizeof (GtkCssValue) + sizeof (GtkCssValue *) * (len - 1));
result->is_static = is_static;
result->len = len; result->len = len;
memcpy (&result->values[0], values, sizeof (GtkCssValue *) * len); memcpy (&result->values[0], values, sizeof (GtkCssValue *) * len);
return result; return result;
} }
@@ -266,6 +283,9 @@ _gtk_css_shadows_value_parse (GtkCssParser *parser,
gboolean gboolean
_gtk_css_shadows_value_is_none (const GtkCssValue *shadows) _gtk_css_shadows_value_is_none (const GtkCssValue *shadows)
{ {
if (gtk_css_shadow_value_is_shadow (shadows))
return FALSE;
g_return_val_if_fail (shadows->class == &GTK_CSS_VALUE_SHADOWS, TRUE); g_return_val_if_fail (shadows->class == &GTK_CSS_VALUE_SHADOWS, TRUE);
return shadows->len == 0; return shadows->len == 0;
@@ -274,6 +294,9 @@ _gtk_css_shadows_value_is_none (const GtkCssValue *shadows)
gsize gsize
gtk_css_shadows_value_get_n_shadows (const GtkCssValue *shadows) gtk_css_shadows_value_get_n_shadows (const GtkCssValue *shadows)
{ {
if (gtk_css_shadow_value_is_shadow (shadows))
return 1;
return shadows->len; return shadows->len;
} }
@@ -283,6 +306,12 @@ gtk_css_shadows_value_get_shadows (const GtkCssValue *shadows,
{ {
guint i; guint i;
if (gtk_css_shadow_value_is_shadow (shadows))
{
gtk_css_shadow_value_get_shadow (shadows, &out_shadows[0]);
return;
}
for (i = 0; i < shadows->len; i++) for (i = 0; i < shadows->len; i++)
gtk_css_shadow_value_get_shadow (shadows->values[i], &out_shadows[i]); gtk_css_shadow_value_get_shadow (shadows->values[i], &out_shadows[i]);
} }
@@ -294,6 +323,14 @@ gtk_css_shadows_value_snapshot_outset (const GtkCssValue *shadows,
{ {
guint i; guint i;
if (gtk_css_shadow_value_is_shadow (shadows))
{
if (!_gtk_css_shadow_value_get_inset (shadows))
gtk_css_shadow_value_snapshot_outset (shadows, snapshot, border_box);
return;
}
g_return_if_fail (shadows->class == &GTK_CSS_VALUE_SHADOWS); g_return_if_fail (shadows->class == &GTK_CSS_VALUE_SHADOWS);
for (i = 0; i < shadows->len; i++) for (i = 0; i < shadows->len; i++)
@@ -312,6 +349,14 @@ gtk_css_shadows_value_snapshot_inset (const GtkCssValue *shadows,
{ {
guint i; guint i;
if (gtk_css_shadow_value_is_shadow (shadows))
{
if (_gtk_css_shadow_value_get_inset (shadows))
gtk_css_shadow_value_snapshot_outset (shadows, snapshot, padding_box);
return;
}
g_return_if_fail (shadows->class == &GTK_CSS_VALUE_SHADOWS); g_return_if_fail (shadows->class == &GTK_CSS_VALUE_SHADOWS);
for (i = 0; i < shadows->len; i++) for (i = 0; i < shadows->len; i++)
@@ -331,6 +376,15 @@ _gtk_css_shadows_value_get_extents (const GtkCssValue *shadows,
GtkBorder b = { 0 }, sb; GtkBorder b = { 0 }, sb;
const GtkCssValue *shadow; const GtkCssValue *shadow;
if (gtk_css_shadow_value_is_shadow (shadows))
{
if (!_gtk_css_shadow_value_get_inset (shadows))
gtk_css_shadow_value_get_extents (shadows, &b);
*border = b;
return;
}
g_return_if_fail (shadows->class == &GTK_CSS_VALUE_SHADOWS); g_return_if_fail (shadows->class == &GTK_CSS_VALUE_SHADOWS);
for (i = 0; i < shadows->len; i++) for (i = 0; i < shadows->len; i++)
@@ -355,9 +409,22 @@ gboolean
gtk_css_shadows_value_push_snapshot (const GtkCssValue *value, gtk_css_shadows_value_push_snapshot (const GtkCssValue *value,
GtkSnapshot *snapshot) GtkSnapshot *snapshot)
{ {
gboolean need_shadow = FALSE; gboolean need_shadow;
int i; int i;
if (gtk_css_shadow_value_is_shadow (value))
{
GskShadow shadow;
if (!gtk_css_shadow_value_is_clear (value))
return FALSE;
gtk_css_shadow_value_get_shadow (value, &shadow);
gtk_snapshot_push_shadow (snapshot, &shadow, 1);
return TRUE;
}
need_shadow = FALSE;
for (i = 0; i < value->len; i++) for (i = 0; i < value->len; i++)
{ {
if (!gtk_css_shadow_value_is_clear (value->values[i])) if (!gtk_css_shadow_value_is_clear (value->values[i]))
+20 -8
View File
@@ -23,7 +23,7 @@
#include "gtkcsscolorvalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssnumbervalueprivate.h" #include "gtkcssnumbervalueprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtksnapshotprivate.h" #include "gtksnapshotprivate.h"
#include "gtkstylecontextprivate.h" #include "gtkstylecontextprivate.h"
#include "gtkpango.h" #include "gtkpango.h"
@@ -155,6 +155,7 @@ gtk_css_value_shadow_print (const GtkCssValue *shadow,
} }
static const GtkCssValueClass GTK_CSS_VALUE_SHADOW = { static const GtkCssValueClass GTK_CSS_VALUE_SHADOW = {
"GtkCssShadowValue",
gtk_css_value_shadow_free, gtk_css_value_shadow_free,
gtk_css_value_shadow_compute, gtk_css_value_shadow_compute,
gtk_css_value_shadow_equal, gtk_css_value_shadow_equal,
@@ -176,6 +177,12 @@ gtk_css_shadow_value_new (GtkCssValue *hoffset,
retval = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_SHADOW); retval = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_SHADOW);
retval->is_static =
hoffset->is_static &&
voffset->is_static &&
radius->is_static &&
color->is_static;
retval->hoffset = hoffset; retval->hoffset = hoffset;
retval->voffset = voffset; retval->voffset = voffset;
retval->radius = radius; retval->radius = radius;
@@ -196,7 +203,7 @@ _gtk_css_shadow_value_new_for_transition (GtkCssValue *target)
_gtk_css_number_value_new (0, GTK_CSS_PX), _gtk_css_number_value_new (0, GTK_CSS_PX),
_gtk_css_number_value_new (0, GTK_CSS_PX), _gtk_css_number_value_new (0, GTK_CSS_PX),
target->inset, target->inset,
_gtk_css_rgba_value_new_transparent ()); gtk_css_color_value_new_transparent ());
} }
enum { enum {
@@ -359,7 +366,7 @@ void
gtk_css_shadow_value_get_shadow (const GtkCssValue *value, gtk_css_shadow_value_get_shadow (const GtkCssValue *value,
GskShadow *shadow) GskShadow *shadow)
{ {
shadow->color = *_gtk_css_rgba_value_get_rgba (value->color); shadow->color = *gtk_css_color_value_get_rgba (value->color);
shadow->dx = _gtk_css_number_value_get (value->hoffset, 0); shadow->dx = _gtk_css_number_value_get (value->hoffset, 0);
shadow->dy = _gtk_css_number_value_get (value->voffset, 0); shadow->dy = _gtk_css_number_value_get (value->voffset, 0);
shadow->radius = _gtk_css_number_value_get (value->radius, 0); shadow->radius = _gtk_css_number_value_get (value->radius, 0);
@@ -373,12 +380,12 @@ gtk_css_shadow_value_snapshot_outset (const GtkCssValue *shadow,
g_return_if_fail (shadow->class == &GTK_CSS_VALUE_SHADOW); g_return_if_fail (shadow->class == &GTK_CSS_VALUE_SHADOW);
/* We don't need to draw invisible shadows */ /* We don't need to draw invisible shadows */
if (gdk_rgba_is_clear (_gtk_css_rgba_value_get_rgba (shadow->color))) if (gdk_rgba_is_clear (gtk_css_color_value_get_rgba (shadow->color)))
return; return;
gtk_snapshot_append_outset_shadow (snapshot, gtk_snapshot_append_outset_shadow (snapshot,
border_box, border_box,
_gtk_css_rgba_value_get_rgba (shadow->color), gtk_css_color_value_get_rgba (shadow->color),
_gtk_css_number_value_get (shadow->hoffset, 0), _gtk_css_number_value_get (shadow->hoffset, 0),
_gtk_css_number_value_get (shadow->voffset, 0), _gtk_css_number_value_get (shadow->voffset, 0),
_gtk_css_number_value_get (shadow->spread, 0), _gtk_css_number_value_get (shadow->spread, 0),
@@ -396,14 +403,14 @@ gtk_css_shadow_value_snapshot_inset (const GtkCssValue *shadow,
g_return_if_fail (shadow->class == &GTK_CSS_VALUE_SHADOW); g_return_if_fail (shadow->class == &GTK_CSS_VALUE_SHADOW);
/* We don't need to draw invisible shadows */ /* We don't need to draw invisible shadows */
if (gdk_rgba_is_clear (_gtk_css_rgba_value_get_rgba (shadow->color))) if (gdk_rgba_is_clear (gtk_css_color_value_get_rgba (shadow->color)))
return; return;
dx = _gtk_css_number_value_get (shadow->hoffset, 0); dx = _gtk_css_number_value_get (shadow->hoffset, 0);
dy = _gtk_css_number_value_get (shadow->voffset, 0); dy = _gtk_css_number_value_get (shadow->voffset, 0);
spread = _gtk_css_number_value_get (shadow->spread, 0); spread = _gtk_css_number_value_get (shadow->spread, 0);
radius = _gtk_css_number_value_get (shadow->radius, 0); radius = _gtk_css_number_value_get (shadow->radius, 0);
color = _gtk_css_rgba_value_get_rgba (shadow->color); color = gtk_css_color_value_get_rgba (shadow->color);
/* These are trivial to do with a color node */ /* These are trivial to do with a color node */
if (spread == 0 && radius == 0 && if (spread == 0 && radius == 0 &&
@@ -469,6 +476,11 @@ gtk_css_shadow_value_snapshot_inset (const GtkCssValue *shadow,
gboolean gboolean
gtk_css_shadow_value_is_clear (const GtkCssValue *shadow) gtk_css_shadow_value_is_clear (const GtkCssValue *shadow)
{ {
return gdk_rgba_is_clear (_gtk_css_rgba_value_get_rgba (shadow->color)); return gdk_rgba_is_clear (gtk_css_color_value_get_rgba (shadow->color));
} }
gboolean
gtk_css_shadow_value_is_shadow (const GtkCssValue *maybe_shadow)
{
return maybe_shadow->class == &GTK_CSS_VALUE_SHADOW;
}
+2 -3
View File
@@ -43,9 +43,6 @@ void gtk_css_shadow_value_get_extents (const GtkCssValue
void gtk_css_shadow_value_get_shadow (const GtkCssValue *value, void gtk_css_shadow_value_get_shadow (const GtkCssValue *value,
GskShadow *shadow); GskShadow *shadow);
void _gtk_css_shadow_value_paint_icon (const GtkCssValue *shadow,
cairo_t *cr);
void gtk_css_shadow_value_snapshot_outset (const GtkCssValue *shadow, void gtk_css_shadow_value_snapshot_outset (const GtkCssValue *shadow,
GtkSnapshot *snapshot, GtkSnapshot *snapshot,
const GskRoundedRect *border_box); const GskRoundedRect *border_box);
@@ -55,6 +52,8 @@ void gtk_css_shadow_value_snapshot_inset (const GtkCssValue
gboolean gtk_css_shadow_value_is_clear (const GtkCssValue *shadow); gboolean gtk_css_shadow_value_is_clear (const GtkCssValue *shadow);
gboolean gtk_css_shadow_value_is_shadow (const GtkCssValue *maybe_shadow);
G_END_DECLS G_END_DECLS
#endif /* __GTK_SHADOW_H__ */ #endif /* __GTK_SHADOW_H__ */
+4
View File
@@ -117,6 +117,7 @@ out:
} }
static const GtkCssValueClass GTK_CSS_VALUE_STRING = { static const GtkCssValueClass GTK_CSS_VALUE_STRING = {
"GtkCssStringValue",
gtk_css_value_string_free, gtk_css_value_string_free,
gtk_css_value_string_compute, gtk_css_value_string_compute,
gtk_css_value_string_equal, gtk_css_value_string_equal,
@@ -127,6 +128,7 @@ static const GtkCssValueClass GTK_CSS_VALUE_STRING = {
}; };
static const GtkCssValueClass GTK_CSS_VALUE_IDENT = { static const GtkCssValueClass GTK_CSS_VALUE_IDENT = {
"GtkCssIdentValue",
gtk_css_value_string_free, gtk_css_value_string_free,
gtk_css_value_string_compute, gtk_css_value_string_compute,
gtk_css_value_string_equal, gtk_css_value_string_equal,
@@ -148,6 +150,7 @@ _gtk_css_string_value_new_take (char *string)
GtkCssValue *result; GtkCssValue *result;
result = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_STRING); result = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_STRING);
result->is_static = TRUE;
result->string = string; result->string = string;
return result; return result;
@@ -188,6 +191,7 @@ _gtk_css_ident_value_new_take (char *ident)
GtkCssValue *result; GtkCssValue *result;
result = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_IDENT); result = _gtk_css_value_new (GtkCssValue, &GTK_CSS_VALUE_IDENT);
result->is_static = TRUE;
result->string = ident; result->string = ident;
return result; return result;
+3 -3
View File
@@ -28,7 +28,7 @@
#include "gtkcssinheritvalueprivate.h" #include "gtkcssinheritvalueprivate.h"
#include "gtkcssinitialvalueprivate.h" #include "gtkcssinitialvalueprivate.h"
#include "gtkcssnumbervalueprivate.h" #include "gtkcssnumbervalueprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssshorthandpropertyprivate.h" #include "gtkcssshorthandpropertyprivate.h"
#include "gtkcssstringvalueprivate.h" #include "gtkcssstringvalueprivate.h"
#include "gtkcssfontfeaturesvalueprivate.h" #include "gtkcssfontfeaturesvalueprivate.h"
@@ -219,8 +219,8 @@ gtk_css_style_get_pango_attributes (GtkCssStyle *style)
/* text-decoration */ /* text-decoration */
decoration_line = _gtk_css_text_decoration_line_value_get (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_TEXT_DECORATION_LINE)); decoration_line = _gtk_css_text_decoration_line_value_get (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_TEXT_DECORATION_LINE));
decoration_style = _gtk_css_text_decoration_style_value_get (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_TEXT_DECORATION_STYLE)); decoration_style = _gtk_css_text_decoration_style_value_get (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_TEXT_DECORATION_STYLE));
color = _gtk_css_rgba_value_get_rgba (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_COLOR)); color = gtk_css_color_value_get_rgba (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_COLOR));
decoration_color = _gtk_css_rgba_value_get_rgba (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_TEXT_DECORATION_COLOR)); decoration_color = gtk_css_color_value_get_rgba (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_TEXT_DECORATION_COLOR));
switch (decoration_line) switch (decoration_line)
{ {
+15 -14
View File
@@ -105,7 +105,7 @@ gtk_css_style_property_register (const char * name,
static void static void
query_length_as_int (GtkCssStyleProperty *property, query_length_as_int (GtkCssStyleProperty *property,
const GtkCssValue *css_value, GtkCssValue *css_value,
GValue *value) GValue *value)
{ {
g_value_init (value, G_TYPE_INT); g_value_init (value, G_TYPE_INT);
@@ -114,7 +114,7 @@ query_length_as_int (GtkCssStyleProperty *property,
static void static void
query_font_size (GtkCssStyleProperty *property, query_font_size (GtkCssStyleProperty *property,
const GtkCssValue *css_value, GtkCssValue *css_value,
GValue *value) GValue *value)
{ {
g_value_init (value, G_TYPE_DOUBLE); g_value_init (value, G_TYPE_DOUBLE);
@@ -123,7 +123,7 @@ query_font_size (GtkCssStyleProperty *property,
static void static void
query_border (GtkCssStyleProperty *property, query_border (GtkCssStyleProperty *property,
const GtkCssValue *css_value, GtkCssValue *css_value,
GValue *value) GValue *value)
{ {
GtkBorder border; GtkBorder border;
@@ -147,11 +147,11 @@ color_parse (GtkCssStyleProperty *property,
static void static void
color_query (GtkCssStyleProperty *property, color_query (GtkCssStyleProperty *property,
const GtkCssValue *css_value, GtkCssValue *css_value,
GValue *value) GValue *value)
{ {
g_value_init (value, GDK_TYPE_RGBA); g_value_init (value, GDK_TYPE_RGBA);
g_value_set_boxed (value, _gtk_css_rgba_value_get_rgba (css_value)); g_value_set_boxed (value, gtk_css_color_value_get_rgba (css_value));
} }
static GtkCssValue * static GtkCssValue *
@@ -200,7 +200,7 @@ font_family_parse (GtkCssStyleProperty *property,
static void static void
font_family_query (GtkCssStyleProperty *property, font_family_query (GtkCssStyleProperty *property,
const GtkCssValue *css_value, GtkCssValue *css_value,
GValue *value) GValue *value)
{ {
GPtrArray *array; GPtrArray *array;
@@ -234,7 +234,7 @@ font_style_parse (GtkCssStyleProperty *property,
static void static void
font_style_query (GtkCssStyleProperty *property, font_style_query (GtkCssStyleProperty *property,
const GtkCssValue *css_value, GtkCssValue *css_value,
GValue *value) GValue *value)
{ {
g_value_init (value, PANGO_TYPE_STYLE); g_value_init (value, PANGO_TYPE_STYLE);
@@ -267,7 +267,7 @@ font_weight_parse (GtkCssStyleProperty *property,
static void static void
font_weight_query (GtkCssStyleProperty *property, font_weight_query (GtkCssStyleProperty *property,
const GtkCssValue *css_value, GtkCssValue *css_value,
GValue *value) GValue *value)
{ {
g_value_init (value, PANGO_TYPE_WEIGHT); g_value_init (value, PANGO_TYPE_WEIGHT);
@@ -288,7 +288,7 @@ font_stretch_parse (GtkCssStyleProperty *property,
static void static void
font_stretch_query (GtkCssStyleProperty *property, font_stretch_query (GtkCssStyleProperty *property,
const GtkCssValue *css_value, GtkCssValue *css_value,
GValue *value) GValue *value)
{ {
g_value_init (value, PANGO_TYPE_STRETCH); g_value_init (value, PANGO_TYPE_STRETCH);
@@ -309,7 +309,7 @@ parse_border_style (GtkCssStyleProperty *property,
static void static void
query_border_style (GtkCssStyleProperty *property, query_border_style (GtkCssStyleProperty *property,
const GtkCssValue *css_value, GtkCssValue *css_value,
GValue *value) GValue *value)
{ {
g_value_init (value, GTK_TYPE_BORDER_STYLE); g_value_init (value, GTK_TYPE_BORDER_STYLE);
@@ -361,7 +361,7 @@ opacity_parse (GtkCssStyleProperty *property,
static void static void
opacity_query (GtkCssStyleProperty *property, opacity_query (GtkCssStyleProperty *property,
const GtkCssValue *css_value, GtkCssValue *css_value,
GValue *value) GValue *value)
{ {
g_value_init (value, G_TYPE_DOUBLE); g_value_init (value, G_TYPE_DOUBLE);
@@ -868,7 +868,8 @@ parse_border_width (GtkCssStyleProperty *property,
{ {
return _gtk_css_number_value_parse (parser, return _gtk_css_number_value_parse (parser,
GTK_CSS_POSITIVE_ONLY GTK_CSS_POSITIVE_ONLY
| GTK_CSS_PARSE_LENGTH); | GTK_CSS_PARSE_LENGTH
| GTK_CSS_PARSE_NON_STATIC);
} }
static GtkCssValue * static GtkCssValue *
@@ -947,7 +948,7 @@ _gtk_css_style_property_init_properties (void)
GTK_CSS_AFFECTS_CONTENT | GTK_CSS_AFFECTS_SYMBOLIC_ICON, GTK_CSS_AFFECTS_CONTENT | GTK_CSS_AFFECTS_SYMBOLIC_ICON,
color_parse, color_parse,
color_query, color_query,
_gtk_css_rgba_value_new_white ()); gtk_css_color_value_new_white ());
gtk_css_style_property_register ("-gtk-dpi", gtk_css_style_property_register ("-gtk-dpi",
GTK_CSS_PROPERTY_DPI, GTK_CSS_PROPERTY_DPI,
G_TYPE_NONE, G_TYPE_NONE,
@@ -991,7 +992,7 @@ _gtk_css_style_property_init_properties (void)
GTK_CSS_AFFECTS_BACKGROUND, GTK_CSS_AFFECTS_BACKGROUND,
color_parse, color_parse,
color_query, color_query,
_gtk_css_rgba_value_new_transparent ()); gtk_css_color_value_new_transparent ());
gtk_css_style_property_register ("font-family", gtk_css_style_property_register ("font-family",
GTK_CSS_PROPERTY_FONT_FAMILY, GTK_CSS_PROPERTY_FONT_FAMILY,
+1 -1
View File
@@ -37,7 +37,7 @@ typedef struct _GtkCssStylePropertyClass GtkCssStylePropertyClass;
typedef GtkCssValue * (* GtkCssStylePropertyParseFunc) (GtkCssStyleProperty *property, typedef GtkCssValue * (* GtkCssStylePropertyParseFunc) (GtkCssStyleProperty *property,
GtkCssParser *parser); GtkCssParser *parser);
typedef void (* GtkCssStylePropertyQueryFunc) (GtkCssStyleProperty *property, typedef void (* GtkCssStylePropertyQueryFunc) (GtkCssStyleProperty *property,
const GtkCssValue *cssvalue, GtkCssValue *cssvalue,
GValue *value); GValue *value);
struct _GtkCssStyleProperty struct _GtkCssStyleProperty
{ {
+33 -1
View File
@@ -590,6 +590,7 @@ gtk_css_value_transform_transition (GtkCssValue *start,
} }
result = gtk_css_transform_value_alloc (MAX (start->n_transforms, end->n_transforms)); result = gtk_css_transform_value_alloc (MAX (start->n_transforms, end->n_transforms));
result->is_static = start->is_static && end->is_static;
for (i = 0; i < n; i++) for (i = 0; i < n; i++)
{ {
@@ -790,6 +791,7 @@ gtk_css_value_transform_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_TRANSFORM = { static const GtkCssValueClass GTK_CSS_VALUE_TRANSFORM = {
"GtkCssTransformValue",
gtk_css_value_transform_free, gtk_css_value_transform_free,
gtk_css_value_transform_compute, gtk_css_value_transform_compute,
gtk_css_value_transform_equal, gtk_css_value_transform_equal,
@@ -799,7 +801,7 @@ static const GtkCssValueClass GTK_CSS_VALUE_TRANSFORM = {
gtk_css_value_transform_print gtk_css_value_transform_print
}; };
static GtkCssValue none_singleton = { &GTK_CSS_VALUE_TRANSFORM, 1, 0, { { GTK_CSS_TRANSFORM_NONE } } }; static GtkCssValue none_singleton = { &GTK_CSS_VALUE_TRANSFORM, 1, 1, 0, { { GTK_CSS_TRANSFORM_NONE } } };
static GtkCssValue * static GtkCssValue *
gtk_css_transform_value_alloc (guint n_transforms) gtk_css_transform_value_alloc (guint n_transforms)
@@ -930,6 +932,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
GtkCssValue *value; GtkCssValue *value;
GArray *array; GArray *array;
guint i; guint i;
gboolean is_static = TRUE;
if (gtk_css_parser_try_ident (parser, "none")) if (gtk_css_parser_try_ident (parser, "none"))
return _gtk_css_transform_value_new_none (); return _gtk_css_transform_value_new_none ();
@@ -966,6 +969,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
goto fail; goto fail;
transform.type = GTK_CSS_TRANSFORM_PERSPECTIVE; transform.type = GTK_CSS_TRANSFORM_PERSPECTIVE;
is_static = is_static && transform.perspective.depth->is_static;
} }
else if (gtk_css_parser_has_function (parser, "rotate") || else if (gtk_css_parser_has_function (parser, "rotate") ||
gtk_css_parser_has_function (parser, "rotateZ")) gtk_css_parser_has_function (parser, "rotateZ"))
@@ -977,6 +981,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
transform.rotate.x = _gtk_css_number_value_new (0, GTK_CSS_NUMBER); transform.rotate.x = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
transform.rotate.y = _gtk_css_number_value_new (0, GTK_CSS_NUMBER); transform.rotate.y = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
transform.rotate.z = _gtk_css_number_value_new (1, GTK_CSS_NUMBER); transform.rotate.z = _gtk_css_number_value_new (1, GTK_CSS_NUMBER);
is_static = is_static && transform.rotate.angle->is_static;
} }
else if (gtk_css_parser_has_function (parser, "rotate3d")) else if (gtk_css_parser_has_function (parser, "rotate3d"))
{ {
@@ -990,6 +995,10 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
} }
transform.type = GTK_CSS_TRANSFORM_ROTATE; transform.type = GTK_CSS_TRANSFORM_ROTATE;
is_static = is_static && transform.rotate.angle->is_static &&
transform.rotate.x->is_static &&
transform.rotate.y->is_static &&
transform.rotate.z->is_static;
} }
else if (gtk_css_parser_has_function (parser, "rotateX")) else if (gtk_css_parser_has_function (parser, "rotateX"))
{ {
@@ -1000,6 +1009,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
transform.rotate.x = _gtk_css_number_value_new (1, GTK_CSS_NUMBER); transform.rotate.x = _gtk_css_number_value_new (1, GTK_CSS_NUMBER);
transform.rotate.y = _gtk_css_number_value_new (0, GTK_CSS_NUMBER); transform.rotate.y = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
transform.rotate.z = _gtk_css_number_value_new (0, GTK_CSS_NUMBER); transform.rotate.z = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
is_static = is_static && transform.rotate.angle->is_static;
} }
else if (gtk_css_parser_has_function (parser, "rotateY")) else if (gtk_css_parser_has_function (parser, "rotateY"))
{ {
@@ -1010,6 +1020,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
transform.rotate.x = _gtk_css_number_value_new (0, GTK_CSS_NUMBER); transform.rotate.x = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
transform.rotate.y = _gtk_css_number_value_new (1, GTK_CSS_NUMBER); transform.rotate.y = _gtk_css_number_value_new (1, GTK_CSS_NUMBER);
transform.rotate.z = _gtk_css_number_value_new (0, GTK_CSS_NUMBER); transform.rotate.z = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
is_static = is_static && transform.rotate.angle->is_static;
} }
else if (gtk_css_parser_has_function (parser, "scale")) else if (gtk_css_parser_has_function (parser, "scale"))
{ {
@@ -1029,6 +1040,8 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
else else
transform.scale.y = gtk_css_value_ref (values[0]); transform.scale.y = gtk_css_value_ref (values[0]);
transform.scale.z = _gtk_css_number_value_new (1, GTK_CSS_NUMBER); transform.scale.z = _gtk_css_number_value_new (1, GTK_CSS_NUMBER);
is_static = is_static && transform.scale.x->is_static &&
transform.scale.y->is_static;
} }
else if (gtk_css_parser_has_function (parser, "scale3d")) else if (gtk_css_parser_has_function (parser, "scale3d"))
{ {
@@ -1046,6 +1059,9 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
transform.scale.x = values[0]; transform.scale.x = values[0];
transform.scale.y = values[1]; transform.scale.y = values[1];
transform.scale.z = values[2]; transform.scale.z = values[2];
is_static = is_static && transform.scale.x->is_static &&
transform.scale.y->is_static &&
transform.scale.z->is_static;
} }
else if (gtk_css_parser_has_function (parser, "scaleX")) else if (gtk_css_parser_has_function (parser, "scaleX"))
{ {
@@ -1055,6 +1071,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
transform.type = GTK_CSS_TRANSFORM_SCALE; transform.type = GTK_CSS_TRANSFORM_SCALE;
transform.scale.y = _gtk_css_number_value_new (1, GTK_CSS_NUMBER); transform.scale.y = _gtk_css_number_value_new (1, GTK_CSS_NUMBER);
transform.scale.z = _gtk_css_number_value_new (1, GTK_CSS_NUMBER); transform.scale.z = _gtk_css_number_value_new (1, GTK_CSS_NUMBER);
is_static = is_static && transform.scale.x->is_static;
} }
else if (gtk_css_parser_has_function (parser, "scaleY")) else if (gtk_css_parser_has_function (parser, "scaleY"))
{ {
@@ -1064,6 +1081,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
transform.type = GTK_CSS_TRANSFORM_SCALE; transform.type = GTK_CSS_TRANSFORM_SCALE;
transform.scale.x = _gtk_css_number_value_new (1, GTK_CSS_NUMBER); transform.scale.x = _gtk_css_number_value_new (1, GTK_CSS_NUMBER);
transform.scale.z = _gtk_css_number_value_new (1, GTK_CSS_NUMBER); transform.scale.z = _gtk_css_number_value_new (1, GTK_CSS_NUMBER);
is_static = is_static && transform.scale.y->is_static;
} }
else if (gtk_css_parser_has_function (parser, "scaleZ")) else if (gtk_css_parser_has_function (parser, "scaleZ"))
{ {
@@ -1073,6 +1091,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
transform.type = GTK_CSS_TRANSFORM_SCALE; transform.type = GTK_CSS_TRANSFORM_SCALE;
transform.scale.x = _gtk_css_number_value_new (1, GTK_CSS_NUMBER); transform.scale.x = _gtk_css_number_value_new (1, GTK_CSS_NUMBER);
transform.scale.y = _gtk_css_number_value_new (1, GTK_CSS_NUMBER); transform.scale.y = _gtk_css_number_value_new (1, GTK_CSS_NUMBER);
is_static = is_static && transform.scale.z->is_static;
} }
else if (gtk_css_parser_has_function (parser, "skew")) else if (gtk_css_parser_has_function (parser, "skew"))
{ {
@@ -1088,6 +1107,8 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
transform.type = GTK_CSS_TRANSFORM_SKEW; transform.type = GTK_CSS_TRANSFORM_SKEW;
transform.skew.x = values[0]; transform.skew.x = values[0];
transform.skew.y = values[1]; transform.skew.y = values[1];
is_static = is_static && transform.skew.x->is_static &&
transform.skew.y->is_static;
} }
else if (gtk_css_parser_has_function (parser, "skewX")) else if (gtk_css_parser_has_function (parser, "skewX"))
{ {
@@ -1095,6 +1116,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
goto fail; goto fail;
transform.type = GTK_CSS_TRANSFORM_SKEW_X; transform.type = GTK_CSS_TRANSFORM_SKEW_X;
is_static = is_static && transform.skew_x.skew->is_static;
} }
else if (gtk_css_parser_has_function (parser, "skewY")) else if (gtk_css_parser_has_function (parser, "skewY"))
{ {
@@ -1102,6 +1124,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
goto fail; goto fail;
transform.type = GTK_CSS_TRANSFORM_SKEW_Y; transform.type = GTK_CSS_TRANSFORM_SKEW_Y;
is_static = is_static && transform.skew_y.skew->is_static;
} }
else if (gtk_css_parser_has_function (parser, "translate")) else if (gtk_css_parser_has_function (parser, "translate"))
{ {
@@ -1121,6 +1144,8 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
else else
transform.translate.y = _gtk_css_number_value_new (0, GTK_CSS_PX); transform.translate.y = _gtk_css_number_value_new (0, GTK_CSS_PX);
transform.translate.z = _gtk_css_number_value_new (0, GTK_CSS_PX); transform.translate.z = _gtk_css_number_value_new (0, GTK_CSS_PX);
is_static = is_static && transform.translate.x->is_static &&
transform.translate.y->is_static;
} }
else if (gtk_css_parser_has_function (parser, "translate3d")) else if (gtk_css_parser_has_function (parser, "translate3d"))
{ {
@@ -1138,6 +1163,9 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
transform.translate.x = values[0]; transform.translate.x = values[0];
transform.translate.y = values[1]; transform.translate.y = values[1];
transform.translate.z = values[2]; transform.translate.z = values[2];
is_static = is_static && transform.translate.x->is_static &&
transform.translate.y->is_static &&
transform.translate.z->is_static;
} }
else if (gtk_css_parser_has_function (parser, "translateX")) else if (gtk_css_parser_has_function (parser, "translateX"))
{ {
@@ -1147,6 +1175,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
transform.type = GTK_CSS_TRANSFORM_TRANSLATE; transform.type = GTK_CSS_TRANSFORM_TRANSLATE;
transform.translate.y = _gtk_css_number_value_new (0, GTK_CSS_PX); transform.translate.y = _gtk_css_number_value_new (0, GTK_CSS_PX);
transform.translate.z = _gtk_css_number_value_new (0, GTK_CSS_PX); transform.translate.z = _gtk_css_number_value_new (0, GTK_CSS_PX);
is_static = is_static && transform.translate.x->is_static;
} }
else if (gtk_css_parser_has_function (parser, "translateY")) else if (gtk_css_parser_has_function (parser, "translateY"))
{ {
@@ -1156,6 +1185,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
transform.type = GTK_CSS_TRANSFORM_TRANSLATE; transform.type = GTK_CSS_TRANSFORM_TRANSLATE;
transform.translate.x = _gtk_css_number_value_new (0, GTK_CSS_PX); transform.translate.x = _gtk_css_number_value_new (0, GTK_CSS_PX);
transform.translate.z = _gtk_css_number_value_new (0, GTK_CSS_PX); transform.translate.z = _gtk_css_number_value_new (0, GTK_CSS_PX);
is_static = is_static && transform.translate.y->is_static;
} }
else if (gtk_css_parser_has_function (parser, "translateZ")) else if (gtk_css_parser_has_function (parser, "translateZ"))
{ {
@@ -1165,6 +1195,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
transform.type = GTK_CSS_TRANSFORM_TRANSLATE; transform.type = GTK_CSS_TRANSFORM_TRANSLATE;
transform.translate.x = _gtk_css_number_value_new (0, GTK_CSS_PX); transform.translate.x = _gtk_css_number_value_new (0, GTK_CSS_PX);
transform.translate.y = _gtk_css_number_value_new (0, GTK_CSS_PX); transform.translate.y = _gtk_css_number_value_new (0, GTK_CSS_PX);
is_static = is_static && transform.translate.z->is_static;
} }
else else
{ {
@@ -1181,6 +1212,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser)
} }
value = gtk_css_transform_value_alloc (array->len); value = gtk_css_transform_value_alloc (array->len);
value->is_static = is_static;
memcpy (value->transforms, array->data, sizeof (GtkCssTransform) * array->len); memcpy (value->transforms, array->data, sizeof (GtkCssTransform) * array->len);
g_array_free (array, TRUE); g_array_free (array, TRUE);
+1
View File
@@ -82,6 +82,7 @@ gtk_css_value_unset_print (const GtkCssValue *value,
} }
static const GtkCssValueClass GTK_CSS_VALUE_UNSET = { static const GtkCssValueClass GTK_CSS_VALUE_UNSET = {
"GtkCssUnsetValue",
gtk_css_value_unset_free, gtk_css_value_unset_free,
gtk_css_value_unset_compute, gtk_css_value_unset_compute,
gtk_css_value_unset_equal, gtk_css_value_unset_equal,
+50 -1
View File
@@ -29,6 +29,47 @@ struct _GtkCssValue {
G_DEFINE_BOXED_TYPE (GtkCssValue, _gtk_css_value, _gtk_css_value_ref, _gtk_css_value_unref) G_DEFINE_BOXED_TYPE (GtkCssValue, _gtk_css_value, _gtk_css_value_ref, _gtk_css_value_unref)
static GHashTable *counters;
static void
dump_value_counts (void)
{
GHashTableIter iter;
gpointer key;
gpointer value;
g_hash_table_iter_init (&iter, counters);
while (g_hash_table_iter_next (&iter, &key, &value))
{
const char *class = key;
int *c = value;
g_print ("%d %d %s\n", c[0], c[0] - c[1], class);
}
}
static void
count_value (const char *class, int delta)
{
int *c;
if (!counters)
{
counters = g_hash_table_new (g_str_hash, g_str_equal);
atexit (dump_value_counts);
}
c = g_hash_table_lookup (counters, class);
if (!c)
{
c = g_new0 (int, 2);
g_hash_table_insert (counters, (gpointer)class, c);
}
if (delta == 1)
c[0]++;
else
c[1]++;
}
GtkCssValue * GtkCssValue *
_gtk_css_value_alloc (const GtkCssValueClass *klass, _gtk_css_value_alloc (const GtkCssValueClass *klass,
gsize size) gsize size)
@@ -39,6 +80,9 @@ _gtk_css_value_alloc (const GtkCssValueClass *klass,
value->class = klass; value->class = klass;
value->ref_count = 1; value->ref_count = 1;
value->is_static = FALSE;
count_value (klass->type_name, 1);
return value; return value;
} }
@@ -63,6 +107,8 @@ gtk_css_value_unref (GtkCssValue *value)
if (value->ref_count > 0) if (value->ref_count > 0)
return; return;
count_value (value->class->type_name, -1);
value->class->free (value); value->class->free (value);
} }
@@ -88,7 +134,10 @@ _gtk_css_value_compute (GtkCssValue *value,
GtkCssStyle *style, GtkCssStyle *style,
GtkCssStyle *parent_style) GtkCssStyle *parent_style)
{ {
return value->class->compute (value, property_id, provider, style, parent_style); if (value->is_static)
return _gtk_css_value_ref (value);
else
return value->class->compute (value, property_id, provider, style, parent_style);
} }
gboolean gboolean
+3 -1
View File
@@ -37,9 +37,11 @@ typedef struct _GtkCssValueClass GtkCssValueClass;
/* using define instead of struct here so compilers get the packing right */ /* using define instead of struct here so compilers get the packing right */
#define GTK_CSS_VALUE_BASE \ #define GTK_CSS_VALUE_BASE \
const GtkCssValueClass *class; \ const GtkCssValueClass *class; \
gint ref_count; gint ref_count; \
gboolean is_static;
struct _GtkCssValueClass { struct _GtkCssValueClass {
const char *type_name;
void (* free) (GtkCssValue *value); void (* free) (GtkCssValue *value);
GtkCssValue * (* compute) (GtkCssValue *value, GtkCssValue * (* compute) (GtkCssValue *value,
+2 -2
View File
@@ -40,7 +40,7 @@
#include "gtkiconthemeprivate.h" #include "gtkiconthemeprivate.h"
#include "gtkcsspalettevalueprivate.h" #include "gtkcsspalettevalueprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkdebug.h" #include "gtkdebug.h"
#include "gtkiconcacheprivate.h" #include "gtkiconcacheprivate.h"
#include "gtkintl.h" #include "gtkintl.h"
@@ -3870,7 +3870,7 @@ gtk_icon_theme_lookup_symbolic_colors (GtkCssStyle *style,
color = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_COLOR); color = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_COLOR);
palette = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_ICON_PALETTE); palette = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_ICON_PALETTE);
*color_out = *_gtk_css_rgba_value_get_rgba (color); *color_out = *gtk_css_color_value_get_rgba (color);
lookup = gtk_css_palette_value_get_color (palette, "success"); lookup = gtk_css_palette_value_get_color (palette, "success");
if (lookup) if (lookup)
+2 -2
View File
@@ -25,7 +25,7 @@
#include "gtkcssimagebuiltinprivate.h" #include "gtkcssimagebuiltinprivate.h"
#include "gtkcssimagevalueprivate.h" #include "gtkcssimagevalueprivate.h"
#include "gtkcssnumbervalueprivate.h" #include "gtkcssnumbervalueprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssshadowsvalueprivate.h" #include "gtkcssshadowsvalueprivate.h"
#include "gtkcsstransformvalueprivate.h" #include "gtkcsstransformvalueprivate.h"
#include "gtkhslaprivate.h" #include "gtkhslaprivate.h"
@@ -490,7 +490,7 @@ gtk_do_render_line (GtkStyleContext *context,
cairo_save (cr); cairo_save (cr);
color = _gtk_css_rgba_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));
cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE); cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
cairo_set_line_width (cr, 1); cairo_set_line_width (cr, 1);
+2 -2
View File
@@ -33,7 +33,7 @@
#include "gtkcssshadowsvalueprivate.h" #include "gtkcssshadowsvalueprivate.h"
#include "gtkcsspositionvalueprivate.h" #include "gtkcsspositionvalueprivate.h"
#include "gtkcssrepeatvalueprivate.h" #include "gtkcssrepeatvalueprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssstyleprivate.h" #include "gtkcssstyleprivate.h"
#include "gtkcsstypesprivate.h" #include "gtkcsstypesprivate.h"
@@ -278,7 +278,7 @@ gtk_css_style_snapshot_background (GtkCssBoxes *boxes,
GskBlendMode *blend_mode_values; GskBlendMode *blend_mode_values;
background_image = gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_BACKGROUND_IMAGE); background_image = gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_BACKGROUND_IMAGE);
bg_color = _gtk_css_rgba_value_get_rgba (gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_BACKGROUND_COLOR)); bg_color = gtk_css_color_value_get_rgba (gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_BACKGROUND_COLOR));
box_shadow = gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_BOX_SHADOW); box_shadow = gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_BOX_SHADOW);
/* This is the common default case of no background */ /* This is the common default case of no background */
+6 -6
View File
@@ -31,7 +31,7 @@
#include "gtkcssimagevalueprivate.h" #include "gtkcssimagevalueprivate.h"
#include "gtkcssnumbervalueprivate.h" #include "gtkcssnumbervalueprivate.h"
#include "gtkcssrepeatvalueprivate.h" #include "gtkcssrepeatvalueprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssstyleprivate.h" #include "gtkcssstyleprivate.h"
#include "gtkhslaprivate.h" #include "gtkhslaprivate.h"
#include "gtkroundedboxprivate.h" #include "gtkroundedboxprivate.h"
@@ -683,10 +683,10 @@ gtk_css_style_snapshot_border (GtkCssBoxes *boxes,
gtk_css_boxes_get_padding_rect (boxes))) gtk_css_boxes_get_padding_rect (boxes)))
return; return;
colors[0] = *_gtk_css_rgba_value_get_rgba (gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_BORDER_TOP_COLOR)); colors[0] = *gtk_css_color_value_get_rgba (gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_BORDER_TOP_COLOR));
colors[1] = *_gtk_css_rgba_value_get_rgba (gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_BORDER_RIGHT_COLOR)); colors[1] = *gtk_css_color_value_get_rgba (gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_BORDER_RIGHT_COLOR));
colors[2] = *_gtk_css_rgba_value_get_rgba (gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_BORDER_BOTTOM_COLOR)); colors[2] = *gtk_css_color_value_get_rgba (gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_BORDER_BOTTOM_COLOR));
colors[3] = *_gtk_css_rgba_value_get_rgba (gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_BORDER_LEFT_COLOR)); colors[3] = *gtk_css_color_value_get_rgba (gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_BORDER_LEFT_COLOR));
alpha_test_vector = graphene_simd4f_init (colors[0].alpha, colors[1].alpha, colors[2].alpha, colors[3].alpha); 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)) if (graphene_simd4f_is_zero4 (alpha_test_vector))
@@ -726,7 +726,7 @@ gtk_css_style_snapshot_outline (GtkCssBoxes *boxes,
border_style[1] = border_style[2] = border_style[3] = border_style[0]; border_style[1] = border_style[2] = border_style[3] = border_style[0];
border_width[0] = _gtk_css_number_value_get (gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_OUTLINE_WIDTH), 100); border_width[0] = _gtk_css_number_value_get (gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_OUTLINE_WIDTH), 100);
border_width[3] = border_width[2] = border_width[1] = border_width[0]; border_width[3] = border_width[2] = border_width[1] = border_width[0];
colors[0] = *_gtk_css_rgba_value_get_rgba (gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_OUTLINE_COLOR)); colors[0] = *gtk_css_color_value_get_rgba (gtk_css_style_get_value (boxes->style, GTK_CSS_PROPERTY_OUTLINE_COLOR));
colors[3] = colors[2] = colors[1] = colors[0]; colors[3] = colors[2] = colors[1] = colors[0];
snapshot_border (snapshot, snapshot_border (snapshot,
+2 -2
View File
@@ -20,7 +20,7 @@
#include "gtksnapshot.h" #include "gtksnapshot.h"
#include "gtksnapshotprivate.h" #include "gtksnapshotprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssshadowsvalueprivate.h" #include "gtkcssshadowsvalueprivate.h"
#include "gtkdebug.h" #include "gtkdebug.h"
#include "gtkrenderbackgroundprivate.h" #include "gtkrenderbackgroundprivate.h"
@@ -1732,7 +1732,7 @@ gtk_snapshot_render_layout (GtkSnapshot *snapshot,
gtk_snapshot_save (snapshot); gtk_snapshot_save (snapshot);
gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (x, y)); gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (x, y));
fg_color = _gtk_css_rgba_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));
shadows_value = _gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_TEXT_SHADOW); shadows_value = _gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_TEXT_SHADOW);
has_shadow = gtk_css_shadows_value_push_snapshot (shadows_value, snapshot); has_shadow = gtk_css_shadows_value_push_snapshot (shadows_value, snapshot);
+2 -2
View File
@@ -31,7 +31,7 @@
#include "gtkcssnodeprivate.h" #include "gtkcssnodeprivate.h"
#include "gtkcssnumbervalueprivate.h" #include "gtkcssnumbervalueprivate.h"
#include "gtkcsspathnodeprivate.h" #include "gtkcsspathnodeprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcsscolorvalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssstylepropertyprivate.h" #include "gtkcssstylepropertyprivate.h"
#include "gtkcsstransientnodeprivate.h" #include "gtkcsstransientnodeprivate.h"
@@ -1346,7 +1346,7 @@ gtk_style_context_resolve_color (GtkStyleContext *context,
if (val == NULL) if (val == NULL)
return FALSE; return FALSE;
*result = *_gtk_css_rgba_value_get_rgba (val); *result = *gtk_css_color_value_get_rgba (val);
_gtk_css_value_unref (val); _gtk_css_value_unref (val);
return TRUE; return TRUE;
} }
+3 -3
View File
@@ -29,7 +29,7 @@
#include "gtkcellrenderer.h" #include "gtkcellrenderer.h"
#include "gtkcontainer.h" #include "gtkcontainer.h"
#include "gtkcssnumbervalueprivate.h" #include "gtkcssnumbervalueprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssstylepropertyprivate.h" #include "gtkcssstylepropertyprivate.h"
#include "gtkdragdest.h" #include "gtkdragdest.h"
#include "gtkdragsource.h" #include "gtkdragsource.h"
@@ -4213,7 +4213,7 @@ gtk_tree_view_snapshot_grid_line (GtkTreeView *tree_view,
const GdkRGBA *grid_line_color; const GdkRGBA *grid_line_color;
context = gtk_widget_get_style_context (GTK_WIDGET (tree_view)); context = gtk_widget_get_style_context (GTK_WIDGET (tree_view));
grid_line_color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, grid_line_color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context,
GTK_CSS_PROPERTY_BORDER_TOP_COLOR)); GTK_CSS_PROPERTY_BORDER_TOP_COLOR));
if (!gdk_rgba_equal (grid_line_color, &tree_view->grid_line_color) || if (!gdk_rgba_equal (grid_line_color, &tree_view->grid_line_color) ||
@@ -4287,7 +4287,7 @@ gtk_tree_view_snapshot_tree_line (GtkTreeView *tree_view,
const GdkRGBA *tree_line_color; const GdkRGBA *tree_line_color;
context = gtk_widget_get_style_context (GTK_WIDGET (tree_view)); context = gtk_widget_get_style_context (GTK_WIDGET (tree_view));
tree_line_color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, tree_line_color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context,
GTK_CSS_PROPERTY_BORDER_LEFT_COLOR)); GTK_CSS_PROPERTY_BORDER_LEFT_COLOR));
if (!gdk_rgba_equal (tree_line_color, &tree_view->tree_line_color) || if (!gdk_rgba_equal (tree_line_color, &tree_view->tree_line_color) ||
+2 -2
View File
@@ -37,7 +37,7 @@
#include "gtkcontainerprivate.h" #include "gtkcontainerprivate.h"
#include "gtkcsscornervalueprivate.h" #include "gtkcsscornervalueprivate.h"
#include "gtkcssiconthemevalueprivate.h" #include "gtkcssiconthemevalueprivate.h"
#include "gtkcssrgbavalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkcssshadowsvalueprivate.h" #include "gtkcssshadowsvalueprivate.h"
#include "gtkcssstylepropertyprivate.h" #include "gtkcssstylepropertyprivate.h"
#include "gtkdragdest.h" #include "gtkdragdest.h"
@@ -5460,7 +5460,7 @@ update_opaque_region (GtkWindow *window,
context = gtk_widget_get_style_context (widget); context = gtk_widget_get_style_context (widget);
is_opaque = gdk_rgba_is_opaque (_gtk_css_rgba_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)));
if (gtk_widget_get_opacity (widget) < 1.0) if (gtk_widget_get_opacity (widget) < 1.0)
is_opaque = FALSE; is_opaque = FALSE;
+2 -2
View File
@@ -15,9 +15,9 @@ d {
} }
e { e {
animation-delay: 5ms; animation-delay: 0.0050000000000000001s;
} }
f { f {
animation-delay: 5ms, 6s; animation-delay: 0.0050000000000000001s, 6s;
} }
@@ -15,9 +15,9 @@ d {
} }
e { e {
animation-duration: 5ms; animation-duration: 0.0050000000000000001s;
} }
f { f {
animation-duration: 5ms, 6s; animation-duration: 0.0050000000000000001s, 6s;
} }
+1 -1
View File
@@ -1 +1 @@
@define-color color shade(rgb(249,160,57), 1.3); @define-color color rgb(255,203,143);
+1 -1
View File
@@ -1 +1 @@
@define-color color mix(shade(rgb(18,18,18), 0.5), mix(rgb(26,51,255), @blue, 0.5), 0.20000000000000001); @define-color color mix(rgb(9,9,9), mix(rgb(26,51,255), @blue, 0.5), 0.20000000000000001);
@@ -80,7 +80,7 @@ h {
i { i {
background-clip: padding-box, content-box; background-clip: padding-box, content-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none; background-image: none /* FIXME */, none;
background-origin: padding-box, content-box; background-origin: padding-box, content-box;
background-position: left top, left top; background-position: left top, left top;
@@ -90,7 +90,7 @@ i {
j { j {
background-clip: padding-box, border-box, border-box, border-box; background-clip: padding-box, border-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none;
background-origin: padding-box, border-box, padding-box, padding-box; background-origin: padding-box, border-box, padding-box, padding-box;
background-position: left top, left top, left top, left top; background-position: left top, left top, left top, left top;
@@ -190,7 +190,7 @@ s {
t { t {
background-clip: padding-box, border-box; background-clip: padding-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none; background-image: none /* FIXME */, none;
background-origin: padding-box, padding-box; background-origin: padding-box, padding-box;
background-position: 5px bottom, left top; background-position: 5px bottom, left top;
@@ -230,7 +230,7 @@ w {
x { x {
background-clip: content-box, border-box; background-clip: content-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none; background-image: none, none;
background-origin: content-box, padding-box; background-origin: content-box, padding-box;
background-position: 10%, left top; background-position: 10%, left top;
@@ -270,7 +270,7 @@ ab {
bb { bb {
background-clip: content-box, padding-box, border-box; background-clip: content-box, padding-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128));
background-origin: content-box, border-box, padding-box; background-origin: content-box, border-box, padding-box;
background-position: 5px bottom, center, 5px bottom; background-position: 5px bottom, center, 5px bottom;
@@ -370,7 +370,7 @@ kb {
lb { lb {
background-clip: content-box, border-box, padding-box, border-box, border-box, content-box, border-box; background-clip: content-box, border-box, padding-box, border-box, border-box, content-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */; background-image: none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */;
background-origin: content-box, border-box, content-box, padding-box, border-box, content-box, padding-box; background-origin: content-box, border-box, content-box, padding-box, border-box, content-box, padding-box;
background-position: 5px bottom, left top, center, left top, 10%, center, left top; background-position: 5px bottom, left top, center, left top, 10%, center, left top;
@@ -420,7 +420,7 @@ pb {
qb { qb {
background-clip: border-box, content-box, content-box, border-box; background-clip: border-box, content-box, content-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-image: none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none;
background-origin: padding-box, border-box, border-box, border-box; background-origin: padding-box, border-box, border-box, border-box;
background-position: left top, center, left top, left top; background-position: left top, center, left top, left top;
@@ -450,7 +450,7 @@ sb {
tb { tb {
background-clip: border-box; background-clip: border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none; background-image: none;
background-origin: padding-box; background-origin: padding-box;
background-position: 10%; background-position: 10%;
@@ -460,7 +460,7 @@ tb {
ub { ub {
background-clip: padding-box, border-box, border-box, border-box, content-box, content-box; background-clip: padding-box, border-box, border-box, border-box, content-box, content-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none /* FIXME */; background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none /* FIXME */;
background-origin: padding-box, padding-box, border-box, padding-box, content-box, content-box; background-origin: padding-box, padding-box, border-box, padding-box, content-box, content-box;
background-position: left top, center, 10%, left top, left top, 5px bottom; background-position: left top, center, 10%, left top, left top, 5px bottom;
@@ -660,7 +660,7 @@ nc {
oc { oc {
background-clip: padding-box; background-clip: padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none; background-image: none;
background-origin: padding-box; background-origin: padding-box;
background-position: center; background-position: center;
@@ -720,7 +720,7 @@ tc {
uc { uc {
background-clip: content-box, padding-box, padding-box, border-box, padding-box, content-box, border-box, border-box, border-box, border-box, border-box, border-box, border-box, border-box, padding-box, border-box, border-box; background-clip: content-box, padding-box, padding-box, border-box, padding-box, content-box, border-box, border-box, border-box, border-box, border-box, border-box, border-box, border-box, padding-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, none /* FIXME */, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */; background-image: none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, none /* FIXME */, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */;
background-origin: content-box, padding-box, content-box, padding-box, padding-box, content-box, padding-box, padding-box, padding-box, padding-box, border-box, padding-box, padding-box, padding-box, padding-box, padding-box, border-box; background-origin: content-box, padding-box, content-box, padding-box, padding-box, content-box, padding-box, padding-box, padding-box, padding-box, border-box, padding-box, padding-box, padding-box, padding-box, padding-box, border-box;
background-position: center, 10%, left top, left top, 10%, left top, center, 10%, left top, 5px bottom, 5px bottom, left top, 10%, left top, 10%, center, center; background-position: center, 10%, left top, left top, 10%, left top, center, 10%, left top, 5px bottom, 5px bottom, left top, 10%, left top, 10%, center, center;
@@ -740,7 +740,7 @@ vc {
wc { wc {
background-clip: padding-box, border-box, border-box; background-clip: padding-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none;
background-origin: border-box, padding-box, border-box; background-origin: border-box, padding-box, border-box;
background-position: left top, left top, 5px bottom; background-position: left top, left top, 5px bottom;
@@ -820,7 +820,7 @@ dd {
ed { ed {
background-clip: content-box; background-clip: content-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none; background-image: none;
background-origin: content-box; background-origin: content-box;
background-position: center; background-position: center;
@@ -850,7 +850,7 @@ gd {
hd { hd {
background-clip: content-box, padding-box, padding-box, padding-box; background-clip: content-box, padding-box, padding-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none /* FIXME */; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none /* FIXME */;
background-origin: content-box, padding-box, padding-box, content-box; background-origin: content-box, padding-box, padding-box, content-box;
background-position: left top, 5px bottom, 5px bottom, left top; background-position: left top, 5px bottom, 5px bottom, left top;
@@ -920,7 +920,7 @@ nd {
od { od {
background-clip: border-box, padding-box, border-box, border-box, border-box; background-clip: border-box, padding-box, border-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none /* FIXME */; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none /* FIXME */;
background-origin: padding-box, padding-box, padding-box, padding-box, padding-box; background-origin: padding-box, padding-box, padding-box, padding-box, padding-box;
background-position: center, left top, left top, 5px bottom, left top; background-position: center, left top, left top, 5px bottom, left top;
@@ -1020,7 +1020,7 @@ xd {
yd { yd {
background-clip: content-box, padding-box, border-box, padding-box, border-box; background-clip: content-box, padding-box, border-box, padding-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none /* FIXME */, none /* FIXME */; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none /* FIXME */, none /* FIXME */;
background-origin: padding-box, padding-box, border-box, padding-box, content-box; background-origin: padding-box, padding-box, border-box, padding-box, content-box;
background-position: left top, 10%, 10%, 10%, left top; background-position: left top, 10%, 10%, 10%, left top;
@@ -1320,7 +1320,7 @@ bf {
cf { cf {
background-clip: border-box, content-box, border-box, border-box; background-clip: border-box, content-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */;
background-origin: padding-box, content-box, border-box, border-box; background-origin: padding-box, content-box, border-box, border-box;
background-position: left top, left top, 5px bottom, left top; background-position: left top, left top, 5px bottom, left top;
@@ -1410,7 +1410,7 @@ kf {
lf { lf {
background-clip: content-box; background-clip: content-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none; background-image: none;
background-origin: content-box; background-origin: content-box;
background-position: center; background-position: center;
@@ -1480,7 +1480,7 @@ rf {
sf { sf {
background-clip: padding-box; background-clip: padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128));
background-origin: padding-box; background-origin: padding-box;
background-position: left top; background-position: left top;
@@ -1490,7 +1490,7 @@ sf {
tf { tf {
background-clip: padding-box, content-box, padding-box, border-box, border-box, content-box, content-box, padding-box, border-box, padding-box; background-clip: padding-box, content-box, padding-box, border-box, border-box, content-box, content-box, padding-box, border-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none, none; background-image: none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none, none;
background-origin: content-box, content-box, padding-box, padding-box, padding-box, content-box, padding-box, border-box, border-box, border-box; background-origin: content-box, content-box, padding-box, padding-box, padding-box, content-box, padding-box, border-box, border-box, border-box;
background-position: center, 5px bottom, left top, left top, center, 10%, 10%, 5px bottom, 10%, left top; background-position: center, 5px bottom, left top, left top, center, 10%, 10%, 5px bottom, 10%, left top;
@@ -1560,7 +1560,7 @@ zf {
ag { ag {
background-clip: border-box; background-clip: border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none; background-image: none;
background-origin: padding-box; background-origin: padding-box;
background-position: left top; background-position: left top;
@@ -1740,7 +1740,7 @@ rg {
sg { sg {
background-clip: border-box, padding-box, content-box, content-box, border-box; background-clip: border-box, padding-box, content-box, content-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, none, none, none; background-image: none, none, none, none, none;
background-origin: border-box, content-box, border-box, content-box, padding-box; background-origin: border-box, content-box, border-box, content-box, padding-box;
background-position: left top, 5px bottom, 10%, left top, left top; background-position: left top, 5px bottom, 10%, left top, left top;
@@ -1810,7 +1810,7 @@ yg {
zg { zg {
background-clip: content-box, content-box, content-box, content-box, border-box, padding-box, content-box, border-box, border-box; background-clip: content-box, content-box, content-box, content-box, border-box, padding-box, content-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none, none /* FIXME */, none, none, none /* FIXME */, none /* FIXME */, none /* FIXME */, none; background-image: none /* FIXME */, none, none /* FIXME */, none, none, none /* FIXME */, none /* FIXME */, none /* FIXME */, none;
background-origin: content-box, content-box, border-box, content-box, padding-box, padding-box, content-box, padding-box, border-box; background-origin: content-box, content-box, border-box, content-box, padding-box, padding-box, content-box, padding-box, border-box;
background-position: 10%, left top, center, 5px bottom, center, left top, left top, center, left top; background-position: 10%, left top, center, 5px bottom, center, left top, left top, center, left top;
@@ -2000,7 +2000,7 @@ rh {
sh { sh {
background-clip: padding-box, border-box, border-box, padding-box; background-clip: padding-box, border-box, border-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */; background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */;
background-origin: padding-box, border-box, padding-box, padding-box; background-origin: padding-box, border-box, padding-box, padding-box;
background-position: center, left top, 10%, 10%; background-position: center, left top, 10%, 10%;
@@ -2050,7 +2050,7 @@ wh {
xh { xh {
background-clip: border-box, border-box, border-box, padding-box, padding-box, border-box; background-clip: border-box, border-box, border-box, padding-box, padding-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none /* FIXME */, none; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none /* FIXME */, none;
background-origin: border-box, content-box, padding-box, border-box, padding-box, padding-box; background-origin: border-box, content-box, padding-box, border-box, padding-box, padding-box;
background-position: center, 5px bottom, left top, left top, 10%, center; background-position: center, 5px bottom, left top, left top, 10%, center;
@@ -2210,7 +2210,7 @@ mi {
ni { ni {
background-clip: border-box, border-box, padding-box, border-box, padding-box, padding-box, border-box, content-box, border-box, padding-box, border-box, padding-box, border-box, padding-box, border-box, padding-box, content-box, border-box, border-box, padding-box; background-clip: border-box, border-box, padding-box, border-box, padding-box, padding-box, border-box, content-box, border-box, padding-box, border-box, padding-box, border-box, padding-box, border-box, padding-box, content-box, border-box, border-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none /* FIXME */, none, none /* FIXME */, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none, none, none, none, none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none /* FIXME */, none, none /* FIXME */, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none, none, none, none, none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128));
background-origin: padding-box, border-box, content-box, padding-box, padding-box, padding-box, padding-box, content-box, padding-box, content-box, padding-box, padding-box, padding-box, padding-box, border-box, border-box, padding-box, content-box, padding-box, padding-box; background-origin: padding-box, border-box, content-box, padding-box, padding-box, padding-box, padding-box, content-box, padding-box, content-box, padding-box, padding-box, padding-box, padding-box, border-box, border-box, padding-box, content-box, padding-box, padding-box;
background-position: left top, center, 5px bottom, left top, center, left top, center, left top, left top, left top, 10%, left top, left top, center, left top, 5px bottom, left top, center, left top, left top; background-position: left top, center, 5px bottom, left top, center, left top, center, left top, left top, left top, 10%, left top, left top, center, left top, 5px bottom, left top, center, left top, left top;
@@ -2280,7 +2280,7 @@ ti {
ui { ui {
background-clip: border-box, border-box, content-box, padding-box; background-clip: border-box, border-box, content-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, none; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, none;
background-origin: border-box, content-box, content-box, content-box; background-origin: border-box, content-box, content-box, content-box;
background-position: left top, 5px bottom, 10%, 5px bottom; background-position: left top, 5px bottom, 10%, 5px bottom;
@@ -2380,7 +2380,7 @@ dj {
ej { ej {
background-clip: border-box, border-box, border-box, content-box, border-box, border-box, border-box; background-clip: border-box, border-box, border-box, content-box, border-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none; background-image: none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none;
background-origin: padding-box, border-box, padding-box, content-box, padding-box, padding-box, border-box; background-origin: padding-box, border-box, padding-box, content-box, padding-box, padding-box, border-box;
background-position: 5px bottom, center, 10%, center, left top, center, 10%; background-position: 5px bottom, center, 10%, center, left top, center, 10%;
@@ -2390,7 +2390,7 @@ ej {
fj { fj {
background-clip: content-box, padding-box, padding-box, content-box, content-box, content-box, content-box, padding-box, padding-box; background-clip: content-box, padding-box, padding-box, content-box, content-box, content-box, content-box, padding-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none /* FIXME */, none, none /* FIXME */, none, none /* FIXME */, none /* FIXME */, none /* FIXME */, none; background-image: none, none /* FIXME */, none, none /* FIXME */, none, none /* FIXME */, none /* FIXME */, none /* FIXME */, none;
background-origin: content-box, padding-box, content-box, content-box, content-box, content-box, content-box, padding-box, padding-box; background-origin: content-box, padding-box, content-box, content-box, content-box, content-box, content-box, padding-box, padding-box;
background-position: 10%, center, left top, 10%, left top, left top, center, center, center; background-position: 10%, center, left top, 10%, left top, left top, center, center, center;
@@ -2430,7 +2430,7 @@ ij {
jj { jj {
background-clip: content-box, padding-box, border-box, content-box, content-box, content-box, border-box, border-box, border-box, border-box, content-box, border-box; background-clip: content-box, padding-box, border-box, content-box, content-box, content-box, border-box, border-box, border-box, border-box, content-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none /* FIXME */, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none /* FIXME */, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128));
background-origin: border-box, padding-box, padding-box, content-box, content-box, content-box, padding-box, border-box, padding-box, padding-box, content-box, padding-box; background-origin: border-box, padding-box, padding-box, content-box, content-box, content-box, padding-box, border-box, padding-box, padding-box, content-box, padding-box;
background-position: 10%, center, left top, left top, left top, left top, left top, left top, 5px bottom, center, left top, left top; background-position: 10%, center, left top, left top, left top, left top, left top, left top, 5px bottom, center, left top, left top;
@@ -2510,7 +2510,7 @@ qj {
rj { rj {
background-clip: padding-box; background-clip: padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none; background-image: none;
background-origin: padding-box; background-origin: padding-box;
background-position: 10%; background-position: 10%;
@@ -2600,7 +2600,7 @@ zj {
ak { ak {
background-clip: content-box, padding-box, padding-box, content-box; background-clip: content-box, padding-box, padding-box, content-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none;
background-origin: content-box, padding-box, padding-box, border-box; background-origin: content-box, padding-box, padding-box, border-box;
background-position: 10%, left top, 5px bottom, 10%; background-position: 10%, left top, 5px bottom, 10%;
@@ -2620,7 +2620,7 @@ bk {
ck { ck {
background-clip: content-box, content-box, border-box, padding-box, border-box, content-box, border-box, border-box, content-box, border-box, border-box, border-box, border-box, padding-box, border-box, padding-box, content-box, border-box, padding-box; background-clip: content-box, content-box, border-box, padding-box, border-box, content-box, border-box, border-box, content-box, border-box, border-box, border-box, border-box, padding-box, border-box, padding-box, content-box, border-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, none /* FIXME */, none, none /* FIXME */, none /* FIXME */, none /* FIXME */, none, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, none /* FIXME */, none, none /* FIXME */, none /* FIXME */, none /* FIXME */, none, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none;
background-origin: content-box, content-box, border-box, padding-box, border-box, content-box, border-box, content-box, padding-box, padding-box, border-box, padding-box, padding-box, padding-box, padding-box, padding-box, content-box, content-box, padding-box; background-origin: content-box, content-box, border-box, padding-box, border-box, content-box, border-box, content-box, padding-box, padding-box, border-box, padding-box, padding-box, padding-box, padding-box, padding-box, content-box, content-box, padding-box;
background-position: left top, 5px bottom, center, 10%, center, 5px bottom, left top, left top, left top, 5px bottom, 10%, left top, left top, left top, center, left top, 5px bottom, 10%, left top; background-position: left top, 5px bottom, center, 10%, center, 5px bottom, left top, left top, left top, 5px bottom, 10%, left top, left top, left top, center, left top, 5px bottom, 10%, left top;
@@ -2650,7 +2650,7 @@ ek {
fk { fk {
background-clip: padding-box, content-box, padding-box, border-box, border-box, border-box; background-clip: padding-box, content-box, padding-box, border-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none; background-image: none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none;
background-origin: padding-box, content-box, border-box, padding-box, border-box, padding-box; background-origin: padding-box, content-box, border-box, padding-box, border-box, padding-box;
background-position: left top, 5px bottom, center, 10%, 5px bottom, 10%; background-position: left top, 5px bottom, center, 10%, 5px bottom, 10%;
@@ -2660,7 +2660,7 @@ fk {
gk { gk {
background-clip: padding-box, padding-box, border-box, content-box, padding-box; background-clip: padding-box, padding-box, border-box, content-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none /* FIXME */, none, none, none /* FIXME */; background-image: none /* FIXME */, none /* FIXME */, none, none, none /* FIXME */;
background-origin: padding-box, padding-box, padding-box, border-box, border-box; background-origin: padding-box, padding-box, padding-box, border-box, border-box;
background-position: 5px bottom, 10%, left top, left top, left top; background-position: 5px bottom, 10%, left top, left top, left top;
@@ -2750,7 +2750,7 @@ ok {
pk { pk {
background-clip: padding-box, border-box, content-box, content-box, padding-box, padding-box, border-box; background-clip: padding-box, border-box, content-box, content-box, padding-box, padding-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none /* FIXME */, none, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-image: none /* FIXME */, none /* FIXME */, none, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128));
background-origin: padding-box, border-box, content-box, border-box, padding-box, content-box, padding-box; background-origin: padding-box, border-box, content-box, border-box, padding-box, content-box, padding-box;
background-position: center, left top, left top, left top, 5px bottom, left top, center; background-position: center, left top, left top, left top, 5px bottom, left top, center;
@@ -2760,7 +2760,7 @@ pk {
qk { qk {
background-clip: border-box; background-clip: border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none; background-image: none;
background-origin: padding-box; background-origin: padding-box;
background-position: left top; background-position: left top;
@@ -2790,7 +2790,7 @@ sk {
tk { tk {
background-clip: border-box, content-box, border-box; background-clip: border-box, content-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none, none /* FIXME */; background-image: none /* FIXME */, none, none /* FIXME */;
background-origin: padding-box, content-box, padding-box; background-origin: padding-box, content-box, padding-box;
background-position: 5px bottom, 10%, left top; background-position: 5px bottom, 10%, left top;
@@ -2850,7 +2850,7 @@ yk {
zk { zk {
background-clip: border-box, border-box, padding-box, padding-box, content-box; background-clip: border-box, border-box, padding-box, padding-box, content-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, none /* FIXME */, none, none; background-image: none, none, none /* FIXME */, none, none;
background-origin: padding-box, border-box, padding-box, padding-box, content-box; background-origin: padding-box, border-box, padding-box, padding-box, content-box;
background-position: 5px bottom, 5px bottom, 10%, left top, left top; background-position: 5px bottom, 5px bottom, 10%, left top, left top;
@@ -2940,7 +2940,7 @@ hl {
il { il {
background-clip: border-box, padding-box, content-box, border-box; background-clip: border-box, padding-box, content-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none;
background-origin: border-box, padding-box, content-box, border-box; background-origin: border-box, padding-box, content-box, border-box;
background-position: center, 5px bottom, center, 10%; background-position: center, 5px bottom, center, 10%;
@@ -3090,7 +3090,7 @@ wl {
xl { xl {
background-clip: border-box, padding-box, padding-box, border-box, padding-box; background-clip: border-box, padding-box, padding-box, border-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-image: none /* FIXME */, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128));
background-origin: padding-box, padding-box, border-box, border-box, padding-box; background-origin: padding-box, padding-box, border-box, border-box, padding-box;
background-position: 5px bottom, center, left top, 10%, center; background-position: 5px bottom, center, left top, 10%, center;
@@ -3180,7 +3180,7 @@ fm {
gm { gm {
background-clip: border-box, padding-box, content-box; background-clip: border-box, padding-box, content-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, none; background-image: none, none, none;
background-origin: border-box, padding-box, content-box; background-origin: border-box, padding-box, content-box;
background-position: left top, 10%, left top; background-position: left top, 10%, left top;
@@ -3210,7 +3210,7 @@ im {
jm { jm {
background-clip: border-box, border-box, border-box; background-clip: border-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none, none; background-image: none /* FIXME */, none, none;
background-origin: border-box, padding-box, padding-box; background-origin: border-box, padding-box, padding-box;
background-position: left top, center, center; background-position: left top, center, center;
@@ -3290,7 +3290,7 @@ qm {
rm { rm {
background-clip: content-box, padding-box, content-box, content-box, content-box, border-box, padding-box, content-box, border-box, border-box, padding-box, border-box, border-box, content-box, border-box; background-clip: content-box, padding-box, content-box, content-box, content-box, border-box, padding-box, content-box, border-box, border-box, padding-box, border-box, border-box, content-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none, none, none, none /* FIXME */, none, none /* FIXME */, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none, none; background-image: none /* FIXME */, none, none, none, none /* FIXME */, none, none /* FIXME */, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none, none;
background-origin: content-box, border-box, content-box, content-box, border-box, border-box, content-box, content-box, padding-box, border-box, padding-box, padding-box, padding-box, content-box, padding-box; background-origin: content-box, border-box, content-box, content-box, border-box, border-box, content-box, content-box, padding-box, border-box, padding-box, padding-box, padding-box, content-box, padding-box;
background-position: 5px bottom, left top, left top, left top, left top, 10%, center, left top, left top, center, 10%, left top, left top, left top, left top; background-position: 5px bottom, left top, left top, left top, left top, 10%, center, left top, left top, center, 10%, left top, left top, left top, left top;
@@ -3330,7 +3330,7 @@ um {
vm { vm {
background-clip: content-box, content-box, padding-box, content-box, padding-box, padding-box; background-clip: content-box, content-box, padding-box, content-box, padding-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none; background-image: none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none;
background-origin: content-box, content-box, border-box, content-box, padding-box, padding-box; background-origin: content-box, content-box, border-box, content-box, padding-box, padding-box;
background-position: 10%, 10%, left top, center, left top, left top; background-position: 10%, 10%, left top, center, left top, left top;
@@ -3370,7 +3370,7 @@ ym {
zm { zm {
background-clip: border-box, border-box, padding-box, border-box, padding-box, content-box, border-box, content-box; background-clip: border-box, border-box, padding-box, border-box, padding-box, content-box, border-box, content-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none;
background-origin: padding-box, padding-box, padding-box, border-box, padding-box, content-box, border-box, content-box; background-origin: padding-box, padding-box, padding-box, border-box, padding-box, content-box, border-box, content-box;
background-position: 10%, 10%, left top, left top, center, left top, center, 10%; background-position: 10%, 10%, left top, left top, center, left top, center, 10%;
@@ -3440,7 +3440,7 @@ fn {
gn { gn {
background-clip: content-box, padding-box, padding-box, border-box; background-clip: content-box, padding-box, padding-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none;
background-origin: content-box, padding-box, padding-box, border-box; background-origin: content-box, padding-box, padding-box, border-box;
background-position: center, center, center, 10%; background-position: center, center, center, 10%;
@@ -3600,7 +3600,7 @@ vn {
wn { wn {
background-clip: padding-box, border-box, border-box, border-box, padding-box, padding-box, border-box, border-box, border-box, content-box, border-box, padding-box, border-box, content-box, padding-box, padding-box; background-clip: padding-box, border-box, border-box, border-box, padding-box, padding-box, border-box, border-box, border-box, content-box, border-box, padding-box, border-box, content-box, padding-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none /* FIXME */, none, none, none, none /* FIXME */, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-image: none, none /* FIXME */, none, none, none, none /* FIXME */, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none;
background-origin: content-box, border-box, content-box, border-box, padding-box, padding-box, padding-box, padding-box, padding-box, content-box, padding-box, content-box, border-box, content-box, padding-box, border-box; background-origin: content-box, border-box, content-box, border-box, padding-box, padding-box, padding-box, padding-box, padding-box, content-box, padding-box, content-box, border-box, content-box, padding-box, border-box;
background-position: center, center, 5px bottom, 5px bottom, left top, 10%, left top, center, center, 10%, 10%, 10%, left top, 5px bottom, center, left top; background-position: center, center, 5px bottom, 5px bottom, left top, 10%, left top, center, center, 10%, 10%, 10%, left top, 5px bottom, center, left top;
@@ -3760,7 +3760,7 @@ lo {
mo { mo {
background-clip: border-box, padding-box; background-clip: border-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none;
background-origin: padding-box, padding-box; background-origin: padding-box, padding-box;
background-position: left top, 10%; background-position: left top, 10%;
@@ -3950,7 +3950,7 @@ ep {
fp { fp {
background-clip: border-box, border-box, border-box; background-clip: border-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none /* FIXME */, none /* FIXME */; background-image: none /* FIXME */, none /* FIXME */, none /* FIXME */;
background-origin: border-box, border-box, padding-box; background-origin: border-box, border-box, padding-box;
background-position: left top, center, left top; background-position: left top, center, left top;
@@ -3960,7 +3960,7 @@ fp {
gp { gp {
background-clip: content-box, content-box, border-box, padding-box, border-box, content-box, padding-box, border-box; background-clip: content-box, content-box, border-box, padding-box, border-box, content-box, padding-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none, none, none, none, none /* FIXME */, none, none /* FIXME */; background-image: none /* FIXME */, none, none, none, none, none /* FIXME */, none, none /* FIXME */;
background-origin: content-box, padding-box, padding-box, padding-box, border-box, content-box, padding-box, padding-box; background-origin: content-box, padding-box, padding-box, padding-box, border-box, content-box, padding-box, padding-box;
background-position: left top, 10%, 5px bottom, 10%, 10%, 5px bottom, center, left top; background-position: left top, 10%, 5px bottom, 10%, 10%, 5px bottom, center, left top;
@@ -4010,7 +4010,7 @@ kp {
lp { lp {
background-clip: padding-box, border-box, border-box, padding-box, padding-box, border-box; background-clip: padding-box, border-box, border-box, padding-box, padding-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none; background-image: none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none;
background-origin: padding-box, padding-box, padding-box, padding-box, border-box, padding-box; background-origin: padding-box, padding-box, padding-box, padding-box, border-box, padding-box;
background-position: left top, 5px bottom, center, 10%, left top, 5px bottom; background-position: left top, 5px bottom, center, 10%, left top, 5px bottom;
@@ -4040,7 +4040,7 @@ np {
op { op {
background-clip: content-box, border-box, padding-box, padding-box; background-clip: content-box, border-box, padding-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none;
background-origin: content-box, border-box, padding-box, border-box; background-origin: content-box, border-box, padding-box, border-box;
background-position: 5px bottom, left top, left top, center; background-position: 5px bottom, left top, left top, center;
@@ -4110,7 +4110,7 @@ up {
vp { vp {
background-clip: border-box, content-box; background-clip: border-box, content-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none; background-image: none, none;
background-origin: padding-box, content-box; background-origin: padding-box, content-box;
background-position: left top, 10%; background-position: left top, 10%;
@@ -4290,7 +4290,7 @@ mq {
nq { nq {
background-clip: border-box; background-clip: border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none; background-image: none;
background-origin: padding-box; background-origin: padding-box;
background-position: left top; background-position: left top;
@@ -4420,7 +4420,7 @@ zq {
ar { ar {
background-clip: border-box; background-clip: border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none; background-image: none;
background-origin: border-box; background-origin: border-box;
background-position: left top; background-position: left top;
@@ -4440,7 +4440,7 @@ br {
cr { cr {
background-clip: border-box, padding-box, content-box, padding-box, padding-box, padding-box, border-box, padding-box; background-clip: border-box, padding-box, content-box, padding-box, padding-box, padding-box, border-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none; background-image: none, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none;
background-origin: padding-box, padding-box, content-box, padding-box, padding-box, content-box, border-box, padding-box; background-origin: padding-box, padding-box, content-box, padding-box, padding-box, content-box, border-box, padding-box;
background-position: left top, 10%, 5px bottom, 10%, left top, 5px bottom, left top, 5px bottom; background-position: left top, 10%, 5px bottom, 10%, left top, 5px bottom, left top, 5px bottom;
@@ -4490,7 +4490,7 @@ gr {
hr { hr {
background-clip: border-box, border-box, content-box, content-box, border-box, border-box, border-box, border-box, content-box, border-box, border-box, padding-box, content-box, border-box, padding-box, content-box, padding-box, content-box, padding-box, border-box, border-box, content-box, border-box, border-box, border-box, border-box, padding-box, border-box, border-box; background-clip: border-box, border-box, content-box, content-box, border-box, border-box, border-box, border-box, content-box, border-box, border-box, padding-box, content-box, border-box, padding-box, content-box, padding-box, content-box, padding-box, border-box, border-box, content-box, border-box, border-box, border-box, border-box, padding-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none, none, none, none, none, none /* FIXME */, none, none, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */; background-image: none, none, none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none, none, none, none, none, none /* FIXME */, none, none, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */;
background-origin: border-box, padding-box, padding-box, content-box, padding-box, border-box, padding-box, border-box, content-box, border-box, padding-box, border-box, content-box, border-box, content-box, border-box, padding-box, padding-box, padding-box, border-box, border-box, padding-box, padding-box, border-box, border-box, border-box, padding-box, padding-box, content-box; background-origin: border-box, padding-box, padding-box, content-box, padding-box, border-box, padding-box, border-box, content-box, border-box, padding-box, border-box, content-box, border-box, content-box, border-box, padding-box, padding-box, padding-box, border-box, border-box, padding-box, padding-box, border-box, border-box, border-box, padding-box, padding-box, content-box;
background-position: center, left top, left top, left top, left top, 5px bottom, center, 5px bottom, left top, 5px bottom, 5px bottom, left top, 5px bottom, left top, 5px bottom, 5px bottom, center, left top, left top, left top, left top, left top, 10%, left top, left top, 10%, left top, left top, left top; background-position: center, left top, left top, left top, left top, 5px bottom, center, 5px bottom, left top, 5px bottom, 5px bottom, left top, 5px bottom, left top, 5px bottom, 5px bottom, center, left top, left top, left top, left top, left top, 10%, left top, left top, 10%, left top, left top, left top;
@@ -4710,7 +4710,7 @@ cs {
ds { ds {
background-clip: content-box; background-clip: content-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */; background-image: none /* FIXME */;
background-origin: padding-box; background-origin: padding-box;
background-position: 10%; background-position: 10%;
@@ -4770,7 +4770,7 @@ is {
js { js {
background-clip: padding-box; background-clip: padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none; background-image: none;
background-origin: border-box; background-origin: border-box;
background-position: left top; background-position: left top;
@@ -4940,7 +4940,7 @@ zs {
at { at {
background-clip: border-box, border-box, border-box, border-box, border-box; background-clip: border-box, border-box, border-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none; background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none;
background-origin: border-box, padding-box, padding-box, padding-box, border-box; background-origin: border-box, padding-box, padding-box, padding-box, border-box;
background-position: center, left top, center, center, left top; background-position: center, left top, center, center, left top;
@@ -5030,7 +5030,7 @@ it {
jt { jt {
background-clip: border-box, border-box, border-box, padding-box, border-box, content-box, border-box, border-box, padding-box; background-clip: border-box, border-box, border-box, padding-box, border-box, content-box, border-box, border-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none /* FIXME */, none, none /* FIXME */; background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none, none /* FIXME */, none, none /* FIXME */;
background-origin: padding-box, padding-box, padding-box, padding-box, padding-box, content-box, padding-box, padding-box, padding-box; background-origin: padding-box, padding-box, padding-box, padding-box, padding-box, content-box, padding-box, padding-box, padding-box;
background-position: 10%, left top, left top, left top, 10%, 5px bottom, 10%, left top, left top; background-position: 10%, left top, left top, left top, 10%, 5px bottom, 10%, left top, left top;
@@ -5070,7 +5070,7 @@ mt {
nt { nt {
background-clip: content-box, border-box, border-box, border-box, content-box, content-box, border-box; background-clip: content-box, border-box, border-box, border-box, content-box, content-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none; background-image: none /* FIXME */, none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none, none;
background-origin: content-box, border-box, padding-box, border-box, padding-box, content-box, padding-box; background-origin: content-box, border-box, padding-box, border-box, padding-box, content-box, padding-box;
background-position: left top, 5px bottom, left top, left top, left top, left top, left top; background-position: left top, 5px bottom, left top, left top, left top, left top, left top;
@@ -5120,7 +5120,7 @@ rt {
st { st {
background-clip: content-box, padding-box, border-box, content-box, content-box, padding-box, border-box, content-box, padding-box, border-box, padding-box, border-box, border-box; background-clip: content-box, padding-box, border-box, content-box, content-box, padding-box, border-box, content-box, padding-box, border-box, padding-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none, none, none /* FIXME */, none; background-image: none /* FIXME */, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none, none, none /* FIXME */, none;
background-origin: padding-box, padding-box, border-box, content-box, content-box, padding-box, padding-box, content-box, padding-box, border-box, padding-box, border-box, padding-box; background-origin: padding-box, padding-box, border-box, content-box, content-box, padding-box, padding-box, content-box, padding-box, border-box, padding-box, border-box, padding-box;
background-position: center, 10%, 5px bottom, left top, 10%, left top, left top, left top, left top, left top, left top, 5px bottom, left top; background-position: center, 10%, 5px bottom, left top, 10%, left top, left top, left top, left top, left top, left top, 5px bottom, left top;
@@ -5200,7 +5200,7 @@ zt {
au { au {
background-clip: padding-box; background-clip: padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none; background-image: none;
background-origin: padding-box; background-origin: padding-box;
background-position: left top; background-position: left top;
@@ -5250,7 +5250,7 @@ eu {
fu { fu {
background-clip: padding-box; background-clip: padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */; background-image: none /* FIXME */;
background-origin: padding-box; background-origin: padding-box;
background-position: 5px bottom; background-position: 5px bottom;
@@ -5360,7 +5360,7 @@ pu {
qu { qu {
background-clip: border-box, border-box, padding-box, border-box, padding-box, border-box, border-box, border-box; background-clip: border-box, border-box, padding-box, border-box, padding-box, border-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none, none, none, none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-image: none /* FIXME */, none, none, none, none, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128));
background-origin: padding-box, padding-box, padding-box, padding-box, padding-box, border-box, border-box, padding-box; background-origin: padding-box, padding-box, padding-box, padding-box, padding-box, border-box, border-box, padding-box;
background-position: left top, 5px bottom, center, 5px bottom, left top, center, 10%, 5px bottom; background-position: left top, 5px bottom, center, 5px bottom, left top, center, 10%, 5px bottom;
@@ -5400,7 +5400,7 @@ tu {
uu { uu {
background-clip: border-box, padding-box, border-box, border-box, border-box; background-clip: border-box, padding-box, border-box, border-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */; background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */;
background-origin: padding-box, padding-box, padding-box, content-box, padding-box; background-origin: padding-box, padding-box, padding-box, content-box, padding-box;
background-position: center, 5px bottom, 5px bottom, left top, 10%; background-position: center, 5px bottom, 5px bottom, left top, 10%;
@@ -5490,7 +5490,7 @@ cv {
dv { dv {
background-clip: content-box, border-box, padding-box, border-box, padding-box, content-box, content-box, padding-box, padding-box, padding-box, border-box, padding-box, border-box; background-clip: content-box, border-box, padding-box, border-box, padding-box, content-box, content-box, padding-box, padding-box, padding-box, border-box, padding-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, none, none, none, none; background-image: none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, none, none, none, none;
background-origin: content-box, border-box, border-box, border-box, padding-box, content-box, content-box, padding-box, padding-box, padding-box, padding-box, padding-box, border-box; background-origin: content-box, border-box, border-box, border-box, padding-box, content-box, content-box, padding-box, padding-box, padding-box, padding-box, padding-box, border-box;
background-position: left top, 5px bottom, 5px bottom, 10%, 5px bottom, center, left top, left top, 10%, 5px bottom, center, left top, 10%; background-position: left top, 5px bottom, 5px bottom, 10%, 5px bottom, center, left top, left top, 10%, 5px bottom, center, left top, 10%;
@@ -5540,7 +5540,7 @@ hv {
iv { iv {
background-clip: border-box, content-box, padding-box; background-clip: border-box, content-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128));
background-origin: border-box, padding-box, padding-box; background-origin: border-box, padding-box, padding-box;
background-position: left top, center, left top; background-position: left top, center, left top;
@@ -5560,7 +5560,7 @@ jv {
kv { kv {
background-clip: border-box; background-clip: border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none; background-image: none;
background-origin: padding-box; background-origin: padding-box;
background-position: left top; background-position: left top;
@@ -5670,7 +5670,7 @@ uv {
vv { vv {
background-clip: padding-box, border-box, padding-box, border-box, border-box, border-box, content-box; background-clip: padding-box, border-box, padding-box, border-box, border-box, border-box, content-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none, none /* FIXME */, none, none, none /* FIXME */, none; background-image: none /* FIXME */, none, none /* FIXME */, none, none, none /* FIXME */, none;
background-origin: border-box, padding-box, padding-box, padding-box, content-box, padding-box, content-box; background-origin: border-box, padding-box, padding-box, padding-box, content-box, padding-box, content-box;
background-position: left top, 5px bottom, left top, center, center, 5px bottom, left top; background-position: left top, 5px bottom, left top, center, center, 5px bottom, left top;
@@ -5730,7 +5730,7 @@ aw {
bw { bw {
background-clip: padding-box; background-clip: padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128));
background-origin: padding-box; background-origin: padding-box;
background-position: center; background-position: center;
@@ -5910,7 +5910,7 @@ sw {
tw { tw {
background-clip: border-box, padding-box, border-box; background-clip: border-box, padding-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-image: none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128));
background-origin: border-box, padding-box, padding-box; background-origin: border-box, padding-box, padding-box;
background-position: left top, center, center; background-position: left top, center, center;
@@ -5940,7 +5940,7 @@ vw {
ww { ww {
background-clip: padding-box, padding-box, border-box, content-box, content-box, content-box, border-box, content-box, border-box, padding-box, padding-box, content-box, border-box, border-box, padding-box, content-box, border-box, padding-box, border-box, border-box, padding-box, border-box, border-box, padding-box, content-box, border-box, border-box, border-box, border-box, padding-box, padding-box, border-box, padding-box; background-clip: padding-box, padding-box, border-box, content-box, content-box, content-box, border-box, content-box, border-box, padding-box, padding-box, content-box, border-box, border-box, padding-box, content-box, border-box, padding-box, border-box, border-box, padding-box, border-box, border-box, padding-box, content-box, border-box, border-box, border-box, border-box, padding-box, padding-box, border-box, padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none, none, none, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none, none, none /* FIXME */, none /* FIXME */, none, none, none /* FIXME */, none, none, none, none /* FIXME */, none /* FIXME */, none, none; background-image: none, none, none, none, none, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)), none, none /* FIXME */, none, none, none /* FIXME */, none /* FIXME */, none, none, none /* FIXME */, none, none, none, none /* FIXME */, none /* FIXME */, none, none;
background-origin: padding-box, padding-box, padding-box, content-box, content-box, border-box, border-box, content-box, border-box, padding-box, padding-box, content-box, border-box, padding-box, border-box, content-box, border-box, padding-box, border-box, border-box, padding-box, padding-box, padding-box, padding-box, content-box, border-box, padding-box, border-box, border-box, padding-box, padding-box, padding-box, padding-box; background-origin: padding-box, padding-box, padding-box, content-box, content-box, border-box, border-box, content-box, border-box, padding-box, padding-box, content-box, border-box, padding-box, border-box, content-box, border-box, padding-box, border-box, border-box, padding-box, padding-box, padding-box, padding-box, content-box, border-box, padding-box, border-box, border-box, padding-box, padding-box, padding-box, padding-box;
background-position: 5px bottom, 10%, 10%, 10%, left top, 10%, 5px bottom, left top, 5px bottom, 5px bottom, left top, 10%, 10%, left top, 10%, left top, left top, left top, 5px bottom, 10%, left top, 10%, center, 5px bottom, center, left top, left top, left top, 5px bottom, left top, left top, 10%, 5px bottom; background-position: 5px bottom, 10%, 10%, 10%, left top, 10%, 5px bottom, left top, 5px bottom, 5px bottom, left top, 10%, 10%, left top, 10%, left top, left top, left top, 5px bottom, 10%, left top, 10%, center, 5px bottom, center, left top, left top, left top, 5px bottom, left top, left top, 10%, 5px bottom;
@@ -6040,7 +6040,7 @@ fx {
gx { gx {
background-clip: padding-box; background-clip: padding-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none; background-image: none;
background-origin: content-box; background-origin: content-box;
background-position: left top; background-position: left top;
@@ -6190,7 +6190,7 @@ ux {
vx { vx {
background-clip: border-box; background-clip: border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128));
background-origin: border-box; background-origin: border-box;
background-position: center; background-position: center;
@@ -6280,7 +6280,7 @@ dy {
ey { ey {
background-clip: border-box, padding-box, content-box, border-box; background-clip: border-box, padding-box, content-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)), none /* FIXME */, none, linear-gradient(rgb(255,192,203), rgb(128,0,128));
background-origin: border-box, padding-box, content-box, padding-box; background-origin: border-box, padding-box, content-box, padding-box;
background-position: left top, 10%, left top, left top; background-position: left top, 10%, left top, left top;
@@ -6340,7 +6340,7 @@ jy {
ky { ky {
background-clip: content-box; background-clip: content-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */; background-image: none /* FIXME */;
background-origin: content-box; background-origin: content-box;
background-position: left top; background-position: left top;
@@ -6370,7 +6370,7 @@ my {
ny { ny {
background-clip: border-box; background-clip: border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128)); background-image: linear-gradient(rgb(255,192,203), rgb(128,0,128));
background-origin: border-box; background-origin: border-box;
background-position: left top; background-position: left top;
@@ -6590,7 +6590,7 @@ iz {
jz { jz {
background-clip: content-box, content-box, border-box; background-clip: content-box, content-box, border-box;
background-color: alpha(rgb(255,192,203), 0.5); background-color: rgba(255,192,203,0.5);
background-image: none /* FIXME */, none /* FIXME */, none; background-image: none /* FIXME */, none /* FIXME */, none;
background-origin: padding-box, content-box, padding-box; background-origin: padding-box, content-box, padding-box;
background-position: left top, 5px bottom, center; background-position: left top, 5px bottom, center;
+1 -1
View File
@@ -3,7 +3,7 @@ a {
} }
b { b {
transition-duration: calc(-200ms + 1s); transition-duration: 0.80000000000000004s;
} }
c { c {
+5 -5
View File
@@ -49,23 +49,23 @@ l {
} }
m { m {
color: shade(rgb(255,0,0), 1.3); color: rgb(255,77,77);
} }
n { n {
color: shade(rgb(255,0,0), 0.69999999999999996); color: rgb(152,27,27);
} }
o { o {
color: shade(rgb(0,128,0), 0.5); color: rgb(16,48,16);
} }
p { p {
color: alpha(rgb(0,128,0), 0.5); color: rgba(0,128,0,0.5);
} }
q { q {
color: mix(rgb(255,0,0), rgb(0,0,255), 0.25); color: rgb(191,0,64);
} }
r { r {
@@ -1,6 +1,6 @@
* { * {
transition-delay: 0; transition-delay: 0;
transition-duration: 150ms; transition-duration: 0.14999999999999999s;
transition-property: all; transition-property: all;
transition-timing-function: ease-in-out; transition-timing-function: ease-in-out;
} }
+8 -8
View File
@@ -44,13 +44,13 @@ i {
} }
j { j {
background-image: linear-gradient(1turn, rgb(255,0,0), rgb(0,0,255)); background-image: linear-gradient(360deg, rgb(255,0,0), rgb(0,0,255));
border-image-source: repeating-linear-gradient(1turn, rgb(255,0,0), rgb(0,0,255)); border-image-source: repeating-linear-gradient(360deg, rgb(255,0,0), rgb(0,0,255));
} }
k { k {
background-image: linear-gradient(-0.25turn, rgb(255,0,0), rgb(0,0,255)); background-image: linear-gradient(-90deg, rgb(255,0,0), rgb(0,0,255));
border-image-source: repeating-linear-gradient(-0.25turn, rgb(255,0,0), rgb(0,0,255)); border-image-source: repeating-linear-gradient(-90deg, rgb(255,0,0), rgb(0,0,255));
} }
l { l {
@@ -59,13 +59,13 @@ l {
} }
m { m {
background-image: linear-gradient(90rad, rgb(255,0,0), rgb(0,0,255)); background-image: linear-gradient(5156.6201561774087deg, rgb(255,0,0), rgb(0,0,255));
border-image-source: repeating-linear-gradient(90rad, rgb(255,0,0), rgb(0,0,255)); border-image-source: repeating-linear-gradient(5156.6201561774087deg, rgb(255,0,0), rgb(0,0,255));
} }
n { n {
background-image: linear-gradient(-100grad, rgb(255,0,0), rgb(0,0,255)); background-image: linear-gradient(-90deg, rgb(255,0,0), rgb(0,0,255));
border-image-source: repeating-linear-gradient(-100grad, rgb(255,0,0), rgb(0,0,255)); border-image-source: repeating-linear-gradient(-90deg, rgb(255,0,0), rgb(0,0,255));
} }
o { o {
@@ -19,9 +19,9 @@ e {
} }
f { f {
transition-delay: 5ms; transition-delay: 0.0050000000000000001s;
} }
g { g {
transition-delay: 5ms, 5s; transition-delay: 0.0050000000000000001s, 5s;
} }
@@ -19,9 +19,9 @@ e {
} }
f { f {
transition-duration: 5ms; transition-duration: 0.0050000000000000001s;
} }
g { g {
transition-duration: 5ms, 5s; transition-duration: 0.0050000000000000001s, 5s;
} }
File diff suppressed because it is too large Load Diff