X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Fsrc%2Fmodules%2Fmod_svg%2Fsvg_parser.h;h=dd6804482eb8d3412e975783a8599881f158f521;hb=d32cafc8ae3b109a07b5d0afe0ea97ee4562ea22;hp=dcd1b4c62e4d951dc9edb99f355d880f520765b6;hpb=25fe80aeaca6727fb0bf85d51fe5d99224476ad5;p=synfig.git diff --git a/synfig-core/src/modules/mod_svg/svg_parser.h b/synfig-core/src/modules/mod_svg/svg_parser.h index dcd1b4c..dd68044 100644 --- a/synfig-core/src/modules/mod_svg/svg_parser.h +++ b/synfig-core/src/modules/mod_svg/svg_parser.h @@ -67,6 +67,7 @@ typedef struct linear_g{ char name[40]; float x1,x2,y1,y2; std::list *stops; //paradas de color + Matrix *transform; }LinearGradient; typedef struct radial_g{ char name[40]; @@ -76,6 +77,7 @@ typedef struct radial_g{ //if this value is omitted then will be = cx,cy float r; //radio radius std::list *stops; //paradas de color + Matrix *transform; }RadialGradient; typedef struct url_t{ @@ -124,17 +126,19 @@ private: //parser bucle void parser_svg(const xmlpp::Node* node); void parser_canvas(const xmlpp::Node* node); //layers - void parser_layer(const xmlpp::Node* node,xmlpp::Element* root,String parent_style,Matrix* mtx_parent); - void parser_path(const xmlpp::Node* node,xmlpp::Element* root,String parent_style,Matrix* mtx_parent); - void parser_polygon(const xmlpp::Node* node,xmlpp::Element* root,String parent_style,Matrix* mtx_parent); - void parser_rect(const xmlpp::Node* node,xmlpp::Element* root,String parent_style,Matrix* mtx_parent); + void parser_graphics(const xmlpp::Node* node,xmlpp::Element* root,String parent_style,Matrix* mtx_parent); + void rect_simple(const xmlpp::Element* nodeElement,xmlpp::Element* root,String fill, String fill_opacity, String opacity); + void parser_layer(const xmlpp::Node* node,xmlpp::Element* root,String parent_style,Matrix* mtx); + std::list > parser_polygon_path(Glib::ustring polygon_points, Matrix* mtx); + void parser_effects(const xmlpp::Element* nodeElement,xmlpp::Element* root,String parent_style,Matrix* mtx); + void parser_transform(xmlpp::Element* root,Matrix* mtx); //defs void parser_defs(const xmlpp::Node* node); void parser_linearGradient(const xmlpp::Node* node); void parser_radialGradient(const xmlpp::Node* node); ColorStop* newColorStop(String color,float opacity,float pos); - LinearGradient* newLinearGradient(String name,float x1,float y1, float x2,float y2,std::list *stops); - RadialGradient* newRadialGradient(String name,float cx,float cy,float r,std::list *stops); + LinearGradient* newLinearGradient(String name,float x1,float y1, float x2,float y2,std::list *stops, Matrix* transform); + RadialGradient* newRadialGradient(String name,float cx,float cy,float r,std::list *stops, Matrix* transform); //builds urls void AdjustPointUrl(); std::list* find_colorStop(String name);