X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2Fsvgtiny_css.c;fp=src%2Fsvgtiny_css.c;h=3da3c8e165f34b0d6fb09cdcc04c488ecda3e0f8;hb=7b8fc7bb381c266a4f1ecde5b10bb4c09e2f9bc0;hp=b80d0578b7bd219d8397a2532b23f1b4491e608d;hpb=eb882b3212a23ece39c714311c5bc3d58cf07074;p=libsvgtiny.git diff --git a/src/svgtiny_css.c b/src/svgtiny_css.c index b80d057..3da3c8e 100644 --- a/src/svgtiny_css.c +++ b/src/svgtiny_css.c @@ -73,6 +73,12 @@ static css_error get_libcss_node_data(void *pw, void *node, static struct css_select_handler svgtiny_select_handler; +/* Every call to svgtiny_select_style() needs this, so let's only make + * one copy. */ +static const css_media media_all = { + .type = CSS_MEDIA_ALL, +}; + /** * Convenient wrapper around css_select_style() * @@ -86,27 +92,9 @@ css_error svgtiny_select_style(struct svgtiny_parse_state *state, 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, + &state->unit_ctx, &media_all, inline_sheet, &svgtiny_select_handler,