X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2Fsvgtiny_internal.h;h=7480f233539cdeb11b89aa7c319ec5d084c74dc3;hb=3e5238db0f40672c24530f2443f834c3f7b7ca1a;hp=0fd5af9a69f94196e29d54dcd56fc4d0e79555dc;hpb=4f6c3034252830b3f4c0a03cbb03a661fdb1d8e8;p=libsvgtiny.git diff --git a/src/svgtiny_internal.h b/src/svgtiny_internal.h index 0fd5af9..7480f23 100644 --- a/src/svgtiny_internal.h +++ b/src/svgtiny_internal.h @@ -11,6 +11,7 @@ #include #include +#include #ifndef UNUSED #define UNUSED(x) ((void) (x)) @@ -24,6 +25,16 @@ struct svgtiny_gradient_stop { #define svgtiny_MAX_STOPS 10 #define svgtiny_LINEAR_GRADIENT 0x2000000 +struct svgtiny_parse_state_gradient { + unsigned int linear_gradient_stop_count; + dom_string *gradient_x1, *gradient_y1, *gradient_x2, *gradient_y2; + struct svgtiny_gradient_stop gradient_stop[svgtiny_MAX_STOPS]; + bool gradient_user_space_on_use; + struct { + float a, b, c, d, e, f; + } gradient_transform; +}; + struct svgtiny_parse_state { struct svgtiny_diagram *diagram; dom_document *document; @@ -36,7 +47,12 @@ struct svgtiny_parse_state { float a, b, c, d, e, f; } ctm; - /*struct css_style style;*/ + /* A libcss context to hold any stylesheets that are present + * in the SVG document. This should be pre-populated rather + * than on-the-fly, because, for example, a