static struct css_select_handler svgtiny_select_handler;
+/**
+ * Convenient wrapper around css_select_style()
+ *
+ * \param state The current state of the libsvgtiny parser
+ * \param node The node that we're getting styles for
+ * \param inline_sheet The inline stylesheet for the given node
+ * \param result Address at which to store the results array
+ */
+css_error svgtiny_select_style(struct svgtiny_parse_state *state,
+ dom_element *node,
+ const css_stylesheet *inline_sheet,
+ css_select_results **result)
+{
+ const css_media media_all = {
+ .type = CSS_MEDIA_ALL,
+ };
+
+ /* These magic numbers below were taken from the libcss
+ * example program without much thought, because at the moment
+ * we don't support any properties with units. */
+ const css_unit_ctx unitctx = {
+ .viewport_width = FLTTOFIX(state->viewport_width),
+ .viewport_height = FLTTOFIX(state->viewport_height),
+ .font_size_default = FLTTOFIX(16.0),
+ .font_size_minimum = FLTTOFIX(6.0),
+ .device_dpi = FLTTOFIX(96.0),
+ .root_style = NULL,
+ .pw = NULL,
+ .measure = NULL,
+ };
+
+ return css_select_style(state->select_ctx,
+ node,
+ &unitctx,
+ &media_all,
+ inline_sheet,
+ &svgtiny_select_handler,
+ state,
+ result);
+}
+
/**
* Resolve a relative URL to an absolute one by doing nothing. This is
* the simplest possible implementation of a URL resolver, needed for
set_libcss_node_data,
get_libcss_node_data,
};
+
+