X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2Fsvgtiny_internal.h;h=ba0db7029b30d719dc74d2dd401fdce9d1de0ac7;hb=545123c6ec9a3d3903e713c1c2919762417538dd;hp=789651ac9c43426c11a4f800d495877e8d7d2177;hpb=d03a7471001c4701e1fea976aee162b0de375f52;p=libsvgtiny.git diff --git a/src/svgtiny_internal.h b/src/svgtiny_internal.h index 789651a..ba0db70 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