#include #include "svgtiny.h" #include "svgtiny_internal.h" /** * Resolve a relative URL to an absolute one by doing nothing. This is * the simplest possible implementation of a URL resolver, needed for * parsing CSS. */ css_error svgtiny_resolve_url(void *pw, const char *base, lwc_string *rel, lwc_string **abs) { UNUSED(pw); UNUSED(base); /* Copy the relative URL to the absolute one (the return value) */ *abs = lwc_string_ref(rel); return CSS_OK; } /** * Create a stylesheet with the default set of params. * * \param sheet A stylesheet pointer, passed in by reference, that * we use to store the newly-created stylesheet. * \param inline_style True if this stylesheet represents an inline * style, and false otherwise. * * \return The return value from css_stylesheet_create() is returned. */ css_error svgtiny_create_stylesheet(css_stylesheet **sheet, bool inline_style) { css_stylesheet_params params; params.params_version = CSS_STYLESHEET_PARAMS_VERSION_1; params.level = CSS_LEVEL_DEFAULT; params.charset = NULL; params.url = ""; params.title = NULL; params.allow_quirks = false; params.inline_style = inline_style; params.resolve = svgtiny_resolve_url; params.resolve_pw = NULL; params.import = NULL; params.import_pw = NULL; params.color = NULL; params.color_pw = NULL; params.font = NULL; params.font_pw = NULL; return css_stylesheet_create(¶ms, sheet); }