/**
* User-agent defaults for CSS properties
*
- * For the moment, we provide no defaults, because libsvgtiny does not
- * yet support any CSS properties that might need them.
+ * Ideally we would provide _no_ defaults here, because we don't yet
+ * support any CSS properties that can use them. However, we run into
+ * libcss parent/child style composition issues unless these defaults
+ * are provided. And it's harmless to provide them, so let's do it.
*
* \param pw Pointer to the current SVG parser state; unused
* \param property LibCSS property identifier; unused
css_hint *hint)
{
UNUSED(pw);
- UNUSED(property);
- UNUSED(hint);
- return CSS_INVALID;
+ switch (property) {
+ case CSS_PROP_COLOR:
+ hint->data.color = 0xff000000;
+ hint->status = CSS_COLOR_COLOR;
+ break;
+ case CSS_PROP_FONT_FAMILY:
+ hint->data.strings = NULL;
+ hint->status = CSS_FONT_FAMILY_SANS_SERIF;
+ break;
+ case CSS_PROP_QUOTES:
+ hint->data.strings = NULL;
+ hint->status = CSS_QUOTES_NONE;
+ break;
+ case CSS_PROP_VOICE_FAMILY:
+ hint->data.strings = NULL;
+ hint->status = 0;
+ break;
+ default:
+ return CSS_INVALID;
+ }
+
+ return CSS_OK;
}