forked from AuroraMiddleware/gtk
css: add shorthand text-decoration property
Note that for now we take into account only text-decoration-line and text-decoration-color
This commit is contained in:
parent
a57e6731c4
commit
180a378a07
@ -823,6 +823,38 @@ parse_animation (GtkCssShorthandProperty *shorthand,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
parse_text_decoration (GtkCssShorthandProperty *shorthand,
|
||||
GtkCssValue **values,
|
||||
GtkCssParser *parser)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (values[0] == NULL &&
|
||||
(values[0] = _gtk_css_text_decoration_line_value_try_parse (parser)))
|
||||
{
|
||||
if (values[0] == NULL)
|
||||
return FALSE;
|
||||
}
|
||||
else if (values[1] == NULL)
|
||||
{
|
||||
values[1] = _gtk_css_color_value_parse (parser);
|
||||
if (values[1] == NULL)
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* We parsed and there's still stuff left?
|
||||
* Pretend we didn't notice and let the normal code produce
|
||||
* a 'junk at end of value' error */
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (!value_is_done_parsing (parser));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
parse_all (GtkCssShorthandProperty *shorthand,
|
||||
GtkCssValue **values,
|
||||
@ -1170,6 +1202,7 @@ _gtk_css_shorthand_property_init_properties (void)
|
||||
const char *transition_subproperties[] = { "transition-property", "transition-duration", "transition-delay", "transition-timing-function", NULL };
|
||||
const char *animation_subproperties[] = { "animation-name", "animation-iteration-count", "animation-duration", "animation-delay",
|
||||
"animation-timing-function", "animation-direction", "animation-fill-mode", NULL };
|
||||
const char *text_decoration_subproperties[] = { "text-decoration-line", "text-decoration-color", NULL };
|
||||
|
||||
const char **all_subproperties;
|
||||
|
||||
@ -1281,6 +1314,12 @@ _gtk_css_shorthand_property_init_properties (void)
|
||||
parse_animation,
|
||||
NULL,
|
||||
NULL);
|
||||
_gtk_css_shorthand_property_register ("text-decoration",
|
||||
G_TYPE_NONE,
|
||||
text_decoration_subproperties,
|
||||
parse_text_decoration,
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
all_subproperties = get_all_subproperties ();
|
||||
_gtk_css_shorthand_property_register ("all",
|
||||
|
Loading…
Reference in New Issue
Block a user