X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Fsrc%2Fmodules%2Fmod_svg%2Fsvg_parser.h;h=3ac8f9b0a1bcfc429c8e5a08313490659a625005;hb=c11c4966980ed301f40b3dcc24e4fbec525f93e3;hp=a65407f98b4ecaf79d5ab967a56f0831399a99c7;hpb=e1af3a58b56295d50de07d98705bfc516556866d;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 a65407f..3ac8f9b 100644 --- a/synfig-core/src/modules/mod_svg/svg_parser.h +++ b/synfig-core/src/modules/mod_svg/svg_parser.h @@ -65,13 +65,13 @@ typedef struct stop_t{ float pos; }ColorStop; typedef struct linear_g{ - char name[40]; + char name[80]; float x1,x2,y1,y2; std::list *stops; Matrix *transform; }LinearGradient; typedef struct radial_g{ - char name[40]; + char name[80]; float cx,cy;//center point //float fx,fy; //not supported by Synfig float r; //radius @@ -84,15 +84,15 @@ typedef struct url_t{ void* data; }URL; -typedef struct vertice_t{ +typedef struct Vertex_t{ float x,y; float radius1,angle1; float radius2,angle2; bool split; -}Vertice; +}Vertex; typedef struct bline_t{ - std::list *points; + std::list *points; bool loop; String* bline_id; String* offset_id; @@ -151,7 +151,7 @@ private: ColorStop* newColorStop(String color,float opacity,float pos); 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); - BLine* newBLine(std::list *points,bool loop); + BLine* newBLine(std::list *points,bool loop); /* === BUILDS ===================================== */ void build_transform(xmlpp::Element* root,Matrix* mtx); @@ -166,9 +166,9 @@ private: void build_gamma(xmlpp::Element* root,float gamma); void build_rotate(xmlpp::Element* root,float dx,float dy,float angle); void build_translate(xmlpp::Element* root,float dx,float dy); - void build_points(xmlpp::Element* root,std::list p); - void build_vertice(xmlpp::Element* root , Vertice *p); - void build_bline(xmlpp::Element* root,std::list p,bool loop,String blinegui); + void build_points(xmlpp::Element* root,std::list p); + void build_vertex(xmlpp::Element* root , Vertex *p); + void build_bline(xmlpp::Element* root,std::list p,bool loop,String blineguid); void build_param (xmlpp::Element* root,String name,String type,String value); void build_param (xmlpp::Element* root,String name,String type,float value); void build_param (xmlpp::Element* root,String name,String type,int value); @@ -178,16 +178,17 @@ private: void build_vector (xmlpp::Element* root,String name,float x,float y,String guid); void build_color(xmlpp::Element* root,float r,float g,float b,float a); xmlpp::Element* nodeStartBasicLayer(xmlpp::Element* root); + xmlpp::Element* nodeStartBasicLayer(xmlpp::Element* root, String name); /* === COORDINATES & TRANSFORMATIONS ============== */ //points,etc void coor2vect(float *x,float *y); - void setTg2(Vertice* p,float p1x,float p1y,float p2x,float p2y); - void setTg1(Vertice *p,float p1x,float p1y,float p2x,float p2y); - void setSplit(Vertice* p,bool val); - int isFirst(Vertice* nodo,float a, float b); - Vertice* newVertice(float x,float y); + void setTg2(Vertex* p,float p1x,float p1y,float p2x,float p2y); + void setTg1(Vertex *p,float p1x,float p1y,float p2x,float p2y); + void setSplit(Vertex* p,bool val); + int isFirst(Vertex* nodo,float a, float b); + Vertex* newVertex(float x,float y); //matrix operations Matrix* parser_transform(const String transform); @@ -212,6 +213,7 @@ private: int getGreen(String hex); int getBlue(String hex); int hextodec(String hex); + int getColor(String name, int position); float getDimension(const String ac); //string functions void removeS(String *input);