forked from AuroraMiddleware/gtk
Add backwards compat back
Apparently, there's lots of font: "pango font description" out there, so keep parsing this, with a deprecation warning.
This commit is contained in:
parent
df22f3017b
commit
68ce676498
@ -424,6 +424,54 @@ parse_border (GtkCssShorthandProperty *shorthand,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
parse_font_with_pango (GtkCssShorthandProperty *shorthand,
|
||||
GtkCssValue **values,
|
||||
GtkCssParser *parser)
|
||||
{
|
||||
PangoFontDescription *desc;
|
||||
guint mask;
|
||||
char *str;
|
||||
|
||||
str = _gtk_css_parser_read_value (parser);
|
||||
if (str == NULL)
|
||||
return FALSE;
|
||||
|
||||
desc = pango_font_description_from_string (str);
|
||||
g_free (str);
|
||||
|
||||
mask = pango_font_description_get_set_fields (desc);
|
||||
|
||||
if (mask & PANGO_FONT_MASK_FAMILY)
|
||||
{
|
||||
values[0] = _gtk_css_array_value_new (_gtk_css_string_value_new (pango_font_description_get_family (desc)));
|
||||
}
|
||||
if (mask & PANGO_FONT_MASK_STYLE)
|
||||
{
|
||||
values[1] = _gtk_css_font_style_value_new (pango_font_description_get_style (desc));
|
||||
}
|
||||
if (mask & PANGO_FONT_MASK_VARIANT)
|
||||
{
|
||||
values[2] = _gtk_css_font_variant_value_new (pango_font_description_get_variant (desc));
|
||||
}
|
||||
if (mask & PANGO_FONT_MASK_WEIGHT)
|
||||
{
|
||||
values[3] = _gtk_css_font_weight_value_new (pango_font_description_get_weight (desc));
|
||||
}
|
||||
if (mask & PANGO_FONT_MASK_STRETCH)
|
||||
{
|
||||
values[4] = _gtk_css_font_stretch_value_new (pango_font_description_get_stretch (desc));
|
||||
}
|
||||
if (mask & PANGO_FONT_MASK_SIZE)
|
||||
{
|
||||
values[5] = _gtk_css_number_value_new ((double) pango_font_description_get_size (desc) / PANGO_SCALE, GTK_CSS_PX);
|
||||
}
|
||||
|
||||
pango_font_description_free (desc);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
parse_font (GtkCssShorthandProperty *shorthand,
|
||||
GtkCssValue **values,
|
||||
@ -462,6 +510,19 @@ parse_font (GtkCssShorthandProperty *shorthand,
|
||||
while (parsed_one && !value_is_done_parsing (parser));
|
||||
|
||||
values[5] = gtk_css_font_size_value_parse (parser);
|
||||
|
||||
if (values[1] == NULL && values[2] == NULL && values[3] == NULL &&
|
||||
values[4] == NULL && values[5] == NULL)
|
||||
{
|
||||
if (parse_font_with_pango (shorthand, values, parser))
|
||||
{
|
||||
_gtk_css_parser_error_full (parser,
|
||||
GTK_CSS_PROVIDER_ERROR_DEPRECATED,
|
||||
"Using Pango syntax for the font: style property is deprecated; please use CSS syntax");
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
values[0] = gtk_css_font_family_value_parse (parser);
|
||||
|
||||
return values[0] != NULL && values[5] != NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user