diff --git a/diagrams/All.png b/diagrams/All.png index ba30aa6..2c7177f 100644 Binary files a/diagrams/All.png and b/diagrams/All.png differ diff --git a/diagrams/All.puml b/diagrams/All.puml index 388552b..7c15818 100644 --- a/diagrams/All.puml +++ b/diagrams/All.puml @@ -6,6 +6,7 @@ /' Objects '/ + class Circle { +Circle(float radius, const Vector2Df& center, ColorShape fill, ColorShape stroke, float stroke_width) +getClass() : string {query} @@ -293,6 +294,20 @@ class Vector2D > { } +class ViewBox { + +ViewBox() + +ViewBox(float X, float Y, float W, float H) + +getHeight() : float {query} + +getWidth() : float {query} + +getX() : float {query} + +getY() : float {query} + -h : float + -w : float + -x : float + -y : float +} + + class Viewer { -Viewer() +~Viewer() @@ -327,8 +342,6 @@ class PathPoint { - - /' Inheritance relationships '/ .Ell <|-- .Circle @@ -387,17 +400,22 @@ class PathPoint { .Parser o-- .SVGElement -.Path *-- .PathPoint +.Parser *-- .ViewBox -.Renderer --> .Renderer : -instance +.Path *-- .PathPoint +.Renderer --> .Renderer : -instance .SVGElement *-- .ColorShape .SVGElement o-- .Gradient + +.SVGElement o-- .SVGElement + + .Stop *-- .ColorShape diff --git a/diagrams/ViewBox.png b/diagrams/ViewBox.png new file mode 100644 index 0000000..88bdb3a Binary files /dev/null and b/diagrams/ViewBox.png differ diff --git a/diagrams/ViewBox.puml b/diagrams/ViewBox.puml new file mode 100644 index 0000000..056641c --- /dev/null +++ b/diagrams/ViewBox.puml @@ -0,0 +1,82 @@ +@startuml + + + + + +/' Objects '/ + +class Parser { + -Parser(const std::string& file_name) + +~Parser() + -parseCircle(rapidxml::xml_node<>* node, const ColorShape& fill_color, const ColorShape& stroke_color, float stroke_width) : Circle* + -parseColor(rapidxml::xml_node<>* node, std::string color, std::string& id) : ColorShape + -parseGradient(std::string id) : Gradient* + +getRoot() : Group* + -parseLine(rapidxml::xml_node<>* node, const ColorShape& stroke_color, float stroke_width) : Line* + +{static} getInstance(const std::string& file_name) : Parser* + -parsePath(rapidxml::xml_node<>* node, const ColorShape& fill_color, const ColorShape& stroke_color, float stroke_width) : Path* + -parseRect(rapidxml::xml_node<>* node, const ColorShape& fill_color, const ColorShape& stroke_color, float stroke_width) : Rect* + -parseElements(std::string file_name) : SVGElement* + -parseShape(rapidxml::xml_node<>* node) : SVGElement* + -root : SVGElement* + -parseText(rapidxml::xml_node<>* node, const ColorShape& fill_color, const ColorShape& stroke_color, float stroke_width) : Text* + +getViewPort() : Vector2Df {query} + -viewport : Vector2Df + +getViewBox() : ViewBox {query} + -viewbox : ViewBox + -parseEllipse(rapidxml::xml_node<>* node, const ColorShape& fill_color, const ColorShape& stroke_color, float stroke_width) : class Ell* + -parsePolygon(rapidxml::xml_node<>* node, const ColorShape& fill_color, const ColorShape& stroke_color, float stroke_width) : class Plygon* + -parsePolyline(rapidxml::xml_node<>* node, const ColorShape& fill_color, const ColorShape& stroke_color, float stroke_width) : class Plyline* + -getFloatAttribute(rapidxml::xml_node<>* node, std::string name) : float + -{static} instance : static Parser* + -gradients : std::map + -getAttribute(rapidxml::xml_node<>* node, std::string name) : std::string + -parsePathPoints(rapidxml::xml_node<>* node) : std::vector + -getGradientStops(rapidxml::xml_node<>* node) : std::vector + -parsePoints(rapidxml::xml_node<>* node) : std::vector + -getTransformOrder(rapidxml::xml_node<>* node) : std::vector + -GetGradients(rapidxml::xml_node<>* node) : void + +printShapesData() : void +} + + +class ViewBox { + +ViewBox() + +ViewBox(float X, float Y, float W, float H) + +getHeight() : float {query} + +getWidth() : float {query} + +getX() : float {query} + +getY() : float {query} + -h : float + -w : float + -x : float + -y : float +} + + + + + +/' Inheritance relationships '/ + + + + +/' Aggregation relationships '/ + +.Parser o-- .Parser + + +.Parser *-- .ViewBox + + + + + + +/' Nested objects '/ + + + +@enduml diff --git a/docs/Circle_8cpp_source.html b/docs/Circle_8cpp_source.html index aa2606a..f215db6 100644 --- a/docs/Circle_8cpp_source.html +++ b/docs/Circle_8cpp_source.html @@ -123,16 +123,16 @@
1 #include "Circle.hpp"
2 
-
3 Circle::Circle(float radius, const Vector2Df &center, mColor fill,
-
4  mColor stroke, float stroke_width)
+
3 Circle::Circle(float radius, const Vector2Df &center, ColorShape fill,
+
4  ColorShape stroke, float stroke_width)
5  : Ell(Vector2Df(radius, radius), center, fill, stroke, stroke_width) {}
6 
7 std::string Circle::getClass() const { return "Circle"; }
std::string getClass() const override
Gets the type of the shape.
Definition: Circle.cpp:7
-
Circle(float radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)
Constructs a Circle object.
Definition: Circle.cpp:3
+
Circle(float radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)
Constructs a Circle object.
Definition: Circle.cpp:3
+
Utility class for manipulating RGBA ColorShapes.
Definition: ColorShape.hpp:11
Represents an ellipse in 2D space.
Definition: Ellipse.hpp:12
-
Utility class for manipulating RGBA mColors.
Definition: Color.hpp:11
diff --git a/docs/Path_8hpp_source.html b/docs/Path_8hpp_source.html index 479cdfd..f797b71 100644 --- a/docs/Path_8hpp_source.html +++ b/docs/Path_8hpp_source.html @@ -127,17 +127,17 @@
4 #include "SVGElement.hpp"
5 
10 struct PathPoint {
-
11  Vector2Df point;
-
12  char tc;
-
13  Vector2Df radius{0, 0};
-
14  float x_axis_rotation = 0.f;
-
15  bool large_arc_flag = false;
-
16  bool sweep_flag = false;
+ +
12  char tc;
+
13  Vector2Df radius{0, 0};
+
14  float x_axis_rotation = 0.f;
+
15  bool large_arc_flag = false;
+
16  bool sweep_flag = false;
17 };
18 
28 class Path : public SVGElement {
29 public:
-
37  Path(const mColor& fill, const mColor& stroke, float stroke_width);
+
37  Path(const ColorShape& fill, const ColorShape& stroke, float stroke_width);
38 
44  std::string getClass() const override;
45 
@@ -157,8 +157,8 @@
92 };
93 
94 #endif
+
Utility class for manipulating RGBA ColorShapes.
Definition: ColorShape.hpp:11
Represents a path element in 2D space.
Definition: Path.hpp:28
-
Path(const mColor &fill, const mColor &stroke, float stroke_width)
Constructs a Path object.
Definition: Path.cpp:3
std::vector< PathPoint > points
Vector of points in the path.
Definition: Path.hpp:90
void printData() const override
Prints the data of the shape.
Definition: Path.cpp:16
std::string getFillRule() const
Gets the current fill rule of the path.
Definition: Path.cpp:14
@@ -167,13 +167,19 @@
std::string getClass() const override
Gets the type of the shape.
Definition: Path.cpp:6
void setFillRule(std::string fill_rule)
Sets the fill rule of the path.
Definition: Path.cpp:12
void addPoint(PathPoint point)
Adds a point to the path.
Definition: Path.cpp:8
+
Path(const ColorShape &fill, const ColorShape &stroke, float stroke_width)
Constructs a Path object.
Definition: Path.cpp:3
Represents an element in an SVG file.
Definition: SVGElement.hpp:18
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
-
Utility class for manipulating RGBA mColors.
Definition: Color.hpp:11
A struct that contains a point and a type of point.
Definition: Path.hpp:10
+
bool large_arc_flag
Flag for large arc.
Definition: Path.hpp:15
+
char tc
Type of point.
Definition: Path.hpp:12
+
Vector2Df radius
Radius of the arc.
Definition: Path.hpp:13
+
Vector2Df point
Point in 2D space.
Definition: Path.hpp:11
+
bool sweep_flag
Flag for sweep.
Definition: Path.hpp:16
+
float x_axis_rotation
Rotation of the arc.
Definition: Path.hpp:14
diff --git a/docs/SVGElement_8cpp_source.html b/docs/SVGElement_8cpp_source.html index 9b5ff22..e92f176 100644 --- a/docs/SVGElement_8cpp_source.html +++ b/docs/SVGElement_8cpp_source.html @@ -126,25 +126,25 @@
3 #include <iostream>
4 
-
6  : fill(mColor::Black), stroke(mColor::Transparent), stroke_width(1),
+
6  : fill(ColorShape::Black), stroke(ColorShape::Transparent), stroke_width(1),
7  gradient(NULL) {}
8 
-
9 SVGElement::SVGElement(const mColor& fill, const mColor& stroke,
+
9 SVGElement::SVGElement(const ColorShape& fill, const ColorShape& stroke,
10  float stroke_width)
11  : fill(fill), stroke(stroke), stroke_width(stroke_width), gradient(NULL) {}
12 
-
13 SVGElement::SVGElement(const mColor& fill, const mColor& stroke,
+
13 SVGElement::SVGElement(const ColorShape& fill, const ColorShape& stroke,
14  float stroke_width, const Vector2Df& position)
15  : fill(fill), stroke(stroke), stroke_width(stroke_width),
16  position(position), gradient(NULL) {}
17 
-
18 void SVGElement::setFillColor(const mColor& color) { fill = color; }
+
18 void SVGElement::setFillColor(const ColorShape& color) { fill = color; }
19 
-
20 const mColor& SVGElement::getFillColor() const { return fill; }
+
20 const ColorShape& SVGElement::getFillColor() const { return fill; }
21 
-
22 void SVGElement::setOutlineColor(const mColor& color) { stroke = color; }
+
22 void SVGElement::setOutlineColor(const ColorShape& color) { stroke = color; }
23 
-
24 const mColor& SVGElement::getOutlineColor() const { return stroke; }
+
24 const ColorShape& SVGElement::getOutlineColor() const { return stroke; }
25 
26 void SVGElement::setOutlineThickness(float thickness) {
27  stroke_width = thickness;
@@ -169,8 +169,8 @@
46 
47 void SVGElement::printData() const {
48  std::cout << "Shape: " << getClass() << std::endl;
-
49  std::cout << "Fill: " << getFillColor() << std::endl;
-
50  std::cout << "Stroke: " << getOutlineColor() << std::endl;
+
49  std::cout << "Fill: " << getFillColor() << std::endl;
+
50  std::cout << "Stroke: " << getOutlineColor() << std::endl;
51  std::cout << "Stroke width: " << getOutlineThickness() << std::endl;
52  std::cout << "Position: " << getPosition().x << " " << getPosition().y
53  << std::endl;
@@ -204,6 +204,7 @@
82 
+
Utility class for manipulating RGBA ColorShapes.
Definition: ColorShape.hpp:11
A class that represents a gradient.
Definition: Gradient.hpp:18
std::pair< Vector2Df, Vector2Df > getPoints() const
Gets the start and end points of the gradient.
Definition: Gradient.cpp:9
virtual std::string getClass() const =0
Gets the type of the gradient.
@@ -212,33 +213,32 @@
virtual Vector2Df getMaxBound() const
Gets the maximum bound of the shape.
Definition: SVGElement.cpp:45
virtual Vector2Df getMinBound() const
Gets the minimum bound of the shape.
Definition: SVGElement.cpp:43
SVGElement * getParent() const
Parent pointer getter.
Definition: SVGElement.cpp:77
+
const ColorShape & getFillColor() const
Gets the fill color of the shape.
Definition: SVGElement.cpp:20
float getOutlineThickness() const
Gets the outline thickness of the shape.
Definition: SVGElement.cpp:30
void setGradient(Gradient *gradient)
Sets the gradient of the shape.
Definition: SVGElement.cpp:79
void setParent(SVGElement *parent)
Parent pointer setter to make the composite design pattern.
Definition: SVGElement.cpp:75
Vector2Df getPosition() const
Get the current position of the shape.
Definition: SVGElement.cpp:41
std::vector< std::string > getTransforms() const
Gets the transformations of the shape.
Definition: SVGElement.cpp:71
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
void setPosition(float x, float y)
Sets the position of the shape.
Definition: SVGElement.cpp:32
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
+
const ColorShape & getOutlineColor() const
Gets the outline color of the shape.
Definition: SVGElement.cpp:24
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
void setOutlineThickness(float thickness)
Sets the outline thickness of the shape.
Definition: SVGElement.cpp:26
-
const mColor & getOutlineColor() const
Gets the outline color of the shape.
Definition: SVGElement.cpp:24
Gradient * getGradient() const
Gets the gradient of the shape.
Definition: SVGElement.cpp:81
-
Gradient * gradient
Pointer to the gradient that contains the shape.
Definition: SVGElement.hpp:227
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
-
const mColor & getFillColor() const
Gets the fill color of the shape.
Definition: SVGElement.cpp:20
-
void setFillColor(const mColor &color)
Sets the fill color of the shape.
Definition: SVGElement.cpp:18
-
void setOutlineColor(const mColor &color)
Sets the outline color of the shape.
Definition: SVGElement.cpp:22
-
Vector2Df position
Position of the shape.
Definition: SVGElement.hpp:225
+
Gradient * gradient
Pointer to the gradient that contains the shape.
Definition: SVGElement.hpp:228
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
+
void setFillColor(const ColorShape &color)
Sets the fill color of the shape.
Definition: SVGElement.cpp:18
+
Vector2Df position
Position of the shape.
Definition: SVGElement.hpp:226
+
void setOutlineColor(const ColorShape &color)
Sets the outline color of the shape.
Definition: SVGElement.cpp:22
SVGElement()
Constructs a Shape object.
Definition: SVGElement.cpp:5
virtual void printData() const
Prints the data of the shape.
Definition: SVGElement.cpp:47
virtual std::string getClass() const =0
Gets the type of the shape.
-
SVGElement * parent
Pointer to the group that contains the shape.
Definition: SVGElement.hpp:219
-
std::vector< std::string > transforms
List of transformations.
Definition: SVGElement.hpp:226
+
SVGElement * parent
Pointer to the group that contains the shape.
Definition: SVGElement.hpp:220
+
std::vector< std::string > transforms
List of transformations.
Definition: SVGElement.hpp:227
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
virtual void addElement(SVGElement *element)
Adds a shape to the composite group.
Definition: SVGElement.cpp:83
T x
X coordinate of the vector.
Definition: Vector2D.hpp:45
T y
Y coordinate of the vector.
Definition: Vector2D.hpp:46
-
Utility class for manipulating RGBA mColors.
Definition: Color.hpp:11
diff --git a/docs/annotated_dup.js b/docs/annotated_dup.js index 1387628..34174e3 100644 --- a/docs/annotated_dup.js +++ b/docs/annotated_dup.js @@ -1,12 +1,12 @@ var annotated_dup = [ [ "Circle", "classCircle.html", "classCircle" ], + [ "ColorShape", "classColorShape.html", "classColorShape" ], [ "Ell", "classEll.html", "classEll" ], [ "Gradient", "classGradient.html", "classGradient" ], [ "Group", "classGroup.html", "classGroup" ], [ "Line", "classLine.html", "classLine" ], [ "LinearGradient", "classLinearGradient.html", "classLinearGradient" ], - [ "mColor", "classmColor.html", "classmColor" ], [ "Parser", "classParser.html", "classParser" ], [ "Path", "classPath.html", "classPath" ], [ "PathPoint", "structPathPoint.html", "structPathPoint" ], @@ -20,5 +20,6 @@ var annotated_dup = [ "SVGElement", "classSVGElement.html", "classSVGElement" ], [ "Text", "classText.html", "classText" ], [ "Vector2D", "classVector2D.html", "classVector2D" ], + [ "ViewBox", "classViewBox.html", "classViewBox" ], [ "Viewer", "classViewer.html", "classViewer" ] ]; \ No newline at end of file diff --git a/docs/classCircle-members.html b/docs/classCircle-members.html index c6112f2..45a6130 100644 --- a/docs/classCircle-members.html +++ b/docs/classCircle-members.html @@ -125,15 +125,15 @@

This is the complete list of members for Circle, including all inherited members.

- - - + + + - + - + @@ -144,20 +144,20 @@ - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
Circle(float radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)Circle
Ell(const Vector2Df &radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)Ell
fillSVGElementprivate
Circle(float radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)Circle
Ell(const Vector2Df &radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)Ell
fillSVGElementprivate
getClass() const overrideCirclevirtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getGradient() constSVGElement
getMaxBound() const overrideEllvirtual
getMinBound() const overrideEllvirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPosition() constSVGElement
positionSVGElementprivate
printData() const overrideEllvirtual
radiusEllprivate
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setRadius(const Vector2Df &radius)Ell
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classCircle.html b/docs/classCircle.html index 52d9c32..2476804 100644 --- a/docs/classCircle.html +++ b/docs/classCircle.html @@ -132,27 +132,28 @@
Inheritance diagram for Circle:
-
+
+
[legend]
Collaboration diagram for Circle:
-
+
[legend]
- - - + + + - - - + + + @@ -176,12 +177,12 @@ virtual  - - - - - - + + + + + + @@ -191,12 +192,12 @@ - - - - - - + + + + + + @@ -231,12 +232,12 @@ - - - - - - + + + + + + @@ -249,8 +250,8 @@

Definition at line 13 of file Circle.hpp.

Constructor & Destructor Documentation

- -

◆ Circle()

+ +

◆ Circle()

@@ -270,13 +271,13 @@

- + - + @@ -306,12 +307,12 @@

Definition at line 3 of file Circle.cpp.

-
-
Ell(const Vector2Df &radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)
Constructs an Ellipse object.
Definition: Ellipse.cpp:5
+
+
Ell(const Vector2Df &radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)
Constructs an Ellipse object.
Definition: Ellipse.cpp:5
Vector2Df radius
Radii of the ellipse in the x and y directions.
Definition: Ellipse.hpp:14
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
diff --git a/docs/classCircle.js b/docs/classCircle.js index 9838c08..b2919fe 100644 --- a/docs/classCircle.js +++ b/docs/classCircle.js @@ -1,5 +1,5 @@ var classCircle = [ - [ "Circle", "classCircle.html#a5d018c51bfa1fa3d1081e3deef5eddc0", null ], + [ "Circle", "classCircle.html#ace05db36eae5455a95be7aaff49d1fd9", null ], [ "getClass", "classCircle.html#a09523e46318092d42a5969a1da5613bb", null ] ]; \ No newline at end of file diff --git a/docs/classCircle__coll__graph.map b/docs/classCircle__coll__graph.map index 8bfec84..159538b 100644 --- a/docs/classCircle__coll__graph.map +++ b/docs/classCircle__coll__graph.map @@ -4,5 +4,5 @@ - + diff --git a/docs/classCircle__coll__graph.md5 b/docs/classCircle__coll__graph.md5 index 1d81256..f76165f 100644 --- a/docs/classCircle__coll__graph.md5 +++ b/docs/classCircle__coll__graph.md5 @@ -1 +1 @@ -dc7a97bc728dee7fc64f4ca5dacec54f \ No newline at end of file +572ab9c3e1eb35042f71238ff39cb9bb \ No newline at end of file diff --git a/docs/classCircle__coll__graph.svg b/docs/classCircle__coll__graph.svg index afadbf4..7636eb4 100644 --- a/docs/classCircle__coll__graph.svg +++ b/docs/classCircle__coll__graph.svg @@ -4,8 +4,8 @@ - + Circle @@ -48,7 +48,7 @@ - + Node3->Node3 @@ -73,9 +73,9 @@ Node4->Node3 - - - position + + + position @@ -91,39 +91,39 @@ Node5->Node3 - gradient + gradient Node6 - - -mColor + + +ColorShape - + Node6->Node3 - - - fill -stroke + + + fill +stroke - + Node6->Node6 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classColorShape-members.html b/docs/classColorShape-members.html new file mode 100644 index 0000000..334e4a6 --- /dev/null +++ b/docs/classColorShape-members.html @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + +svg-reader: Member List + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Public Member Functions

 Circle (float radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)
 Constructs a Circle object. More...
 
 Circle (float radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)
 Constructs a Circle object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
- Public Member Functions inherited from Ell
 Ell (const Vector2Df &radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)
 Constructs an Ellipse object. More...
 
 Ell (const Vector2Df &radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)
 Constructs an Ellipse object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from SVGElement
SVGElementparent
mColor ColorShape  fill,
mColor ColorShape  stroke,
+ + + + + +
+
svg-reader +  0.3 +
+
Parse and render SVG files, handle user interactions.
+
+
+ + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ColorShape Member List
+
+
+ +

This is the complete list of members for ColorShape, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
aColorShape
bColorShape
BlackColorShapestatic
BlueColorShapestatic
ColorShape()ColorShape
ColorShape(int red, int green, int blue, int alpha=255)ColorShape
ColorShape(int color)ColorShapeexplicit
CyanColorShapestatic
gColorShape
GreenColorShapestatic
MagentaColorShapestatic
operator<<(std::ostream &os, const ColorShape &color)ColorShapefriend
rColorShape
RedColorShapestatic
TransparentColorShapestatic
WhiteColorShapestatic
YellowColorShapestatic
+
+ + + \ No newline at end of file diff --git a/docs/classColorShape.html b/docs/classColorShape.html new file mode 100644 index 0000000..3103ca2 --- /dev/null +++ b/docs/classColorShape.html @@ -0,0 +1,415 @@ + + + + + + + + + + + + + + + + + + +svg-reader: ColorShape Class Reference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
svg-reader +  0.3 +
+
Parse and render SVG files, handle user interactions.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Utility class for manipulating RGBA ColorShapes. + More...

+ +

#include <ColorShape.hpp>

+
+Collaboration diagram for ColorShape:
+
+
+
+
[legend]
+ + + + + + + + + + + +

+Public Member Functions

 ColorShape ()
 Default constructor. More...
 
 ColorShape (int red, int green, int blue, int alpha=255)
 Construct the ColorShape from its 4 RGBA components. More...
 
 ColorShape (int color)
 Construct the color from 32-bit unsigned integer. More...
 
+ + + + + + + + + + + + + +

+Public Attributes

+int r
 Red component.
 
+int g
 Green component.
 
+int b
 Blue component.
 
+int a
 Alpha (opacity) component.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Attributes

+static const ColorShape Black
 Black predefined color.
 
+static const ColorShape White
 White predefined color.
 
+static const ColorShape Red
 Red predefined color.
 
+static const ColorShape Green
 Green predefined color.
 
+static const ColorShape Blue
 Blue predefined color.
 
+static const ColorShape Yellow
 Yellow predefined color.
 
+static const ColorShape Magenta
 Magenta predefined color.
 
+static const ColorShape Cyan
 Cyan predefined color.
 
+static const ColorShape Transparent
 Transparent (black) predefined color.
 
+ + + + +

+Friends

std::ostream & operator<< (std::ostream &os, const ColorShape &color)
 Prints the color. More...
 
+

Detailed Description

+

Utility class for manipulating RGBA ColorShapes.

+ +

Definition at line 11 of file ColorShape.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ColorShape() [1/3]

+ +
+
+ + + + + + + +
ColorShape::ColorShape ()
+
+ +

Default constructor.

+

Constructs an opaque black ColorShape. It is equivalent to ColorShape(0, 0, 0, 255).

+ +

Definition at line 14 of file ColorShape.cpp.

+
14 : r(0), g(0), b(0), a(255) {}
+
int r
Red component.
Definition: ColorShape.hpp:61
+
int g
Green component.
Definition: ColorShape.hpp:62
+
int a
Alpha (opacity) component.
Definition: ColorShape.hpp:64
+
int b
Blue component.
Definition: ColorShape.hpp:63
+
+
+
+ +

◆ ColorShape() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ColorShape::ColorShape (int red,
int green,
int blue,
int alpha = 255 
)
+
+ +

Construct the ColorShape from its 4 RGBA components.

+
Parameters
+ + + + + +
redRed component (in the range [0, 255])
greenGreen component (in the range [0, 255])
blueBlue component (in the range [0, 255])
alphaAlpha (opacity) component (in the range [0, 255])
+
+
+ +

Definition at line 16 of file ColorShape.cpp.

+
17  : r(red), g(green), b(blue), a(alpha) {
+
18  r = std::clamp(r, 0, 255);
+
19  g = std::clamp(g, 0, 255);
+
20  b = std::clamp(b, 0, 255);
+
21  a = std::clamp(a, 0, 255);
+
22 }
+
+
+
+ +

◆ ColorShape() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
ColorShape::ColorShape (int color)
+
+explicit
+
+ +

Construct the color from 32-bit unsigned integer.

+
Parameters
+ + +
colorNumber containing the RGBA components (in that order)
+
+
+ +

Definition at line 24 of file ColorShape.cpp.

+
25  : r(static_cast< int >((color & 0xff000000) >> 24)),
+
26  g(static_cast< int >((color & 0x00ff0000) >> 16)),
+
27  b((color & 0x0000ff00) >> 8), a((color & 0x000000ff) >> 0) {}
+
+
+
+

Friends And Related Function Documentation

+ +

◆ operator<<

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::ostream& operator<< (std::ostream & os,
const ColorShapecolor 
)
+
+friend
+
+ +

Prints the color.

+
Parameters
+ + + +
osoutput stream
colorcolor to be printed
+
+
+
Returns
output stream
+
Note
This function is used for printing the color.
+ +

Definition at line 29 of file ColorShape.cpp.

+
29  {
+
30  os << "Color(" << color.r << ", " << color.g << ", " << color.b << ", "
+
31  << color.a << ")";
+
32  return os;
+
33 }
+
+
+
+
The documentation for this class was generated from the following files: +
+
+ + + \ No newline at end of file diff --git a/docs/classColorShape.js b/docs/classColorShape.js new file mode 100644 index 0000000..c184f33 --- /dev/null +++ b/docs/classColorShape.js @@ -0,0 +1,20 @@ +var classColorShape = +[ + [ "ColorShape", "classColorShape.html#a4bf0a3d5e75871a83d9999a5d18257e1", null ], + [ "ColorShape", "classColorShape.html#a527e9e54f88c2e84fe596afa7c86f302", null ], + [ "ColorShape", "classColorShape.html#ab15a58a6fa914cf71829db2075b20ef6", null ], + [ "operator<<", "classColorShape.html#ab1838d64491c21fc854c50b7b1d2fd44", null ], + [ "a", "classColorShape.html#aa6918d31a60b8063746b6df08aa1b63a", null ], + [ "b", "classColorShape.html#aaafbfd08715b17c4bda81d7b84dc1e68", null ], + [ "Black", "classColorShape.html#a82ed7d0df939f43fd72105c5c6c7ed87", null ], + [ "Blue", "classColorShape.html#a1df0c31367734b49349f8d51ebc26889", null ], + [ "Cyan", "classColorShape.html#a87ec94f44076a578446b384afafae0ec", null ], + [ "g", "classColorShape.html#a91c01752af407a122a81c6c44afbba9f", null ], + [ "Green", "classColorShape.html#a4bf7634a2b117e8867dfb4444962d66d", null ], + [ "Magenta", "classColorShape.html#a8132294eb978dd065d7da6896d7782af", null ], + [ "r", "classColorShape.html#a7e699ac932feca73128bb768047c154b", null ], + [ "Red", "classColorShape.html#a58f7532025f1f7715f13ebfc5586b08c", null ], + [ "Transparent", "classColorShape.html#af806b9a0f2490761528be87924cb04c0", null ], + [ "White", "classColorShape.html#ac5fd30929839c15bf0e1321552130a70", null ], + [ "Yellow", "classColorShape.html#a6bc88305d41255e2d9969bec6777420a", null ] +]; \ No newline at end of file diff --git a/docs/classColorShape__coll__graph.map b/docs/classColorShape__coll__graph.map new file mode 100644 index 0000000..0940309 --- /dev/null +++ b/docs/classColorShape__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/classColorShape__coll__graph.md5 b/docs/classColorShape__coll__graph.md5 new file mode 100644 index 0000000..2f91944 --- /dev/null +++ b/docs/classColorShape__coll__graph.md5 @@ -0,0 +1 @@ +85db11587d0e68ed4cf182294cf5ba77 \ No newline at end of file diff --git a/docs/classColorShape__coll__graph.svg b/docs/classColorShape__coll__graph.svg new file mode 100644 index 0000000..30aca69 --- /dev/null +++ b/docs/classColorShape__coll__graph.svg @@ -0,0 +1,36 @@ + + + + + + +ColorShape + + +Node1 + + +ColorShape + + + + + +Node1->Node1 + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow + + + diff --git a/docs/classEll-members.html b/docs/classEll-members.html index e1bd87a..bb24b71 100644 --- a/docs/classEll-members.html +++ b/docs/classEll-members.html @@ -125,14 +125,14 @@

This is the complete list of members for Ell, including all inherited members.

- - + + - + - + @@ -143,20 +143,20 @@ - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
Ell(const Vector2Df &radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)Ell
fillSVGElementprivate
Ell(const Vector2Df &radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)Ell
fillSVGElementprivate
getClass() const overrideEllvirtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getGradient() constSVGElement
getMaxBound() const overrideEllvirtual
getMinBound() const overrideEllvirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPosition() constSVGElement
positionSVGElementprivate
printData() const overrideEllvirtual
radiusEllprivate
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setRadius(const Vector2Df &radius)Ell
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classEll.html b/docs/classEll.html index 0e49af5..e51761c 100644 --- a/docs/classEll.html +++ b/docs/classEll.html @@ -133,20 +133,21 @@
Inheritance diagram for Ell:
-
+
+
[legend]
Collaboration diagram for Ell:
-
+
[legend]
- - - + + + @@ -170,12 +171,12 @@ virtual  - - - - - - + + + + + + @@ -185,12 +186,12 @@ - - - - - - + + + + + + @@ -232,12 +233,12 @@ - - - - - - + + + + + + @@ -250,8 +251,8 @@

Definition at line 12 of file Ellipse.hpp.

Constructor & Destructor Documentation

- -

◆ Ell()

+ +

◆ Ell()

@@ -271,13 +272,13 @@

- + - + @@ -307,11 +308,11 @@

Definition at line 5 of file Ellipse.cpp.

-
7  : SVGElement(fill, stroke, stroke_thickness, center), radius(radius) {}
+
7  : SVGElement(fill, stroke, stroke_thickness, center), radius(radius) {}
Vector2Df radius
Radii of the ellipse in the x and y directions.
Definition: Ellipse.hpp:14
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
SVGElement()
Constructs a Shape object.
Definition: SVGElement.cpp:5
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
diff --git a/docs/classEll.js b/docs/classEll.js index 8f8e594..4b6e36f 100644 --- a/docs/classEll.js +++ b/docs/classEll.js @@ -1,6 +1,6 @@ var classEll = [ - [ "Ell", "classEll.html#a4a9956ca82cb9f957e993fa0c0faced6", null ], + [ "Ell", "classEll.html#ab18115d5d2ad73b80ffbdf3661908f38", null ], [ "getClass", "classEll.html#a0d0a2a70c06878c5769bd7d092277892", null ], [ "getMaxBound", "classEll.html#a8a8dd2acc8c7be5580dd8e549d247525", null ], [ "getMinBound", "classEll.html#ab79368df57ee08382916fc52b69afb85", null ], diff --git a/docs/classEll__coll__graph.map b/docs/classEll__coll__graph.map index d145395..be65457 100644 --- a/docs/classEll__coll__graph.map +++ b/docs/classEll__coll__graph.map @@ -3,5 +3,5 @@ - + diff --git a/docs/classEll__coll__graph.md5 b/docs/classEll__coll__graph.md5 index ef0237f..3c3c36e 100644 --- a/docs/classEll__coll__graph.md5 +++ b/docs/classEll__coll__graph.md5 @@ -1 +1 @@ -bbd1ae0f69cc74f30ea1a7d363ee41b1 \ No newline at end of file +904a5b8b7fd34eab1912aa65e6c946ce \ No newline at end of file diff --git a/docs/classEll__coll__graph.svg b/docs/classEll__coll__graph.svg index b3e3334..a80ee7d 100644 --- a/docs/classEll__coll__graph.svg +++ b/docs/classEll__coll__graph.svg @@ -4,8 +4,8 @@ - + Ell @@ -33,7 +33,7 @@ - + Node2->Node2 @@ -58,9 +58,9 @@ Node3->Node2 - - - position + + + position @@ -76,39 +76,39 @@ Node4->Node2 - gradient + gradient Node5 - - -mColor + + +ColorShape - + Node5->Node2 - - - fill -stroke + + + fill +stroke - + Node5->Node5 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classGroup-members.html b/docs/classGroup-members.html index a1de882..867fb48 100644 --- a/docs/classGroup-members.html +++ b/docs/classGroup-members.html @@ -126,15 +126,15 @@

Public Member Functions

 Ell (const Vector2Df &radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)
 Constructs an Ellipse object. More...
 
 Ell (const Vector2Df &radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)
 Constructs an Ellipse object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from SVGElement
SVGElementparent
mColor ColorShape  fill,
mColor ColorShape  stroke,
- + - + - + @@ -145,20 +145,20 @@ - + - + - + - - + + diff --git a/docs/classGroup.html b/docs/classGroup.html index d472767..30e6235 100644 --- a/docs/classGroup.html +++ b/docs/classGroup.html @@ -133,12 +133,13 @@
Inheritance diagram for Group:
-
+
+
[legend]
Collaboration diagram for Group:
-
+
[legend]
addElement(SVGElement *shape) overrideGroupvirtual
attributesGroupprivate
fillSVGElementprivate
fillSVGElementprivate
getAttributes() constGroup
getClass() const overrideGroupvirtual
getElements() constGroup
getFillColor() constSVGElement
getFillColor() constSVGElement
getGradient() constSVGElement
getMaxBound() constSVGElementvirtual
getMinBound() constSVGElementvirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPosition() constSVGElement
parentSVGElementprotected
positionSVGElementprivate
printData() const overrideGroupvirtual
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setTransforms(const std::vector< std::string > &transforms)SVGElement
shapesGroupprivate
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~Group()Group
~SVGElement()=defaultSVGElementvirtual
@@ -175,12 +176,12 @@ virtual  - - - - - - + + + + + + @@ -190,12 +191,12 @@ - - - - - - + + + + + + @@ -244,12 +245,12 @@ - - - - - - + + + + + + @@ -260,7 +261,7 @@

A composite class that contains a vector of shape pointers (polymorphic).

The Group class is derived from the SVGElement class and defines a group of SVGElements. The Group class is a composite class that contains a vector of SVGElement pointers (polymorphic). The Group class is used to group SVGElements together.

-

Definition at line 19 of file Group.hpp.

+

Definition at line 20 of file Group.hpp.

Constructor & Destructor Documentation

◆ Group()

@@ -288,7 +289,7 @@

Definition at line 5 of file Group.cpp.

-
Attributes attributes
Attributes of the group.
Definition: Group.hpp:78
+
Attributes attributes
Attributes of the group.
Definition: Group.hpp:79
@@ -332,7 +333,7 @@

18  shapes.push_back(shape);
19  shape->setParent(this);
20 }
-
std::vector< SVGElement * > shapes
Vector of shapes in the group.
Definition: Group.hpp:77
+
std::vector< SVGElement * > shapes
Vector of shapes in the group.
Definition: Group.hpp:78
void setParent(SVGElement *parent)
Parent pointer setter to make the composite design pattern.
Definition: SVGElement.cpp:75
diff --git a/docs/classGroup__coll__graph.map b/docs/classGroup__coll__graph.map index 67325bb..57a41c6 100644 --- a/docs/classGroup__coll__graph.map +++ b/docs/classGroup__coll__graph.map @@ -3,5 +3,5 @@ - + diff --git a/docs/classGroup__coll__graph.md5 b/docs/classGroup__coll__graph.md5 index 9b2a2b1..166ad44 100644 --- a/docs/classGroup__coll__graph.md5 +++ b/docs/classGroup__coll__graph.md5 @@ -1 +1 @@ -914a2f4a9e5fd43cfb26372d62a29825 \ No newline at end of file +bd59688465d4bda2f118276fabfcd03a \ No newline at end of file diff --git a/docs/classGroup__coll__graph.svg b/docs/classGroup__coll__graph.svg index d9c645d..1870615 100644 --- a/docs/classGroup__coll__graph.svg +++ b/docs/classGroup__coll__graph.svg @@ -4,8 +4,8 @@ - + Group @@ -33,7 +33,7 @@ - + Node2->Node2 @@ -74,34 +74,34 @@ Node5 - - -mColor + + +ColorShape - + Node5->Node2 - - - fill -stroke + + + fill +stroke - + Node5->Node5 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classLine-members.html b/docs/classLine-members.html index ef2cc48..45791a4 100644 --- a/docs/classLine-members.html +++ b/docs/classLine-members.html @@ -126,38 +126,38 @@

~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from SVGElement
SVGElementparent
- + - + - + - + - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
directionLineprivate
fillSVGElementprivate
fillSVGElementprivate
getClass() const overrideLinevirtual
getDirection() constLine
getFillColor() constSVGElement
getFillColor() constSVGElement
getGradient() constSVGElement
getLength() constLine
getMaxBound() constSVGElementvirtual
getMinBound() constSVGElementvirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPosition() constSVGElement
getTransforms() constSVGElement
gradientSVGElementprivate
Line(const Vector2Df &point1, const Vector2Df &point2, mColor stroke, float stroke_width)Line
Line(const Vector2Df &point1, const Vector2Df &point2, ColorShape stroke, float stroke_width)Line
parentSVGElementprotected
positionSVGElementprivate
printData() constSVGElementvirtual
setDirection(const Vector2Df &direction)Line
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classLine.html b/docs/classLine.html index 55a3f88..b70b76b 100644 --- a/docs/classLine.html +++ b/docs/classLine.html @@ -133,20 +133,21 @@
Inheritance diagram for Line:
-
+
+
[legend]
Collaboration diagram for Line:
-
+
[legend]
- - - + + + @@ -164,12 +165,12 @@ virtual  - - - - - - + + + + + + @@ -179,12 +180,12 @@ - - - - - - + + + + + + @@ -235,12 +236,12 @@ - - - - - - + + + + + + @@ -253,8 +254,8 @@

Definition at line 12 of file Line.hpp.

Constructor & Destructor Documentation

- -

◆ Line()

+ +

◆ Line()

@@ -274,7 +275,7 @@

- + @@ -303,13 +304,13 @@

Definition at line 5 of file Line.cpp.

-
+
8  direction(point2) {}
+
static const ColorShape Transparent
Transparent (black) predefined color.
Definition: ColorShape.hpp:59
Vector2Df direction
Direction of the line.
Definition: Line.hpp:14
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
SVGElement()
Constructs a Shape object.
Definition: SVGElement.cpp:5
-
static const mColor Transparent
Transparent (black) predefined color.
Definition: Color.hpp:58
diff --git a/docs/classLine.js b/docs/classLine.js index a988985..14aa5d7 100644 --- a/docs/classLine.js +++ b/docs/classLine.js @@ -1,6 +1,6 @@ var classLine = [ - [ "Line", "classLine.html#ab6e165ec2c3f412d5e5a860b28a52b4c", null ], + [ "Line", "classLine.html#abef476564dc2f7dad7259ee5071301fa", null ], [ "getClass", "classLine.html#a745f295541d412b49dac89423bd957a6", null ], [ "getDirection", "classLine.html#adb348ce7ddf4b500c3593b7126aa4451", null ], [ "getLength", "classLine.html#afe6672bc7667cf45739c46f9fc8cb237", null ], diff --git a/docs/classLine__coll__graph.map b/docs/classLine__coll__graph.map index 1308e35..5a5346c 100644 --- a/docs/classLine__coll__graph.map +++ b/docs/classLine__coll__graph.map @@ -3,5 +3,5 @@ - + diff --git a/docs/classLine__coll__graph.md5 b/docs/classLine__coll__graph.md5 index 9eb0bf2..632b0c2 100644 --- a/docs/classLine__coll__graph.md5 +++ b/docs/classLine__coll__graph.md5 @@ -1 +1 @@ -049a901dd7e5e6b3958a3eac7f7acc76 \ No newline at end of file +3efe6ffb7afad4b7306d398276f85016 \ No newline at end of file diff --git a/docs/classLine__coll__graph.svg b/docs/classLine__coll__graph.svg index c88bb0e..efb466a 100644 --- a/docs/classLine__coll__graph.svg +++ b/docs/classLine__coll__graph.svg @@ -4,8 +4,8 @@ - + Line @@ -33,7 +33,7 @@ - + Node2->Node2 @@ -81,34 +81,34 @@ Node5 - - -mColor + + +ColorShape - + Node5->Node2 - - - fill -stroke + + + fill +stroke - + Node5->Node5 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classParser-members.html b/docs/classParser-members.html index 052dbc6..e3b3657 100644 --- a/docs/classParser-members.html +++ b/docs/classParser-members.html @@ -131,29 +131,29 @@
getInstance(const std::string &file_name)Parser
static

- + - - + + - + - - + + - - + + - + - + - +

Public Member Functions

 Line (const Vector2Df &point1, const Vector2Df &point2, mColor stroke, float stroke_width)
 Constructs a Line object. More...
 
 Line (const Vector2Df &point1, const Vector2Df &point2, ColorShape stroke, float stroke_width)
 Constructs a Line object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from SVGElement
SVGElementparent
mColor ColorShape  stroke,
getRoot()Parser
getTransformOrder(rapidxml::xml_node<> *node)Parserprivate
getViewBox() constParser
getViewBox() constParser
getViewPort() constParser
gradientsParserprivate
instanceParserprivatestatic
parseCircle(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)Parserprivate
parseColor(rapidxml::xml_node<> *node, std::string color, std::string &id)Parserprivate
parseCircle(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)Parserprivate
parseColor(rapidxml::xml_node<> *node, std::string color, std::string &id)Parserprivate
parseElements(std::string file_name)Parserprivate
parseEllipse(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)Parserprivate
parseEllipse(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)Parserprivate
parseGradient(std::string id)Parserprivate
parseLine(rapidxml::xml_node<> *node, const mColor &stroke_color, float stroke_width)Parserprivate
parsePath(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)Parserprivate
parseLine(rapidxml::xml_node<> *node, const ColorShape &stroke_color, float stroke_width)Parserprivate
parsePath(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)Parserprivate
parsePathPoints(rapidxml::xml_node<> *node)Parserprivate
parsePoints(rapidxml::xml_node<> *node)Parserprivate
parsePolygon(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)Parserprivate
parsePolyline(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)Parserprivate
parsePolygon(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)Parserprivate
parsePolyline(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)Parserprivate
Parser(const Parser &)=deleteParser
Parser(const std::string &file_name)Parserprivate
parseRect(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)Parserprivate
parseRect(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)Parserprivate
parseShape(rapidxml::xml_node<> *node)Parserprivate
parseText(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)Parserprivate
parseText(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)Parserprivate
printShapesData()Parser
rootParserprivate
viewboxParserprivate
viewboxParserprivate
viewportParserprivate
~Parser()Parser
diff --git a/docs/classParser.html b/docs/classParser.html index c0383c0..308520a 100644 --- a/docs/classParser.html +++ b/docs/classParser.html @@ -136,7 +136,7 @@
Collaboration diagram for Parser:
-
+
[legend]
@@ -156,9 +156,9 @@ - - - + + + @@ -192,9 +192,9 @@ - - - + + + @@ -204,30 +204,30 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -240,10 +240,10 @@ - - - + + + @@ -294,12 +294,12 @@

Definition at line 165 of file Parser.cpp.

-
165  {
-
166  root = parseElements(file_name);
-
167 }
-
SVGElement * root
The root of the SVG file.
Definition: Parser.hpp:276
-
SVGElement * parseElements(std::string file_name)
Parses the SVG file and creates a tree of SVGElements.
Definition: Parser.cpp:181
+

Definition at line 179 of file Parser.cpp.

+
179  {
+
180  root = parseElements(file_name);
+
181 }
+
SVGElement * root
The root of the SVG file.
Definition: Parser.hpp:278
+
SVGElement * parseElements(std::string file_name)
Parses the SVG file and creates a tree of SVGElements.
Definition: Parser.cpp:198
@@ -348,27 +348,27 @@

Returns
The attributes of the node.
-

Definition at line 296 of file Parser.cpp.

-
296  {
-
297  if (name == "text") return removeExtraSpaces(node->value());
-
298  std::string result;
-
299  if (node->first_attribute(name.c_str()) == NULL) {
-
300  if (name == "fill" || name == "stop-color")
-
301  result = "black";
-
302  else if (name == "stroke" || name == "transform" || name == "rotate" ||
-
303  name == "font-style")
-
304  result = "none";
-
305  else if (name == "text-anchor")
-
306  result = "start";
-
307  else if (name == "fill-rule")
-
308  result = "nonzero";
-
309  else if (name == "gradientUnits")
-
310  result = "objectBoundingBox";
-
311  } else {
-
312  result = node->first_attribute(name.c_str())->value();
-
313  }
-
314  return result;
-
315 }
+

Definition at line 328 of file Parser.cpp.

+
328  {
+
329  if (name == "text") return removeExtraSpaces(node->value());
+
330  std::string result;
+
331  if (node->first_attribute(name.c_str()) == NULL) {
+
332  if (name == "fill" || name == "stop-color")
+
333  result = "black";
+
334  else if (name == "stroke" || name == "transform" || name == "rotate" ||
+
335  name == "font-style")
+
336  result = "none";
+
337  else if (name == "text-anchor")
+
338  result = "start";
+
339  else if (name == "fill-rule")
+
340  result = "nonzero";
+
341  else if (name == "gradientUnits")
+
342  result = "objectBoundingBox";
+
343  } else {
+
344  result = node->first_attribute(name.c_str())->value();
+
345  }
+
346  return result;
+
347 }
@@ -416,53 +416,58 @@

Returns
The floating point attributes of the node.
-

Definition at line 317 of file Parser.cpp.

-
317  {
-
318  float result;
-
319  if (node->first_attribute(name.c_str()) == NULL) {
-
320  if (std::string(node->name()).find("Gradient") != std::string::npos) {
-
321  if (name == "x1" || name == "y1" || name == "fr")
-
322  result = 0;
-
323  else if (name == "cx" || name == "cy")
-
324  result = name == "cx" ? 0.5 * this->viewbox.second.x
-
325  : 0.5 * this->viewbox.second.y;
-
326  else if (name == "r") {
-
327  result = sqrt((pow(this->viewbox.second.x, 2) +
-
328  pow(this->viewbox.second.y, 2)) /
-
329  2) /
-
330  2;
-
331  } else if (name == "fx" || name == "fy")
-
332  result = name == "fx" ? getFloatAttribute(node, "cx")
-
333  : getFloatAttribute(node, "cy");
-
334  else
-
335  result = name == "x2" ? this->viewbox.second.x
-
336  : this->viewbox.second.y;
-
337  } else {
-
338  if (name == "stroke-width" || name == "stroke-opacity" ||
-
339  name == "fill-opacity" || name == "opacity" ||
-
340  name == "stop-opacity")
-
341  result = 1;
-
342  else
-
343  result = 0;
-
344  }
-
345  } else {
-
346  if (name == "width" || name == "height") {
-
347  std::string value = node->first_attribute(name.c_str())->value();
-
348  if (value.find("%") != std::string::npos) {
-
349  result = std::stof(value.substr(0, value.find("%"))) *
-
350  this->viewbox.second.x / 100;
-
351  } else if (value.find("pt") != std::string::npos) {
-
352  result = std::stof(value.substr(0, value.find("pt"))) * 1.33;
-
353  } else {
-
354  result = std::stof(value);
-
355  }
-
356  } else
-
357  result = std::stof(node->first_attribute(name.c_str())->value());
-
358  }
-
359  return result;
-
360 }
-
std::pair< Vector2Df, Vector2Df > viewbox
The viewbox of the SVG file.
Definition: Parser.hpp:280
-
float getFloatAttribute(rapidxml::xml_node<> *node, std::string name)
Gets the floating point attributes of a node.
Definition: Parser.cpp:317
+

Definition at line 351 of file Parser.cpp.

+
351  {
+
352  float result;
+
353  if (node->first_attribute(name.c_str()) == NULL) {
+
354  if (std::string(node->name()).find("Gradient") != std::string::npos) {
+
355  // Handle gradient-specific attribute default values
+
356  if (name == "x1" || name == "y1" || name == "fr")
+
357  result = 0;
+
358  else if (name == "cx" || name == "cy")
+
359  result = name == "cx" ? 0.5 * this->viewbox.getWidth()
+
360  : 0.5 * this->viewbox.getHeight();
+
361  else if (name == "r") {
+
362  result = sqrt((pow(this->viewbox.getWidth(), 2) +
+
363  pow(this->viewbox.getHeight(), 2)) /
+
364  2) /
+
365  2;
+
366  } else if (name == "fx" || name == "fy")
+
367  result = name == "fx" ? getFloatAttribute(node, "cx")
+
368  : getFloatAttribute(node, "cy");
+
369  else
+
370  result = name == "x2" ? this->viewbox.getWidth()
+
371  : this->viewbox.getHeight();
+
372  } else {
+
373  // Handle default float attribute values for other elements
+
374  if (name == "stroke-width" || name == "stroke-opacity" ||
+
375  name == "fill-opacity" || name == "opacity" ||
+
376  name == "stop-opacity")
+
377  result = 1;
+
378  else
+
379  result = 0;
+
380  }
+
381  } else {
+
382  if (name == "width" || name == "height") {
+
383  // Handle width and height attributes with percentage or point units
+
384  std::string value = node->first_attribute(name.c_str())->value();
+
385  if (value.find("%") != std::string::npos) {
+
386  result = std::stof(value.substr(0, value.find("%"))) *
+
387  this->viewbox.getWidth() / 100;
+
388  } else if (value.find("pt") != std::string::npos) {
+
389  result = std::stof(value.substr(0, value.find("pt"))) * 1.33;
+
390  } else {
+
391  result = std::stof(value);
+
392  }
+
393  } else
+
394  result = std::stof(node->first_attribute(name.c_str())->value());
+
395  }
+
396  return result;
+
397 }
+
ViewBox viewbox
The viewbox of the SVG file.
Definition: Parser.hpp:281
+
float getFloatAttribute(rapidxml::xml_node<> *node, std::string name)
Gets the floating point attributes of a node.
Definition: Parser.cpp:351
+
float getHeight() const
Get the height of the ViewBox.
Definition: ViewBox.cpp:13
+
float getWidth() const
Get the width of the ViewBox.
Definition: ViewBox.cpp:11
@@ -498,65 +503,65 @@

Definition at line 428 of file Parser.cpp.

-
428  {
-
429  rapidxml::xml_node<> *gradient_node = node->first_node();
-
430  while (gradient_node) {
-
431  if (std::string(gradient_node->name()).find("Gradient") !=
-
432  std::string::npos) {
-
433  Gradient *gradient;
-
434  std::string id = getAttribute(gradient_node, "id");
-
435  std::string units = getAttribute(gradient_node, "gradientUnits");
-
436  std::vector< Stop > stops = getGradientStops(gradient_node);
-
437  std::string href = getAttribute(gradient_node, "xlink:href");
-
438  int pos = href.find("#");
-
439  if (pos != std::string::npos) {
-
440  href = href.substr(pos + 1);
-
441  }
-
442  if (std::string(gradient_node->name()).find("linear") !=
-
443  std::string::npos) {
-
444  float x1 = getFloatAttribute(gradient_node, "x1");
-
445  float y1 = getFloatAttribute(gradient_node, "y1");
-
446  float x2 = getFloatAttribute(gradient_node, "x2");
-
447  float y2 = getFloatAttribute(gradient_node, "y2");
-
448  std::pair< Vector2Df, Vector2Df > points = {{x1, y1}, {x2, y2}};
-
449  gradient = new LinearGradient(stops, points, units);
-
450  if (this->gradients.find(id) == this->gradients.end())
-
451  this->gradients[id] = gradient;
-
452  } else if (std::string(gradient_node->name()).find("radial") !=
-
453  std::string::npos) {
-
454  float cx = getFloatAttribute(gradient_node, "cx");
-
455  float cy = getFloatAttribute(gradient_node, "cy");
-
456  float fx = getFloatAttribute(gradient_node, "fx");
-
457  float fy = getFloatAttribute(gradient_node, "fy");
-
458  float r = getFloatAttribute(gradient_node, "r");
-
459  float fr = getFloatAttribute(gradient_node, "fr");
-
460  std::pair< Vector2Df, Vector2Df > points = {{cx, cy}, {fx, fy}};
-
461  Vector2Df radius(r, fr);
-
462  gradient = new RadialGradient(stops, points, radius, units);
-
463  if (this->gradients.find(id) == this->gradients.end())
-
464  this->gradients[id] = gradient;
-
465  }
-
466  if (href != "") {
-
467  for (auto stop : parseGradient(href)->getStops()) {
-
468  gradient->addStop(stop);
-
469  }
-
470  }
-
471  if (gradient != NULL)
-
472  gradient->setTransforms(getTransformOrder(gradient_node));
-
473  }
-
474  gradient_node = gradient_node->next_sibling();
-
475  }
-
476 }
+

Definition at line 473 of file Parser.cpp.

+
473  {
+
474  rapidxml::xml_node<> *gradient_node = node->first_node();
+
475  while (gradient_node) {
+
476  if (std::string(gradient_node->name()).find("Gradient") !=
+
477  std::string::npos) {
+
478  Gradient *gradient;
+
479  std::string id = getAttribute(gradient_node, "id");
+
480  std::string units = getAttribute(gradient_node, "gradientUnits");
+
481  std::vector< Stop > stops = getGradientStops(gradient_node);
+
482  std::string href = getAttribute(gradient_node, "xlink:href");
+
483  int pos = href.find("#");
+
484  if (pos != std::string::npos) {
+
485  href = href.substr(pos + 1);
+
486  }
+
487  if (std::string(gradient_node->name()).find("linear") !=
+
488  std::string::npos) {
+
489  float x1 = getFloatAttribute(gradient_node, "x1");
+
490  float y1 = getFloatAttribute(gradient_node, "y1");
+
491  float x2 = getFloatAttribute(gradient_node, "x2");
+
492  float y2 = getFloatAttribute(gradient_node, "y2");
+
493  std::pair< Vector2Df, Vector2Df > points = {{x1, y1}, {x2, y2}};
+
494  gradient = new LinearGradient(stops, points, units);
+
495  if (this->gradients.find(id) == this->gradients.end())
+
496  this->gradients[id] = gradient;
+
497  } else if (std::string(gradient_node->name()).find("radial") !=
+
498  std::string::npos) {
+
499  float cx = getFloatAttribute(gradient_node, "cx");
+
500  float cy = getFloatAttribute(gradient_node, "cy");
+
501  float fx = getFloatAttribute(gradient_node, "fx");
+
502  float fy = getFloatAttribute(gradient_node, "fy");
+
503  float r = getFloatAttribute(gradient_node, "r");
+
504  float fr = getFloatAttribute(gradient_node, "fr");
+
505  std::pair< Vector2Df, Vector2Df > points = {{cx, cy}, {fx, fy}};
+
506  Vector2Df radius(r, fr);
+
507  gradient = new RadialGradient(stops, points, radius, units);
+
508  if (this->gradients.find(id) == this->gradients.end())
+
509  this->gradients[id] = gradient;
+
510  }
+
511  if (href != "") {
+
512  for (auto stop : parseGradient(href)->getStops()) {
+
513  gradient->addStop(stop);
+
514  }
+
515  }
+
516  if (gradient != NULL)
+
517  gradient->setTransforms(getTransformOrder(gradient_node));
+
518  }
+
519  gradient_node = gradient_node->next_sibling();
+
520  }
+
521 }
A class that represents a gradient.
Definition: Gradient.hpp:18
void addStop(Stop stop)
Adds a stop to the gradient.
Definition: Gradient.cpp:23
void setTransforms(std::vector< std::string > transforms)
Gets the transforms of the gradient.
Definition: Gradient.cpp:15
A class that represents a linear gradient.
-
std::string getAttribute(rapidxml::xml_node<> *node, std::string name)
Gets the attributes of a node.
Definition: Parser.cpp:296
-
std::map< std::string, Gradient * > gradients
Definition: Parser.hpp:277
-
std::vector< std::string > getTransformOrder(rapidxml::xml_node<> *node)
Gets the transform order of the element.
Definition: Parser.cpp:637
-
Gradient * parseGradient(std::string id)
Gets the gradient of a node.
Definition: Parser.cpp:404
-
std::vector< Stop > getGradientStops(rapidxml::xml_node<> *node)
Gets the gradient stops of a node.
Definition: Parser.cpp:412
+
std::string getAttribute(rapidxml::xml_node<> *node, std::string name)
Gets the attributes of a node.
Definition: Parser.cpp:328
+
std::map< std::string, Gradient * > gradients
Definition: Parser.hpp:279
+
std::vector< std::string > getTransformOrder(rapidxml::xml_node<> *node)
Gets the transform order of the element.
Definition: Parser.cpp:694
+
Gradient * parseGradient(std::string id)
Gets the gradient of a node.
Definition: Parser.cpp:447
+
std::vector< Stop > getGradientStops(rapidxml::xml_node<> *node)
Gets the gradient stops of a node.
Definition: Parser.cpp:456
A class that represents a radial gradient.
@@ -595,25 +600,25 @@

Returns
The gradient stops of the node.
-

Definition at line 412 of file Parser.cpp.

-
412  {
-
413  std::vector< Stop > stops;
-
414  rapidxml::xml_node<> *stop_node = node->first_node();
-
415  while (stop_node) {
-
416  if (std::string(stop_node->name()) == "stop") {
-
417  std::string id = "";
-
418  mColor color = parseColor(stop_node, "stop-color", id);
-
419  float offset = getFloatAttribute(stop_node, "offset");
-
420  if (offset > 1) offset /= 100;
-
421  stops.push_back(Stop(color, offset));
-
422  }
-
423  stop_node = stop_node->next_sibling();
-
424  }
-
425  return stops;
-
426 }
-
mColor parseColor(rapidxml::xml_node<> *node, std::string color, std::string &id)
Gets the color attributes of a node.
Definition: Parser.cpp:362
+

Definition at line 456 of file Parser.cpp.

+
456  {
+
457  std::vector< Stop > stops;
+
458  rapidxml::xml_node<> *stop_node = node->first_node();
+
459  while (stop_node) {
+
460  if (std::string(stop_node->name()) == "stop") {
+
461  std::string id = "";
+
462  ColorShape color = parseColor(stop_node, "stop-color", id);
+
463  float offset = getFloatAttribute(stop_node, "offset");
+
464  if (offset > 1) offset /= 100;
+
465  stops.push_back(Stop(color, offset));
+
466  }
+
467  stop_node = stop_node->next_sibling();
+
468  }
+
469  return stops;
+
470 }
+
Utility class for manipulating RGBA ColorShapes.
Definition: ColorShape.hpp:11
+
ColorShape parseColor(rapidxml::xml_node<> *node, std::string color, std::string &id)
Gets the color attributes of a node.
Definition: Parser.cpp:400
A class that represents a stop.
Definition: Stop.hpp:11
-
Utility class for manipulating RGBA mColors.
Definition: Color.hpp:11

@@ -650,15 +655,15 @@

Returns
The singleton instance of the Parser class.
-

Definition at line 158 of file Parser.cpp.

-
158  {
-
159  if (instance == nullptr) {
-
160  instance = new Parser(file_name);
-
161  }
-
162  return instance;
-
163 }
+

Definition at line 171 of file Parser.cpp.

+
171  {
+
172  if (instance == nullptr) {
+
173  instance = new Parser(file_name);
+
174  }
+
175  return instance;
+
176 }
Parser(const Parser &)=delete
Deleted copy constructor to enforce the singleton pattern.
-
static Parser * instance
The instance of the Parser.
Definition: Parser.hpp:275
+
static Parser * instance
The instance of the Parser.
Definition: Parser.hpp:277
@@ -680,9 +685,9 @@

Returns
The root of the tree of SVGElements.
-

Definition at line 169 of file Parser.cpp.

-
169 { return dynamic_cast< Group * >(root); }
-
A composite class that contains a vector of shape pointers (polymorphic).
Definition: Group.hpp:19
+

Definition at line 184 of file Parser.cpp.

+
184 { return dynamic_cast< Group * >(root); }
+
A composite class that contains a vector of shape pointers (polymorphic).
Definition: Group.hpp:20
@@ -719,46 +724,48 @@

Returns
The transform order of the element
-

Definition at line 637 of file Parser.cpp.

-
638  {
-
639  std::string transform_tag;
-
640  if (std::string(node->name()).find("Gradient") != std::string::npos)
-
641  transform_tag = getAttribute(node, "gradientTransform");
-
642  else
-
643  transform_tag = getAttribute(node, "transform");
-
644  std::vector< std::string > order;
-
645  std::stringstream ss(transform_tag);
-
646  std::string type;
-
647  while (ss >> type) {
-
648  if (type.find("translate") != std::string::npos ||
-
649  type.find("scale") != std::string::npos ||
-
650  type.find("rotate") != std::string::npos ||
-
651  type.find("matrix") != std::string::npos) {
-
652  while (type.find(")") == std::string::npos) {
-
653  std::string temp;
-
654  ss >> temp;
-
655  type += " " + temp;
-
656  }
-
657  std::string temp = type.substr(0, type.find("(") + 1);
-
658  temp.erase(std::remove(temp.begin(), temp.end(), ' '), temp.end());
-
659  type.erase(0, type.find("(") + 1);
-
660  type = temp + type;
-
661  order.push_back(type);
-
662  }
-
663  }
-
664  return order;
-
665 }
+

Definition at line 694 of file Parser.cpp.

+
695  {
+
696  std::string transform_tag;
+
697  if (std::string(node->name()).find("Gradient") != std::string::npos) {
+
698  transform_tag = getAttribute(node, "gradientTransform");
+
699  } else {
+
700  transform_tag = getAttribute(node, "transform");
+
701  }
+
702 
+
703  std::vector< std::string > order;
+
704  std::stringstream ss(transform_tag);
+
705  std::string type;
+
706  while (ss >> type) {
+
707  if (type.find("translate") != std::string::npos ||
+
708  type.find("scale") != std::string::npos ||
+
709  type.find("rotate") != std::string::npos ||
+
710  type.find("matrix") != std::string::npos) {
+
711  while (type.find(")") == std::string::npos) {
+
712  std::string temp;
+
713  ss >> temp;
+
714  type += " " + temp;
+
715  }
+
716  std::string temp = type.substr(0, type.find("(") + 1);
+
717  temp.erase(std::remove(temp.begin(), temp.end(), ' '), temp.end());
+
718  type.erase(0, type.find("(") + 1);
+
719  type = temp + type;
+
720  order.push_back(type);
+
721  }
+
722  }
+
723  return order;
+
724 }
- -

◆ getViewBox()

+ +

◆ getViewBox()

void printShapesData ()
 Prints the data of the shapes. More...
 
std::pair< Vector2Df, Vector2DfgetViewBox () const
 Gets the viewbox of the SVG file. More...
 
ViewBox getViewBox () const
 Gets the viewbox of the SVG file. More...
 
Vector2Df getViewPort () const
 Gets the viewport of the SVG file. More...
 
GradientparseGradient (std::string id)
 Gets the gradient of a node. More...
 
mColor parseColor (rapidxml::xml_node<> *node, std::string color, std::string &id)
 Gets the color attributes of a node. More...
 
ColorShape parseColor (rapidxml::xml_node<> *node, std::string color, std::string &id)
 Gets the color attributes of a node. More...
 
std::vector< Vector2DfparsePoints (rapidxml::xml_node<> *node)
 Gets the points of the element. More...
 
std::vector< std::string > getTransformOrder (rapidxml::xml_node<> *node)
 Gets the transform order of the element. More...
 
LineparseLine (rapidxml::xml_node<> *node, const mColor &stroke_color, float stroke_width)
 Parses the line element. More...
 
RectparseRect (rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
 Parses the rect element. More...
 
class PlylineparsePolyline (rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
 Parses the polyline element. More...
 
class PlygonparsePolygon (rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
 Parses the polygon element. More...
 
CircleparseCircle (rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
 Parses the circle element. More...
 
class EllparseEllipse (rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
 Parses the ellipse element. More...
 
PathparsePath (rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
 Parses the path element. More...
 
TextparseText (rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
 Parses the text element. More...
 
LineparseLine (rapidxml::xml_node<> *node, const ColorShape &stroke_color, float stroke_width)
 Parses the line element. More...
 
RectparseRect (rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
 Parses the rect element. More...
 
class PlylineparsePolyline (rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
 Parses the polyline element. More...
 
class PlygonparsePolygon (rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
 Parses the polygon element. More...
 
CircleparseCircle (rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
 Parses the circle element. More...
 
class EllparseEllipse (rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
 Parses the ellipse element. More...
 
PathparsePath (rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
 Parses the path element. More...
 
TextparseText (rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
 Parses the text element. More...
 
SVGElementparseShape (rapidxml::xml_node<> *node)
 Parses the group of elements. More...
 
 
std::map< std::string, Gradient * > gradients
 
-std::pair< Vector2Df, Vector2Dfviewbox
 The viewbox of the SVG file.
 
+ViewBox viewbox
 The viewbox of the SVG file.
 
Vector2Df viewport
 The viewport of the SVG file.
- + @@ -769,8 +776,8 @@

Returns
The viewbox of the SVG file.
-

Definition at line 830 of file Parser.cpp.

-
830 { return viewbox; }
+

Definition at line 911 of file Parser.cpp.

+
911 { return viewbox; }
@@ -792,14 +799,14 @@

Returns
The viewport of the SVG file.
-

Definition at line 832 of file Parser.cpp.

-
832 { return viewport; }
-
Vector2Df viewport
The viewport of the SVG file.
Definition: Parser.hpp:281
+

Definition at line 914 of file Parser.cpp.

+
914 { return viewport; }
+
Vector2Df viewport
The viewport of the SVG file.
Definition: Parser.hpp:282
- -

◆ parseCircle()

+ +

◆ parseCircle()

@@ -816,13 +823,13 @@

- + - + @@ -856,21 +863,21 @@

Returns
The circle element
-

Definition at line 732 of file Parser.cpp.

-
734  {
-
735  float cx = getFloatAttribute(node, "cx");
-
736  float cy = getFloatAttribute(node, "cy");
-
737  float radius = getFloatAttribute(node, "r");
-
738  Circle *shape = new Circle(radius, Vector2Df(cx, cy), fill_color,
-
739  stroke_color, stroke_width);
-
740  return shape;
-
741 }
+

Definition at line 799 of file Parser.cpp.

+
802  {
+
803  float cx = getFloatAttribute(node, "cx");
+
804  float cy = getFloatAttribute(node, "cy");
+
805  float radius = getFloatAttribute(node, "r");
+
806  Circle *shape = new Circle(radius, Vector2Df(cx, cy), fill_color,
+
807  stroke_color, stroke_width);
+
808  return shape;
+
809 }
Represents a circle in 2D space.
Definition: Circle.hpp:13
- -

◆ parseColor()

+ +

◆ parseColor()

@@ -879,7 +886,7 @@

std::pair< Vector2Df, Vector2Df > Parser::getViewBox ViewBox Parser::getViewBox ( ) constconst mColorconst ColorShape fill_color,
const mColorconst ColorShape stroke_color,
- + @@ -920,49 +927,53 @@

Returns
The color attributes of the node.
-

Definition at line 362 of file Parser.cpp.

-
363  {
-
364  std::string color = getAttribute(node, name);
-
365  color.erase(std::remove(color.begin(), color.end(), ' '), color.end());
-
366  if (color.find("url") == std::string::npos) {
-
367  for (auto &c : color) c = tolower(c);
-
368  }
-
369  if (color == "none")
-
370  return mColor::Transparent;
-
371  else {
-
372  mColor result;
-
373  if (color.find("url") != std::string::npos) {
-
374  if (color.find("'") != std::string::npos) {
-
375  id = color.substr(color.find("'") + 1);
-
376  id.erase(id.find("'"));
-
377  id.erase(id.find("#"), 1);
-
378  } else {
-
379  id = color.substr(color.find("#") + 1);
-
380  id.erase(id.find(")"));
-
381  }
-
382  result = mColor::Transparent;
-
383  } else if (color.find("#") != std::string::npos) {
-
384  result = getHexColor(color);
-
385  } else if (color.find("rgb") != std::string::npos) {
-
386  result = getRgbColor(color);
-
387  } else {
-
388  auto color_code = color_map.find(color);
-
389  if (color_code == color_map.end()) {
-
390  std::cout << "Color " << color << " not found" << std::endl;
-
391  exit(-1);
-
392  }
-
393  result = color_code->second;
-
394  }
-
395  if (name == "stop-color")
-
396  result.a = result.a * getFloatAttribute(node, "stop-opacity");
-
397  else
-
398  result.a = result.a * getFloatAttribute(node, name + "-opacity") *
-
399  getFloatAttribute(node, "opacity");
-
400  return result;
-
401  }
-
402 }
-
int a
Alpha (opacity) component.
Definition: Color.hpp:63
-
static const mColor Transparent
Transparent (black) predefined color.
Definition: Color.hpp:58
+

Definition at line 400 of file Parser.cpp.

+
401  {
+
402  std::string color = getAttribute(node, name);
+
403  color.erase(std::remove(color.begin(), color.end(), ' '), color.end());
+
404  if (color.find("url") == std::string::npos) {
+
405  for (auto &c : color) c = tolower(c);
+
406  }
+
407  if (color == "none")
+ +
409  else {
+
410  ColorShape result;
+
411  if (color.find("url") != std::string::npos) {
+
412  // Handle gradient color reference
+
413  if (color.find("'") != std::string::npos) {
+
414  id = color.substr(color.find("'") + 1);
+
415  id.erase(id.find("'"));
+
416  id.erase(id.find("#"), 1);
+
417  } else {
+
418  id = color.substr(color.find("#") + 1);
+
419  id.erase(id.find(")"));
+
420  }
+
421  result = ColorShape::Transparent;
+
422  } else if (color.find("#") != std::string::npos) {
+
423  // Handle hex color representation
+
424  result = getHexColor(color);
+
425  } else if (color.find("rgb") != std::string::npos) {
+
426  // Handle RGB color representation
+
427  result = getRgbColor(color);
+
428  } else {
+
429  // Handle predefined color names
+
430  auto color_code = color_map.find(color);
+
431  if (color_code == color_map.end()) {
+
432  std::cout << "Color " << color << " not found" << std::endl;
+
433  exit(-1);
+
434  }
+
435  result = color_code->second;
+
436  }
+
437  if (name == "stop-color")
+
438  result.a = result.a * getFloatAttribute(node, "stop-opacity");
+
439  else
+
440  result.a = result.a * getFloatAttribute(node, name + "-opacity") *
+
441  getFloatAttribute(node, "opacity");
+
442  return result;
+
443  }
+
444 }
+
int a
Alpha (opacity) component.
Definition: ColorShape.hpp:64
+
static const ColorShape Transparent
Transparent (black) predefined color.
Definition: ColorShape.hpp:59
@@ -999,136 +1010,151 @@

Returns
The root of the tree of SVGElements.
-

Definition at line 181 of file Parser.cpp.

-
181  {
-
182  rapidxml::xml_document<> doc;
-
183  std::ifstream file(file_name);
-
184  std::vector< char > buffer((std::istreambuf_iterator< char >(file)),
-
185  std::istreambuf_iterator< char >());
-
186  buffer.push_back('\0');
-
187  doc.parse< 0 >(&buffer[0]);
-
188 
-
189  rapidxml::xml_node<> *svg = doc.first_node();
-
190  viewport.x = getFloatAttribute(svg, "width");
-
191  viewport.y = getFloatAttribute(svg, "height");
-
192  std::string viewbox = getAttribute(svg, "viewBox");
-
193  if (viewbox != "") {
-
194  std::stringstream ss(viewbox);
-
195  ss >> this->viewbox.first.x >> this->viewbox.first.y >>
-
196  this->viewbox.second.x >> this->viewbox.second.y;
-
197  }
-
198  rapidxml::xml_node<> *node = svg->first_node();
-
199  rapidxml::xml_node<> *prev = NULL;
-
200 
-
201  SVGElement *root = new Group();
-
202  SVGElement *current = root;
-
203 
-
204  while (node) {
-
205  if (std::string(node->name()) == "defs") {
-
206  GetGradients(node);
-
207  prev = node;
-
208  node = node->next_sibling();
-
209  } else if (std::string(node->name()) == "g") {
-
210  Group *group = dynamic_cast< Group * >(current);
-
211  for (auto group_attribute : group->getAttributes()) {
-
212  bool found = false;
-
213  for (auto attribute = node->first_attribute(); attribute;
-
214  attribute = attribute->next_attribute()) {
-
215  if (std::string(attribute->name()) ==
-
216  group_attribute.first) {
-
217  if (group_attribute.first == "opacity") {
-
218  std::string opacity = std::to_string(
-
219  std::stof(attribute->value()) *
-
220  std::stof(group_attribute.second));
-
221  char *value = doc.allocate_string(opacity.c_str());
-
222  attribute->value(value);
-
223  }
-
224  found = true;
-
225  break;
-
226  }
-
227  }
-
228  if (!found && group_attribute.first != "transform") {
-
229  char *name =
-
230  doc.allocate_string(group_attribute.first.c_str());
-
231  char *value =
-
232  doc.allocate_string(group_attribute.second.c_str());
-
233  rapidxml::xml_attribute<> *new_attribute =
-
234  doc.allocate_attribute(name, value);
-
235  node->append_attribute(new_attribute);
-
236  }
-
237  }
-
238  Group *new_group = new Group(xmlToString(node->first_attribute()));
-
239  new_group->setTransforms(getTransformOrder(node));
-
240  current->addElement(new_group);
-
241  current = new_group;
-
242  prev = node;
-
243  node = node->first_node();
-
244  } else {
-
245  Group *group = dynamic_cast< Group * >(current);
-
246  for (auto group_attribute : group->getAttributes()) {
-
247  bool found = false;
-
248  for (auto attribute = node->first_attribute(); attribute;
-
249  attribute = attribute->next_attribute()) {
-
250  if (std::string(attribute->name()) ==
-
251  group_attribute.first) {
-
252  if (group_attribute.first == "opacity") {
-
253  std::string opacity = std::to_string(
-
254  std::stof(attribute->value()) *
-
255  std::stof(group_attribute.second));
-
256  char *value = doc.allocate_string(opacity.c_str());
-
257  attribute->value(value);
-
258  }
-
259  found = true;
-
260  break;
-
261  }
-
262  }
-
263  if (!found && group_attribute.first != "transform") {
-
264  char *name =
-
265  doc.allocate_string(group_attribute.first.c_str());
-
266  char *value =
-
267  doc.allocate_string(group_attribute.second.c_str());
-
268  rapidxml::xml_attribute<> *new_attribute =
-
269  doc.allocate_attribute(name, value);
-
270  node->append_attribute(new_attribute);
-
271  }
-
272  }
-
273  SVGElement *shape = parseShape(node);
-
274  if (shape != NULL) current->addElement(shape);
-
275  prev = node;
-
276  node = node->next_sibling();
-
277  }
-
278  if (node == NULL && current != root) {
-
279  while (prev->parent()->next_sibling() == NULL) {
-
280  current = current->getParent();
-
281  prev = prev->parent();
-
282  if (prev == svg) {
-
283  break;
-
284  }
-
285  }
-
286  if (prev == svg) {
-
287  break;
-
288  }
-
289  current = current->getParent();
-
290  node = prev->parent()->next_sibling();
-
291  }
-
292  }
-
293  return root;
-
294 }
+

Definition at line 198 of file Parser.cpp.

+
198  {
+
199  rapidxml::xml_document<> doc;
+
200  std::ifstream file(file_name);
+
201  std::vector< char > buffer((std::istreambuf_iterator< char >(file)),
+
202  std::istreambuf_iterator< char >());
+
203  buffer.push_back('\0');
+
204  doc.parse< 0 >(&buffer[0]);
+
205 
+
206  rapidxml::xml_node<> *svg = doc.first_node();
+
207  viewport.x = getFloatAttribute(svg, "width");
+
208  viewport.y = getFloatAttribute(svg, "height");
+
209  std::string viewbox = getAttribute(svg, "viewBox");
+
210  if (viewbox != "") {
+
211  std::stringstream ss(viewbox);
+
212  float x, y, w, h;
+
213  ss >> x >> y >> w >> h;
+
214  this->viewbox = ViewBox(x, y, w, h);
+
215  }
+
216  rapidxml::xml_node<> *node = svg->first_node();
+
217  rapidxml::xml_node<> *prev = NULL;
+
218 
+
219  SVGElement *root = new Group();
+
220  SVGElement *current = root;
+
221 
+
222  // Parse SVG elements
+
223  while (node) {
+
224  if (std::string(node->name()) == "defs") {
+
225  // Parse gradients
+
226  GetGradients(node);
+
227  prev = node;
+
228  node = node->next_sibling();
+
229  } else if (std::string(node->name()) == "g") {
+
230  // Parse Group attributes
+
231  Group *group = dynamic_cast< Group * >(current);
+
232  for (auto group_attribute : group->getAttributes()) {
+
233  bool found = false;
+
234  for (auto attribute = node->first_attribute(); attribute;
+
235  attribute = attribute->next_attribute()) {
+
236  if (std::string(attribute->name()) ==
+
237  group_attribute.first) {
+
238  if (group_attribute.first == "opacity") {
+
239  // Adjust opacity if already present in the group
+
240  // and node
+
241  std::string opacity = std::to_string(
+
242  std::stof(attribute->value()) *
+
243  std::stof(group_attribute.second));
+
244  char *value = doc.allocate_string(opacity.c_str());
+
245  attribute->value(value);
+
246  }
+
247  found = true;
+
248  break;
+
249  }
+
250  }
+
251 
+
252  if (!found && group_attribute.first != "transform") {
+
253  // Add missing attributes from the group to the node
+
254  char *name =
+
255  doc.allocate_string(group_attribute.first.c_str());
+
256  char *value =
+
257  doc.allocate_string(group_attribute.second.c_str());
+
258  rapidxml::xml_attribute<> *new_attribute =
+
259  doc.allocate_attribute(name, value);
+
260  node->append_attribute(new_attribute);
+
261  }
+
262  }
+
263 
+
264  Group *new_group = new Group(xmlToString(node->first_attribute()));
+
265  new_group->setTransforms(getTransformOrder(node));
+
266  current->addElement(new_group);
+
267  current = new_group;
+
268  prev = node;
+
269  node = node->first_node();
+
270  } else {
+
271  // Parse Shape attributes and add to current group
+
272  Group *group = dynamic_cast< Group * >(current);
+
273 
+
274  for (auto group_attribute : group->getAttributes()) {
+
275  bool found = false;
+
276  for (auto attribute = node->first_attribute(); attribute;
+
277  attribute = attribute->next_attribute()) {
+
278  if (std::string(attribute->name()) ==
+
279  group_attribute.first) {
+
280  if (group_attribute.first == "opacity") {
+
281  std::string opacity = std::to_string(
+
282  std::stof(attribute->value()) *
+
283  std::stof(group_attribute.second));
+
284  char *value = doc.allocate_string(opacity.c_str());
+
285  attribute->value(value);
+
286  }
+
287  found = true;
+
288  break;
+
289  }
+
290  }
+
291 
+
292  if (!found && group_attribute.first != "transform") {
+
293  char *name =
+
294  doc.allocate_string(group_attribute.first.c_str());
+
295  char *value =
+
296  doc.allocate_string(group_attribute.second.c_str());
+
297  rapidxml::xml_attribute<> *new_attribute =
+
298  doc.allocate_attribute(name, value);
+
299  node->append_attribute(new_attribute);
+
300  }
+
301  }
+
302 
+
303  SVGElement *shape = parseShape(node);
+
304  if (shape != NULL) current->addElement(shape);
+
305  prev = node;
+
306  node = node->next_sibling();
+
307  }
+
308 
+
309  if (node == NULL && current != root) {
+
310  while (prev->parent()->next_sibling() == NULL) {
+
311  current = current->getParent();
+
312  prev = prev->parent();
+
313  if (prev == svg) {
+
314  break;
+
315  }
+
316  }
+
317  if (prev == svg) {
+
318  break;
+
319  }
+
320  current = current->getParent();
+
321  node = prev->parent()->next_sibling();
+
322  }
+
323  }
+
324  return root;
+
325 }
Attributes getAttributes() const
Gets the attributes of the shape.
Definition: Group.cpp:15
-
SVGElement * parseShape(rapidxml::xml_node<> *node)
Parses the group of elements.
Definition: Parser.cpp:667
-
void GetGradients(rapidxml::xml_node<> *node)
Gets the gradients of a node.
Definition: Parser.cpp:428
+
SVGElement * parseShape(rapidxml::xml_node<> *node)
Parses the group of elements.
Definition: Parser.cpp:727
+
void GetGradients(rapidxml::xml_node<> *node)
Gets the gradients of a node.
Definition: Parser.cpp:473
Represents an element in an SVG file.
Definition: SVGElement.hpp:18
void setTransforms(const std::vector< std::string > &transforms)
Sets the transformations of the shape.
Definition: SVGElement.cpp:67
SVGElement * getParent() const
Parent pointer getter.
Definition: SVGElement.cpp:77
-
SVGElement * parent
Pointer to the group that contains the shape.
Definition: SVGElement.hpp:219
+
SVGElement * parent
Pointer to the group that contains the shape.
Definition: SVGElement.hpp:220
virtual void addElement(SVGElement *element)
Adds a shape to the composite group.
Definition: SVGElement.cpp:83
T x
X coordinate of the vector.
Definition: Vector2D.hpp:45
T y
Y coordinate of the vector.
Definition: Vector2D.hpp:46
+
A ViewBox is a rectangle that defines the area of the SVG canvas that should be visible to the user.
Definition: ViewBox.hpp:10
- -

◆ parseEllipse()

+ +

◆ parseEllipse()

@@ -1145,13 +1171,13 @@

- + - + @@ -1185,16 +1211,16 @@

Returns
The ellipse element
-

Definition at line 743 of file Parser.cpp.

-
744  {
-
745  float radius_x = getFloatAttribute(node, "rx");
-
746  float radius_y = getFloatAttribute(node, "ry");
-
747  float cx = getFloatAttribute(node, "cx");
-
748  float cy = getFloatAttribute(node, "cy");
-
749  Ell *shape = new Ell(Vector2Df(radius_x, radius_y), Vector2Df(cx, cy),
-
750  fill_color, stroke_color, stroke_width);
-
751  return shape;
-
752 }
+

Definition at line 812 of file Parser.cpp.

+
814  {
+
815  float radius_x = getFloatAttribute(node, "rx");
+
816  float radius_y = getFloatAttribute(node, "ry");
+
817  float cx = getFloatAttribute(node, "cx");
+
818  float cy = getFloatAttribute(node, "cy");
+
819  Ell *shape = new Ell(Vector2Df(radius_x, radius_y), Vector2Df(cx, cy),
+
820  fill_color, stroke_color, stroke_width);
+
821  return shape;
+
822 }
Represents an ellipse in 2D space.
Definition: Ellipse.hpp:12
@@ -1232,19 +1258,19 @@

Returns
The gradient of the node.
-

Definition at line 404 of file Parser.cpp.

-
404  {
-
405  if (gradients.find(id) == gradients.end()) {
-
406  std::cout << "Gradient " << id << " not found" << std::endl;
-
407  exit(-1);
-
408  }
-
409  return gradients.at(id);
-
410 }
+

Definition at line 447 of file Parser.cpp.

+
447  {
+
448  if (gradients.find(id) == gradients.end()) {
+
449  std::cout << "Gradient " << id << " not found" << std::endl;
+
450  exit(-1);
+
451  }
+
452  return gradients.at(id);
+
453 }
- -

◆ parseLine()

+ +

◆ parseLine()

@@ -1261,7 +1287,7 @@

- + @@ -1294,20 +1320,20 @@

Returns
The line element
-

Definition at line 710 of file Parser.cpp.

-
711  {
-
712  Line *shape = new Line(
-
713  Vector2Df(getFloatAttribute(node, "x1"), getFloatAttribute(node, "y1")),
-
714  Vector2Df(getFloatAttribute(node, "x2"), getFloatAttribute(node, "y2")),
-
715  stroke_color, stroke_width);
-
716  return shape;
-
717 }
+

Definition at line 774 of file Parser.cpp.

+
775  {
+
776  Line *shape = new Line(
+
777  Vector2Df(getFloatAttribute(node, "x1"), getFloatAttribute(node, "y1")),
+
778  Vector2Df(getFloatAttribute(node, "x2"), getFloatAttribute(node, "y2")),
+
779  stroke_color, stroke_width);
+
780  return shape;
+
781 }
Represents a line in 2D space.
Definition: Line.hpp:12
- -

◆ parsePath()

+ +

◆ parsePath()

@@ -1324,13 +1350,13 @@

- + - + @@ -1364,20 +1390,20 @@

Returns
The path element
-

Definition at line 807 of file Parser.cpp.

-
808  {
-
809  Path *shape = new Path(fill_color, stroke_color, stroke_width);
-
810  std::vector< PathPoint > points = parsePathPoints(node);
-
811  for (auto point : points) {
-
812  shape->addPoint(point);
-
813  }
-
814  std::string fill_rule = getAttribute(node, "fill-rule");
-
815  fill_rule.erase(std::remove(fill_rule.begin(), fill_rule.end(), ' '),
-
816  fill_rule.end());
-
817  shape->setFillRule(fill_rule);
-
818  return shape;
-
819 }
-
std::vector< PathPoint > parsePathPoints(rapidxml::xml_node<> *node)
Gets the points of the path element.
Definition: Parser.cpp:494
+

Definition at line 884 of file Parser.cpp.

+
886  {
+
887  Path *shape = new Path(fill_color, stroke_color, stroke_width);
+
888  std::vector< PathPoint > points = parsePathPoints(node);
+
889  for (auto point : points) {
+
890  shape->addPoint(point);
+
891  }
+
892  std::string fill_rule = getAttribute(node, "fill-rule");
+
893  fill_rule.erase(std::remove(fill_rule.begin(), fill_rule.end(), ' '),
+
894  fill_rule.end());
+
895  shape->setFillRule(fill_rule);
+
896  return shape;
+
897 }
+
std::vector< PathPoint > parsePathPoints(rapidxml::xml_node<> *node)
Gets the points of the path element.
Definition: Parser.cpp:541
Represents a path element in 2D space.
Definition: Path.hpp:28
void setFillRule(std::string fill_rule)
Sets the fill rule of the path.
Definition: Path.cpp:12
void addPoint(PathPoint point)
Adds a point to the path.
Definition: Path.cpp:8
@@ -1417,150 +1443,160 @@

Returns
The points of the path element
-

Definition at line 494 of file Parser.cpp.

-
494  {
-
495  std::vector< PathPoint > points;
-
496  std::string path_string = getAttribute(node, "d");
-
497 
-
498  formatSvgPathString(path_string);
-
499 
-
500  std::stringstream ss(path_string);
-
501  std::string element;
-
502  PathPoint pPoint{{0, 0}, 'M'};
-
503  while (ss >> element) {
-
504  if (std::isalpha(element[0])) {
-
505  pPoint.tc = element[0];
-
506  if (tolower(pPoint.tc) == 'm' || tolower(pPoint.tc) == 'l' ||
-
507  tolower(pPoint.tc) == 'c' || tolower(pPoint.tc) == 's' ||
-
508  tolower(pPoint.tc) == 'q' || tolower(pPoint.tc) == 't')
-
509  ss >> pPoint.point.x >> pPoint.point.y;
-
510  else if (tolower(pPoint.tc) == 'h') {
-
511  ss >> pPoint.point.x;
-
512  pPoint.point.y = 0;
-
513  } else if (tolower(pPoint.tc) == 'v') {
-
514  ss >> pPoint.point.y;
-
515  pPoint.point.x = 0;
-
516  } else if (tolower(pPoint.tc) == 'a') {
-
517  ss >> pPoint.radius.x >> pPoint.radius.y;
-
518  ss >> pPoint.x_axis_rotation;
-
519  ss >> pPoint.large_arc_flag >> pPoint.sweep_flag;
-
520  ss >> pPoint.point.x >> pPoint.point.y;
-
521  }
-
522  } else {
-
523  if (tolower(pPoint.tc) == 'm' || tolower(pPoint.tc) == 'l' ||
-
524  tolower(pPoint.tc) == 'c' || tolower(pPoint.tc) == 's' ||
-
525  tolower(pPoint.tc) == 'q' || tolower(pPoint.tc) == 't') {
-
526  if (tolower(pPoint.tc) == 'm') pPoint.tc = 'L';
-
527  pPoint.point.x = std::stof(element);
-
528  ss >> pPoint.point.y;
-
529  } else if (tolower(pPoint.tc) == 'h') {
-
530  pPoint.point.x = std::stof(element);
-
531  pPoint.point.y = 0;
-
532  } else if (tolower(pPoint.tc) == 'v') {
-
533  pPoint.point.y = std::stof(element);
-
534  pPoint.point.x = 0;
-
535  } else if (tolower(pPoint.tc) == 'a') {
-
536  pPoint.radius.x = std::stof(element);
-
537  ss >> pPoint.radius.y;
-
538  ss >> pPoint.x_axis_rotation;
-
539  ss >> pPoint.large_arc_flag >> pPoint.sweep_flag;
-
540  ss >> pPoint.point.x >> pPoint.point.y;
-
541  }
-
542  }
-
543  points.push_back(pPoint);
-
544  }
-
545 
-
546  std::vector< PathPoint > handle_points;
+

Definition at line 541 of file Parser.cpp.

+
541  {
+
542  std::vector< PathPoint > points;
+
543  std::string path_string = getAttribute(node, "d");
+
544 
+
545  // Pre-processing the raw path string
+
546  formatSvgPathString(path_string);
547 
-
548  Vector2Df first_point{0, 0}, cur_point{0, 0};
-
549  int n = points.size();
-
550  for (int i = 0; i < n; i++) {
-
551  if (tolower(points[i].tc) == 'm') {
-
552  first_point = points[i].point;
-
553  if (points[i].tc == 'm') {
-
554  first_point.x = cur_point.x + points[i].point.x;
-
555  first_point.y = cur_point.y + points[i].point.y;
-
556  }
-
557  cur_point = first_point;
-
558  handle_points.push_back({first_point, 'm'});
-
559  } else if (tolower(points[i].tc) == 'l' ||
-
560  tolower(points[i].tc) == 't') {
-
561  Vector2Df end_point{cur_point.x + points[i].point.x,
-
562  cur_point.y + points[i].point.y};
-
563  if (points[i].tc == 'L' || points[i].tc == 'T')
-
564  end_point = points[i].point;
-
565  cur_point = end_point;
-
566  char TC = tolower(points[i].tc);
-
567  handle_points.push_back({end_point, TC});
-
568  } else if (tolower(points[i].tc) == 'h') {
-
569  Vector2Df end_point{cur_point.x + points[i].point.x, cur_point.y};
-
570  if (points[i].tc == 'H')
-
571  end_point = Vector2Df{points[i].point.x, cur_point.y};
-
572  cur_point = end_point;
-
573  handle_points.push_back({end_point, 'h'});
-
574  } else if (tolower(points[i].tc) == 'v') {
-
575  Vector2Df end_point{cur_point.x, cur_point.y + points[i].point.y};
-
576  if (points[i].tc == 'V')
-
577  end_point = Vector2Df{cur_point.x, points[i].point.y};
-
578  cur_point = end_point;
-
579  handle_points.push_back({end_point, 'v'});
-
580  } else if (tolower(points[i].tc) == 'c') {
-
581  if (i + 2 < n) {
-
582  Vector2Df control_point1 =
-
583  Vector2Df{cur_point.x + points[i].point.x,
-
584  cur_point.y + points[i].point.y};
-
585  Vector2Df control_point2 =
-
586  Vector2Df{cur_point.x + points[i + 1].point.x,
-
587  cur_point.y + points[i + 1].point.y};
-
588  Vector2Df control_point3 =
-
589  Vector2Df{cur_point.x + points[i + 2].point.x,
-
590  cur_point.y + points[i + 2].point.y};
-
591  if (points[i].tc == 'C') {
-
592  control_point1 = points[i].point;
-
593  control_point2 = points[i + 1].point;
-
594  control_point3 = points[i + 2].point;
-
595  }
-
596  i += 2;
-
597  cur_point = control_point3;
-
598  handle_points.push_back({control_point1, 'c'});
-
599  handle_points.push_back({control_point2, 'c'});
-
600  handle_points.push_back({control_point3, 'c'});
-
601  }
-
602  } else if (tolower(points[i].tc) == 'z') {
-
603  cur_point = first_point;
-
604  handle_points.push_back({first_point, 'z'});
-
605  } else if (tolower(points[i].tc) == 's' ||
-
606  tolower(points[i].tc) == 'q') {
-
607  if (i + 1 < n) {
-
608  Vector2Df control_point1 =
-
609  Vector2Df{cur_point.x + points[i].point.x,
-
610  cur_point.y + points[i].point.y};
-
611  Vector2Df control_point2 =
-
612  Vector2Df{cur_point.x + points[i + 1].point.x,
-
613  cur_point.y + points[i + 1].point.y};
-
614  if (points[i].tc == 'S' || points[i].tc == 'Q') {
-
615  control_point1 = points[i].point;
-
616  control_point2 = points[i + 1].point;
-
617  }
-
618  i += 1;
-
619  cur_point = control_point2;
-
620  char TC = tolower(points[i].tc);
-
621  handle_points.push_back({control_point1, TC});
-
622  handle_points.push_back({control_point2, TC});
-
623  }
-
624  } else if (tolower(points[i].tc) == 'a') {
-
625  Vector2Df end_point{cur_point.x + points[i].point.x,
-
626  cur_point.y + points[i].point.y};
-
627  if (points[i].tc == 'A') end_point = points[i].point;
-
628  handle_points.push_back(
-
629  {end_point, 'a', points[i].radius, points[i].x_axis_rotation,
-
630  points[i].large_arc_flag, points[i].sweep_flag});
+
548  // Tokenizing the path string using stringstream
+
549  std::stringstream ss(path_string);
+
550  std::string element;
+
551  PathPoint pPoint{{0, 0}, 'M'}; // Default starting point and command
+
552  while (ss >> element) {
+
553  if (std::isalpha(element[0])) {
+
554  pPoint.tc = element[0];
+
555  if (tolower(pPoint.tc) == 'm' || tolower(pPoint.tc) == 'l' ||
+
556  tolower(pPoint.tc) == 'c' || tolower(pPoint.tc) == 's' ||
+
557  tolower(pPoint.tc) == 'q' || tolower(pPoint.tc) == 't')
+
558  ss >> pPoint.point.x >> pPoint.point.y;
+
559  else if (tolower(pPoint.tc) == 'h') {
+
560  ss >> pPoint.point.x;
+
561  pPoint.point.y = 0;
+
562  } else if (tolower(pPoint.tc) == 'v') {
+
563  ss >> pPoint.point.y;
+
564  pPoint.point.x = 0;
+
565  } else if (tolower(pPoint.tc) == 'a') {
+
566  ss >> pPoint.radius.x >> pPoint.radius.y;
+
567  ss >> pPoint.x_axis_rotation;
+
568  ss >> pPoint.large_arc_flag >> pPoint.sweep_flag;
+
569  ss >> pPoint.point.x >> pPoint.point.y;
+
570  }
+
571  } else {
+
572  if (tolower(pPoint.tc) == 'm' || tolower(pPoint.tc) == 'l' ||
+
573  tolower(pPoint.tc) == 'c' || tolower(pPoint.tc) == 's' ||
+
574  tolower(pPoint.tc) == 'q' || tolower(pPoint.tc) == 't') {
+
575  if (tolower(pPoint.tc) == 'm') pPoint.tc = 'L';
+
576  pPoint.point.x = std::stof(element);
+
577  ss >> pPoint.point.y;
+
578  } else if (tolower(pPoint.tc) == 'h') {
+
579  pPoint.point.x = std::stof(element);
+
580  pPoint.point.y = 0;
+
581  } else if (tolower(pPoint.tc) == 'v') {
+
582  pPoint.point.y = std::stof(element);
+
583  pPoint.point.x = 0;
+
584  } else if (tolower(pPoint.tc) == 'a') {
+
585  pPoint.radius.x = std::stof(element);
+
586  ss >> pPoint.radius.y;
+
587  ss >> pPoint.x_axis_rotation;
+
588  ss >> pPoint.large_arc_flag >> pPoint.sweep_flag;
+
589  ss >> pPoint.point.x >> pPoint.point.y;
+
590  }
+
591  }
+
592  points.push_back(pPoint);
+
593  }
+
594 
+
595  std::vector< PathPoint > handle_points;
+
596 
+
597  // Processing and transforming raw path points
+
598  Vector2Df first_point{0, 0}, cur_point{0, 0};
+
599  int n = points.size();
+
600  for (int i = 0; i < n; i++) {
+
601  if (tolower(points[i].tc) == 'm') {
+
602  first_point = points[i].point;
+
603  if (points[i].tc == 'm') {
+
604  first_point.x = cur_point.x + points[i].point.x;
+
605  first_point.y = cur_point.y + points[i].point.y;
+
606  }
+
607  cur_point = first_point;
+
608  handle_points.push_back({first_point, 'm'});
+
609 
+
610  } else if (tolower(points[i].tc) == 'l' ||
+
611  tolower(points[i].tc) == 't') {
+
612  Vector2Df end_point{cur_point.x + points[i].point.x,
+
613  cur_point.y + points[i].point.y};
+
614  if (points[i].tc == 'L' || points[i].tc == 'T')
+
615  end_point = points[i].point;
+
616  cur_point = end_point;
+
617  char TC = tolower(points[i].tc);
+
618  handle_points.push_back({end_point, TC});
+
619 
+
620  } else if (tolower(points[i].tc) == 'h') {
+
621  Vector2Df end_point{cur_point.x + points[i].point.x, cur_point.y};
+
622  if (points[i].tc == 'H')
+
623  end_point = Vector2Df{points[i].point.x, cur_point.y};
+
624  cur_point = end_point;
+
625  handle_points.push_back({end_point, 'h'});
+
626 
+
627  } else if (tolower(points[i].tc) == 'v') {
+
628  Vector2Df end_point{cur_point.x, cur_point.y + points[i].point.y};
+
629  if (points[i].tc == 'V')
+
630  end_point = Vector2Df{cur_point.x, points[i].point.y};
631  cur_point = end_point;
-
632  }
-
633  }
-
634  return handle_points;
-
635 }
+
632  handle_points.push_back({end_point, 'v'});
+
633 
+
634  } else if (tolower(points[i].tc) == 'c') {
+
635  if (i + 2 < n) {
+
636  Vector2Df control_point1 =
+
637  Vector2Df{cur_point.x + points[i].point.x,
+
638  cur_point.y + points[i].point.y};
+
639  Vector2Df control_point2 =
+
640  Vector2Df{cur_point.x + points[i + 1].point.x,
+
641  cur_point.y + points[i + 1].point.y};
+
642  Vector2Df control_point3 =
+
643  Vector2Df{cur_point.x + points[i + 2].point.x,
+
644  cur_point.y + points[i + 2].point.y};
+
645  if (points[i].tc == 'C') {
+
646  control_point1 = points[i].point;
+
647  control_point2 = points[i + 1].point;
+
648  control_point3 = points[i + 2].point;
+
649  }
+
650  i += 2;
+
651  cur_point = control_point3;
+
652  handle_points.push_back({control_point1, 'c'});
+
653  handle_points.push_back({control_point2, 'c'});
+
654  handle_points.push_back({control_point3, 'c'});
+
655  }
+
656  } else if (tolower(points[i].tc) == 'z') {
+
657  cur_point = first_point;
+
658  handle_points.push_back({first_point, 'z'});
+
659 
+
660  } else if (tolower(points[i].tc) == 's' ||
+
661  tolower(points[i].tc) == 'q') {
+
662  if (i + 1 < n) {
+
663  Vector2Df control_point1 =
+
664  Vector2Df{cur_point.x + points[i].point.x,
+
665  cur_point.y + points[i].point.y};
+
666  Vector2Df control_point2 =
+
667  Vector2Df{cur_point.x + points[i + 1].point.x,
+
668  cur_point.y + points[i + 1].point.y};
+
669  if (points[i].tc == 'S' || points[i].tc == 'Q') {
+
670  control_point1 = points[i].point;
+
671  control_point2 = points[i + 1].point;
+
672  }
+
673  i += 1;
+
674  cur_point = control_point2;
+
675  char TC = tolower(points[i].tc);
+
676  handle_points.push_back({control_point1, TC});
+
677  handle_points.push_back({control_point2, TC});
+
678  }
+
679 
+
680  } else if (tolower(points[i].tc) == 'a') {
+
681  Vector2Df end_point{cur_point.x + points[i].point.x,
+
682  cur_point.y + points[i].point.y};
+
683  if (points[i].tc == 'A') end_point = points[i].point;
+
684  handle_points.push_back(
+
685  {end_point, 'a', points[i].radius, points[i].x_axis_rotation,
+
686  points[i].large_arc_flag, points[i].sweep_flag});
+
687  cur_point = end_point;
+
688  }
+
689  }
+
690  return handle_points;
+
691 }
A struct that contains a point and a type of point.
Definition: Path.hpp:10
+
char tc
Type of point.
Definition: Path.hpp:12

@@ -1597,27 +1633,27 @@

Returns
The points of the element
-

Definition at line 478 of file Parser.cpp.

-
478  {
-
479  std::vector< Vector2Df > points;
-
480  std::string points_string = getAttribute(node, "points");
-
481 
-
482  std::stringstream ss(points_string);
-
483  float x, y;
-
484 
-
485  while (ss >> x) {
-
486  if (ss.peek() == ',') ss.ignore();
-
487  ss >> y;
-
488  points.push_back(Vector2Df(x, y));
-
489  }
-
490 
-
491  return points;
-
492 }
+

Definition at line 524 of file Parser.cpp.

+
524  {
+
525  std::vector< Vector2Df > points;
+
526  std::string points_string = getAttribute(node, "points");
+
527 
+
528  std::stringstream ss(points_string);
+
529  float x, y;
+
530 
+
531  while (ss >> x) {
+
532  if (ss.peek() == ',') ss.ignore();
+
533  ss >> y;
+
534  points.push_back(Vector2Df(x, y));
+
535  }
+
536 
+
537  return points;
+
538 }

- -

◆ parsePolygon()

+ +

◆ parsePolygon()

@@ -1634,13 +1670,13 @@

- + - + @@ -1674,28 +1710,28 @@

Returns
The polygon element
-

Definition at line 754 of file Parser.cpp.

-
756  {
-
757  Plygon *shape = new Plygon(fill_color, stroke_color, stroke_width);
-
758  std::vector< Vector2Df > points = parsePoints(node);
-
759  for (auto point : points) {
-
760  shape->addPoint(point);
-
761  }
-
762  std::string fill_rule = getAttribute(node, "fill-rule");
-
763  fill_rule.erase(std::remove(fill_rule.begin(), fill_rule.end(), ' '),
-
764  fill_rule.end());
-
765  shape->setFillRule(fill_rule);
-
766  return shape;
-
767 }
-
std::vector< Vector2Df > parsePoints(rapidxml::xml_node<> *node)
Gets the points of the element.
Definition: Parser.cpp:478
+

Definition at line 825 of file Parser.cpp.

+
828  {
+
829  Plygon *shape = new Plygon(fill_color, stroke_color, stroke_width);
+
830  std::vector< Vector2Df > points = parsePoints(node);
+
831  for (auto point : points) {
+
832  shape->addPoint(point);
+
833  }
+
834  std::string fill_rule = getAttribute(node, "fill-rule");
+
835  fill_rule.erase(std::remove(fill_rule.begin(), fill_rule.end(), ' '),
+
836  fill_rule.end());
+
837  shape->setFillRule(fill_rule);
+
838  return shape;
+
839 }
+
std::vector< Vector2Df > parsePoints(rapidxml::xml_node<> *node)
Gets the points of the element.
Definition: Parser.cpp:524
Represents a polygon in 2D space.
Definition: Polygon.hpp:12
void setFillRule(std::string fill_rule)
Sets the fill rule of the polyshape.
Definition: PolyShape.cpp:11
virtual void addPoint(const Vector2Df &point)
Adds a vertex to the shape.
Definition: PolyShape.cpp:7
- -

◆ parsePolyline()

+ +

◆ parsePolyline()

@@ -1712,13 +1748,13 @@

- + - + @@ -1752,25 +1788,25 @@

Returns
The polyline element
-

Definition at line 769 of file Parser.cpp.

-
771  {
-
772  Plyline *shape = new Plyline(fill_color, stroke_color, stroke_width);
-
773  std::vector< Vector2Df > points = parsePoints(node);
-
774  for (auto point : points) {
-
775  shape->addPoint(point);
-
776  }
-
777  std::string fill_rule = getAttribute(node, "fill-rule");
-
778  fill_rule.erase(std::remove(fill_rule.begin(), fill_rule.end(), ' '),
-
779  fill_rule.end());
-
780  shape->setFillRule(fill_rule);
-
781  return shape;
-
782 }
+

Definition at line 842 of file Parser.cpp.

+
845  {
+
846  Plyline *shape = new Plyline(fill_color, stroke_color, stroke_width);
+
847  std::vector< Vector2Df > points = parsePoints(node);
+
848  for (auto point : points) {
+
849  shape->addPoint(point);
+
850  }
+
851  std::string fill_rule = getAttribute(node, "fill-rule");
+
852  fill_rule.erase(std::remove(fill_rule.begin(), fill_rule.end(), ' '),
+
853  fill_rule.end());
+
854  shape->setFillRule(fill_rule);
+
855  return shape;
+
856 }
Represents a polyline in 2D space.
Definition: Polyline.hpp:12
- -

◆ parseRect()

+ +

◆ parseRect()

@@ -1787,13 +1823,13 @@

- + - + @@ -1827,18 +1863,18 @@

Returns
The rect element
-

Definition at line 719 of file Parser.cpp.

-
720  {
-
721  float x = getFloatAttribute(node, "x");
-
722  float y = getFloatAttribute(node, "y");
-
723  float rx = getFloatAttribute(node, "rx");
-
724  float ry = getFloatAttribute(node, "ry");
-
725  Rect *shape =
-
726  new Rect(getFloatAttribute(node, "width"),
-
727  getFloatAttribute(node, "height"), Vector2Df(x, y),
-
728  Vector2Df(rx, ry), fill_color, stroke_color, stroke_width);
-
729  return shape;
-
730 }
+

Definition at line 784 of file Parser.cpp.

+
786  {
+
787  float x = getFloatAttribute(node, "x");
+
788  float y = getFloatAttribute(node, "y");
+
789  float rx = getFloatAttribute(node, "rx");
+
790  float ry = getFloatAttribute(node, "ry");
+
791  Rect *shape =
+
792  new Rect(getFloatAttribute(node, "width"),
+
793  getFloatAttribute(node, "height"), Vector2Df(x, y),
+
794  Vector2Df(rx, ry), fill_color, stroke_color, stroke_width);
+
795  return shape;
+
796 }
Represents a rectangle in 2D space.
Definition: Rect.hpp:13
@@ -1876,63 +1912,66 @@

Returns
The group of elements
-

Definition at line 667 of file Parser.cpp.

-
667  {
-
668  SVGElement *shape = NULL;
-
669  std::string type = node->name();
-
670  std::string id = "";
-
671  mColor stroke_color = parseColor(node, "stroke", id);
-
672  mColor fill_color = parseColor(node, "fill", id);
-
673  float stroke_width = getFloatAttribute(node, "stroke-width");
-
674  if (type == "line") {
-
675  shape = parseLine(node, stroke_color, stroke_width);
-
676  } else if (type == "rect") {
-
677  shape = parseRect(node, fill_color, stroke_color, stroke_width);
-
678  } else if (type == "circle") {
-
679  shape = parseCircle(node, fill_color, stroke_color, stroke_width);
-
680  } else if (type == "ellipse") {
-
681  shape = parseEllipse(node, fill_color, stroke_color, stroke_width);
-
682  } else if (type == "polygon") {
-
683  shape = parsePolygon(node, fill_color, stroke_color, stroke_width);
-
684  } else if (type == "polyline") {
-
685  shape = parsePolyline(node, fill_color, stroke_color, stroke_width);
-
686  } else if (type == "path") {
-
687  shape = parsePath(node, fill_color, stroke_color, stroke_width);
-
688  } else if (type == "text") {
-
689  shape = parseText(node, fill_color, stroke_color, stroke_width);
-
690  }
-
691  if (shape != NULL) {
-
692  if (type == "text") {
-
693  float dx = getFloatAttribute(node, "dx");
-
694  float dy = getFloatAttribute(node, "dy");
-
695  std::string transform = "translate(" + std::to_string(dx) + " " +
-
696  std::to_string(dy) + ")";
-
697  std::vector< std::string > transform_order =
-
698  getTransformOrder(node);
-
699  transform_order.push_back(transform);
-
700  shape->setTransforms(transform_order);
-
701  } else
-
702  shape->setTransforms(getTransformOrder(node));
-
703  if (id != "") {
-
704  shape->setGradient(parseGradient(id));
-
705  }
-
706  }
-
707  return shape;
-
708 }
-
class Plyline * parsePolyline(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
Parses the polyline element.
Definition: Parser.cpp:769
-
class Ell * parseEllipse(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
Parses the ellipse element.
Definition: Parser.cpp:743
-
Rect * parseRect(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
Parses the rect element.
Definition: Parser.cpp:719
-
Text * parseText(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
Parses the text element.
Definition: Parser.cpp:784
-
Path * parsePath(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
Parses the path element.
Definition: Parser.cpp:807
-
class Plygon * parsePolygon(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
Parses the polygon element.
Definition: Parser.cpp:754
-
Line * parseLine(rapidxml::xml_node<> *node, const mColor &stroke_color, float stroke_width)
Parses the line element.
Definition: Parser.cpp:710
-
Circle * parseCircle(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
Parses the circle element.
Definition: Parser.cpp:732
+

Definition at line 727 of file Parser.cpp.

+
727  {
+
728  SVGElement *shape = NULL;
+
729  std::string type = node->name();
+
730  std::string id = "";
+
731  ColorShape stroke_color = parseColor(node, "stroke", id);
+
732  ColorShape fill_color = parseColor(node, "fill", id);
+
733  float stroke_width = getFloatAttribute(node, "stroke-width");
+
734  // Determine the type of SVG element and create the corresponding object
+
735  if (type == "line") {
+
736  shape = parseLine(node, stroke_color, stroke_width);
+
737  } else if (type == "rect") {
+
738  shape = parseRect(node, fill_color, stroke_color, stroke_width);
+
739  } else if (type == "circle") {
+
740  shape = parseCircle(node, fill_color, stroke_color, stroke_width);
+
741  } else if (type == "ellipse") {
+
742  shape = parseEllipse(node, fill_color, stroke_color, stroke_width);
+
743  } else if (type == "polygon") {
+
744  shape = parsePolygon(node, fill_color, stroke_color, stroke_width);
+
745  } else if (type == "polyline") {
+
746  shape = parsePolyline(node, fill_color, stroke_color, stroke_width);
+
747  } else if (type == "path") {
+
748  shape = parsePath(node, fill_color, stroke_color, stroke_width);
+
749  } else if (type == "text") {
+
750  shape = parseText(node, fill_color, stroke_color, stroke_width);
+
751  }
+
752 
+
753  // Apply transformations and gradient if applicable
+
754  if (shape != NULL) {
+
755  if (type == "text") {
+
756  float dx = getFloatAttribute(node, "dx");
+
757  float dy = getFloatAttribute(node, "dy");
+
758  std::string transform = "translate(" + std::to_string(dx) + " " +
+
759  std::to_string(dy) + ")";
+
760  std::vector< std::string > transform_order =
+
761  getTransformOrder(node);
+
762  transform_order.push_back(transform);
+
763  shape->setTransforms(transform_order);
+
764  } else
+
765  shape->setTransforms(getTransformOrder(node));
+
766  if (id != "") {
+
767  shape->setGradient(parseGradient(id));
+
768  }
+
769  }
+
770  return shape;
+
771 }
+
class Plygon * parsePolygon(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
Parses the polygon element.
Definition: Parser.cpp:825
+
class Plyline * parsePolyline(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
Parses the polyline element.
Definition: Parser.cpp:842
+
Line * parseLine(rapidxml::xml_node<> *node, const ColorShape &stroke_color, float stroke_width)
Parses the line element.
Definition: Parser.cpp:774
+
Text * parseText(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
Parses the text element.
Definition: Parser.cpp:859
+
class Ell * parseEllipse(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
Parses the ellipse element.
Definition: Parser.cpp:812
+
Rect * parseRect(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
Parses the rect element.
Definition: Parser.cpp:784
+
Path * parsePath(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
Parses the path element.
Definition: Parser.cpp:884
+
Circle * parseCircle(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
Parses the circle element.
Definition: Parser.cpp:799
void setGradient(Gradient *gradient)
Sets the gradient of the shape.
Definition: SVGElement.cpp:79
- -

◆ parseText()

+ +

◆ parseText()

@@ -1949,13 +1988,13 @@

- + - + @@ -1989,28 +2028,28 @@

Returns
The text element
-

Definition at line 784 of file Parser.cpp.

-
785  {
-
786  float x = getFloatAttribute(node, "x");
-
787  float y = getFloatAttribute(node, "y");
-
788  float font_size = getFloatAttribute(node, "font-size");
-
789  std::string text = getAttribute(node, "text");
-
790 
-
791  Text *shape =
-
792  new Text(Vector2Df(x - (font_size * 6.6 / 40),
-
793  y - font_size + (font_size * 4.4 / 40)),
-
794  text, font_size, fill_color, stroke_color, stroke_width);
-
795 
-
796  std::string anchor = getAttribute(node, "text-anchor");
-
797  anchor.erase(std::remove(anchor.begin(), anchor.end(), ' '), anchor.end());
-
798  shape->setAnchor(anchor);
-
799 
-
800  std::string style = getAttribute(node, "font-style");
-
801  style.erase(std::remove(style.begin(), style.end(), ' '), style.end());
-
802  shape->setFontStyle(style);
-
803 
-
804  return shape;
-
805 }
+

Definition at line 859 of file Parser.cpp.

+
861  {
+
862  float x = getFloatAttribute(node, "x");
+
863  float y = getFloatAttribute(node, "y");
+
864  float font_size = getFloatAttribute(node, "font-size");
+
865  std::string text = getAttribute(node, "text");
+
866 
+
867  Text *shape =
+
868  new Text(Vector2Df(x - (font_size * 6.6 / 40),
+
869  y - font_size + (font_size * 4.4 / 40)),
+
870  text, font_size, fill_color, stroke_color, stroke_width);
+
871 
+
872  std::string anchor = getAttribute(node, "text-anchor");
+
873  anchor.erase(std::remove(anchor.begin(), anchor.end(), ' '), anchor.end());
+
874  shape->setAnchor(anchor);
+
875 
+
876  std::string style = getAttribute(node, "font-style");
+
877  style.erase(std::remove(style.begin(), style.end(), ' '), style.end());
+
878  shape->setFontStyle(style);
+
879 
+
880  return shape;
+
881 }
Represents text in 2D space.
Definition: Text.hpp:12
void setFontStyle(std::string style)
Sets the style of the text.
Definition: Text.cpp:22
void setAnchor(std::string anchor)
Sets the anchor of the text.
Definition: Text.cpp:18
@@ -2035,8 +2074,8 @@

Note
This function is used for debugging.
-

Definition at line 828 of file Parser.cpp.

-
828 { root->printData(); }
+

Definition at line 908 of file Parser.cpp.

+
908 { root->printData(); }
virtual void printData() const
Prints the data of the shape.
Definition: SVGElement.cpp:47
@@ -2063,7 +2102,7 @@

The gradients of the SVG file.

-

Definition at line 277 of file Parser.hpp.

+

Definition at line 279 of file Parser.hpp.

diff --git a/docs/classParser.js b/docs/classParser.js index 882e179..6f32556 100644 --- a/docs/classParser.js +++ b/docs/classParser.js @@ -10,26 +10,26 @@ var classParser = [ "getInstance", "classParser.html#a06952fa44f19fdb573c1355ac26454c5", null ], [ "getRoot", "classParser.html#a59ed4455eaec306cde11939785c4e71a", null ], [ "getTransformOrder", "classParser.html#a99df58e649089762bf434502173716d6", null ], - [ "getViewBox", "classParser.html#a4efa2342d694eff2ab6ba1d150c7bb69", null ], + [ "getViewBox", "classParser.html#a231c2e522115ae9a4fd9629285ed28e1", null ], [ "getViewPort", "classParser.html#a009fbe10a1b9b58a65be44634335a062", null ], - [ "parseCircle", "classParser.html#ab7776f740b7d63c388a086c8b8ecccd0", null ], - [ "parseColor", "classParser.html#a18d5a9aa35bd124023a060940486e183", null ], + [ "parseCircle", "classParser.html#af634ef273fb8c221a832688c19244adf", null ], + [ "parseColor", "classParser.html#a2e5e2efef794624abaa9bf390e234950", null ], [ "parseElements", "classParser.html#aaf9f19591ff93f0c0c2fd68955e4a4af", null ], - [ "parseEllipse", "classParser.html#a0af0085ee5e20739bdf23a5b685642b6", null ], + [ "parseEllipse", "classParser.html#aa2249c02eee1ce310158a3450450ff3e", null ], [ "parseGradient", "classParser.html#ac1e519500fce1b4192362ed1aa5ccbc3", null ], - [ "parseLine", "classParser.html#a95e84ae219109769fae08702381acf78", null ], - [ "parsePath", "classParser.html#a6f80728e7a771d2653baf1b453b655d9", null ], + [ "parseLine", "classParser.html#a741b866e359471784380c23c5b71d9da", null ], + [ "parsePath", "classParser.html#af4b65cb5b02ac856daba07387f67c6aa", null ], [ "parsePathPoints", "classParser.html#aecea54d6bc1ff225a6ac450ccbb560c3", null ], [ "parsePoints", "classParser.html#af408a2ef7b27ceed0547093d73e6b2eb", null ], - [ "parsePolygon", "classParser.html#a7afd52c648dc5983e596edfa7eb6bbb5", null ], - [ "parsePolyline", "classParser.html#a03766f0f9f6ebdead0474973d3ac50aa", null ], - [ "parseRect", "classParser.html#a20352ab58a59e61f6da1b4d20861907d", null ], + [ "parsePolygon", "classParser.html#a3df3464ed7cfc97fd85ec2ff89e64359", null ], + [ "parsePolyline", "classParser.html#a5dd4328e960681889155a13f699200ce", null ], + [ "parseRect", "classParser.html#ad7063613f30bc89a4a9197cd664fe9d4", null ], [ "parseShape", "classParser.html#abfd09c5dd46fb0dc9bcd9106857dbf5e", null ], - [ "parseText", "classParser.html#a539bda46a2832a22741105c9299c12cb", null ], + [ "parseText", "classParser.html#a9ed27a4ee0360f437acb83553dd76c9f", null ], [ "printShapesData", "classParser.html#a3d8927f2e26abf6a63bd850c154b23c6", null ], [ "gradients", "classParser.html#a7f085da78317baf2cc61e6e92b4b29c8", null ], [ "instance", "classParser.html#ae3a28c02c18171f4e83fae54b9f21a90", null ], [ "root", "classParser.html#a13a5e2fdac62670c1584de1edbba77f2", null ], - [ "viewbox", "classParser.html#a7eb24f4915ba9b7a652ca204c1edb2c7", null ], + [ "viewbox", "classParser.html#aa8eb9358d20c85b7f92b6fb3a88fa666", null ], [ "viewport", "classParser.html#a2872aff3bfb15fdb1df2dcdce2bd632a", null ] ]; \ No newline at end of file diff --git a/docs/classParser__coll__graph.map b/docs/classParser__coll__graph.map index 5086395..7dc5f7a 100644 --- a/docs/classParser__coll__graph.map +++ b/docs/classParser__coll__graph.map @@ -1,7 +1,8 @@ - + - + + diff --git a/docs/classParser__coll__graph.md5 b/docs/classParser__coll__graph.md5 index f01d584..c90d000 100644 --- a/docs/classParser__coll__graph.md5 +++ b/docs/classParser__coll__graph.md5 @@ -1 +1 @@ -05c158b829a8e9183f51bdd787bd2a08 \ No newline at end of file +623b500ca6f49f264476c196d915684c \ No newline at end of file diff --git a/docs/classParser__coll__graph.svg b/docs/classParser__coll__graph.svg index 1c61f4c..b1eba90 100644 --- a/docs/classParser__coll__graph.svg +++ b/docs/classParser__coll__graph.svg @@ -4,25 +4,25 @@ - + Parser Node1 - -Parser + +Parser - + Node1->Node1 - - - instance + + + instance @@ -36,8 +36,8 @@ Node2->Node1 - - + + viewport @@ -59,12 +59,12 @@ Node3->Node1 - - - root + + + root - + Node3->Node3 @@ -89,34 +89,50 @@ Node5 - - -mColor + + +ColorShape - + Node5->Node3 - - - fill -stroke + + + fill +stroke - + Node5->Node5 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow + + + +Node6 + + +ViewBox + + + + + +Node6->Node1 + + + viewbox diff --git a/docs/classPath-members.html b/docs/classPath-members.html index a02e49d..0c982bd 100644 --- a/docs/classPath-members.html +++ b/docs/classPath-members.html @@ -126,15 +126,15 @@

mColor Parser::parseColor ColorShape Parser::parseColor ( rapidxml::xml_node<> *  node, const mColorconst ColorShape fill_color,
const mColorconst ColorShape stroke_color,
const mColorconst ColorShape stroke_color,
const mColorconst ColorShape fill_color,
const mColorconst ColorShape stroke_color,
const mColorconst ColorShape fill_color,
const mColorconst ColorShape stroke_color,
const mColorconst ColorShape fill_color,
const mColorconst ColorShape stroke_color,
const mColorconst ColorShape fill_color,
const mColorconst ColorShape stroke_color,
const mColorconst ColorShape fill_color,
const mColorconst ColorShape stroke_color,
- + - + - + @@ -142,24 +142,24 @@ - + - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
addPoint(PathPoint point)Path
fillSVGElementprivate
fillSVGElementprivate
fill_rulePathprivate
getClass() const overridePathvirtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getFillRule() constPath
getGradient() constSVGElement
getMaxBound() constSVGElementvirtual
getMinBound() constSVGElementvirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPoints() constPath
getTransforms() constSVGElement
gradientSVGElementprivate
parentSVGElementprotected
Path(const mColor &fill, const mColor &stroke, float stroke_width)Path
Path(const ColorShape &fill, const ColorShape &stroke, float stroke_width)Path
pointsPathprivate
positionSVGElementprivate
printData() const overridePathvirtual
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setFillRule(std::string fill_rule)Path
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classPath.html b/docs/classPath.html index 35e881a..fe68bd9 100644 --- a/docs/classPath.html +++ b/docs/classPath.html @@ -133,20 +133,21 @@
Inheritance diagram for Path:
-
+
+
[legend]
Collaboration diagram for Path:
-
+
[legend]
- - - + + + @@ -170,12 +171,12 @@ virtual  - - - - - - + + + + + + @@ -185,12 +186,12 @@ - - - - - - + + + + + + @@ -242,12 +243,12 @@ - - - - - - + + + + + + @@ -260,8 +261,8 @@

Definition at line 28 of file Path.hpp.

Constructor & Destructor Documentation

- -

◆ Path()

+ +

◆ Path()

@@ -269,13 +270,13 @@

Path::Path

- + - + @@ -303,11 +304,11 @@

Definition at line 3 of file Path.cpp.

-
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
SVGElement()
Constructs a Shape object.
Definition: SVGElement.cpp:5
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
diff --git a/docs/classPath.js b/docs/classPath.js index ad8ec6f..e81bb55 100644 --- a/docs/classPath.js +++ b/docs/classPath.js @@ -1,6 +1,6 @@ var classPath = [ - [ "Path", "classPath.html#a089f2f59cc5574ce9e93826891044378", null ], + [ "Path", "classPath.html#ad8dab023d3009f51f001fb930c2334c2", null ], [ "addPoint", "classPath.html#ad4273c2a1b288fe43dd86375afc16f66", null ], [ "getClass", "classPath.html#ac99ffb44f19586a10ee39aa70fd4a260", null ], [ "getFillRule", "classPath.html#a9395325e65f86fd2a4be2dc24408753a", null ], diff --git a/docs/classPath__coll__graph.map b/docs/classPath__coll__graph.map index ce5fae0..7b3398c 100644 --- a/docs/classPath__coll__graph.map +++ b/docs/classPath__coll__graph.map @@ -3,5 +3,5 @@ - + diff --git a/docs/classPath__coll__graph.md5 b/docs/classPath__coll__graph.md5 index 7f0387b..3b3d0cb 100644 --- a/docs/classPath__coll__graph.md5 +++ b/docs/classPath__coll__graph.md5 @@ -1 +1 @@ -0fc4e47c8228a07aa79d8250700028df \ No newline at end of file +434bf4554cc7a0b3bfcfacccfa8fd6dd \ No newline at end of file diff --git a/docs/classPath__coll__graph.svg b/docs/classPath__coll__graph.svg index 0b6d530..f3f196c 100644 --- a/docs/classPath__coll__graph.svg +++ b/docs/classPath__coll__graph.svg @@ -4,8 +4,8 @@ - + Path @@ -33,7 +33,7 @@ - + Node2->Node2 @@ -74,34 +74,34 @@ Node5 - - -mColor + + +ColorShape - + Node5->Node2 - - - fill -stroke + + + fill +stroke - + Node5->Node5 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classPlygon-members.html b/docs/classPlygon-members.html index 79ea9fc..4933afc 100644 --- a/docs/classPlygon-members.html +++ b/docs/classPlygon-members.html @@ -126,15 +126,15 @@

Public Member Functions

 Path (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Path object. More...
 
 Path (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Path object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from SVGElement
SVGElementparent
(const mColorconst ColorShape fill,
const mColorconst ColorShape stroke,
- + - + - + @@ -142,25 +142,25 @@ - + - + - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
addPoint(const Vector2Df &point)PolyShapevirtual
fillSVGElementprivate
fillSVGElementprivate
fill_rulePolyShapeprotected
getClass() const overridePlygonvirtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getFillRule() constPolyShape
getGradient() constSVGElement
getMaxBound() const overridePolyShapevirtual
getMinBound() const overridePolyShapevirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPoints() constPolyShape
getTransforms() constSVGElement
gradientSVGElementprivate
parentSVGElementprotected
Plygon(mColor fill, mColor stroke, float stroke_width)Plygon
Plygon(ColorShape fill, ColorShape stroke, float stroke_width)Plygon
pointsPolyShapeprotected
PolyShape(const mColor &fill, const mColor &stroke, float stroke_width)PolyShapeprotected
PolyShape(const ColorShape &fill, const ColorShape &stroke, float stroke_width)PolyShapeprotected
positionSVGElementprivate
printData() const overridePolyShapevirtual
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setFillRule(std::string fill_rule)PolyShape
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classPlygon.html b/docs/classPlygon.html index d89fd72..69f583b 100644 --- a/docs/classPlygon.html +++ b/docs/classPlygon.html @@ -132,20 +132,21 @@
Inheritance diagram for Plygon:
-
+
+
[legend]
Collaboration diagram for Plygon:
-
+
[legend]
- - - + + + @@ -176,12 +177,12 @@ virtual  - - - - - - + + + + + + @@ -191,12 +192,12 @@ - - - - - - + + + + + + @@ -228,19 +229,19 @@ - - - + + + - - - - - - + + + + + + @@ -262,8 +263,8 @@

Definition at line 12 of file Polygon.hpp.

Constructor & Destructor Documentation

- -

◆ Plygon()

+ +

◆ Plygon()

@@ -271,13 +272,13 @@

Plygon::Plygon

- + - + @@ -305,11 +306,11 @@

Definition at line 3 of file Polygon.cpp.

-
-
PolyShape(const mColor &fill, const mColor &stroke, float stroke_width)
Constructs a PolyShape object.
Definition: PolyShape.cpp:3
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
+
PolyShape(const ColorShape &fill, const ColorShape &stroke, float stroke_width)
Constructs a PolyShape object.
Definition: PolyShape.cpp:3
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
diff --git a/docs/classPlygon.js b/docs/classPlygon.js index 1b7c07f..9e602e1 100644 --- a/docs/classPlygon.js +++ b/docs/classPlygon.js @@ -1,5 +1,5 @@ var classPlygon = [ - [ "Plygon", "classPlygon.html#ac3f4fb224f4f84c3bd6e41093cd847cd", null ], + [ "Plygon", "classPlygon.html#ade144fd5857f80e3b345e2ba538b017d", null ], [ "getClass", "classPlygon.html#aab00a0d0230ea320271e96c326c6b919", null ] ]; \ No newline at end of file diff --git a/docs/classPlygon__coll__graph.map b/docs/classPlygon__coll__graph.map index 71c0076..e15522d 100644 --- a/docs/classPlygon__coll__graph.map +++ b/docs/classPlygon__coll__graph.map @@ -4,5 +4,5 @@ - + diff --git a/docs/classPlygon__coll__graph.md5 b/docs/classPlygon__coll__graph.md5 index 5ab6465..4e5a334 100644 --- a/docs/classPlygon__coll__graph.md5 +++ b/docs/classPlygon__coll__graph.md5 @@ -1 +1 @@ -8536278a428191f058cbfd035fae0c5b \ No newline at end of file +75fb883a1fbb41675f9027b30df4e300 \ No newline at end of file diff --git a/docs/classPlygon__coll__graph.svg b/docs/classPlygon__coll__graph.svg index 0eeeafd..473d57d 100644 --- a/docs/classPlygon__coll__graph.svg +++ b/docs/classPlygon__coll__graph.svg @@ -4,8 +4,8 @@ - + Plygon @@ -48,7 +48,7 @@ - + Node3->Node3 @@ -89,34 +89,34 @@ Node6 - - -mColor + + +ColorShape - + Node6->Node3 - - - fill -stroke + + + fill +stroke - + Node6->Node6 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classPlyline-members.html b/docs/classPlyline-members.html index d14c0b1..106ce88 100644 --- a/docs/classPlyline-members.html +++ b/docs/classPlyline-members.html @@ -126,15 +126,15 @@

Public Member Functions

 Plygon (mColor fill, mColor stroke, float stroke_width)
 Constructs a Polygon object. More...
 
 Plygon (ColorShape fill, ColorShape stroke, float stroke_width)
 Constructs a Polygon object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 

Additional Inherited Members

- Protected Member Functions inherited from PolyShape
 PolyShape (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a PolyShape object. More...
 
 PolyShape (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a PolyShape object. More...
 
- Protected Member Functions inherited from SVGElement
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from PolyShape
std::vector< Vector2Dfpoints
(mColor ColorShape  fill,
mColor ColorShape  stroke,
- + - + - + @@ -142,25 +142,25 @@ - + - + - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
addPoint(const Vector2Df &point)PolyShapevirtual
fillSVGElementprivate
fillSVGElementprivate
fill_rulePolyShapeprotected
getClass() const overridePlylinevirtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getFillRule() constPolyShape
getGradient() constSVGElement
getMaxBound() const overridePolyShapevirtual
getMinBound() const overridePolyShapevirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPoints() constPolyShape
getTransforms() constSVGElement
gradientSVGElementprivate
parentSVGElementprotected
Plyline(const mColor &fill, const mColor &stroke, float stroke_width)Plyline
Plyline(const ColorShape &fill, const ColorShape &stroke, float stroke_width)Plyline
pointsPolyShapeprotected
PolyShape(const mColor &fill, const mColor &stroke, float stroke_width)PolyShapeprotected
PolyShape(const ColorShape &fill, const ColorShape &stroke, float stroke_width)PolyShapeprotected
positionSVGElementprivate
printData() const overridePolyShapevirtual
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setFillRule(std::string fill_rule)PolyShape
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classPlyline.html b/docs/classPlyline.html index 4887647..6f8911f 100644 --- a/docs/classPlyline.html +++ b/docs/classPlyline.html @@ -132,20 +132,21 @@
Inheritance diagram for Plyline:
-
+
+
[legend]
Collaboration diagram for Plyline:
-
+
[legend]
- - - + + + @@ -176,12 +177,12 @@ virtual  - - - - - - + + + + + + @@ -191,12 +192,12 @@ - - - - - - + + + + + + @@ -228,19 +229,19 @@ - - - + + + - - - - - - + + + + + + @@ -262,8 +263,8 @@

Definition at line 12 of file Polyline.hpp.

Constructor & Destructor Documentation

- -

◆ Plyline()

+ +

◆ Plyline()

@@ -271,13 +272,13 @@

Plyline::Plyline

- + - + @@ -305,11 +306,11 @@

Definition at line 3 of file Polyline.cpp.

-
-
PolyShape(const mColor &fill, const mColor &stroke, float stroke_width)
Constructs a PolyShape object.
Definition: PolyShape.cpp:3
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
+
PolyShape(const ColorShape &fill, const ColorShape &stroke, float stroke_width)
Constructs a PolyShape object.
Definition: PolyShape.cpp:3
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
@@ -342,8 +343,8 @@

PolyShape.

-

Definition at line 6 of file Polyline.cpp.

-
6 { return "Polyline"; }
+

Definition at line 7 of file Polyline.cpp.

+
7 { return "Polyline"; }
diff --git a/docs/classPlyline.js b/docs/classPlyline.js index 8281f55..861eb1e 100644 --- a/docs/classPlyline.js +++ b/docs/classPlyline.js @@ -1,5 +1,5 @@ var classPlyline = [ - [ "Plyline", "classPlyline.html#a8bf7677d7adb76f146607ef1aaa49bd3", null ], + [ "Plyline", "classPlyline.html#a248be9e58f3122f28c3828ed178ab863", null ], [ "getClass", "classPlyline.html#a5b9d86c75604d329037cd47e8ba3d5b9", null ] ]; \ No newline at end of file diff --git a/docs/classPlyline__coll__graph.map b/docs/classPlyline__coll__graph.map index 01053f2..3135224 100644 --- a/docs/classPlyline__coll__graph.map +++ b/docs/classPlyline__coll__graph.map @@ -4,5 +4,5 @@ - + diff --git a/docs/classPlyline__coll__graph.md5 b/docs/classPlyline__coll__graph.md5 index 53602d5..b862d6c 100644 --- a/docs/classPlyline__coll__graph.md5 +++ b/docs/classPlyline__coll__graph.md5 @@ -1 +1 @@ -f0ed404981477147a32211aec4575635 \ No newline at end of file +63ca03c897e86b642b5807fff7f186ac \ No newline at end of file diff --git a/docs/classPlyline__coll__graph.svg b/docs/classPlyline__coll__graph.svg index 068048a..ce9513a 100644 --- a/docs/classPlyline__coll__graph.svg +++ b/docs/classPlyline__coll__graph.svg @@ -4,8 +4,8 @@ - + Plyline @@ -48,7 +48,7 @@ - + Node3->Node3 @@ -89,34 +89,34 @@ Node6 - - -mColor + + +ColorShape - + Node6->Node3 - - - fill -stroke + + + fill +stroke - + Node6->Node6 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classPolyShape-members.html b/docs/classPolyShape-members.html index b935adf..83d0d38 100644 --- a/docs/classPolyShape-members.html +++ b/docs/classPolyShape-members.html @@ -126,15 +126,15 @@

Public Member Functions

 Plyline (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Polyline object. More...
 
 Plyline (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Polyline object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 

Additional Inherited Members

- Protected Member Functions inherited from PolyShape
 PolyShape (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a PolyShape object. More...
 
 PolyShape (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a PolyShape object. More...
 
- Protected Member Functions inherited from SVGElement
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from PolyShape
std::vector< Vector2Dfpoints
(const mColorconst ColorShape fill,
const mColorconst ColorShape stroke,
- + - + - + @@ -143,23 +143,23 @@ - + - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
addPoint(const Vector2Df &point)PolyShapevirtual
fillSVGElementprivate
fillSVGElementprivate
fill_rulePolyShapeprotected
getClass() const =0PolyShapepure virtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getFillRule() constPolyShape
getGradient() constSVGElement
getMaxBound() const overridePolyShapevirtual
getMinBound() const overridePolyShapevirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPoints() constPolyShape
gradientSVGElementprivate
parentSVGElementprotected
pointsPolyShapeprotected
PolyShape(const mColor &fill, const mColor &stroke, float stroke_width)PolyShapeprotected
PolyShape(const ColorShape &fill, const ColorShape &stroke, float stroke_width)PolyShapeprotected
positionSVGElementprivate
printData() const overridePolyShapevirtual
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setFillRule(std::string fill_rule)PolyShape
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classPolyShape.html b/docs/classPolyShape.html index ac41d52..585f208 100644 --- a/docs/classPolyShape.html +++ b/docs/classPolyShape.html @@ -140,7 +140,7 @@
Collaboration diagram for PolyShape:
-
+
[legend]
@@ -175,12 +175,12 @@ virtual  - - - - - - + + + + + + @@ -190,12 +190,12 @@ - - - - - - + + + + + + @@ -226,19 +226,19 @@
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
- - - + + + - - - - - - + + + + + +

Protected Member Functions

 PolyShape (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a PolyShape object. More...
 
 PolyShape (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a PolyShape object. More...
 
- Protected Member Functions inherited from SVGElement
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
@@ -262,8 +262,8 @@

Definition at line 12 of file PolyShape.hpp.

Constructor & Destructor Documentation

- -

◆ PolyShape()

+ +

◆ PolyShape()

@@ -274,13 +274,13 @@

PolyShape::PolyShape

- + - + @@ -313,11 +313,11 @@

Definition at line 3 of file PolyShape.cpp.

-
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
SVGElement()
Constructs a Shape object.
Definition: SVGElement.cpp:5
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
diff --git a/docs/classPolyShape.js b/docs/classPolyShape.js index 4958756..e269575 100644 --- a/docs/classPolyShape.js +++ b/docs/classPolyShape.js @@ -1,6 +1,6 @@ var classPolyShape = [ - [ "PolyShape", "classPolyShape.html#a6fd054647bea080272ed79bbea7080ac", null ], + [ "PolyShape", "classPolyShape.html#acd2f2ae8470d1c92704bfba9fbdbae45", null ], [ "addPoint", "classPolyShape.html#a3a5e4952aff469f241ee1c9b92833f55", null ], [ "getClass", "classPolyShape.html#afc263d5407ca7ea50e30d641d779b73b", null ], [ "getFillRule", "classPolyShape.html#acac99a28e69ee5020eed782175a5a355", null ], diff --git a/docs/classPolyShape__coll__graph.map b/docs/classPolyShape__coll__graph.map index 7b5f923..80e3de1 100644 --- a/docs/classPolyShape__coll__graph.map +++ b/docs/classPolyShape__coll__graph.map @@ -3,5 +3,5 @@ - + diff --git a/docs/classPolyShape__coll__graph.md5 b/docs/classPolyShape__coll__graph.md5 index ad241b3..a128226 100644 --- a/docs/classPolyShape__coll__graph.md5 +++ b/docs/classPolyShape__coll__graph.md5 @@ -1 +1 @@ -1b3228cc01eb2b29188f8aa7284181bc \ No newline at end of file +23a2e1893a89b0636a1834ebdf8458f1 \ No newline at end of file diff --git a/docs/classPolyShape__coll__graph.svg b/docs/classPolyShape__coll__graph.svg index 8667c73..40c51d0 100644 --- a/docs/classPolyShape__coll__graph.svg +++ b/docs/classPolyShape__coll__graph.svg @@ -4,8 +4,8 @@ - + PolyShape @@ -33,7 +33,7 @@ - + Node2->Node2 @@ -74,34 +74,34 @@ Node5 - - -mColor + + +ColorShape - + Node5->Node2 - - - fill -stroke + + + fill +stroke - + Node5->Node5 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classRect-members.html b/docs/classRect-members.html index 25e1804..7705f10 100644 --- a/docs/classRect-members.html +++ b/docs/classRect-members.html @@ -125,14 +125,14 @@

This is the complete list of members for Rect, including all inherited members.

Protected Attributes

(const mColorconst ColorShape fill,
const mColorconst ColorShape stroke,
- + - + - + @@ -145,11 +145,11 @@ - - + + - + @@ -157,11 +157,11 @@ - + - - + + diff --git a/docs/classRect.html b/docs/classRect.html index 85f08b7..8afccac 100644 --- a/docs/classRect.html +++ b/docs/classRect.html @@ -139,15 +139,15 @@
Collaboration diagram for Rect:
-
+
[legend]
addElement(SVGElement *element)SVGElementvirtual
fillSVGElementprivate
fillSVGElementprivate
getClass() const overrideRectvirtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getGradient() constSVGElement
getHeight() constRect
getMaxBound() constSVGElementvirtual
getMinBound() constSVGElementvirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPosition() constSVGElement
positionSVGElementprivate
printData() const overrideRectvirtual
radiusRectprivate
Rect(float width, float height, Vector2Df position, Vector2Df radius, const mColor &fill, const mColor &stroke, float stroke_width)Rect
setFillColor(const mColor &color)SVGElement
Rect(float width, float height, Vector2Df position, Vector2Df radius, const ColorShape &fill, const ColorShape &stroke, float stroke_width)Rect
setFillColor(const ColorShape &color)SVGElement
setGradient(Gradient *gradient)SVGElement
setHeight(float height)Rect
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setRadius(const Vector2Df &radius)Rect
setTransforms(const std::vector< std::string > &transforms)SVGElement
setWidth(float width)Rect
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
widthRectprivate
~SVGElement()=defaultSVGElementvirtual
- - - + + + @@ -177,12 +177,12 @@ virtual  - - - - - - + + + + + + @@ -192,12 +192,12 @@ - - - - - - + + + + + + @@ -253,12 +253,12 @@ - - - - - - + + + + + + @@ -271,8 +271,8 @@

Definition at line 13 of file Rect.hpp.

Constructor & Destructor Documentation

- -

◆ Rect()

+ +

◆ Rect()

@@ -304,13 +304,13 @@

- + - + @@ -342,16 +342,16 @@

Definition at line 3 of file Rect.cpp.

-
+
float height
Height of the rectangle.
Definition: Rect.hpp:16
Vector2Df radius
Radii of the rectangle in the x and y directions.
Definition: Rect.hpp:17
float width
Width of the rectangle.
Definition: Rect.hpp:15
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
-
Vector2Df position
Position of the shape.
Definition: SVGElement.hpp:225
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
+
Vector2Df position
Position of the shape.
Definition: SVGElement.hpp:226
SVGElement()
Constructs a Shape object.
Definition: SVGElement.cpp:5
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
diff --git a/docs/classRect.js b/docs/classRect.js index 7423ce6..463cc95 100644 --- a/docs/classRect.js +++ b/docs/classRect.js @@ -1,6 +1,6 @@ var classRect = [ - [ "Rect", "classRect.html#ad52d66e844d848d0e95f744b697e7beb", null ], + [ "Rect", "classRect.html#ab8ceb8946210a2779862a66ad8d43397", null ], [ "getClass", "classRect.html#a4f6ba1c3eef4054847a89da472f392cd", null ], [ "getHeight", "classRect.html#a418fffe5bb9368f4e158b63e13faba16", null ], [ "getRadius", "classRect.html#a31ca84cc8755233b5e61d22189f637b0", null ], diff --git a/docs/classRect__coll__graph.map b/docs/classRect__coll__graph.map index e37b9f4..99af263 100644 --- a/docs/classRect__coll__graph.map +++ b/docs/classRect__coll__graph.map @@ -3,5 +3,5 @@ - + diff --git a/docs/classRect__coll__graph.md5 b/docs/classRect__coll__graph.md5 index bd2ddf6..0b8c68c 100644 --- a/docs/classRect__coll__graph.md5 +++ b/docs/classRect__coll__graph.md5 @@ -1 +1 @@ -428634443f6b388d85bd2492f5c91974 \ No newline at end of file +dfe10046906fe4c6ea620488d42be1e7 \ No newline at end of file diff --git a/docs/classRect__coll__graph.svg b/docs/classRect__coll__graph.svg index 5af2819..4c5ff6c 100644 --- a/docs/classRect__coll__graph.svg +++ b/docs/classRect__coll__graph.svg @@ -4,8 +4,8 @@ - + Rect @@ -33,7 +33,7 @@ - + Node2->Node2 @@ -58,9 +58,9 @@ Node3->Node2 - - - position + + + position @@ -76,39 +76,39 @@ Node4->Node2 - gradient + gradient Node5 - - -mColor + + +ColorShape - + Node5->Node2 - - - fill -stroke + + + fill +stroke - + Node5->Node5 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classRenderer.html b/docs/classRenderer.html index dddd21a..9978c80 100644 --- a/docs/classRenderer.html +++ b/docs/classRenderer.html @@ -135,7 +135,8 @@
Collaboration diagram for Renderer:
-
+
+
[legend]

Public Member Functions

 Rect (float width, float height, Vector2Df position, Vector2Df radius, const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Rect object. More...
 
 Rect (float width, float height, Vector2Df position, Vector2Df radius, const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Rect object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from SVGElement
SVGElementparent
const mColorconst ColorShape fill,
const mColorconst ColorShape stroke,
- - + + @@ -158,6 +158,8 @@ + + diff --git a/docs/functions.html b/docs/functions.html index faf72c1..6ca0c4b 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -121,7 +121,7 @@

- a -

@@ -257,28 +258,28 @@

Definition at line 50 of file Renderer.cpp.

-
51  {
-
52  for (auto type : transform_order) {
-
53  if (type.find("translate") != std::string::npos) {
-
54  float trans_x = getTranslate(type).first,
-
55  trans_y = getTranslate(type).second;
-
56  graphics.TranslateTransform(trans_x, trans_y);
-
57  } else if (type.find("rotate") != std::string::npos) {
-
58  float degree = getRotate(type);
-
59  graphics.RotateTransform(degree);
-
60  } else if (type.find("scale") != std::string::npos) {
-
61  if (type.find(",") != std::string::npos) {
-
62  float scale_x = getScaleXY(type).first,
-
63  scale_y = getScaleXY(type).second;
-
64  graphics.ScaleTransform(scale_x, scale_y);
-
65  } else {
-
66  float scale = getScale(type);
-
67  graphics.ScaleTransform(scale, scale);
-
68  }
-
69  }
-
70  }
-
71 }
+

Definition at line 55 of file Renderer.cpp.

+
56  {
+
57  for (auto type : transform_order) {
+
58  if (type.find("translate") != std::string::npos) {
+
59  float trans_x = getTranslate(type).first,
+
60  trans_y = getTranslate(type).second;
+
61  graphics.TranslateTransform(trans_x, trans_y);
+
62  } else if (type.find("rotate") != std::string::npos) {
+
63  float degree = getRotate(type);
+
64  graphics.RotateTransform(degree);
+
65  } else if (type.find("scale") != std::string::npos) {
+
66  if (type.find(",") != std::string::npos) {
+
67  float scale_x = getScaleXY(type).first,
+
68  scale_y = getScaleXY(type).second;
+
69  graphics.ScaleTransform(scale_x, scale_y);
+
70  } else {
+
71  float scale = getScale(type);
+
72  graphics.ScaleTransform(scale, scale);
+
73  }
+
74  }
+
75  }
+
76 }
@@ -325,38 +326,42 @@

Definition at line 673 of file Renderer.cpp.

-
675  {
-
676  for (auto type : transform_order) {
-
677  if (type.find("translate") != std::string::npos) {
-
678  float trans_x = getTranslate(type).first,
-
679  trans_y = getTranslate(type).second;
-
680  brush->TranslateTransform(trans_x, trans_y);
-
681  } else if (type.find("rotate") != std::string::npos) {
-
682  float degree = getRotate(type);
-
683  brush->RotateTranform(degree);
-
684  } else if (type.find("scale") != std::string::npos) {
-
685  if (type.find(",") != std::string::npos) {
-
686  float scale_x = getScaleXY(type).first,
-
687  scale_y = getScaleXY(type).second;
-
688  brush->ScaleTransform(scale_x, scale_y);
-
689  } else {
-
690  float scale = getScale(type);
-
691  brush->ScaleTransform(scale, scale);
-
692  }
-
693  } else if (type.find("matrix") != std::string::npos) {
-
694  float a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
-
695  if (type.find(",") != std::string::npos) {
-
696  type.erase(std::remove(type.begin(), type.end(), ','),
-
697  type.end());
-
698  }
-
699  sscanf(type.c_str(), "matrix(%f %f %f %f %f %f)", &a, &b, &c, &d,
-
700  &e, &f);
-
701  Gdiplus::Matrix matrix(a, b, c, d, e, f);
-
702  brush->SetTransform(&matrix);
-
703  }
-
704  }
-
705 }
+

Definition at line 791 of file Renderer.cpp.

+
793  {
+
794  for (auto type : transform_order) {
+
795  if (type.find("translate") != std::string::npos) {
+
796  // Apply translation transformation
+
797  float trans_x = getTranslate(type).first,
+
798  trans_y = getTranslate(type).second;
+
799  brush->TranslateTransform(trans_x, trans_y);
+
800  } else if (type.find("rotate") != std::string::npos) {
+
801  // Apply rotation transformation
+
802  float degree = getRotate(type);
+
803  brush->RotateTranform(degree);
+
804  } else if (type.find("scale") != std::string::npos) {
+
805  // Apply scaling transformation
+
806  if (type.find(",") != std::string::npos) {
+
807  float scale_x = getScaleXY(type).first,
+
808  scale_y = getScaleXY(type).second;
+
809  brush->ScaleTransform(scale_x, scale_y);
+
810  } else {
+
811  float scale = getScale(type);
+
812  brush->ScaleTransform(scale, scale);
+
813  }
+
814  } else if (type.find("matrix") != std::string::npos) {
+
815  // Apply matrix transformation
+
816  float a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
+
817  if (type.find(",") != std::string::npos) {
+
818  type.erase(std::remove(type.begin(), type.end(), ','),
+
819  type.end());
+
820  }
+
821  sscanf(type.c_str(), "matrix(%f %f %f %f %f %f)", &a, &b, &c, &d,
+
822  &e, &f);
+
823  Gdiplus::Matrix matrix(a, b, c, d, e, f);
+
824  brush->SetTransform(&matrix);
+
825  }
+
826  }
+
827 }
@@ -403,38 +408,38 @@

Definition at line 707 of file Renderer.cpp.

-
709  {
-
710  for (auto type : transform_order) {
-
711  if (type.find("translate") != std::string::npos) {
-
712  float trans_x = getTranslate(type).first,
-
713  trans_y = getTranslate(type).second;
-
714  brush->TranslateTransform(trans_x, trans_y);
-
715  } else if (type.find("rotate") != std::string::npos) {
-
716  float degree = getRotate(type);
-
717  brush->RotateTransform(degree);
-
718  } else if (type.find("scale") != std::string::npos) {
-
719  if (type.find(",") != std::string::npos) {
-
720  float scale_x = getScaleXY(type).first,
-
721  scale_y = getScaleXY(type).second;
-
722  brush->ScaleTransform(scale_x, scale_y);
-
723  } else {
-
724  float scale = getScale(type);
-
725  brush->ScaleTransform(scale, scale);
-
726  }
-
727  } else if (type.find("matrix") != std::string::npos) {
-
728  float a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
-
729  if (type.find(",") != std::string::npos) {
-
730  type.erase(std::remove(type.begin(), type.end(), ','),
-
731  type.end());
-
732  }
-
733  sscanf(type.c_str(), "matrix(%f %f %f %f %f %f)", &a, &b, &c, &d,
-
734  &e, &f);
-
735  Gdiplus::Matrix matrix(a, b, c, d, e, f);
-
736  brush->SetTransform(&matrix);
-
737  }
-
738  }
-
739 }
+

Definition at line 830 of file Renderer.cpp.

+
832  {
+
833  for (auto type : transform_order) {
+
834  if (type.find("translate") != std::string::npos) {
+
835  float trans_x = getTranslate(type).first,
+
836  trans_y = getTranslate(type).second;
+
837  brush->TranslateTransform(trans_x, trans_y);
+
838  } else if (type.find("rotate") != std::string::npos) {
+
839  float degree = getRotate(type);
+
840  brush->RotateTransform(degree);
+
841  } else if (type.find("scale") != std::string::npos) {
+
842  if (type.find(",") != std::string::npos) {
+
843  float scale_x = getScaleXY(type).first,
+
844  scale_y = getScaleXY(type).second;
+
845  brush->ScaleTransform(scale_x, scale_y);
+
846  } else {
+
847  float scale = getScale(type);
+
848  brush->ScaleTransform(scale, scale);
+
849  }
+
850  } else if (type.find("matrix") != std::string::npos) {
+
851  float a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
+
852  if (type.find(",") != std::string::npos) {
+
853  type.erase(std::remove(type.begin(), type.end(), ','),
+
854  type.end());
+
855  }
+
856  sscanf(type.c_str(), "matrix(%f %f %f %f %f %f)", &a, &b, &c, &d,
+
857  &e, &f);
+
858  Gdiplus::Matrix matrix(a, b, c, d, e, f);
+
859  brush->SetTransform(&matrix);
+
860  }
+
861  }
+
862 }
@@ -473,62 +478,67 @@

Definition at line 73 of file Renderer.cpp.

-
73  {
-
74  for (auto shape : group->getElements()) {
-
75  Gdiplus::Matrix original;
-
76  graphics.GetTransform(&original);
-
77  applyTransform(shape->getTransforms(), graphics);
-
78  if (shape->getClass() == "Group") {
-
79  Group* group = dynamic_cast< Group* >(shape);
-
80  draw(graphics, group);
-
81  } else if (shape->getClass() == "Polyline") {
-
82  Plyline* polyline = dynamic_cast< Plyline* >(shape);
-
83  drawPolyline(graphics, polyline);
-
84  } else if (shape->getClass() == "Text") {
-
85  Text* text = dynamic_cast< Text* >(shape);
-
86  drawText(graphics, text);
-
87  } else if (shape->getClass() == "Rect") {
-
88  Rect* rectangle = dynamic_cast< Rect* >(shape);
-
89  drawRectangle(graphics, rectangle);
-
90  } else if (shape->getClass() == "Circle") {
-
91  Circle* circle = dynamic_cast< Circle* >(shape);
-
92  drawCircle(graphics, circle);
-
93  } else if (shape->getClass() == "Ellipse") {
-
94  Ell* ellipse = dynamic_cast< Ell* >(shape);
-
95  drawEllipse(graphics, ellipse);
-
96  } else if (shape->getClass() == "Line") {
-
97  Line* line = dynamic_cast< Line* >(shape);
-
98  drawLine(graphics, line);
-
99  } else if (shape->getClass() == "Polygon") {
-
100  Plygon* polygon = dynamic_cast< Plygon* >(shape);
-
101  drawPolygon(graphics, polygon);
-
102  } else if (shape->getClass() == "Path") {
-
103  Path* path = dynamic_cast< Path* >(shape);
-
104  drawPath(graphics, path);
-
105  }
-
106  graphics.SetTransform(&original);
-
107  }
-
108 }
+

Definition at line 79 of file Renderer.cpp.

+
79  {
+
80  for (auto shape : group->getElements()) {
+
81  // Store the original transformation matrix
+
82  Gdiplus::Matrix original;
+
83  graphics.GetTransform(&original);
+
84 
+
85  // Apply the transformations for the current shape
+
86  applyTransform(shape->getTransforms(), graphics);
+
87 
+
88  // Draw the specific shape based on its class
+
89  if (shape->getClass() == "Group") {
+
90  Group* group = dynamic_cast< Group* >(shape);
+
91  draw(graphics, group);
+
92  } else if (shape->getClass() == "Polyline") {
+
93  Plyline* polyline = dynamic_cast< Plyline* >(shape);
+
94  drawPolyline(graphics, polyline);
+
95  } else if (shape->getClass() == "Text") {
+
96  Text* text = dynamic_cast< Text* >(shape);
+
97  drawText(graphics, text);
+
98  } else if (shape->getClass() == "Rect") {
+
99  Rect* rectangle = dynamic_cast< Rect* >(shape);
+
100  drawRectangle(graphics, rectangle);
+
101  } else if (shape->getClass() == "Circle") {
+
102  Circle* circle = dynamic_cast< Circle* >(shape);
+
103  drawCircle(graphics, circle);
+
104  } else if (shape->getClass() == "Ellipse") {
+
105  Ell* ellipse = dynamic_cast< Ell* >(shape);
+
106  drawEllipse(graphics, ellipse);
+
107  } else if (shape->getClass() == "Line") {
+
108  Line* line = dynamic_cast< Line* >(shape);
+
109  drawLine(graphics, line);
+
110  } else if (shape->getClass() == "Polygon") {
+
111  Plygon* polygon = dynamic_cast< Plygon* >(shape);
+
112  drawPolygon(graphics, polygon);
+
113  } else if (shape->getClass() == "Path") {
+
114  Path* path = dynamic_cast< Path* >(shape);
+
115  drawPath(graphics, path);
+
116  }
+
117  graphics.SetTransform(&original);
+
118  }
+
119 }
Represents a circle in 2D space.
Definition: Circle.hpp:13
Represents an ellipse in 2D space.
Definition: Ellipse.hpp:12
-
A composite class that contains a vector of shape pointers (polymorphic).
Definition: Group.hpp:19
+
A composite class that contains a vector of shape pointers (polymorphic).
Definition: Group.hpp:20
std::vector< SVGElement * > getElements() const
Gets the vector of shapes in the composite group.
Definition: Group.cpp:22
Represents a line in 2D space.
Definition: Line.hpp:12
Represents a path element in 2D space.
Definition: Path.hpp:28
Represents a polygon in 2D space.
Definition: Polygon.hpp:12
Represents a polyline in 2D space.
Definition: Polyline.hpp:12
Represents a rectangle in 2D space.
Definition: Rect.hpp:13
-
void draw(Gdiplus::Graphics &graphics, Group *group) const
Draws a shape using Gdiplus::Graphics based on its type.
Definition: Renderer.cpp:73
-
void drawPolygon(Gdiplus::Graphics &graphics, Plygon *polygon) const
Draws a polygon shape using Gdiplus::Graphics.
Definition: Renderer.cpp:229
-
void drawPolyline(Gdiplus::Graphics &graphics, Plyline *polyline) const
Draws a polyline shape using Gdiplus::Graphics.
Definition: Renderer.cpp:322
-
void drawPath(Gdiplus::Graphics &graphics, Path *path) const
Draws a path shape using Gdiplus::Graphics.
Definition: Renderer.cpp:365
-
void drawText(Gdiplus::Graphics &graphics, Text *text) const
Draws text using Gdiplus::Graphics.
Definition: Renderer.cpp:267
-
void applyTransform(std::vector< std::string > transform_order, Gdiplus::Graphics &graphics) const
Utility function to apply a series of transformations to the graphics context.
Definition: Renderer.cpp:50
-
void drawCircle(Gdiplus::Graphics &graphics, Circle *circle) const
Draws a circle shape using Gdiplus::Graphics.
Definition: Renderer.cpp:165
-
void drawLine(Gdiplus::Graphics &graphics, Line *line) const
Draws a line shape using Gdiplus::Graphics.
Definition: Renderer.cpp:110
-
void drawRectangle(Gdiplus::Graphics &graphics, Rect *rectangle) const
Draws a rectangle shape using Gdiplus::Graphics.
Definition: Renderer.cpp:119
-
void drawEllipse(Gdiplus::Graphics &graphics, Ell *ellipse) const
Draws an ellipse shape using Gdiplus::Graphics.
Definition: Renderer.cpp:197
+
void draw(Gdiplus::Graphics &graphics, Group *group) const
Draws a shape using Gdiplus::Graphics based on its type.
Definition: Renderer.cpp:79
+
void drawPolygon(Gdiplus::Graphics &graphics, Plygon *polygon) const
Draws a polygon shape using Gdiplus::Graphics.
Definition: Renderer.cpp:270
+
void drawPolyline(Gdiplus::Graphics &graphics, Plyline *polyline) const
Draws a polyline shape using Gdiplus::Graphics.
Definition: Renderer.cpp:385
+
void drawPath(Gdiplus::Graphics &graphics, Path *path) const
Draws a path shape using Gdiplus::Graphics.
Definition: Renderer.cpp:438
+
void drawText(Gdiplus::Graphics &graphics, Text *text) const
Draws text using Gdiplus::Graphics.
Definition: Renderer.cpp:318
+
void applyTransform(std::vector< std::string > transform_order, Gdiplus::Graphics &graphics) const
Utility function to apply a series of transformations to the graphics context.
Definition: Renderer.cpp:55
+
void drawCircle(Gdiplus::Graphics &graphics, Circle *circle) const
Draws a circle shape using Gdiplus::Graphics.
Definition: Renderer.cpp:192
+
void drawLine(Gdiplus::Graphics &graphics, Line *line) const
Draws a line shape using Gdiplus::Graphics.
Definition: Renderer.cpp:122
+
void drawRectangle(Gdiplus::Graphics &graphics, Rect *rectangle) const
Draws a rectangle shape using Gdiplus::Graphics.
Definition: Renderer.cpp:134
+
void drawEllipse(Gdiplus::Graphics &graphics, Ell *ellipse) const
Draws an ellipse shape using Gdiplus::Graphics.
Definition: Renderer.cpp:231
Represents text in 2D space.
Definition: Text.hpp:12
@@ -576,55 +586,61 @@

Definition at line 165 of file Renderer.cpp.

-
165  {
-
166  mColor outline_color = circle->getOutlineColor();
-
167  Gdiplus::Pen circle_outline(
-
168  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
-
169  outline_color.b),
-
170  circle->getOutlineThickness());
-
171  Vector2Df min_bound = circle->getMinBound();
-
172  Vector2Df max_bound = circle->getMaxBound();
-
173  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
-
174  max_bound.y - min_bound.y);
-
175  Gdiplus::Brush* circle_fill = getBrush(circle, bound);
-
176  if (Gdiplus::PathGradientBrush* brush =
-
177  dynamic_cast< Gdiplus::PathGradientBrush* >(circle_fill)) {
-
178  mColor color = circle->getGradient()->getStops().back().getColor();
-
179  Gdiplus::SolidBrush corner_fill(
-
180  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
181  graphics.FillEllipse(
-
182  &corner_fill, circle->getPosition().x - circle->getRadius().x,
-
183  circle->getPosition().y - circle->getRadius().y,
-
184  circle->getRadius().x * 2, circle->getRadius().y * 2);
-
185  }
-
186  graphics.FillEllipse(circle_fill,
-
187  circle->getPosition().x - circle->getRadius().x,
-
188  circle->getPosition().y - circle->getRadius().y,
-
189  circle->getRadius().x * 2, circle->getRadius().y * 2);
-
190  graphics.DrawEllipse(&circle_outline,
-
191  circle->getPosition().x - circle->getRadius().x,
-
192  circle->getPosition().y - circle->getRadius().y,
-
193  circle->getRadius().x * 2, circle->getRadius().x * 2);
-
194  delete circle_fill;
-
195 }
+

Definition at line 192 of file Renderer.cpp.

+
192  {
+
193  ColorShape outline_color = circle->getOutlineColor();
+
194  Gdiplus::Pen circle_outline(
+
195  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
+
196  outline_color.b),
+
197  circle->getOutlineThickness());
+
198 
+
199  // Create a bounding rectangle for the circle
+
200  Vector2Df min_bound = circle->getMinBound();
+
201  Vector2Df max_bound = circle->getMaxBound();
+
202  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
+
203  max_bound.y - min_bound.y);
+
204  Gdiplus::Brush* circle_fill = getBrush(circle, bound);
+
205 
+
206  // Check if the circle has a gradient fill
+
207  if (Gdiplus::PathGradientBrush* brush =
+
208  dynamic_cast< Gdiplus::PathGradientBrush* >(circle_fill)) {
+
209  ColorShape color = circle->getGradient()->getStops().back().getColor();
+
210  Gdiplus::SolidBrush corner_fill(
+
211  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
212  graphics.FillEllipse(
+
213  &corner_fill, circle->getPosition().x - circle->getRadius().x,
+
214  circle->getPosition().y - circle->getRadius().y,
+
215  circle->getRadius().x * 2, circle->getRadius().y * 2);
+
216  }
+
217 
+
218  graphics.FillEllipse(circle_fill,
+
219  circle->getPosition().x - circle->getRadius().x,
+
220  circle->getPosition().y - circle->getRadius().y,
+
221  circle->getRadius().x * 2, circle->getRadius().y * 2);
+
222  graphics.DrawEllipse(&circle_outline,
+
223  circle->getPosition().x - circle->getRadius().x,
+
224  circle->getPosition().y - circle->getRadius().y,
+
225  circle->getRadius().x * 2, circle->getRadius().x * 2);
+
226 
+
227  delete circle_fill;
+
228 }
+
Utility class for manipulating RGBA ColorShapes.
Definition: ColorShape.hpp:11
+
int r
Red component.
Definition: ColorShape.hpp:61
+
int g
Green component.
Definition: ColorShape.hpp:62
+
int a
Alpha (opacity) component.
Definition: ColorShape.hpp:64
+
int b
Blue component.
Definition: ColorShape.hpp:63
Vector2Df getRadius() const
Gets the radius of the ellipse.
Definition: Ellipse.cpp:13
Vector2Df getMaxBound() const override
Gets the maximum bounding box of the shape.
Definition: Ellipse.cpp:20
Vector2Df getMinBound() const override
Gets the minimum bounding box of the shape.
Definition: Ellipse.cpp:15
std::vector< Stop > getStops() const
Gets the stops of the gradient.
Definition: Gradient.cpp:7
-
Gdiplus::Brush * getBrush(SVGElement *shape, Gdiplus::RectF bound) const
Gets the Gdiplus::brush object for the shape fill.
Definition: Renderer.cpp:583
+
Gdiplus::Brush * getBrush(SVGElement *shape, Gdiplus::RectF bound) const
Gets the Gdiplus::brush object for the shape fill.
Definition: Renderer.cpp:683
float getOutlineThickness() const
Gets the outline thickness of the shape.
Definition: SVGElement.cpp:30
Vector2Df getPosition() const
Get the current position of the shape.
Definition: SVGElement.cpp:41
-
const mColor & getOutlineColor() const
Gets the outline color of the shape.
Definition: SVGElement.cpp:24
+
const ColorShape & getOutlineColor() const
Gets the outline color of the shape.
Definition: SVGElement.cpp:24
Gradient * getGradient() const
Gets the gradient of the shape.
Definition: SVGElement.cpp:81
T x
X coordinate of the vector.
Definition: Vector2D.hpp:45
T y
Y coordinate of the vector.
Definition: Vector2D.hpp:46
-
Utility class for manipulating RGBA mColors.
Definition: Color.hpp:11
-
int g
Green component.
Definition: Color.hpp:61
-
int r
Red component.
Definition: Color.hpp:60
-
int a
Alpha (opacity) component.
Definition: Color.hpp:63
-
int b
Blue component.
Definition: Color.hpp:62
@@ -671,38 +687,44 @@

Definition at line 197 of file Renderer.cpp.

-
197  {
-
198  mColor outline_color = ellipse->getOutlineColor();
-
199  Gdiplus::Pen ellipse_outline(
-
200  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
-
201  outline_color.b),
-
202  ellipse->getOutlineThickness());
-
203  Vector2Df min_bound = ellipse->getMinBound();
-
204  Vector2Df max_bound = ellipse->getMaxBound();
-
205  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
-
206  max_bound.y - min_bound.y);
-
207  Gdiplus::Brush* ellipse_fill = getBrush(ellipse, bound);
-
208  if (Gdiplus::PathGradientBrush* brush =
-
209  dynamic_cast< Gdiplus::PathGradientBrush* >(ellipse_fill)) {
-
210  mColor color = ellipse->getGradient()->getStops().back().getColor();
-
211  Gdiplus::SolidBrush corner_fill(
-
212  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
213  graphics.FillEllipse(
-
214  &corner_fill, ellipse->getPosition().x - ellipse->getRadius().x,
-
215  ellipse->getPosition().y - ellipse->getRadius().y,
-
216  ellipse->getRadius().x * 2, ellipse->getRadius().y * 2);
-
217  }
-
218  graphics.FillEllipse(
-
219  ellipse_fill, ellipse->getPosition().x - ellipse->getRadius().x,
-
220  ellipse->getPosition().y - ellipse->getRadius().y,
-
221  ellipse->getRadius().x * 2, ellipse->getRadius().y * 2);
-
222  graphics.DrawEllipse(
-
223  &ellipse_outline, ellipse->getPosition().x - ellipse->getRadius().x,
-
224  ellipse->getPosition().y - ellipse->getRadius().y,
-
225  ellipse->getRadius().x * 2, ellipse->getRadius().y * 2);
-
226  delete ellipse_fill;
-
227 }
+

Definition at line 231 of file Renderer.cpp.

+
231  {
+
232  ColorShape outline_color = ellipse->getOutlineColor();
+
233 
+
234  Gdiplus::Pen ellipse_outline(
+
235  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
+
236  outline_color.b),
+
237  ellipse->getOutlineThickness());
+
238 
+
239  // Create a bounding rectangle for the ellipse
+
240  Vector2Df min_bound = ellipse->getMinBound();
+
241  Vector2Df max_bound = ellipse->getMaxBound();
+
242  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
+
243  max_bound.y - min_bound.y);
+
244  Gdiplus::Brush* ellipse_fill = getBrush(ellipse, bound);
+
245 
+
246  if (Gdiplus::PathGradientBrush* brush =
+
247  dynamic_cast< Gdiplus::PathGradientBrush* >(ellipse_fill)) {
+
248  ColorShape color = ellipse->getGradient()->getStops().back().getColor();
+
249  Gdiplus::SolidBrush corner_fill(
+
250  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
251  graphics.FillEllipse(
+
252  &corner_fill, ellipse->getPosition().x - ellipse->getRadius().x,
+
253  ellipse->getPosition().y - ellipse->getRadius().y,
+
254  ellipse->getRadius().x * 2, ellipse->getRadius().y * 2);
+
255  }
+
256 
+
257  graphics.FillEllipse(
+
258  ellipse_fill, ellipse->getPosition().x - ellipse->getRadius().x,
+
259  ellipse->getPosition().y - ellipse->getRadius().y,
+
260  ellipse->getRadius().x * 2, ellipse->getRadius().y * 2);
+
261  graphics.DrawEllipse(
+
262  &ellipse_outline, ellipse->getPosition().x - ellipse->getRadius().x,
+
263  ellipse->getPosition().y - ellipse->getRadius().y,
+
264  ellipse->getRadius().x * 2, ellipse->getRadius().y * 2);
+
265 
+
266  delete ellipse_fill;
+
267 }
@@ -749,15 +771,17 @@

Definition at line 110 of file Renderer.cpp.

-
110  {
-
111  mColor color = line->getOutlineColor();
-
112  Gdiplus::Pen linePen(Gdiplus::Color(color.a, color.r, color.g, color.b),
-
113  line->getOutlineThickness());
-
114  Gdiplus::PointF startPoint(line->getPosition().x, line->getPosition().y);
-
115  Gdiplus::PointF endPoint(line->getDirection().x, line->getDirection().y);
-
116  graphics.DrawLine(&linePen, startPoint, endPoint);
-
117 }
+

Definition at line 122 of file Renderer.cpp.

+
122  {
+
123  // Extract color and thickness information from the Line object
+
124  ColorShape color = line->getOutlineColor();
+
125  Gdiplus::Pen linePen(Gdiplus::Color(color.a, color.r, color.g, color.b),
+
126  line->getOutlineThickness());
+
127  // Extract start and end points from the Line object
+
128  Gdiplus::PointF startPoint(line->getPosition().x, line->getPosition().y);
+
129  Gdiplus::PointF endPoint(line->getDirection().x, line->getDirection().y);
+
130  graphics.DrawLine(&linePen, startPoint, endPoint);
+
131 }
Vector2Df getDirection() const
Gets the direction of the line.
Definition: Line.cpp:16
@@ -805,224 +829,249 @@

Definition at line 365 of file Renderer.cpp.

-
365  {
-
366  mColor outline_color = path->getOutlineColor();
-
367  Gdiplus::Pen path_outline(Gdiplus::Color(outline_color.a, outline_color.r,
-
368  outline_color.g, outline_color.b),
-
369  path->getOutlineThickness());
-
370 
-
371  Gdiplus::FillMode fill_mode;
-
372  if (path->getFillRule() == "evenodd") {
-
373  fill_mode = Gdiplus::FillModeAlternate;
-
374  } else if (path->getFillRule() == "nonzero") {
-
375  fill_mode = Gdiplus::FillModeWinding;
-
376  }
-
377  Gdiplus::GraphicsPath gdi_path(fill_mode);
-
378 
-
379  const std::vector< PathPoint >& points = path->getPoints();
-
380  int n = points.size();
-
381  Vector2Df first_point{0, 0}, cur_point{0, 0};
-
382 
-
383  for (int i = 0; i < n; ++i) {
-
384  if (points[i].tc == 'm') {
-
385  first_point = points[i].point;
-
386  gdi_path.StartFigure();
-
387  cur_point = first_point;
-
388  } else if (points[i].tc == 'l' || points[i].tc == 'h' ||
-
389  points[i].tc == 'v') {
-
390  gdi_path.AddLine(cur_point.x, cur_point.y, points[i].point.x,
-
391  points[i].point.y);
-
392  cur_point = points[i].point;
-
393  } else if (points[i].tc == 'c') {
-
394  if (i + 2 < n) {
-
395  Vector2Df control_point1 = points[i].point;
-
396  Vector2Df control_point2 = points[i + 1].point;
-
397  Vector2Df control_point3 = points[i + 2].point;
-
398  gdi_path.AddBezier(cur_point.x, cur_point.y, control_point1.x,
-
399  control_point1.y, control_point2.x,
-
400  control_point2.y, control_point3.x,
-
401  control_point3.y);
-
402  i += 2;
-
403  cur_point = control_point3;
-
404  }
-
405  } else if (points[i].tc == 'z') {
-
406  gdi_path.CloseFigure();
-
407  cur_point = first_point;
-
408  } else if (points[i].tc == 's') {
-
409  if (i + 1 < n) {
-
410  Vector2Df auto_control_point;
-
411  if (i > 0 &&
-
412  (points[i - 1].tc == 'c' || points[i - 1].tc == 's')) {
-
413  auto_control_point.x =
-
414  cur_point.x * 2 - points[i - 2].point.x;
-
415  auto_control_point.y =
-
416  cur_point.y * 2 - points[i - 2].point.y;
-
417  } else {
-
418  auto_control_point = cur_point;
-
419  }
-
420  Vector2Df control_point2 = points[i].point;
-
421  Vector2Df control_point3 = points[i + 1].point;
-
422  gdi_path.AddBezier(cur_point.x, cur_point.y,
-
423  auto_control_point.x, auto_control_point.y,
-
424  control_point2.x, control_point2.y,
-
425  control_point3.x, control_point3.y);
-
426  i += 1;
-
427  cur_point = control_point3;
-
428  }
-
429  } else if (points[i].tc == 'q') {
-
430  if (i + 1 < n) {
-
431  Vector2Df control_point = points[i].point;
-
432  Vector2Df end_point = points[i + 1].point;
-
433 
-
434  Gdiplus::PointF q_points[3];
-
435  q_points[0] = Gdiplus::PointF{cur_point.x, cur_point.y};
-
436  q_points[1] = Gdiplus::PointF{control_point.x, control_point.y};
-
437  q_points[2] = Gdiplus::PointF{end_point.x, end_point.y};
-
438  gdi_path.AddCurve(q_points, 3);
-
439  cur_point = points[i + 1].point;
-
440  i += 1;
-
441  }
-
442  } else if (points[i].tc == 't') {
-
443  Vector2Df auto_control_point;
-
444  if (i > 0 && (points[i - 1].tc == 'q' || points[i - 1].tc == 't')) {
-
445  auto_control_point.x = cur_point.x * 2 - points[i - 2].point.x;
-
446  auto_control_point.y = cur_point.y * 2 - points[i - 2].point.y;
-
447  } else {
-
448  auto_control_point = cur_point;
-
449  }
-
450  Vector2Df end_point = points[i].point;
-
451  Gdiplus::PointF t_points[3];
-
452  t_points[0] = Gdiplus::PointF{cur_point.x, cur_point.y};
-
453  t_points[1] =
-
454  Gdiplus::PointF{auto_control_point.x, auto_control_point.y};
-
455  t_points[2] = Gdiplus::PointF{end_point.x, end_point.y};
-
456  gdi_path.AddCurve(t_points, 3);
-
457  cur_point = points[i].point;
-
458  } else if (points[i].tc == 'a') {
-
459  float rx = points[i].radius.x;
-
460  float ry = points[i].radius.y;
-
461  if (rx == 0 || ry == 0) {
-
462  gdi_path.AddLine(cur_point.x, cur_point.y, points[i].point.x,
-
463  points[i].point.y);
-
464  cur_point = points[i].point;
-
465  continue;
-
466  }
-
467  if (rx < 0) {
-
468  rx = std::fabs(rx);
-
469  }
-
470  if (ry < 0) {
-
471  ry = std::fabs(ry);
-
472  }
-
473 
-
474  float x_axis_rotation = points[i].x_axis_rotation;
-
475  bool large_arc_flag = points[i].large_arc_flag;
-
476  bool sweep_flag = points[i].sweep_flag;
-
477  Vector2Df end_point{points[i].point.x, points[i].point.y};
-
478 
-
479  float angle = x_axis_rotation * acos(-1) / 180.0;
-
480  float cosAngle = cos(angle);
-
481  float sinAngle = sin(angle);
-
482 
-
483  Vector2Df point1;
-
484  float X = (cur_point.x - end_point.x) / 2.0;
-
485  float Y = (cur_point.y - end_point.y) / 2.0;
-
486  point1.x = (cosAngle * cosAngle + sinAngle * sinAngle) * X;
-
487  point1.y = (cosAngle * cosAngle + sinAngle * sinAngle) * Y;
-
488 
-
489  float radii_check = (point1.x * point1.x) / (rx * rx) +
-
490  (point1.y * point1.y) / (ry * ry);
-
491  if (radii_check > 1.0) {
-
492  rx = std::sqrt(radii_check) * rx;
-
493  ry = std::sqrt(radii_check) * ry;
-
494  }
-
495 
-
496  float sign = (large_arc_flag == sweep_flag ? -1.0 : 1.0);
-
497  Vector2Df point2;
-
498  float numo = (rx * rx) * (ry * ry) -
-
499  (rx * rx) * (point1.y * point1.y) -
-
500  (ry * ry) * (point1.x * point1.x);
-
501  float deno = (rx * rx) * (point1.y * point1.y) +
-
502  (ry * ry) * (point1.x * point1.x);
-
503 
-
504  if (numo < 0) {
-
505  numo = std::fabs(numo);
-
506  }
-
507 
-
508  point2.x = sign * std::sqrt(numo / deno) * ((rx * point1.y) / ry);
-
509  point2.y = sign * std::sqrt(numo / deno) * ((-ry * point1.x) / rx);
-
510 
-
511  Vector2Df center;
-
512  X = (cur_point.x + end_point.x) / 2.0;
-
513  Y = (cur_point.y + end_point.y) / 2.0;
-
514  center.x =
-
515  (cosAngle * cosAngle + sinAngle * sinAngle) * point2.x + X;
-
516  center.y =
-
517  (cosAngle * cosAngle + sinAngle * sinAngle) * point2.y + Y;
-
518 
-
519  float start_angle =
-
520  atan2((point1.y - point2.y) / ry, (point1.x - point2.x) / rx);
-
521  float end_angle =
-
522  atan2((-point1.y - point2.y) / ry, (-point1.x - point2.x) / rx);
-
523 
-
524  float delta_angle = end_angle - start_angle;
-
525 
-
526  if (sweep_flag && delta_angle < 0) {
-
527  delta_angle += 2.0 * acos(-1);
-
528  } else if (!sweep_flag && delta_angle > 0) {
-
529  delta_angle -= 2.0 * acos(-1);
-
530  }
-
531 
-
532  float start_angle_degree =
-
533  std::fmod((start_angle * 180.0) / acos(-1), 360);
-
534  float delta_angle_degree =
-
535  std::fmod((delta_angle * 180.0) / acos(-1), 360);
-
536 
-
537  gdi_path.AddArc(center.x - rx, center.y - ry, 2.0 * rx, 2.0 * ry,
-
538  start_angle_degree, delta_angle_degree);
-
539 
-
540  cur_point = end_point;
-
541  }
-
542  }
-
543 
-
544  Gdiplus::RectF bound;
-
545  gdi_path.GetBounds(&bound);
-
546  Gdiplus::Brush* path_fill = getBrush(path, bound);
-
547  Gdiplus::Region region(&gdi_path);
-
548  if (Gdiplus::PathGradientBrush* brush =
-
549  dynamic_cast< Gdiplus::PathGradientBrush* >(path_fill)) {
-
550  mColor color = path->getGradient()->getStops().back().getColor();
-
551  Gdiplus::SolidBrush corner_fill(
-
552  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
553  if (path->getGradient()->getUnits() == "userSpaceOnUse") {
-
554  float cx = path->getGradient()->getPoints().first.x;
-
555  float cy = path->getGradient()->getPoints().first.y;
-
556  float r = dynamic_cast< RadialGradient* >(path->getGradient())
-
557  ->getRadius()
-
558  .x;
-
559  Gdiplus::GraphicsPath fill_path(fill_mode);
-
560  fill_path.AddEllipse(cx - r, cy - r, 2 * r, 2 * r);
-
561  for (auto type : path->getGradient()->getTransforms()) {
-
562  if (type.find("matrix") != std::string::npos) {
-
563  float a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
-
564  if (type.find(",") != std::string::npos) {
-
565  type.erase(std::remove(type.begin(), type.end(), ','),
-
566  type.end());
-
567  }
-
568  sscanf(type.c_str(), "matrix(%f %f %f %f %f %f)", &a, &b,
-
569  &c, &d, &e, &f);
-
570  Gdiplus::Matrix matrix(a, b, c, d, e, f);
-
571  fill_path.Transform(&matrix);
-
572  }
-
573  }
-
574  region.Exclude(&fill_path);
-
575  }
-
576  graphics.FillRegion(&corner_fill, &region);
-
577  }
-
578  graphics.FillPath(path_fill, &gdi_path);
-
579  graphics.DrawPath(&path_outline, &gdi_path);
-
580  delete path_fill;
-
581 }
+

Definition at line 438 of file Renderer.cpp.

+
438  {
+
439  ColorShape outline_color = path->getOutlineColor();
+
440  Gdiplus::Pen path_outline(Gdiplus::Color(outline_color.a, outline_color.r,
+
441  outline_color.g, outline_color.b),
+
442  path->getOutlineThickness());
+
443 
+
444  // Fill the path by rules
+
445  Gdiplus::FillMode fill_mode;
+
446  if (path->getFillRule() == "evenodd") {
+
447  fill_mode = Gdiplus::FillModeAlternate;
+
448  } else if (path->getFillRule() == "nonzero") {
+
449  fill_mode = Gdiplus::FillModeWinding;
+
450  }
+
451  Gdiplus::GraphicsPath gdi_path(fill_mode);
+
452 
+
453  const std::vector< PathPoint >& points = path->getPoints();
+
454  int n = points.size();
+
455  Vector2Df first_point{0, 0}, cur_point{0, 0};
+
456 
+
457  // Construct the path
+
458  for (int i = 0; i < n; ++i) {
+
459  if (points[i].tc == 'm') {
+
460  // If the command is m, then start a new figure
+
461  first_point = points[i].point;
+
462  gdi_path.StartFigure();
+
463  cur_point = first_point;
+
464  } else if (points[i].tc == 'l' || points[i].tc == 'h' ||
+
465  points[i].tc == 'v') {
+
466  // If the command is l, h, or v, then add a line to the path
+
467  gdi_path.AddLine(cur_point.x, cur_point.y, points[i].point.x,
+
468  points[i].point.y);
+
469  cur_point = points[i].point;
+
470  } else if (points[i].tc == 'c') {
+
471  // If the command is c, then add a bezier curve to the path
+
472  if (i + 2 < n) {
+
473  Vector2Df control_point1 = points[i].point;
+
474  Vector2Df control_point2 = points[i + 1].point;
+
475  Vector2Df control_point3 = points[i + 2].point;
+
476  gdi_path.AddBezier(cur_point.x, cur_point.y, control_point1.x,
+
477  control_point1.y, control_point2.x,
+
478  control_point2.y, control_point3.x,
+
479  control_point3.y);
+
480  i += 2;
+
481  cur_point = control_point3;
+
482  }
+
483  } else if (points[i].tc == 'z') {
+
484  // If the command is z, then close the figure
+
485  gdi_path.CloseFigure();
+
486  cur_point = first_point;
+
487  } else if (points[i].tc == 's') {
+
488  // If the command is s, then add a bezier curve to the path
+
489  if (i + 1 < n) {
+
490  // Calculate the first control point
+
491  Vector2Df auto_control_point;
+
492  if (i > 0 &&
+
493  (points[i - 1].tc == 'c' || points[i - 1].tc == 's')) {
+
494  auto_control_point.x =
+
495  cur_point.x * 2 - points[i - 2].point.x;
+
496  auto_control_point.y =
+
497  cur_point.y * 2 - points[i - 2].point.y;
+
498  } else {
+
499  auto_control_point = cur_point;
+
500  }
+
501  // Calculate the rest control points
+
502  Vector2Df control_point2 = points[i].point;
+
503  Vector2Df control_point3 = points[i + 1].point;
+
504  gdi_path.AddBezier(cur_point.x, cur_point.y,
+
505  auto_control_point.x, auto_control_point.y,
+
506  control_point2.x, control_point2.y,
+
507  control_point3.x, control_point3.y);
+
508  i += 1;
+
509  cur_point = control_point3;
+
510  }
+
511  } else if (points[i].tc == 'q') {
+
512  // If the command is q, then add a quadratic bezier curve to the
+
513  if (i + 1 < n) {
+
514  // Calculate the control point and its end point
+
515  Vector2Df control_point = points[i].point;
+
516  Vector2Df end_point = points[i + 1].point;
+
517 
+
518  // Add the curve to the path
+
519  Gdiplus::PointF q_points[3];
+
520  q_points[0] = Gdiplus::PointF{cur_point.x, cur_point.y};
+
521  q_points[1] = Gdiplus::PointF{control_point.x, control_point.y};
+
522  q_points[2] = Gdiplus::PointF{end_point.x, end_point.y};
+
523  gdi_path.AddCurve(q_points, 3);
+
524  cur_point = points[i + 1].point;
+
525  i += 1;
+
526  }
+
527  } else if (points[i].tc == 't') {
+
528  // Calculate reflection control point
+
529  Vector2Df auto_control_point;
+
530  if (i > 0 && (points[i - 1].tc == 'q' || points[i - 1].tc == 't')) {
+
531  // If the previous point is a quadratic bezier or a smooth
+
532  // quadratic bezier,
+
533  // calculate the reflection control point using the reflection
+
534  // formula
+
535  auto_control_point.x = cur_point.x * 2 - points[i - 2].point.x;
+
536  auto_control_point.y = cur_point.y * 2 - points[i - 2].point.y;
+
537  } else {
+
538  // Otherwise, use the current point as the control point
+
539  auto_control_point = cur_point;
+
540  }
+
541  Vector2Df end_point = points[i].point;
+
542  Gdiplus::PointF t_points[3];
+
543  t_points[0] = Gdiplus::PointF{cur_point.x, cur_point.y};
+
544  t_points[1] =
+
545  Gdiplus::PointF{auto_control_point.x, auto_control_point.y};
+
546  t_points[2] = Gdiplus::PointF{end_point.x, end_point.y};
+
547  // Add the cubic bezier curve to the path
+
548  gdi_path.AddCurve(t_points, 3);
+
549  cur_point = points[i].point;
+
550  } else if (points[i].tc == 'a') {
+
551  float rx = points[i].radius.x;
+
552  float ry = points[i].radius.y;
+
553  // If either radius is zero, treat it as a line segment
+
554  if (rx == 0 || ry == 0) {
+
555  gdi_path.AddLine(cur_point.x, cur_point.y, points[i].point.x,
+
556  points[i].point.y);
+
557  cur_point = points[i].point;
+
558  continue;
+
559  }
+
560  if (rx < 0) {
+
561  rx = std::fabs(rx);
+
562  }
+
563  if (ry < 0) {
+
564  ry = std::fabs(ry);
+
565  }
+
566 
+
567  float x_axis_rotation = points[i].x_axis_rotation;
+
568  bool large_arc_flag = points[i].large_arc_flag;
+
569  bool sweep_flag = points[i].sweep_flag;
+
570  Vector2Df end_point{points[i].point.x, points[i].point.y};
+
571  // Calculate angles and points for the elliptical arc
+
572  float angle = x_axis_rotation * acos(-1) / 180.0;
+
573  float cosAngle = cos(angle);
+
574  float sinAngle = sin(angle);
+
575 
+
576  Vector2Df point1;
+
577  float X = (cur_point.x - end_point.x) / 2.0;
+
578  float Y = (cur_point.y - end_point.y) / 2.0;
+
579  point1.x = (cosAngle * cosAngle + sinAngle * sinAngle) * X;
+
580  point1.y = (cosAngle * cosAngle + sinAngle * sinAngle) * Y;
+
581  // Correction of out-of-range radii
+
582  float radii_check = (point1.x * point1.x) / (rx * rx) +
+
583  (point1.y * point1.y) / (ry * ry);
+
584  if (radii_check > 1.0) {
+
585  rx = std::sqrt(radii_check) * rx;
+
586  ry = std::sqrt(radii_check) * ry;
+
587  }
+
588 
+
589  float sign = (large_arc_flag == sweep_flag ? -1.0 : 1.0);
+
590  Vector2Df point2;
+
591  float numo = (rx * rx) * (ry * ry) -
+
592  (rx * rx) * (point1.y * point1.y) -
+
593  (ry * ry) * (point1.x * point1.x);
+
594  float deno = (rx * rx) * (point1.y * point1.y) +
+
595  (ry * ry) * (point1.x * point1.x);
+
596 
+
597  if (numo < 0) {
+
598  numo = std::fabs(numo);
+
599  }
+
600 
+
601  point2.x = sign * std::sqrt(numo / deno) * ((rx * point1.y) / ry);
+
602  point2.y = sign * std::sqrt(numo / deno) * ((-ry * point1.x) / rx);
+
603 
+
604  Vector2Df center;
+
605  X = (cur_point.x + end_point.x) / 2.0;
+
606  Y = (cur_point.y + end_point.y) / 2.0;
+
607  center.x =
+
608  (cosAngle * cosAngle + sinAngle * sinAngle) * point2.x + X;
+
609  center.y =
+
610  (cosAngle * cosAngle + sinAngle * sinAngle) * point2.y + Y;
+
611 
+
612  float start_angle =
+
613  atan2((point1.y - point2.y) / ry, (point1.x - point2.x) / rx);
+
614  float end_angle =
+
615  atan2((-point1.y - point2.y) / ry, (-point1.x - point2.x) / rx);
+
616 
+
617  float delta_angle = end_angle - start_angle;
+
618 
+
619  if (sweep_flag && delta_angle < 0) {
+
620  delta_angle += 2.0 * acos(-1);
+
621  } else if (!sweep_flag && delta_angle > 0) {
+
622  delta_angle -= 2.0 * acos(-1);
+
623  }
+
624 
+
625  float start_angle_degree =
+
626  std::fmod((start_angle * 180.0) / acos(-1), 360);
+
627  float delta_angle_degree =
+
628  std::fmod((delta_angle * 180.0) / acos(-1), 360);
+
629  // Add the elliptical arc to the path
+
630  gdi_path.AddArc(center.x - rx, center.y - ry, 2.0 * rx, 2.0 * ry,
+
631  start_angle_degree, delta_angle_degree);
+
632 
+
633  cur_point = end_point;
+
634  }
+
635  }
+
636 
+
637  Gdiplus::RectF bound;
+
638  gdi_path.GetBounds(&bound);
+
639  Gdiplus::Brush* path_fill = getBrush(path, bound);
+
640  Gdiplus::Region region(&gdi_path);
+
641 
+
642  if (Gdiplus::PathGradientBrush* brush =
+
643  dynamic_cast< Gdiplus::PathGradientBrush* >(path_fill)) {
+
644  ColorShape color = path->getGradient()->getStops().back().getColor();
+
645  Gdiplus::SolidBrush corner_fill(
+
646  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
647 
+
648  if (path->getGradient()->getUnits() == "userSpaceOnUse") {
+
649  float cx = path->getGradient()->getPoints().first.x;
+
650  float cy = path->getGradient()->getPoints().first.y;
+
651  float r = dynamic_cast< RadialGradient* >(path->getGradient())
+
652  ->getRadius()
+
653  .x;
+
654  Gdiplus::GraphicsPath fill_path(fill_mode);
+
655  fill_path.AddEllipse(cx - r, cy - r, 2 * r, 2 * r);
+
656 
+
657  for (auto type : path->getGradient()->getTransforms()) {
+
658  if (type.find("matrix") != std::string::npos) {
+
659  float a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
+
660  if (type.find(",") != std::string::npos) {
+
661  type.erase(std::remove(type.begin(), type.end(), ','),
+
662  type.end());
+
663  }
+
664  sscanf(type.c_str(), "matrix(%f %f %f %f %f %f)", &a, &b,
+
665  &c, &d, &e, &f);
+
666  Gdiplus::Matrix matrix(a, b, c, d, e, f);
+
667  fill_path.Transform(&matrix);
+
668  }
+
669  }
+
670  region.Exclude(&fill_path);
+
671  }
+
672  graphics.FillRegion(&corner_fill, &region);
+
673  }
+
674 
+
675  graphics.FillPath(path_fill, &gdi_path);
+
676  graphics.DrawPath(&path_outline, &gdi_path);
+
677 
+
678  delete path_fill;
+
679 }
std::string getUnits() const
Gets the units of the gradient.
Definition: Gradient.cpp:13
std::pair< Vector2Df, Vector2Df > getPoints() const
Gets the start and end points of the gradient.
Definition: Gradient.cpp:9
std::vector< std::string > getTransforms() const
Gets the transforms of the gradient.
Definition: Gradient.cpp:19
@@ -1075,44 +1124,53 @@

Definition at line 229 of file Renderer.cpp.

-
229  {
-
230  mColor outline_color = polygon->getOutlineColor();
-
231  Gdiplus::Pen polygon_outline(
-
232  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
-
233  outline_color.b),
-
234  polygon->getOutlineThickness());
-
235 
-
236  Gdiplus::PointF* points = new Gdiplus::PointF[polygon->getPoints().size()];
-
237  int idx = 0;
-
238  const std::vector< Vector2Df >& vertices = polygon->getPoints();
-
239  for (const Vector2Df vertex : vertices) {
-
240  points[idx++] = Gdiplus::PointF(vertex.x, vertex.y);
-
241  }
-
242 
-
243  Gdiplus::FillMode fill_mode;
-
244  if (polygon->getFillRule() == "evenodd") {
-
245  fill_mode = Gdiplus::FillModeAlternate;
-
246  } else if (polygon->getFillRule() == "nonzero") {
-
247  fill_mode = Gdiplus::FillModeWinding;
-
248  }
-
249  Vector2Df min_bound = polygon->getMinBound();
-
250  Vector2Df max_bound = polygon->getMaxBound();
-
251  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
-
252  max_bound.y - min_bound.y);
-
253  Gdiplus::Brush* polygon_fill = getBrush(polygon, bound);
-
254  if (Gdiplus::PathGradientBrush* brush =
-
255  dynamic_cast< Gdiplus::PathGradientBrush* >(polygon_fill)) {
-
256  mColor color = polygon->getGradient()->getStops().back().getColor();
-
257  Gdiplus::SolidBrush corner_fill(
-
258  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
259  graphics.FillPolygon(&corner_fill, points, idx, fill_mode);
-
260  }
-
261  graphics.FillPolygon(polygon_fill, points, idx, fill_mode);
-
262  graphics.DrawPolygon(&polygon_outline, points, idx);
-
263  delete[] points;
-
264  delete polygon_fill;
-
265 }
+

Definition at line 270 of file Renderer.cpp.

+
270  {
+
271  ColorShape outline_color = polygon->getOutlineColor();
+
272  Gdiplus::Pen polygon_outline(
+
273  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
+
274  outline_color.b),
+
275  polygon->getOutlineThickness());
+
276 
+
277  // Extract vertices and create an array of Gdiplus::PointF
+
278  Gdiplus::PointF* points = new Gdiplus::PointF[polygon->getPoints().size()];
+
279  int idx = 0;
+
280  const std::vector< Vector2Df >& vertices = polygon->getPoints();
+
281  for (const Vector2Df vertex : vertices) {
+
282  points[idx++] = Gdiplus::PointF(vertex.x, vertex.y);
+
283  }
+
284 
+
285  // Determine the fill mode based on the polygon's fill rule
+
286  Gdiplus::FillMode fill_mode;
+
287  if (polygon->getFillRule() == "evenodd") {
+
288  fill_mode = Gdiplus::FillModeAlternate;
+
289  } else if (polygon->getFillRule() == "nonzero") {
+
290  fill_mode = Gdiplus::FillModeWinding;
+
291  }
+
292 
+
293  // Create a bounding rectangle for the polygon
+
294  Vector2Df min_bound = polygon->getMinBound();
+
295  Vector2Df max_bound = polygon->getMaxBound();
+
296  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
+
297  max_bound.y - min_bound.y);
+
298  // Get the fill brush for the polygon
+
299  Gdiplus::Brush* polygon_fill = getBrush(polygon, bound);
+
300 
+
301  // If the fill brush is a gradient, fill the polygon with a corner color
+
302  if (Gdiplus::PathGradientBrush* brush =
+
303  dynamic_cast< Gdiplus::PathGradientBrush* >(polygon_fill)) {
+
304  ColorShape color = polygon->getGradient()->getStops().back().getColor();
+
305  Gdiplus::SolidBrush corner_fill(
+
306  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
307  graphics.FillPolygon(&corner_fill, points, idx, fill_mode);
+
308  }
+
309 
+
310  graphics.FillPolygon(polygon_fill, points, idx, fill_mode);
+
311  graphics.DrawPolygon(&polygon_outline, points, idx);
+
312 
+
313  delete[] points;
+
314  delete polygon_fill;
+
315 }
Vector2Df getMinBound() const override
Gets the minimum bounding box of the shape.
Definition: PolyShape.cpp:17
const std::vector< Vector2Df > & getPoints() const
Gets the total number of vertices representing the shape.
Definition: PolyShape.cpp:9
Vector2Df getMaxBound() const override
Gets the maximum bounding box of the shape.
Definition: PolyShape.cpp:27
@@ -1163,48 +1221,57 @@

Definition at line 322 of file Renderer.cpp.

-
323  {
-
324  mColor outline_color = polyline->getOutlineColor();
-
325  Gdiplus::Pen polyline_outline(
-
326  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
-
327  outline_color.b),
-
328  polyline->getOutlineThickness());
-
329 
-
330  Gdiplus::FillMode fill_mode;
-
331  if (polyline->getFillRule() == "evenodd") {
-
332  fill_mode = Gdiplus::FillModeAlternate;
-
333  } else if (polyline->getFillRule() == "nonzero") {
-
334  fill_mode = Gdiplus::FillModeWinding;
-
335  }
-
336  Gdiplus::GraphicsPath path(fill_mode);
-
337  const std::vector< Vector2Df >& points = polyline->getPoints();
-
338  if (points.size() < 2) {
-
339  return;
-
340  }
-
341 
-
342  path.StartFigure();
-
343  path.AddLine(points[0].x, points[0].y, points[1].x, points[1].y);
-
344  for (size_t i = 2; i < points.size(); ++i) {
-
345  path.AddLine(points[i - 1].x, points[i - 1].y, points[i].x,
-
346  points[i].y);
-
347  }
-
348  Vector2Df min_bound = polyline->getMinBound();
-
349  Vector2Df max_bound = polyline->getMaxBound();
-
350  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
-
351  max_bound.y - min_bound.y);
-
352  Gdiplus::Brush* polyline_fill = getBrush(polyline, bound);
-
353  if (Gdiplus::PathGradientBrush* brush =
-
354  dynamic_cast< Gdiplus::PathGradientBrush* >(polyline_fill)) {
-
355  mColor color = polyline->getGradient()->getStops().back().getColor();
-
356  Gdiplus::SolidBrush corner_fill(
-
357  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
358  graphics.FillPath(&corner_fill, &path);
-
359  }
-
360  graphics.FillPath(polyline_fill, &path);
-
361  graphics.DrawPath(&polyline_outline, &path);
-
362  delete polyline_fill;
-
363 }
+

Definition at line 385 of file Renderer.cpp.

+
386  {
+
387  ColorShape outline_color = polyline->getOutlineColor();
+
388  Gdiplus::Pen polyline_outline(
+
389  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
+
390  outline_color.b),
+
391  polyline->getOutlineThickness());
+
392 
+
393  // Determine the fill mode based on the polyline's fill rule
+
394  Gdiplus::FillMode fill_mode;
+
395  if (polyline->getFillRule() == "evenodd") {
+
396  fill_mode = Gdiplus::FillModeAlternate;
+
397  } else if (polyline->getFillRule() == "nonzero") {
+
398  fill_mode = Gdiplus::FillModeWinding;
+
399  }
+
400 
+
401  Gdiplus::GraphicsPath path(fill_mode);
+
402  const std::vector< Vector2Df >& points = polyline->getPoints();
+
403  if (points.size() < 2) {
+
404  return;
+
405  }
+
406 
+
407  path.StartFigure();
+
408  path.AddLine(points[0].x, points[0].y, points[1].x, points[1].y);
+
409  for (size_t i = 2; i < points.size(); ++i) {
+
410  path.AddLine(points[i - 1].x, points[i - 1].y, points[i].x,
+
411  points[i].y);
+
412  }
+
413 
+
414  // Create a bounding rectangle for the polyline
+
415  Vector2Df min_bound = polyline->getMinBound();
+
416  Vector2Df max_bound = polyline->getMaxBound();
+
417  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
+
418  max_bound.y - min_bound.y);
+
419  Gdiplus::Brush* polyline_fill = getBrush(polyline, bound);
+
420 
+
421  // If the fill brush is a gradient, fill the polyline with a corner color
+
422  if (Gdiplus::PathGradientBrush* brush =
+
423  dynamic_cast< Gdiplus::PathGradientBrush* >(polyline_fill)) {
+
424  ColorShape color =
+
425  polyline->getGradient()->getStops().back().getColor();
+
426  Gdiplus::SolidBrush corner_fill(
+
427  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
428  graphics.FillPath(&corner_fill, &path);
+
429  }
+
430 
+
431  graphics.FillPath(polyline_fill, &path);
+
432  graphics.DrawPath(&polyline_outline, &path);
+
433 
+
434  delete polyline_fill;
+
435 }

@@ -1251,51 +1318,62 @@

Definition at line 119 of file Renderer.cpp.

-
120  {
-
121  float x = rectangle->getPosition().x;
-
122  float y = rectangle->getPosition().y;
-
123  float width = rectangle->getWidth();
-
124  float height = rectangle->getHeight();
-
125  mColor outline_color = rectangle->getOutlineColor();
-
126  Gdiplus::Pen rect_outline(Gdiplus::Color(outline_color.a, outline_color.r,
-
127  outline_color.g, outline_color.b),
-
128  rectangle->getOutlineThickness());
-
129  Gdiplus::RectF bound(x, y, width, height);
-
130  Gdiplus::Brush* rect_fill = getBrush(rectangle, bound);
-
131  if (rectangle->getRadius().x != 0 || rectangle->getRadius().y != 0) {
-
132  float dx = rectangle->getRadius().x * 2;
-
133  float dy = rectangle->getRadius().y * 2;
-
134  Gdiplus::GraphicsPath path;
-
135  path.AddArc(x, y, dx, dy, 180, 90);
-
136  path.AddArc(x + width - dx, y, dx, dy, 270, 90);
-
137  path.AddArc(x + width - dx, y + height - dy, dx, dy, 0, 90);
-
138  path.AddArc(x, y + height - dy, dx, dy, 90, 90);
-
139  path.CloseFigure();
-
140  if (Gdiplus::PathGradientBrush* brush =
-
141  dynamic_cast< Gdiplus::PathGradientBrush* >(rect_fill)) {
-
142  mColor color =
-
143  rectangle->getGradient()->getStops().back().getColor();
-
144  Gdiplus::SolidBrush corner_fill(
-
145  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
146  graphics.FillPath(&corner_fill, &path);
-
147  }
-
148  graphics.FillPath(rect_fill, &path);
-
149  graphics.DrawPath(&rect_outline, &path);
-
150  } else {
-
151  if (Gdiplus::PathGradientBrush* brush =
-
152  dynamic_cast< Gdiplus::PathGradientBrush* >(rect_fill)) {
-
153  mColor color =
-
154  rectangle->getGradient()->getStops().back().getColor();
-
155  Gdiplus::SolidBrush corner_fill(
-
156  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
157  graphics.FillRectangle(&corner_fill, x, y, width, height);
-
158  }
-
159  graphics.FillRectangle(rect_fill, x, y, width, height);
-
160  graphics.DrawRectangle(&rect_outline, x, y, width, height);
-
161  }
-
162  delete rect_fill;
-
163 }
+

Definition at line 134 of file Renderer.cpp.

+
135  {
+
136  float x = rectangle->getPosition().x;
+
137  float y = rectangle->getPosition().y;
+
138  float width = rectangle->getWidth();
+
139  float height = rectangle->getHeight();
+
140  ColorShape outline_color = rectangle->getOutlineColor();
+
141 
+
142  // Create a pen for the rectangle outline
+
143  Gdiplus::Pen rect_outline(Gdiplus::Color(outline_color.a, outline_color.r,
+
144  outline_color.g, outline_color.b),
+
145  rectangle->getOutlineThickness());
+
146  Gdiplus::RectF bound(x, y, width, height);
+
147  Gdiplus::Brush* rect_fill = getBrush(rectangle, bound);
+
148 
+
149  // Check if the rectangle has rounded corners
+
150  if (rectangle->getRadius().x != 0 || rectangle->getRadius().y != 0) {
+
151  float dx = rectangle->getRadius().x * 2;
+
152  float dy = rectangle->getRadius().y * 2;
+
153 
+
154  // Create a GraphicsPath for drawing rounded rectangles
+
155  Gdiplus::GraphicsPath path;
+
156  path.AddArc(x, y, dx, dy, 180, 90);
+
157  path.AddArc(x + width - dx, y, dx, dy, 270, 90);
+
158  path.AddArc(x + width - dx, y + height - dy, dx, dy, 0, 90);
+
159  path.AddArc(x, y + height - dy, dx, dy, 90, 90);
+
160  path.CloseFigure();
+
161  // Fill and draw the rounded rectangle
+
162  if (Gdiplus::PathGradientBrush* brush =
+
163  dynamic_cast< Gdiplus::PathGradientBrush* >(rect_fill)) {
+
164  ColorShape color =
+
165  rectangle->getGradient()->getStops().back().getColor();
+
166  Gdiplus::SolidBrush corner_fill(
+
167  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
168  graphics.FillPath(&corner_fill, &path);
+
169  }
+
170 
+
171  graphics.FillPath(rect_fill, &path);
+
172  graphics.DrawPath(&rect_outline, &path);
+
173  } else {
+
174  // Fill and draw the regular rectangle
+
175  if (Gdiplus::PathGradientBrush* brush =
+
176  dynamic_cast< Gdiplus::PathGradientBrush* >(rect_fill)) {
+
177  ColorShape color =
+
178  rectangle->getGradient()->getStops().back().getColor();
+
179  Gdiplus::SolidBrush corner_fill(
+
180  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
181  graphics.FillRectangle(&corner_fill, x, y, width, height);
+
182  }
+
183 
+
184  graphics.FillRectangle(rect_fill, x, y, width, height);
+
185  graphics.DrawRectangle(&rect_outline, x, y, width, height);
+
186  }
+
187 
+
188  delete rect_fill;
+
189 }
Vector2Df getRadius() const
Gets the radii of the rectangle.
Definition: Rect.cpp:20
float getHeight() const
Gets the height of the rectangle.
Definition: Rect.cpp:16
float getWidth() const
Gets the width of the rectangle.
Definition: Rect.cpp:12
@@ -1345,62 +1423,73 @@

Definition at line 267 of file Renderer.cpp.

-
267  {
-
268  mColor outline_color = text->getOutlineColor();
-
269  graphics.SetTextRenderingHint(Gdiplus::TextRenderingHintAntiAliasGridFit);
-
270 
-
271  Gdiplus::Pen text_outline(Gdiplus::Color(outline_color.a, outline_color.r,
-
272  outline_color.g, outline_color.b),
-
273  text->getOutlineThickness());
-
274 
-
275  Gdiplus::FontFamily font_family(L"Times New Roman");
-
276 
-
277  Gdiplus::PointF position(text->getPosition().x, text->getPosition().y);
-
278  Gdiplus::GraphicsPath path;
-
279 
-
280  std::wstring_convert< std::codecvt_utf8_utf16< wchar_t > > converter;
-
281  std::wstring wide_content = converter.from_bytes(text->getContent());
-
282  Gdiplus::StringFormat string_format;
-
283  if (text->getAnchor() == "middle") {
-
284  string_format.SetAlignment(Gdiplus::StringAlignmentCenter);
-
285  position.X += 7;
-
286  } else if (text->getAnchor() == "end") {
-
287  string_format.SetAlignment(Gdiplus::StringAlignmentFar);
-
288  position.X += 14;
-
289  } else {
-
290  string_format.SetAlignment(Gdiplus::StringAlignmentNear);
-
291  }
-
292  Gdiplus::FontStyle font_style = Gdiplus::FontStyleRegular;
-
293  if (text->getFontStyle() == "italic" || text->getFontStyle() == "oblique") {
-
294  font_style = Gdiplus::FontStyleItalic;
-
295  position.Y -= 1;
-
296  }
-
297 
-
298  path.AddString(wide_content.c_str(), wide_content.size(), &font_family,
-
299  font_style, text->getFontSize(), position, &string_format);
-
300  Gdiplus::RectF bound;
-
301  path.GetBounds(&bound);
-
302  Gdiplus::Brush* text_fill = getBrush(text, bound);
-
303  if (Gdiplus::PathGradientBrush* brush =
-
304  dynamic_cast< Gdiplus::PathGradientBrush* >(text_fill)) {
-
305  mColor color = text->getGradient()->getStops().back().getColor();
-
306  Gdiplus::SolidBrush corner_fill(
-
307  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
308  graphics.FillPath(&corner_fill, &path);
-
309  }
-
310  graphics.FillPath(text_fill, &path);
-
311  if (text->getOutlineColor().a != 0 &&
-
312  text->getOutlineColor().a == text->getFillColor().a) {
-
313  text_outline.SetColor(Gdiplus::Color(255, 255, 255, 255));
-
314  graphics.DrawPath(&text_outline, &path);
-
315  text_outline.SetColor(Gdiplus::Color(outline_color.a, outline_color.r,
-
316  outline_color.g, outline_color.b));
-
317  }
-
318  graphics.DrawPath(&text_outline, &path);
-
319  delete text_fill;
-
320 }
-
const mColor & getFillColor() const
Gets the fill color of the shape.
Definition: SVGElement.cpp:20
+

Definition at line 318 of file Renderer.cpp.

+
318  {
+
319  ColorShape outline_color = text->getOutlineColor();
+
320  graphics.SetTextRenderingHint(Gdiplus::TextRenderingHintAntiAliasGridFit);
+
321 
+
322  Gdiplus::Pen text_outline(Gdiplus::Color(outline_color.a, outline_color.r,
+
323  outline_color.g, outline_color.b),
+
324  text->getOutlineThickness());
+
325 
+
326  // Set the font family for the text
+
327  Gdiplus::FontFamily font_family(L"Times New Roman");
+
328 
+
329  // Set the position for the text
+
330  Gdiplus::PointF position(text->getPosition().x, text->getPosition().y);
+
331  Gdiplus::GraphicsPath path;
+
332 
+
333  // Convert the content to wide string for GDI+
+
334  std::wstring_convert< std::codecvt_utf8_utf16< wchar_t > > converter;
+
335  std::wstring wide_content = converter.from_bytes(text->getContent());
+
336 
+
337  // Set text alignment based on anchor position
+
338  Gdiplus::StringFormat string_format;
+
339  if (text->getAnchor() == "middle") {
+
340  string_format.SetAlignment(Gdiplus::StringAlignmentCenter);
+
341  position.X += 7;
+
342  } else if (text->getAnchor() == "end") {
+
343  string_format.SetAlignment(Gdiplus::StringAlignmentFar);
+
344  position.X += 14;
+
345  } else {
+
346  string_format.SetAlignment(Gdiplus::StringAlignmentNear);
+
347  }
+
348 
+
349  // Set font style based on text style
+
350  Gdiplus::FontStyle font_style = Gdiplus::FontStyleRegular;
+
351  if (text->getFontStyle() == "italic" || text->getFontStyle() == "oblique") {
+
352  font_style = Gdiplus::FontStyleItalic;
+
353  position.Y -= 1;
+
354  }
+
355 
+
356  path.AddString(wide_content.c_str(), wide_content.size(), &font_family,
+
357  font_style, text->getFontSize(), position, &string_format);
+
358  Gdiplus::RectF bound;
+
359  path.GetBounds(&bound);
+
360  Gdiplus::Brush* text_fill = getBrush(text, bound);
+
361 
+
362  // If the fill brush is a gradient, fill the text with a corner color
+
363  if (Gdiplus::PathGradientBrush* brush =
+
364  dynamic_cast< Gdiplus::PathGradientBrush* >(text_fill)) {
+
365  ColorShape color = text->getGradient()->getStops().back().getColor();
+
366  Gdiplus::SolidBrush corner_fill(
+
367  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
368  graphics.FillPath(&corner_fill, &path);
+
369  }
+
370 
+
371  graphics.FillPath(text_fill, &path);
+
372  if (text->getOutlineColor().a != 0 &&
+
373  text->getOutlineColor().a == text->getFillColor().a) {
+
374  text_outline.SetColor(Gdiplus::Color(255, 255, 255, 255));
+
375  graphics.DrawPath(&text_outline, &path);
+
376  text_outline.SetColor(Gdiplus::Color(outline_color.a, outline_color.r,
+
377  outline_color.g, outline_color.b));
+
378  }
+
379  graphics.DrawPath(&text_outline, &path);
+
380 
+
381  delete text_fill;
+
382 }
+
const ColorShape & getFillColor() const
Gets the fill color of the shape.
Definition: SVGElement.cpp:20
std::string getAnchor() const
Gets the anchor of the text.
Definition: Text.cpp:20
float getFontSize() const
Gets the font size of the text.
Definition: Text.cpp:12
std::string getFontStyle() const
Gets the style of the text.
Definition: Text.cpp:24
@@ -1452,99 +1541,116 @@

Returns
The Gdiplus::brush object for the shape fill.
-

Definition at line 583 of file Renderer.cpp.

-
584  {
-
585  Gradient* gradient = shape->getGradient();
-
586  if (gradient != NULL) {
-
587  std::pair< Vector2Df, Vector2Df > points = gradient->getPoints();
-
588  std::vector< Stop > stops = gradient->getStops();
-
589  int stop_size = stops.size() + 2;
-
590  Gdiplus::Color* colors = new Gdiplus::Color[stop_size];
-
591  float* offsets = new float[stop_size];
-
592  if (gradient->getClass() == "LinearGradient") {
-
593  if (gradient->getUnits() == "objectBoundingBox") {
-
594  points.first.x = bound.X;
-
595  points.first.y = bound.Y;
-
596  points.second.x = bound.X + bound.Width;
-
597  points.second.y = bound.Y + bound.Height;
-
598  }
-
599  offsets[0] = 0;
-
600  offsets[stop_size - 1] = 1;
-
601  colors[0] =
-
602  Gdiplus::Color(stops[0].getColor().a, stops[0].getColor().r,
-
603  stops[0].getColor().g, stops[0].getColor().b);
-
604  colors[stop_size - 1] =
-
605  Gdiplus::Color(stops[stop_size - 3].getColor().a,
-
606  stops[stop_size - 3].getColor().r,
-
607  stops[stop_size - 3].getColor().g,
-
608  stops[stop_size - 3].getColor().b);
-
609  for (size_t i = 1; i < stop_size - 1; ++i) {
-
610  colors[i] = Gdiplus::Color(
-
611  stops[i - 1].getColor().a, stops[i - 1].getColor().r,
-
612  stops[i - 1].getColor().g, stops[i - 1].getColor().b);
-
613  offsets[i] = stops[i - 1].getOffset();
-
614  }
-
615  Gdiplus::LinearGradientBrush* fill =
-
616  new Gdiplus::LinearGradientBrush(
-
617  Gdiplus::PointF(points.first.x, points.first.y),
-
618  Gdiplus::PointF(points.second.x, points.second.y),
-
619  colors[0], colors[stop_size - 1]);
-
620  fill->SetWrapMode(Gdiplus::WrapModeTileFlipX);
-
621  fill->SetInterpolationColors(colors, offsets, stop_size);
-
622  applyTransformsOnBrush(gradient->getTransforms(), fill);
-
623  delete[] colors;
-
624  delete[] offsets;
-
625  return fill;
-
626  } else if (gradient->getClass() == "RadialGradient") {
-
627  RadialGradient* radial_gradient =
-
628  dynamic_cast< RadialGradient* >(gradient);
-
629  Vector2Df radius = radial_gradient->getRadius();
-
630  if (gradient->getUnits() == "userSpaceOnUse") {
-
631  bound.X = points.first.x - radius.x;
-
632  bound.Y = points.first.y - radius.x;
-
633  bound.Width = radius.x * 2;
-
634  bound.Height = radius.x * 2;
-
635  }
-
636  Gdiplus::GraphicsPath path;
-
637  path.AddEllipse(bound);
-
638  Gdiplus::PathGradientBrush* fill =
-
639  new Gdiplus::PathGradientBrush(&path);
-
640  offsets[0] = 0;
-
641  offsets[stop_size - 1] = 1;
-
642  colors[0] = Gdiplus::Color(stops[stop_size - 3].getColor().a,
-
643  stops[stop_size - 3].getColor().r,
-
644  stops[stop_size - 3].getColor().g,
-
645  stops[stop_size - 3].getColor().b);
-
646  colors[stop_size - 1] =
-
647  Gdiplus::Color(stops[0].getColor().a, stops[0].getColor().r,
-
648  stops[0].getColor().g, stops[0].getColor().b);
-
649 
-
650  for (size_t i = 1; i < stop_size - 1; ++i) {
-
651  colors[i] =
-
652  Gdiplus::Color(stops[stop_size - 2 - i].getColor().a,
-
653  stops[stop_size - 2 - i].getColor().r,
-
654  stops[stop_size - 2 - i].getColor().g,
-
655  stops[stop_size - 2 - i].getColor().b);
-
656  offsets[i] = 1 - stops[stop_size - 2 - i].getOffset();
-
657  }
-
658  fill->SetInterpolationColors(colors, offsets, stop_size);
-
659  applyTransformsOnBrush(gradient->getTransforms(), fill);
-
660  delete[] colors;
-
661  delete[] offsets;
-
662  return fill;
-
663  }
-
664  } else {
-
665  mColor color = shape->getFillColor();
-
666  Gdiplus::SolidBrush* fill = new Gdiplus::SolidBrush(
-
667  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
668  return fill;
-
669  }
-
670  return nullptr;
-
671 }
+

Definition at line 683 of file Renderer.cpp.

+
684  {
+
685  Gradient* gradient = shape->getGradient();
+
686  if (gradient != NULL) {
+
687  std::pair< Vector2Df, Vector2Df > points = gradient->getPoints();
+
688  std::vector< Stop > stops = gradient->getStops();
+
689  int stop_size = stops.size() + 2;
+
690  Gdiplus::Color* colors = new Gdiplus::Color[stop_size];
+
691  float* offsets = new float[stop_size];
+
692 
+
693  if (gradient->getClass() == "LinearGradient") {
+
694  // Brush linear gradient
+
695  if (gradient->getUnits() == "objectBoundingBox") {
+
696  points.first.x = bound.X;
+
697  points.first.y = bound.Y;
+
698  points.second.x = bound.X + bound.Width;
+
699  points.second.y = bound.Y + bound.Height;
+
700  }
+
701 
+
702  // Set the center color
+
703  offsets[0] = 0;
+
704  offsets[stop_size - 1] = 1;
+
705  colors[0] =
+
706  Gdiplus::Color(stops[0].getColor().a, stops[0].getColor().r,
+
707  stops[0].getColor().g, stops[0].getColor().b);
+
708  colors[stop_size - 1] =
+
709  Gdiplus::Color(stops[stop_size - 3].getColor().a,
+
710  stops[stop_size - 3].getColor().r,
+
711  stops[stop_size - 3].getColor().g,
+
712  stops[stop_size - 3].getColor().b);
+
713 
+
714  // Reverse the order of the stops
+
715  for (size_t i = 1; i < stop_size - 1; ++i) {
+
716  colors[i] = Gdiplus::Color(
+
717  stops[i - 1].getColor().a, stops[i - 1].getColor().r,
+
718  stops[i - 1].getColor().g, stops[i - 1].getColor().b);
+
719  offsets[i] = stops[i - 1].getOffset();
+
720  }
+
721 
+
722  // Create the brush of linear gradient
+
723  Gdiplus::LinearGradientBrush* fill =
+
724  new Gdiplus::LinearGradientBrush(
+
725  Gdiplus::PointF(points.first.x, points.first.y),
+
726  Gdiplus::PointF(points.second.x, points.second.y),
+
727  colors[0], colors[stop_size - 1]);
+
728  fill->SetWrapMode(Gdiplus::WrapModeTileFlipX);
+
729  fill->SetInterpolationColors(colors, offsets, stop_size);
+
730  applyTransformsOnBrush(gradient->getTransforms(), fill);
+
731 
+
732  delete[] colors;
+
733  delete[] offsets;
+
734  return fill;
+
735  } else if (gradient->getClass() == "RadialGradient") {
+
736  // Brush radiol gradient
+
737  RadialGradient* radial_gradient =
+
738  dynamic_cast< RadialGradient* >(gradient);
+
739  Vector2Df radius = radial_gradient->getRadius();
+
740 
+
741  // If the gradient is in userSpaceOnUse, the radius is the distance
+
742  if (gradient->getUnits() == "userSpaceOnUse") {
+
743  bound.X = points.first.x - radius.x;
+
744  bound.Y = points.first.y - radius.x;
+
745  bound.Width = radius.x * 2;
+
746  bound.Height = radius.x * 2;
+
747  }
+
748 
+
749  Gdiplus::GraphicsPath path;
+
750  path.AddEllipse(bound);
+
751  Gdiplus::PathGradientBrush* fill =
+
752  new Gdiplus::PathGradientBrush(&path);
+
753 
+
754  // Set the center color
+
755  offsets[0] = 0;
+
756  offsets[stop_size - 1] = 1;
+
757  colors[0] = Gdiplus::Color(stops[stop_size - 3].getColor().a,
+
758  stops[stop_size - 3].getColor().r,
+
759  stops[stop_size - 3].getColor().g,
+
760  stops[stop_size - 3].getColor().b);
+
761  colors[stop_size - 1] =
+
762  Gdiplus::Color(stops[0].getColor().a, stops[0].getColor().r,
+
763  stops[0].getColor().g, stops[0].getColor().b);
+
764 
+
765  // Reverse the order of the stops
+
766  for (size_t i = 1; i < stop_size - 1; ++i) {
+
767  colors[i] =
+
768  Gdiplus::Color(stops[stop_size - 2 - i].getColor().a,
+
769  stops[stop_size - 2 - i].getColor().r,
+
770  stops[stop_size - 2 - i].getColor().g,
+
771  stops[stop_size - 2 - i].getColor().b);
+
772  offsets[i] = 1 - stops[stop_size - 2 - i].getOffset();
+
773  }
+
774 
+
775  fill->SetInterpolationColors(colors, offsets, stop_size);
+
776  applyTransformsOnBrush(gradient->getTransforms(), fill);
+
777  delete[] colors;
+
778  delete[] offsets;
+
779  return fill;
+
780  }
+
781  } else {
+
782  ColorShape color = shape->getFillColor();
+
783  Gdiplus::SolidBrush* fill = new Gdiplus::SolidBrush(
+
784  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
785  return fill;
+
786  }
+
787  return nullptr;
+
788 }
A class that represents a gradient.
Definition: Gradient.hpp:18
virtual std::string getClass() const =0
Gets the type of the gradient.
Vector2Df getRadius() const
Gets the radius of the gradient.
-
void applyTransformsOnBrush(std::vector< std::string > transform_order, Gdiplus::LinearGradientBrush *&brush) const
Utility function to apply a series of transformations to the brush object.
Definition: Renderer.cpp:673
+
void applyTransformsOnBrush(std::vector< std::string > transform_order, Gdiplus::LinearGradientBrush *&brush) const
Utility function to apply a series of transformations to the brush object.
Definition: Renderer.cpp:791

diff --git a/docs/classSVGElement-members.html b/docs/classSVGElement-members.html index 2854769..fa3dd4a 100644 --- a/docs/classSVGElement-members.html +++ b/docs/classSVGElement-members.html @@ -125,13 +125,13 @@

This is the complete list of members for SVGElement, including all inherited members.

- + - + - + @@ -140,19 +140,19 @@ - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
fillSVGElementprivate
fillSVGElementprivate
getClass() const =0SVGElementpure virtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getGradient() constSVGElement
getMaxBound() constSVGElementvirtual
getMinBound() constSVGElementvirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPosition() constSVGElement
parentSVGElementprotected
positionSVGElementprivate
printData() constSVGElementvirtual
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classSVGElement.html b/docs/classSVGElement.html index 8571dbe..2dd5762 100644 --- a/docs/classSVGElement.html +++ b/docs/classSVGElement.html @@ -141,7 +141,7 @@
Collaboration diagram for SVGElement:
-
+
[legend]
@@ -154,12 +154,12 @@ - - - - - - + + + + + + @@ -169,12 +169,12 @@ - - - - - - + + + + + + @@ -217,12 +217,12 @@ - - - - - - + + + + + +
virtual std::string getClass () const =0
 Gets the type of the shape. More...
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
@@ -233,14 +233,14 @@

Protected Attributes

- - - - - - + + + + + + @@ -295,19 +295,19 @@

Note
This constructor is protected because Shape is an abstract class that cannot be instantiated.

Definition at line 5 of file SVGElement.cpp.

-
+
7  gradient(NULL) {}
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
Gradient * gradient
Pointer to the gradient that contains the shape.
Definition: SVGElement.hpp:227
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
-
static const mColor Black
Black predefined color.
Definition: Color.hpp:50
-
static const mColor Transparent
Transparent (black) predefined color.
Definition: Color.hpp:58
+
static const ColorShape Black
Black predefined color.
Definition: ColorShape.hpp:50
+
static const ColorShape Transparent
Transparent (black) predefined color.
Definition: ColorShape.hpp:59
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
Gradient * gradient
Pointer to the gradient that contains the shape.
Definition: SVGElement.hpp:228
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
- -

◆ SVGElement() [2/3]

+ +

◆ SVGElement() [2/3]

@@ -318,13 +318,13 @@

SVGElement::SVGElement

- + - + @@ -358,12 +358,12 @@

Note
This constructor is protected because Shape is an abstract class that cannot be instantiated.

Definition at line 9 of file SVGElement.cpp.

- - -

◆ SVGElement() [3/3]

+ +

◆ SVGElement() [3/3]

@@ -374,13 +374,13 @@

SVGElement::SVGElement

- + - + @@ -421,9 +421,9 @@

Note
This constructor is protected because Shape is an abstract class that cannot be instantiated.

Definition at line 13 of file SVGElement.cpp.

-
+
16  position(position), gradient(NULL) {}
-
Vector2Df position
Position of the shape.
Definition: SVGElement.hpp:225
+
Vector2Df position
Position of the shape.
Definition: SVGElement.hpp:226
@@ -503,14 +503,14 @@

-

◆ getFillColor()

+ +

◆ getFillColor()

Private Attributes

-mColor fill
 Fill color.
 
-mColor stroke
 Outline color.
 
+ColorShape fill
 Fill color.
 
+ColorShape stroke
 Outline color.
 
float stroke_width
 Thickness of the shape's outline.
(const mColorconst ColorShape fill,
const mColorconst ColorShape stroke,
(const mColorconst ColorShape fill,
const mColorconst ColorShape stroke,
- + @@ -523,7 +523,7 @@

Note
The default fill color is white.

Definition at line 20 of file SVGElement.cpp.

-
20 { return fill; }
+
20 { return fill; }
@@ -618,14 +618,14 @@

-

◆ getOutlineColor()

+ +

◆ getOutlineColor()

const mColor & SVGElement::getFillColor const ColorShape & SVGElement::getFillColor ( ) const
- + @@ -638,7 +638,7 @@

Note
The default outline color is white.

Definition at line 24 of file SVGElement.cpp.

-
24 { return stroke; }
+
24 { return stroke; }
@@ -687,7 +687,7 @@

Definition at line 77 of file SVGElement.cpp.

77 { return parent; }
-
SVGElement * parent
Pointer to the group that contains the shape.
Definition: SVGElement.hpp:219
+
SVGElement * parent
Pointer to the group that contains the shape.
Definition: SVGElement.hpp:220
@@ -740,7 +740,7 @@

71  {
72  return transforms;
73 }
-
std::vector< std::string > transforms
List of transformations.
Definition: SVGElement.hpp:226
+
std::vector< std::string > transforms
List of transformations.
Definition: SVGElement.hpp:227
@@ -777,8 +777,8 @@

Definition at line 47 of file SVGElement.cpp.

47  {
48  std::cout << "Shape: " << getClass() << std::endl;
-
49  std::cout << "Fill: " << getFillColor() << std::endl;
-
50  std::cout << "Stroke: " << getOutlineColor() << std::endl;
+
49  std::cout << "Fill: " << getFillColor() << std::endl;
+
50  std::cout << "Stroke: " << getOutlineColor() << std::endl;
51  std::cout << "Stroke width: " << getOutlineThickness() << std::endl;
52  std::cout << "Position: " << getPosition().x << " " << getPosition().y
53  << std::endl;
@@ -796,18 +796,18 @@

65 }

std::pair< Vector2Df, Vector2Df > getPoints() const
Gets the start and end points of the gradient.
Definition: Gradient.cpp:9
virtual std::string getClass() const =0
Gets the type of the gradient.
+
const ColorShape & getFillColor() const
Gets the fill color of the shape.
Definition: SVGElement.cpp:20
float getOutlineThickness() const
Gets the outline thickness of the shape.
Definition: SVGElement.cpp:30
Vector2Df getPosition() const
Get the current position of the shape.
Definition: SVGElement.cpp:41
-
const mColor & getOutlineColor() const
Gets the outline color of the shape.
Definition: SVGElement.cpp:24
-
const mColor & getFillColor() const
Gets the fill color of the shape.
Definition: SVGElement.cpp:20
+
const ColorShape & getOutlineColor() const
Gets the outline color of the shape.
Definition: SVGElement.cpp:24
virtual std::string getClass() const =0
Gets the type of the shape.
T x
X coordinate of the vector.
Definition: Vector2D.hpp:45
T y
Y coordinate of the vector.
Definition: Vector2D.hpp:46
- -

◆ setFillColor()

+ +

◆ setFillColor()

@@ -815,7 +815,7 @@

void SVGElement::setFillColor

- + @@ -831,7 +831,7 @@

Definition at line 18 of file SVGElement.cpp.

-
18 { fill = color; }
+
18 { fill = color; }
@@ -865,8 +865,8 @@

-

◆ setOutlineColor()

+ +

◆ setOutlineColor()

- + @@ -890,7 +890,7 @@

Definition at line 22 of file SVGElement.cpp.

-
22 { stroke = color; }
+
22 { stroke = color; }
diff --git a/docs/classSVGElement.js b/docs/classSVGElement.js index 6ef37ed..31b0f43 100644 --- a/docs/classSVGElement.js +++ b/docs/classSVGElement.js @@ -2,33 +2,33 @@ var classSVGElement = [ [ "~SVGElement", "classSVGElement.html#a5087280fd4bbb637c3cde64e44e974f1", null ], [ "SVGElement", "classSVGElement.html#ad30205005009d2ba4820d3ce372e81ea", null ], - [ "SVGElement", "classSVGElement.html#a1a43e7717c20d50fd1990b592499fdba", null ], - [ "SVGElement", "classSVGElement.html#a6ed48bcc78dd62e3da256ddbd103ccd1", null ], + [ "SVGElement", "classSVGElement.html#ae0d0973f5314576af10f304a0fb4b772", null ], + [ "SVGElement", "classSVGElement.html#a80a98bd44871326e30dbcd6ad6e40f57", null ], [ "addElement", "classSVGElement.html#af699f9aa795572c2873e520849579881", null ], [ "getClass", "classSVGElement.html#adc98ebac66965dd303283cbf7ff28f38", null ], - [ "getFillColor", "classSVGElement.html#abb012cad5d6e9ee7a413f46042f99429", null ], + [ "getFillColor", "classSVGElement.html#a23721b0aabe2c03323d8c855c7109e4e", null ], [ "getGradient", "classSVGElement.html#a9b64e7697c24a6972aacb01b89c0e542", null ], [ "getMaxBound", "classSVGElement.html#a03ac231161d1d5062951fa3fca33a39b", null ], [ "getMinBound", "classSVGElement.html#a0cce88c48233f4da470daad2edab0d06", null ], - [ "getOutlineColor", "classSVGElement.html#a9a243b2b8464d57df28f3f3e8c52511e", null ], + [ "getOutlineColor", "classSVGElement.html#a822191eb1d87545fe7bddbeb0ada3d1c", null ], [ "getOutlineThickness", "classSVGElement.html#a2e4b1a48bfbc34a6a9f17bfd4b89eb51", null ], [ "getParent", "classSVGElement.html#a1b075314d4cda4fa895688979fe462fd", null ], [ "getPosition", "classSVGElement.html#a4e1ed8bb29fd4dbeb35471315976b3a2", null ], [ "getTransforms", "classSVGElement.html#a5f111964efd20e98eafafb3d168a1e87", null ], [ "printData", "classSVGElement.html#ad4bcd981ae7431161013811024b452e1", null ], - [ "setFillColor", "classSVGElement.html#abf7eef6d09fedba0d0f50a0f1a4be2fb", null ], + [ "setFillColor", "classSVGElement.html#ab0c42c2caee0d6285101c5284eccb98d", null ], [ "setGradient", "classSVGElement.html#a312b6aa934488672585c7e9d858300f8", null ], - [ "setOutlineColor", "classSVGElement.html#ac0cc2f6d2e01d364a695bebaa7db18d2", null ], + [ "setOutlineColor", "classSVGElement.html#ad0bd6c4c9981c241f5d853d4334c6e8e", null ], [ "setOutlineThickness", "classSVGElement.html#a88653ebe8b92ec881ab436ea968375a8", null ], [ "setParent", "classSVGElement.html#a43b3bf06fae88a1634a189272088d11d", null ], [ "setPosition", "classSVGElement.html#aec8a2f582f21a559c05d791e017efbd5", null ], [ "setPosition", "classSVGElement.html#a77aefe4b7e9dbf180cc531c969d0116d", null ], [ "setTransforms", "classSVGElement.html#a00fef2ebc5df4838b3f9bd7111b117c5", null ], - [ "fill", "classSVGElement.html#a6d3a39e763d3273715ea11f8959f81b1", null ], + [ "fill", "classSVGElement.html#af2a0e1a4228c0a6d02a26f35d8ac8c05", null ], [ "gradient", "classSVGElement.html#aab61149df9916892540627a0d7c4480c", null ], [ "parent", "classSVGElement.html#adee748c3014de1c1ebd20411a52e824a", null ], [ "position", "classSVGElement.html#acf9b9906b6d0cba8bb5c0b38b032e40f", null ], - [ "stroke", "classSVGElement.html#aab937dcb566cd83d94d00d69b4083f13", null ], + [ "stroke", "classSVGElement.html#aab842e97c5d24c964607a6d6efa061f8", null ], [ "stroke_width", "classSVGElement.html#a88449b487a890e3765ae20e96ee95c06", null ], [ "transforms", "classSVGElement.html#aefeee5c1de3e802d9f5f0a54078170e6", null ] ]; \ No newline at end of file diff --git a/docs/classSVGElement__coll__graph.map b/docs/classSVGElement__coll__graph.map index 8bc79fa..de3de75 100644 --- a/docs/classSVGElement__coll__graph.map +++ b/docs/classSVGElement__coll__graph.map @@ -2,5 +2,5 @@ - + diff --git a/docs/classSVGElement__coll__graph.md5 b/docs/classSVGElement__coll__graph.md5 index 3032e4a..7c300ae 100644 --- a/docs/classSVGElement__coll__graph.md5 +++ b/docs/classSVGElement__coll__graph.md5 @@ -1 +1 @@ -de14543b2aa386bd3cc8059e5c509c75 \ No newline at end of file +c08278aa43bd6eab95cf4fb3be6b047a \ No newline at end of file diff --git a/docs/classSVGElement__coll__graph.svg b/docs/classSVGElement__coll__graph.svg index 238b93a..6fa6645 100644 --- a/docs/classSVGElement__coll__graph.svg +++ b/docs/classSVGElement__coll__graph.svg @@ -4,8 +4,8 @@ - + SVGElement @@ -18,7 +18,7 @@ - + Node1->Node1 @@ -59,34 +59,34 @@ Node4 - - -mColor + + +ColorShape - + Node4->Node1 - - - fill -stroke + + + fill +stroke - + Node4->Node4 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classStop-members.html b/docs/classStop-members.html index b26dbd5..5bdc200 100644 --- a/docs/classStop-members.html +++ b/docs/classStop-members.html @@ -124,11 +124,11 @@

This is the complete list of members for Stop, including all inherited members.

const mColor & SVGElement::getOutlineColor const ColorShape & SVGElement::getOutlineColor ( ) const(const mColorconst ColorShape color)
(const mColorconst ColorShape color)
- - + + - +
colorStopprivate
getColor() constStop
colorStopprivate
getColor() constStop
getOffset() constStop
offsetStopprivate
Stop(const mColor &color, float offset)Stop
Stop(const ColorShape &color, float offset)Stop

+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ViewBox Member List
+
+
+ +

This is the complete list of members for ViewBox, including all inherited members.

+ + + + + + + + + + + +
getHeight() constViewBox
getWidth() constViewBox
getX() constViewBox
getY() constViewBox
hViewBoxprivate
ViewBox()ViewBox
ViewBox(float X, float Y, float W, float H)ViewBox
wViewBoxprivate
xViewBoxprivate
yViewBoxprivate
+
+ + + \ No newline at end of file diff --git a/docs/classViewBox.html b/docs/classViewBox.html new file mode 100644 index 0000000..70a5e3a --- /dev/null +++ b/docs/classViewBox.html @@ -0,0 +1,366 @@ + + + + + + + + + + + + + + + + + + +svg-reader: ViewBox Class Reference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
svg-reader +  0.3 +
+
Parse and render SVG files, handle user interactions.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
ViewBox Class Reference
+
+
+ +

A ViewBox is a rectangle that defines the area of the SVG canvas that should be visible to the user. + More...

+ +

#include <ViewBox.hpp>

+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ViewBox ()
 Default constructor. More...
 
 ViewBox (float X, float Y, float W, float H)
 Construct the ViewBox from its coordinates. More...
 
float getX () const
 Get the X coordinate of the ViewBox. More...
 
float getY () const
 Get the Y coordinate of the ViewBox. More...
 
float getWidth () const
 Get the width of the ViewBox. More...
 
float getHeight () const
 Get the height of the ViewBox. More...
 
+ + + + + + + + + + + + + +

+Private Attributes

+float x
 X coordinate of the ViewBox.
 
+float y
 Y coordinate of the ViewBox.
 
+float w
 Width of the ViewBox.
 
+float h
 Height of the ViewBox.
 
+

Detailed Description

+

A ViewBox is a rectangle that defines the area of the SVG canvas that should be visible to the user.

+

The ViewBox is defined by its X and Y coordinates, its width and its height.

+ +

Definition at line 10 of file ViewBox.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ViewBox() [1/2]

+ +
+
+ + + + + + + +
ViewBox::ViewBox ()
+
+ +

Default constructor.

+

Creates a ViewBox(0, 0, 0, 0).

+ +

Definition at line 3 of file ViewBox.cpp.

+
3 : x(0), y(0), w(0), h(0) {}
+
float h
Height of the ViewBox.
Definition: ViewBox.hpp:61
+
float w
Width of the ViewBox.
Definition: ViewBox.hpp:60
+
float x
X coordinate of the ViewBox.
Definition: ViewBox.hpp:58
+
float y
Y coordinate of the ViewBox.
Definition: ViewBox.hpp:59
+
+
+
+ +

◆ ViewBox() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ViewBox::ViewBox (float X,
float Y,
float W,
float H 
)
+
+ +

Construct the ViewBox from its coordinates.

+
Parameters
+ + + + + +
XX coordinate
YY coordinate
WWidth
HHeight
+
+
+ +

Definition at line 5 of file ViewBox.cpp.

+
5 : x(X), y(Y), w(W), h(H) {}
+
+
+
+

Member Function Documentation

+ +

◆ getHeight()

+ +
+
+ + + + + + + +
float ViewBox::getHeight () const
+
+ +

Get the height of the ViewBox.

+
Returns
Height of the ViewBox
+ +

Definition at line 13 of file ViewBox.cpp.

+
13 { return h; }
+
+
+
+ +

◆ getWidth()

+ +
+
+ + + + + + + +
float ViewBox::getWidth () const
+
+ +

Get the width of the ViewBox.

+
Returns
Width of the ViewBox
+ +

Definition at line 11 of file ViewBox.cpp.

+
11 { return w; }
+
+
+
+ +

◆ getX()

+ +
+
+ + + + + + + +
float ViewBox::getX () const
+
+ +

Get the X coordinate of the ViewBox.

+
Returns
X coordinate of the ViewBox
+ +

Definition at line 7 of file ViewBox.cpp.

+
7 { return x; }
+
+
+
+ +

◆ getY()

+ +
+
+ + + + + + + +
float ViewBox::getY () const
+
+ +

Get the Y coordinate of the ViewBox.

+
Returns
Y coordinate of the ViewBox
+ +

Definition at line 9 of file ViewBox.cpp.

+
9 { return y; }
+
+
+
+
The documentation for this class was generated from the following files: +
+
+ + + \ No newline at end of file diff --git a/docs/classViewBox.js b/docs/classViewBox.js new file mode 100644 index 0000000..82197e3 --- /dev/null +++ b/docs/classViewBox.js @@ -0,0 +1,13 @@ +var classViewBox = +[ + [ "ViewBox", "classViewBox.html#a23ee8257f489c18146082bf7c58a09e1", null ], + [ "ViewBox", "classViewBox.html#ac775b83d6648112514928499ca1256a4", null ], + [ "getHeight", "classViewBox.html#aac3bd2a53c8d01dab8b0830b3a241d8d", null ], + [ "getWidth", "classViewBox.html#aaedc3a475d3664ec7940ebf192d07b5b", null ], + [ "getX", "classViewBox.html#a62e0eb37e6f49b008be683a9051857f1", null ], + [ "getY", "classViewBox.html#ace506c1585508555ebff5f834b13f74f", null ], + [ "h", "classViewBox.html#a384a7abdc93e514a24d4fdc266fa0a74", null ], + [ "w", "classViewBox.html#a7ae30092b30f64873e4d6051413fa4e0", null ], + [ "x", "classViewBox.html#aba09e235897cb11d7ce19f7a2b614366", null ], + [ "y", "classViewBox.html#ae22faa29c0bfe51ed877d240f123edb0", null ] +]; \ No newline at end of file diff --git a/docs/classes.html b/docs/classes.html index ca784b6..62212c4 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -121,11 +121,11 @@
Class Index

-
C | E | G | L | M | P | R | S | T | V
+
C | E | G | L | P | R | S | T | V

diff --git a/docs/dir_560415a5d2bc4999842279f4fc1debef.js b/docs/dir_560415a5d2bc4999842279f4fc1debef.js index 9e39bb4..9c1637c 100644 --- a/docs/dir_560415a5d2bc4999842279f4fc1debef.js +++ b/docs/dir_560415a5d2bc4999842279f4fc1debef.js @@ -2,8 +2,8 @@ var dir_560415a5d2bc4999842279f4fc1debef = [ [ "Circle.cpp", "Circle_8cpp_source.html", null ], [ "Circle.hpp", "Circle_8hpp_source.html", null ], - [ "Color.cpp", "Color_8cpp_source.html", null ], - [ "Color.hpp", "Color_8hpp_source.html", null ], + [ "ColorShape.cpp", "ColorShape_8cpp_source.html", null ], + [ "ColorShape.hpp", "ColorShape_8hpp_source.html", null ], [ "Ellipse.cpp", "Ellipse_8cpp_source.html", null ], [ "Ellipse.hpp", "Ellipse_8hpp_source.html", null ], [ "Gradient.cpp", "Gradient_8cpp_source.html", null ], @@ -32,5 +32,7 @@ var dir_560415a5d2bc4999842279f4fc1debef = [ "SVGElement.hpp", "SVGElement_8hpp_source.html", null ], [ "Text.cpp", "Text_8cpp_source.html", null ], [ "Text.hpp", "Text_8hpp_source.html", null ], - [ "Vector2D.hpp", "Vector2D_8hpp_source.html", null ] + [ "Vector2D.hpp", "Vector2D_8hpp_source.html", null ], + [ "ViewBox.cpp", "ViewBox_8cpp_source.html", null ], + [ "ViewBox.hpp", "ViewBox_8hpp_source.html", null ] ]; \ No newline at end of file diff --git a/docs/files.html b/docs/files.html index be6ff43..ab28e06 100644 --- a/docs/files.html +++ b/docs/files.html @@ -127,8 +127,8 @@

  graphics
 Circle.cpp
 Circle.hpp
 Color.cpp
 Color.hpp
 ColorShape.cpp
 ColorShape.hpp
 Ellipse.cpp
 Ellipse.hpp
 Gradient.cpp
 Text.cpp
 Text.hpp
 Vector2D.hpp
 ViewBox.cpp
 ViewBox.hpp
 Graphics.hpp
 main.cpp
 Parser.cpp
- - - - + + + + @@ -146,7 +146,8 @@ - + +
 CGradientA class that represents a gradient
 CLinearGradientA class that represents a linear gradient
 CRadialGradientA class that represents a radial gradient
 CmColorUtility class for manipulating RGBA mColors
 CColorShapeUtility class for manipulating RGBA ColorShapes
 CGradientA class that represents a gradient
 CLinearGradientA class that represents a linear gradient
 CRadialGradientA class that represents a radial gradient
 CParserTo manipulate and parse an SVG file
 CPathPointA struct that contains a point and a type of point
 CRendererSingleton class responsible for rendering shapes using GDI+
 CTextRepresents text in 2D space
 CVector2D< T >Utility template class for manipulating 2-dimensional vectors
 CVector2D< float >
 CViewerRepresents a viewer for rendering and interacting with a scene
 CViewBoxA ViewBox is a rectangle that defines the area of the SVG canvas that should be visible to the user
 CViewerRepresents a viewer for rendering and interacting with a scene
diff --git a/docs/hierarchy.js b/docs/hierarchy.js index be89d92..c36fc0d 100644 --- a/docs/hierarchy.js +++ b/docs/hierarchy.js @@ -1,10 +1,10 @@ var hierarchy = [ + [ "ColorShape", "classColorShape.html", null ], [ "Gradient", "classGradient.html", [ [ "LinearGradient", "classLinearGradient.html", null ], [ "RadialGradient", "classRadialGradient.html", null ] ] ], - [ "mColor", "classmColor.html", null ], [ "Parser", "classParser.html", null ], [ "PathPoint", "structPathPoint.html", null ], [ "Renderer", "classRenderer.html", null ], @@ -25,5 +25,6 @@ var hierarchy = ] ], [ "Vector2D< T >", "classVector2D.html", null ], [ "Vector2D< float >", "classVector2D.html", null ], + [ "ViewBox", "classViewBox.html", null ], [ "Viewer", "classViewer.html", null ] ]; \ No newline at end of file diff --git a/docs/inherit_graph_0.map b/docs/inherit_graph_0.map index 5a644b3..4cd9a25 100644 --- a/docs/inherit_graph_0.map +++ b/docs/inherit_graph_0.map @@ -1,5 +1,3 @@ - - - + diff --git a/docs/inherit_graph_0.md5 b/docs/inherit_graph_0.md5 index 38ee721..ecbfb4b 100644 --- a/docs/inherit_graph_0.md5 +++ b/docs/inherit_graph_0.md5 @@ -1 +1 @@ -7a024556b281146d5c87fc69160b63da \ No newline at end of file +1e1fce3b0813fe4394e0bb89f6cd570f \ No newline at end of file diff --git a/docs/inherit_graph_0.svg b/docs/inherit_graph_0.svg index 69349df..405cb60 100644 --- a/docs/inherit_graph_0.svg +++ b/docs/inherit_graph_0.svg @@ -4,48 +4,18 @@ - - + + Graphical Class Hierarchy Node0 - - -Gradient + + +ColorShape - - -Node1 - - -LinearGradient - - - - - -Node0->Node1 - - - - - -Node2 - - -RadialGradient - - - - - -Node0->Node2 - - - diff --git a/docs/inherit_graph_1.map b/docs/inherit_graph_1.map index a56d7a5..5a644b3 100644 --- a/docs/inherit_graph_1.map +++ b/docs/inherit_graph_1.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/inherit_graph_1.md5 b/docs/inherit_graph_1.md5 index 337e5d3..38ee721 100644 --- a/docs/inherit_graph_1.md5 +++ b/docs/inherit_graph_1.md5 @@ -1 +1 @@ -e9151bbeb9d674c4613eb5287372eb63 \ No newline at end of file +7a024556b281146d5c87fc69160b63da \ No newline at end of file diff --git a/docs/inherit_graph_1.svg b/docs/inherit_graph_1.svg index bf3465c..69349df 100644 --- a/docs/inherit_graph_1.svg +++ b/docs/inherit_graph_1.svg @@ -4,18 +4,48 @@ - - + + Graphical Class Hierarchy Node0 - - -mColor + + +Gradient + + +Node1 + + +LinearGradient + + + + + +Node0->Node1 + + + + + +Node2 + + +RadialGradient + + + + + +Node0->Node2 + + + diff --git a/docs/inherit_graph_10.map b/docs/inherit_graph_10.map new file mode 100644 index 0000000..13611f4 --- /dev/null +++ b/docs/inherit_graph_10.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_10.md5 b/docs/inherit_graph_10.md5 new file mode 100644 index 0000000..328d461 --- /dev/null +++ b/docs/inherit_graph_10.md5 @@ -0,0 +1 @@ +8d40b5ccb585d3083a800b0554f0fc30 \ No newline at end of file diff --git a/docs/inherit_graph_10.svg b/docs/inherit_graph_10.svg new file mode 100644 index 0000000..2c9155f --- /dev/null +++ b/docs/inherit_graph_10.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +Viewer + + + + + diff --git a/docs/inherit_graph_9.map b/docs/inherit_graph_9.map index 13611f4..36e5801 100644 --- a/docs/inherit_graph_9.map +++ b/docs/inherit_graph_9.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_9.md5 b/docs/inherit_graph_9.md5 index 328d461..696575f 100644 --- a/docs/inherit_graph_9.md5 +++ b/docs/inherit_graph_9.md5 @@ -1 +1 @@ -8d40b5ccb585d3083a800b0554f0fc30 \ No newline at end of file +30f996d0cfcd5b095c17be5c1bc93320 \ No newline at end of file diff --git a/docs/inherit_graph_9.svg b/docs/inherit_graph_9.svg index 2c9155f..c41a6c3 100644 --- a/docs/inherit_graph_9.svg +++ b/docs/inherit_graph_9.svg @@ -4,16 +4,16 @@ - + Graphical Class Hierarchy Node0 - - -Viewer + + +ViewBox diff --git a/docs/inherits.html b/docs/inherits.html index cb78d1a..c5973cd 100644 --- a/docs/inherits.html +++ b/docs/inherits.html @@ -124,9 +124,9 @@ - - @@ -142,7 +142,9 @@ - +
+
+
+
+
diff --git a/docs/main_8cpp_source.html b/docs/main_8cpp_source.html index 0d9468a..ffd9d55 100644 --- a/docs/main_8cpp_source.html +++ b/docs/main_8cpp_source.html @@ -137,154 +137,177 @@
14 
15 void OnPaint(HDC hdc, const std::string& filePath, Viewer& viewer) {
16  Gdiplus::Graphics graphics(hdc);
-
17  if (!parser) {
-
18  parser = Parser::getInstance(filePath);
-
19  }
-
20  Vector2Df viewport = parser->getViewPort();
-
21  std::pair< Vector2Df, Vector2Df > viewbox = parser->getViewBox();
-
22  if (viewport.x == 0 && viewport.y == 0) {
-
23  viewport.x = viewer.window_size.x;
-
24  viewport.y = viewer.window_size.y;
-
25  }
-
26  graphics.SetClip(Gdiplus::Rect(0, 0, viewport.x, viewport.y));
-
27  if ((viewport.x != viewbox.second.x || viewport.y != viewbox.second.y) &&
-
28  viewbox.second.x != 0 && viewbox.second.y != 0) {
-
29  float scale_x = viewport.x / viewbox.second.x;
-
30  float scale_y = viewport.y / viewbox.second.y;
-
31  float scale = std::min(scale_x, scale_y);
-
32  scale = roundf(scale * 100) / 100;
-
33  graphics.ScaleTransform(scale, scale);
-
34  float offset_x = 0.0f;
-
35  float offset_y = 0.0f;
-
36  if (viewport.x > viewbox.second.x) {
-
37  offset_x = (viewport.x - viewbox.second.x * scale) / 2 / scale;
-
38  }
-
39  if (viewport.y > viewbox.second.y) {
-
40  offset_y = (viewport.y - viewbox.second.y * scale) / 2 / scale;
-
41  }
-
42  graphics.TranslateTransform(offset_x, offset_y);
-
43  }
-
44  graphics.TranslateTransform(-viewbox.first.x, -viewbox.first.y);
-
45 
-
46  graphics.SetSmoothingMode(Gdiplus::SmoothingModeAntiAlias8x8);
-
47  graphics.SetTextContrast(100);
-
48  graphics.SetCompositingMode(Gdiplus::CompositingModeSourceOver);
-
49  graphics.SetPixelOffsetMode(Gdiplus::PixelOffsetModeHighQuality);
-
50  graphics.SetInterpolationMode(Gdiplus::InterpolationModeHighQuality);
-
51 
-
52  Gdiplus::Matrix matrix;
-
53  Gdiplus::Region region;
-
54  graphics.GetClip(&region);
-
55  graphics.RotateTransform(viewer.rotate_angle);
-
56  graphics.ScaleTransform(viewer.zoom_factor, viewer.zoom_factor);
-
57  graphics.TranslateTransform(viewer.offset_x, viewer.offset_y);
-
58  graphics.SetClip(&region);
-
59 
-
60  Renderer* renderer = Renderer::getInstance();
-
61  SVGElement* root = parser->getRoot();
-
62  Group* group = dynamic_cast< Group* >(root);
-
63  renderer->draw(graphics, group);
-
64 }
-
65 
-
66 INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, INT iCmdShow) {
-
67  HWND hWnd;
-
68  MSG msg;
-
69  WNDCLASS wndClass;
-
70  Gdiplus::GdiplusStartupInput gdiplusStartupInput;
-
71  ULONG_PTR gdiplusToken;
-
72 
-
73  // Initialize GDI+.
-
74  GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
-
75 
-
76  wndClass.style = CS_HREDRAW | CS_VREDRAW;
-
77  wndClass.lpfnWndProc = WndProc;
-
78  wndClass.cbClsExtra = 0;
-
79  wndClass.cbWndExtra = 0;
-
80  wndClass.hInstance = hInstance;
-
81  wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
-
82  wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
-
83  wndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
-
84  wndClass.lpszMenuName = NULL;
-
85  wndClass.lpszClassName = TEXT("svg-reader-v0.2");
-
86 
-
87  RegisterClass(&wndClass);
-
88 
-
89  hWnd = CreateWindowEx(0,
-
90  TEXT("svg-reader-v0.2"), // window class name
-
91  TEXT("svg-reader-v0.2"), // window caption
-
92  WS_OVERLAPPEDWINDOW, // window style
-
93  0, // initial x position
-
94  0, // initial y position
-
95  1600, // initial x size
-
96  900, // initial y size
-
97  NULL, // parent window handle
-
98  NULL, // window menu handle
-
99  hInstance, // program instance handle
-
100  NULL); // creation parameters
-
101 
-
102  ShowWindow(hWnd, iCmdShow);
-
103  UpdateWindow(hWnd);
-
104 
-
105  while (GetMessage(&msg, NULL, 0, 0)) {
-
106  TranslateMessage(&msg);
-
107  DispatchMessage(&msg);
-
108  }
-
109 
-
110  if (parser) delete parser;
-
111  Gdiplus::GdiplusShutdown(gdiplusToken);
-
112  return msg.wParam;
-
113 }
-
114 
-
115 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam,
-
116  LPARAM lParam) {
-
117  HDC hdc;
-
118  PAINTSTRUCT ps;
-
119  std::string filePath;
-
120  if (__argc > 1) {
-
121  filePath = __argv[1];
-
122  }
-
123  Viewer* viewer = Viewer::getInstance();
-
124  switch (message) {
-
125  case WM_PAINT:
-
126  hdc = BeginPaint(hWnd, &ps);
-
127  viewer->getWindowSize(hWnd);
-
128  OnPaint(hdc, filePath, *viewer);
-
129  EndPaint(hWnd, &ps);
-
130  return 0;
-
131  case WM_MOUSEWHEEL:
-
132  case WM_MOUSEMOVE:
-
133  case WM_LBUTTONDOWN:
-
134  case WM_LBUTTONUP:
-
135  viewer->handleMouseEvent(message, wParam, lParam);
-
136  if (viewer->needs_repaint) {
-
137  InvalidateRect(hWnd, NULL, TRUE);
-
138  viewer->needs_repaint = false;
-
139  }
-
140  return 0;
-
141  case WM_KEYDOWN:
-
142  viewer->handleKeyEvent(wParam);
-
143  InvalidateRect(hWnd, NULL, TRUE);
-
144  return 0;
-
145  case WM_DESTROY:
-
146  PostQuitMessage(0);
-
147  return 0;
-
148  default:
-
149  return DefWindowProc(hWnd, message, wParam, lParam);
-
150  }
-
151 }
-
A composite class that contains a vector of shape pointers (polymorphic).
Definition: Group.hpp:19
+
17 
+
18  // Set up the graphics object for antialiased rendering.
+
19  if (!parser) {
+
20  parser = Parser::getInstance(filePath);
+
21  }
+
22 
+
23  // Set up Viewbox and Viewport
+
24  Vector2Df viewport = parser->getViewPort();
+
25  ViewBox viewbox = parser->getViewBox();
+
26  if (viewport.x == 0 && viewport.y == 0) {
+
27  viewport.x = viewer.window_size.x;
+
28  viewport.y = viewer.window_size.y;
+
29  }
+
30 
+
31  graphics.SetSmoothingMode(Gdiplus::SmoothingModeAntiAlias8x8);
+
32  graphics.SetTextContrast(100);
+
33  graphics.SetCompositingMode(Gdiplus::CompositingModeSourceOver);
+
34  graphics.SetPixelOffsetMode(Gdiplus::PixelOffsetModeHighQuality);
+
35  graphics.SetInterpolationMode(Gdiplus::InterpolationModeHighQuality);
+
36 
+
37  graphics.SetClip(Gdiplus::Rect(0, 0, viewport.x, viewport.y));
+
38  if ((viewport.x != viewbox.getWidth() ||
+
39  viewport.y != viewbox.getHeight()) &&
+
40  viewbox.getWidth() != 0 && viewbox.getHeight() != 0) {
+
41  float scale_x = viewport.x / viewbox.getWidth();
+
42  float scale_y = viewport.y / viewbox.getHeight();
+
43  float scale = std::min(scale_x, scale_y);
+
44  graphics.ScaleTransform(scale, scale);
+
45  float offset_x = 0.0f;
+
46  float offset_y = 0.0f;
+
47  if (viewport.x > viewbox.getWidth()) {
+
48  offset_x = (viewport.x - viewbox.getWidth() * scale) / 2 / scale;
+
49  }
+
50  if (viewport.y > viewbox.getHeight()) {
+
51  offset_y = (viewport.y - viewbox.getHeight() * scale) / 2 / scale;
+
52  }
+
53  graphics.TranslateTransform(offset_x, offset_y);
+
54  }
+
55  graphics.TranslateTransform(-viewbox.getX(), -viewbox.getY());
+
56 
+
57  Gdiplus::Matrix matrix;
+
58  Gdiplus::Region region;
+
59  graphics.GetClip(&region);
+
60  graphics.RotateTransform(viewer.rotate_angle);
+
61  graphics.ScaleTransform(viewer.zoom_factor, viewer.zoom_factor);
+
62  graphics.TranslateTransform(viewer.offset_x, viewer.offset_y);
+
63  graphics.SetClip(&region);
+
64 
+
65  // Render the SVG file.
+
66  Renderer* renderer = Renderer::getInstance();
+
67  SVGElement* root = parser->getRoot();
+
68  Group* group = dynamic_cast< Group* >(root);
+
69  renderer->draw(graphics, group);
+
70 }
+
71 
+
72 INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, INT iCmdShow) {
+
73  HWND hWnd;
+
74  MSG msg;
+
75  WNDCLASS wndClass;
+
76  Gdiplus::GdiplusStartupInput gdiplusStartupInput;
+
77  ULONG_PTR gdiplusToken;
+
78 
+
79  // Initialize GDI+.
+
80  GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
+
81 
+
82  wndClass.style = CS_HREDRAW | CS_VREDRAW;
+
83  wndClass.lpfnWndProc = WndProc;
+
84  wndClass.cbClsExtra = 0;
+
85  wndClass.cbWndExtra = 0;
+
86  wndClass.hInstance = hInstance;
+
87  wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
+
88  wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
+
89  wndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
+
90  wndClass.lpszMenuName = NULL;
+
91  wndClass.lpszClassName = TEXT("svg-reader-v0.2");
+
92 
+
93  RegisterClass(&wndClass);
+
94 
+
95  hWnd = CreateWindowEx(0,
+
96  TEXT("svg-reader-v0.2"), // window class name
+
97  TEXT("svg-reader-v0.2"), // window caption
+
98  WS_OVERLAPPEDWINDOW, // window style
+
99  0, // initial x position
+
100  0, // initial y position
+
101  1600, // initial x size
+
102  900, // initial y size
+
103  NULL, // parent window handle
+
104  NULL, // window menu handle
+
105  hInstance, // program instance handle
+
106  NULL); // creation parameters
+
107 
+
108  ShowWindow(hWnd, iCmdShow);
+
109  UpdateWindow(hWnd);
+
110 
+
111  while (GetMessage(&msg, NULL, 0, 0)) {
+
112  TranslateMessage(&msg);
+
113  DispatchMessage(&msg);
+
114  }
+
115 
+
116  if (parser) delete parser;
+
117  Gdiplus::GdiplusShutdown(gdiplusToken);
+
118  return msg.wParam;
+
119 }
+
120 
+
121 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam,
+
122  LPARAM lParam) {
+
123  HDC hdc;
+
124  PAINTSTRUCT ps;
+
125  std::string filePath;
+
126  if (__argc > 1) {
+
127  filePath = __argv[1];
+
128  std::ifstream file(filePath);
+
129  if (!file.good()) {
+
130  std::cerr << "Error: File path is invalid or does not exist."
+
131  << std::endl;
+
132  PostQuitMessage(0);
+
133  return 0;
+
134  }
+
135  file.close();
+
136  } else {
+
137  std::cerr << "Error: No file path provided." << std::endl;
+
138  PostQuitMessage(0);
+
139  return 0;
+
140  }
+
141  Viewer* viewer = Viewer::getInstance();
+
142  switch (message) {
+
143  case WM_PAINT:
+
144  hdc = BeginPaint(hWnd, &ps);
+
145  viewer->getWindowSize(hWnd);
+
146  OnPaint(hdc, filePath, *viewer);
+
147  EndPaint(hWnd, &ps);
+
148  return 0;
+
149  case WM_MOUSEWHEEL:
+
150  case WM_MOUSEMOVE:
+
151  case WM_LBUTTONDOWN:
+
152  case WM_LBUTTONUP:
+
153  viewer->handleMouseEvent(message, wParam, lParam);
+
154  if (viewer->needs_repaint) {
+
155  InvalidateRect(hWnd, NULL, TRUE);
+
156  viewer->needs_repaint = false;
+
157  }
+
158  return 0;
+
159  case WM_KEYDOWN:
+
160  viewer->handleKeyEvent(wParam);
+
161  InvalidateRect(hWnd, NULL, TRUE);
+
162  return 0;
+
163  case WM_DESTROY:
+
164  PostQuitMessage(0);
+
165  return 0;
+
166  default:
+
167  return DefWindowProc(hWnd, message, wParam, lParam);
+
168  }
+
169 }
+
A composite class that contains a vector of shape pointers (polymorphic).
Definition: Group.hpp:20
To manipulate and parse an SVG file.
Definition: Parser.hpp:24
-
Vector2Df getViewPort() const
Gets the viewport of the SVG file.
Definition: Parser.cpp:832
-
static Parser * getInstance(const std::string &file_name)
Gets the singleton instance of the Parser class.
Definition: Parser.cpp:158
-
std::pair< Vector2Df, Vector2Df > getViewBox() const
Gets the viewbox of the SVG file.
Definition: Parser.cpp:830
-
Group * getRoot()
Gets the root of the tree of SVGElements.
Definition: Parser.cpp:169
+
Vector2Df getViewPort() const
Gets the viewport of the SVG file.
Definition: Parser.cpp:914
+
static Parser * getInstance(const std::string &file_name)
Gets the singleton instance of the Parser class.
Definition: Parser.cpp:171
+
ViewBox getViewBox() const
Gets the viewbox of the SVG file.
Definition: Parser.cpp:911
+
Group * getRoot()
Gets the root of the tree of SVGElements.
Definition: Parser.cpp:184
Singleton class responsible for rendering shapes using GDI+.
Definition: Renderer.hpp:24
-
void draw(Gdiplus::Graphics &graphics, Group *group) const
Draws a shape using Gdiplus::Graphics based on its type.
Definition: Renderer.cpp:73
+
void draw(Gdiplus::Graphics &graphics, Group *group) const
Draws a shape using Gdiplus::Graphics based on its type.
Definition: Renderer.cpp:79
static Renderer * getInstance()
Gets the singleton instance of the Renderer class.
Definition: Renderer.cpp:11
Represents an element in an SVG file.
Definition: SVGElement.hpp:18
T x
X coordinate of the vector.
Definition: Vector2D.hpp:45
T y
Y coordinate of the vector.
Definition: Vector2D.hpp:46
+
A ViewBox is a rectangle that defines the area of the SVG canvas that should be visible to the user.
Definition: ViewBox.hpp:10
+
float getX() const
Get the X coordinate of the ViewBox.
Definition: ViewBox.cpp:7
+
float getHeight() const
Get the height of the ViewBox.
Definition: ViewBox.cpp:13
+
float getWidth() const
Get the width of the ViewBox.
Definition: ViewBox.cpp:11
+
float getY() const
Get the Y coordinate of the ViewBox.
Definition: ViewBox.cpp:9
Represents a viewer for rendering and interacting with a scene.
Definition: Viewer.hpp:16
float offset_y
Y-coordinate offset of the viewer.
Definition: Viewer.hpp:19
float offset_x
X-coordinate offset of the viewer.
Definition: Viewer.hpp:18
diff --git a/docs/menudata.js b/docs/menudata.js index cbf38df..3d093d6 100644 --- a/docs/menudata.js +++ b/docs/menudata.js @@ -62,7 +62,6 @@ var menudata={children:[ {text:"g",url:"functions_func.html#index_g"}, {text:"h",url:"functions_func.html#index_h"}, {text:"l",url:"functions_func.html#index_l"}, -{text:"m",url:"functions_func.html#index_m"}, {text:"o",url:"functions_func.html#index_o"}, {text:"p",url:"functions_func.html#index_p"}, {text:"r",url:"functions_func.html#index_r"}, diff --git a/docs/navtreedata.js b/docs/navtreedata.js index 8083760..f51bf2d 100644 --- a/docs/navtreedata.js +++ b/docs/navtreedata.js @@ -45,7 +45,7 @@ var NAVTREE = var NAVTREEINDEX = [ "Circle_8cpp_source.html", -"classViewer.html#a324e5a6a1532fe5eac3f3b0e4792b2da" +"classText.html#a40e38d59ba9b34df9900375409f6f03f" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/navtreeindex0.js b/docs/navtreeindex0.js index d1069a6..0ce9a47 100644 --- a/docs/navtreeindex0.js +++ b/docs/navtreeindex0.js @@ -2,8 +2,8 @@ var NAVTREEINDEX0 = { "Circle_8cpp_source.html":[1,0,0,0,0], "Circle_8hpp_source.html":[1,0,0,0,1], -"Color_8cpp_source.html":[1,0,0,0,2], -"Color_8hpp_source.html":[1,0,0,0,3], +"ColorShape_8cpp_source.html":[1,0,0,0,2], +"ColorShape_8hpp_source.html":[1,0,0,0,3], "Ellipse_8cpp_source.html":[1,0,0,0,4], "Ellipse_8hpp_source.html":[1,0,0,0,5], "Gradient_8cpp_source.html":[1,0,0,0,6], @@ -38,92 +38,111 @@ var NAVTREEINDEX0 = "Text_8cpp_source.html":[1,0,0,0,30], "Text_8hpp_source.html":[1,0,0,0,31], "Vector2D_8hpp_source.html":[1,0,0,0,32], +"ViewBox_8cpp_source.html":[1,0,0,0,33], +"ViewBox_8hpp_source.html":[1,0,0,0,34], "Viewer_8cpp_source.html":[1,0,0,7], "Viewer_8hpp_source.html":[1,0,0,8], "annotated.html":[0,0], "classCircle.html":[0,0,0], "classCircle.html#a09523e46318092d42a5969a1da5613bb":[0,0,0,1], -"classCircle.html#a5d018c51bfa1fa3d1081e3deef5eddc0":[0,0,0,0], -"classEll.html":[0,0,1], -"classEll.html#a00d607a5238705b552ec61b4409b76c1":[0,0,1,4], -"classEll.html#a0d0a2a70c06878c5769bd7d092277892":[0,0,1,1], -"classEll.html#a1d6d60039d2405f2b7aa117206d128fb":[0,0,1,5], -"classEll.html#a4a9956ca82cb9f957e993fa0c0faced6":[0,0,1,0], -"classEll.html#a8a8dd2acc8c7be5580dd8e549d247525":[0,0,1,2], -"classEll.html#a9f67131ba02c02fccf42c52f5f04525e":[0,0,1,6], -"classEll.html#ab79368df57ee08382916fc52b69afb85":[0,0,1,3], -"classEll.html#af57a48abe0e2bc8806e73dfa7762388f":[0,0,1,7], -"classGradient.html":[0,0,2], -"classGradient.html#a1125c4e5294389bb6698bf4fcb4f928d":[0,0,2,5], -"classGradient.html#a1387db53f850dd8cc765fc837c6e97e8":[0,0,2,12], -"classGradient.html#a44218bd3fb347f4c269f1f2795fb77d5":[0,0,2,2], -"classGradient.html#a54cc5770c2dce46f1d56bcfb63285173":[0,0,2,7], -"classGradient.html#a592dda454dc4df897263212191d6e3cb":[0,0,2,13], -"classGradient.html#a61dd624d452ab2afe913414158888165":[0,0,2,9], -"classGradient.html#a7831fa94135c818481ef7c85f792e1ca":[0,0,2,11], -"classGradient.html#a8da859d1b12459800e763c31f18d0d41":[0,0,2,10], -"classGradient.html#a9332299756c51c99398ce09e584a8b42":[0,0,2,1], -"classGradient.html#aa27206a9cc0adb5309a6db6dbd9d0257":[0,0,2,0], -"classGradient.html#aced479d6a10d2aa53e6d363e1df5dc08":[0,0,2,4], -"classGradient.html#adb86ee7c9171cb7294d1bb8956e97891":[0,0,2,3], -"classGradient.html#adf0e8b360f2b8e6edc1059002f85b1c1":[0,0,2,6], -"classGradient.html#ae2afa93bd9b6759f5fe625065301d3d9":[0,0,2,8], -"classGroup.html":[0,0,3], -"classGroup.html#a070e010084eaac6131e1bf814d10d234":[0,0,3,5], -"classGroup.html#a123cdaf1fb7cdf873740757d3864a4a6":[0,0,3,1], -"classGroup.html#a310fa83ccb20841373c11b6b4ac1d336":[0,0,3,6], -"classGroup.html#a317fcd42fd61b83c0d932bd1eb2c753f":[0,0,3,4], -"classGroup.html#a42fa18c4215ad3669db32b78e22303fa":[0,0,3,7], -"classGroup.html#a6ff10d6fceb2a78103db2d9783de6f41":[0,0,3,9], -"classGroup.html#a7b74f9ac68e0504ccf2e2854b7355ff1":[0,0,3,0], -"classGroup.html#a9308f587c63720ccbe2bfd1bad868547":[0,0,3,8], -"classGroup.html#aed00a22ff227ee2657ae44a5cbcedf7c":[0,0,3,2], -"classGroup.html#af4dafed0506ca5e9ea9e1028b1504919":[0,0,3,3], -"classLine.html":[0,0,4], -"classLine.html#a3fe45077492213ef490739c6137200d1":[0,0,4,5], -"classLine.html#a745f295541d412b49dac89423bd957a6":[0,0,4,1], -"classLine.html#ab46a879365e623e8b360c2db54d76782":[0,0,4,4], -"classLine.html#ab6e165ec2c3f412d5e5a860b28a52b4c":[0,0,4,0], -"classLine.html#adb348ce7ddf4b500c3593b7126aa4451":[0,0,4,2], -"classLine.html#afe6672bc7667cf45739c46f9fc8cb237":[0,0,4,3], -"classLinearGradient.html":[0,0,5], -"classLinearGradient.html#aa434164a18fa29e778cdb7fc96770b9a":[0,0,5,1], -"classLinearGradient.html#aaa0260244d818cd9d1180cb2697cc83b":[0,0,5,0], +"classCircle.html#ace05db36eae5455a95be7aaff49d1fd9":[0,0,0,0], +"classColorShape.html":[0,0,1], +"classColorShape.html#a1df0c31367734b49349f8d51ebc26889":[0,0,1,7], +"classColorShape.html#a4bf0a3d5e75871a83d9999a5d18257e1":[0,0,1,0], +"classColorShape.html#a4bf7634a2b117e8867dfb4444962d66d":[0,0,1,10], +"classColorShape.html#a527e9e54f88c2e84fe596afa7c86f302":[0,0,1,1], +"classColorShape.html#a58f7532025f1f7715f13ebfc5586b08c":[0,0,1,13], +"classColorShape.html#a6bc88305d41255e2d9969bec6777420a":[0,0,1,16], +"classColorShape.html#a7e699ac932feca73128bb768047c154b":[0,0,1,12], +"classColorShape.html#a8132294eb978dd065d7da6896d7782af":[0,0,1,11], +"classColorShape.html#a82ed7d0df939f43fd72105c5c6c7ed87":[0,0,1,6], +"classColorShape.html#a87ec94f44076a578446b384afafae0ec":[0,0,1,8], +"classColorShape.html#a91c01752af407a122a81c6c44afbba9f":[0,0,1,9], +"classColorShape.html#aa6918d31a60b8063746b6df08aa1b63a":[0,0,1,4], +"classColorShape.html#aaafbfd08715b17c4bda81d7b84dc1e68":[0,0,1,5], +"classColorShape.html#ab15a58a6fa914cf71829db2075b20ef6":[0,0,1,2], +"classColorShape.html#ab1838d64491c21fc854c50b7b1d2fd44":[0,0,1,3], +"classColorShape.html#ac5fd30929839c15bf0e1321552130a70":[0,0,1,15], +"classColorShape.html#af806b9a0f2490761528be87924cb04c0":[0,0,1,14], +"classEll.html":[0,0,2], +"classEll.html#a00d607a5238705b552ec61b4409b76c1":[0,0,2,4], +"classEll.html#a0d0a2a70c06878c5769bd7d092277892":[0,0,2,1], +"classEll.html#a1d6d60039d2405f2b7aa117206d128fb":[0,0,2,5], +"classEll.html#a8a8dd2acc8c7be5580dd8e549d247525":[0,0,2,2], +"classEll.html#a9f67131ba02c02fccf42c52f5f04525e":[0,0,2,6], +"classEll.html#ab18115d5d2ad73b80ffbdf3661908f38":[0,0,2,0], +"classEll.html#ab79368df57ee08382916fc52b69afb85":[0,0,2,3], +"classEll.html#af57a48abe0e2bc8806e73dfa7762388f":[0,0,2,7], +"classGradient.html":[0,0,3], +"classGradient.html#a1125c4e5294389bb6698bf4fcb4f928d":[0,0,3,5], +"classGradient.html#a1387db53f850dd8cc765fc837c6e97e8":[0,0,3,12], +"classGradient.html#a44218bd3fb347f4c269f1f2795fb77d5":[0,0,3,2], +"classGradient.html#a54cc5770c2dce46f1d56bcfb63285173":[0,0,3,7], +"classGradient.html#a592dda454dc4df897263212191d6e3cb":[0,0,3,13], +"classGradient.html#a61dd624d452ab2afe913414158888165":[0,0,3,9], +"classGradient.html#a7831fa94135c818481ef7c85f792e1ca":[0,0,3,11], +"classGradient.html#a8da859d1b12459800e763c31f18d0d41":[0,0,3,10], +"classGradient.html#a9332299756c51c99398ce09e584a8b42":[0,0,3,1], +"classGradient.html#aa27206a9cc0adb5309a6db6dbd9d0257":[0,0,3,0], +"classGradient.html#aced479d6a10d2aa53e6d363e1df5dc08":[0,0,3,4], +"classGradient.html#adb86ee7c9171cb7294d1bb8956e97891":[0,0,3,3], +"classGradient.html#adf0e8b360f2b8e6edc1059002f85b1c1":[0,0,3,6], +"classGradient.html#ae2afa93bd9b6759f5fe625065301d3d9":[0,0,3,8], +"classGroup.html":[0,0,4], +"classGroup.html#a070e010084eaac6131e1bf814d10d234":[0,0,4,5], +"classGroup.html#a123cdaf1fb7cdf873740757d3864a4a6":[0,0,4,1], +"classGroup.html#a310fa83ccb20841373c11b6b4ac1d336":[0,0,4,6], +"classGroup.html#a317fcd42fd61b83c0d932bd1eb2c753f":[0,0,4,4], +"classGroup.html#a42fa18c4215ad3669db32b78e22303fa":[0,0,4,7], +"classGroup.html#a6ff10d6fceb2a78103db2d9783de6f41":[0,0,4,9], +"classGroup.html#a7b74f9ac68e0504ccf2e2854b7355ff1":[0,0,4,0], +"classGroup.html#a9308f587c63720ccbe2bfd1bad868547":[0,0,4,8], +"classGroup.html#aed00a22ff227ee2657ae44a5cbcedf7c":[0,0,4,2], +"classGroup.html#af4dafed0506ca5e9ea9e1028b1504919":[0,0,4,3], +"classLine.html":[0,0,5], +"classLine.html#a3fe45077492213ef490739c6137200d1":[0,0,5,5], +"classLine.html#a745f295541d412b49dac89423bd957a6":[0,0,5,1], +"classLine.html#ab46a879365e623e8b360c2db54d76782":[0,0,5,4], +"classLine.html#abef476564dc2f7dad7259ee5071301fa":[0,0,5,0], +"classLine.html#adb348ce7ddf4b500c3593b7126aa4451":[0,0,5,2], +"classLine.html#afe6672bc7667cf45739c46f9fc8cb237":[0,0,5,3], +"classLinearGradient.html":[0,0,6], +"classLinearGradient.html#aa434164a18fa29e778cdb7fc96770b9a":[0,0,6,1], +"classLinearGradient.html#aaa0260244d818cd9d1180cb2697cc83b":[0,0,6,0], "classParser.html":[0,0,7], "classParser.html#a009fbe10a1b9b58a65be44634335a062":[0,0,7,11], -"classParser.html#a03766f0f9f6ebdead0474973d3ac50aa":[0,0,7,22], "classParser.html#a06952fa44f19fdb573c1355ac26454c5":[0,0,7,7], -"classParser.html#a0af0085ee5e20739bdf23a5b685642b6":[0,0,7,15], "classParser.html#a13a5e2fdac62670c1584de1edbba77f2":[0,0,7,29], -"classParser.html#a18d5a9aa35bd124023a060940486e183":[0,0,7,13], -"classParser.html#a20352ab58a59e61f6da1b4d20861907d":[0,0,7,23], +"classParser.html#a231c2e522115ae9a4fd9629285ed28e1":[0,0,7,10], "classParser.html#a2872aff3bfb15fdb1df2dcdce2bd632a":[0,0,7,31], +"classParser.html#a2e5e2efef794624abaa9bf390e234950":[0,0,7,13], "classParser.html#a350fc3e35535c5891cd9e36e79ee546a":[0,0,7,2], "classParser.html#a3d8927f2e26abf6a63bd850c154b23c6":[0,0,7,26], +"classParser.html#a3df3464ed7cfc97fd85ec2ff89e64359":[0,0,7,21], "classParser.html#a3e658b5917a93a3ef648050d060e3a93":[0,0,7,1], "classParser.html#a48044a8caa14a251cb4dad9fb363658e":[0,0,7,0], -"classParser.html#a4efa2342d694eff2ab6ba1d150c7bb69":[0,0,7,10], -"classParser.html#a539bda46a2832a22741105c9299c12cb":[0,0,7,25], "classParser.html#a59ed4455eaec306cde11939785c4e71a":[0,0,7,8], +"classParser.html#a5dd4328e960681889155a13f699200ce":[0,0,7,22], "classParser.html#a63329a7accdf332feb3fba1bcc4deec6":[0,0,7,3], -"classParser.html#a6f80728e7a771d2653baf1b453b655d9":[0,0,7,18], -"classParser.html#a7afd52c648dc5983e596edfa7eb6bbb5":[0,0,7,21], -"classParser.html#a7eb24f4915ba9b7a652ca204c1edb2c7":[0,0,7,30], +"classParser.html#a741b866e359471784380c23c5b71d9da":[0,0,7,17], "classParser.html#a7f085da78317baf2cc61e6e92b4b29c8":[0,0,7,27], -"classParser.html#a95e84ae219109769fae08702381acf78":[0,0,7,17], "classParser.html#a99df58e649089762bf434502173716d6":[0,0,7,9], +"classParser.html#a9ed27a4ee0360f437acb83553dd76c9f":[0,0,7,25], +"classParser.html#aa2249c02eee1ce310158a3450450ff3e":[0,0,7,15], +"classParser.html#aa8eb9358d20c85b7f92b6fb3a88fa666":[0,0,7,30], "classParser.html#aaf9f19591ff93f0c0c2fd68955e4a4af":[0,0,7,14], "classParser.html#ab2b1df7c69830fafcbe36de5199dcd30":[0,0,7,4], -"classParser.html#ab7776f740b7d63c388a086c8b8ecccd0":[0,0,7,12], "classParser.html#abfd09c5dd46fb0dc9bcd9106857dbf5e":[0,0,7,24], "classParser.html#ac00eac6bf37c45c9160fa47700d2466f":[0,0,7,5], "classParser.html#ac1e519500fce1b4192362ed1aa5ccbc3":[0,0,7,16], "classParser.html#aca2ed5f466436a9e9f78618bb1e356fd":[0,0,7,6], +"classParser.html#ad7063613f30bc89a4a9197cd664fe9d4":[0,0,7,23], "classParser.html#ae3a28c02c18171f4e83fae54b9f21a90":[0,0,7,28], "classParser.html#aecea54d6bc1ff225a6ac450ccbb560c3":[0,0,7,19], "classParser.html#af408a2ef7b27ceed0547093d73e6b2eb":[0,0,7,20], +"classParser.html#af4b65cb5b02ac856daba07387f67c6aa":[0,0,7,18], +"classParser.html#af634ef273fb8c221a832688c19244adf":[0,0,7,12], "classPath.html":[0,0,8], -"classPath.html#a089f2f59cc5574ce9e93826891044378":[0,0,8,0], "classPath.html#a1880b844baafdeca91a7cf5d155cf9f1":[0,0,8,8], "classPath.html#a3d2df8f3367db525772586065e16151e":[0,0,8,5], "classPath.html#a9395325e65f86fd2a4be2dc24408753a":[0,0,8,3], @@ -132,12 +151,13 @@ var NAVTREEINDEX0 = "classPath.html#ac99ffb44f19586a10ee39aa70fd4a260":[0,0,8,2], "classPath.html#ad2ba583a2dd567c3295ea62817b541e9":[0,0,8,6], "classPath.html#ad4273c2a1b288fe43dd86375afc16f66":[0,0,8,1], +"classPath.html#ad8dab023d3009f51f001fb930c2334c2":[0,0,8,0], "classPlygon.html":[0,0,10], "classPlygon.html#aab00a0d0230ea320271e96c326c6b919":[0,0,10,1], -"classPlygon.html#ac3f4fb224f4f84c3bd6e41093cd847cd":[0,0,10,0], +"classPlygon.html#ade144fd5857f80e3b345e2ba538b017d":[0,0,10,0], "classPlyline.html":[0,0,11], +"classPlyline.html#a248be9e58f3122f28c3828ed178ab863":[0,0,11,0], "classPlyline.html#a5b9d86c75604d329037cd47e8ba3d5b9":[0,0,11,1], -"classPlyline.html#a8bf7677d7adb76f146607ef1aaa49bd3":[0,0,11,0], "classPolyShape.html":[0,0,12], "classPolyShape.html#a0ad83e0129196572f99302830e0c9049":[0,0,12,5], "classPolyShape.html#a0c918fe8d9df68573a1c0d6e18bc6c9a":[0,0,12,8], @@ -145,10 +165,10 @@ var NAVTREEINDEX0 = "classPolyShape.html#a3a5e4952aff469f241ee1c9b92833f55":[0,0,12,1], "classPolyShape.html#a40a83ac567156de6da65adb1a4380c7c":[0,0,12,7], "classPolyShape.html#a6ddda72dc27d7aade0ed444a52d7689f":[0,0,12,4], -"classPolyShape.html#a6fd054647bea080272ed79bbea7080ac":[0,0,12,0], "classPolyShape.html#abd758b76bbc30e790602b1f37a814fe1":[0,0,12,9], "classPolyShape.html#acac99a28e69ee5020eed782175a5a355":[0,0,12,3], "classPolyShape.html#acbd1d536ad25e34b160e849a0fc12697":[0,0,12,10], +"classPolyShape.html#acd2f2ae8470d1c92704bfba9fbdbae45":[0,0,12,0], "classPolyShape.html#afc263d5407ca7ea50e30d641d779b73b":[0,0,12,2], "classRadialGradient.html":[0,0,13], "classRadialGradient.html#a132c35f92ecceb604cdddf098c36824c":[0,0,13,1], @@ -166,7 +186,7 @@ var NAVTREEINDEX0 = "classRect.html#a800053c390ccb818add47e627e535a5e":[0,0,14,11], "classRect.html#a964a6107f787f612798bda5c0423fb5b":[0,0,14,6], "classRect.html#a9c1dd853ea5df8e7c96a11bba72cc67a":[0,0,14,4], -"classRect.html#ad52d66e844d848d0e95f744b697e7beb":[0,0,14,0], +"classRect.html#ab8ceb8946210a2779862a66ad8d43397":[0,0,14,0], "classRect.html#ae11a39d12f7a766f773e662b0830848d":[0,0,14,8], "classRenderer.html":[0,0,15], "classRenderer.html#a1fac47f9b1c4c3fb1151f2b6ecb282f6":[0,0,15,5], @@ -191,63 +211,43 @@ var NAVTREEINDEX0 = "classSVGElement.html#a00fef2ebc5df4838b3f9bd7111b117c5":[0,0,17,23], "classSVGElement.html#a03ac231161d1d5062951fa3fca33a39b":[0,0,17,8], "classSVGElement.html#a0cce88c48233f4da470daad2edab0d06":[0,0,17,9], -"classSVGElement.html#a1a43e7717c20d50fd1990b592499fdba":[0,0,17,2], "classSVGElement.html#a1b075314d4cda4fa895688979fe462fd":[0,0,17,12], +"classSVGElement.html#a23721b0aabe2c03323d8c855c7109e4e":[0,0,17,6], "classSVGElement.html#a2e4b1a48bfbc34a6a9f17bfd4b89eb51":[0,0,17,11], "classSVGElement.html#a312b6aa934488672585c7e9d858300f8":[0,0,17,17], "classSVGElement.html#a43b3bf06fae88a1634a189272088d11d":[0,0,17,20], "classSVGElement.html#a4e1ed8bb29fd4dbeb35471315976b3a2":[0,0,17,13], "classSVGElement.html#a5087280fd4bbb637c3cde64e44e974f1":[0,0,17,0], "classSVGElement.html#a5f111964efd20e98eafafb3d168a1e87":[0,0,17,14], -"classSVGElement.html#a6d3a39e763d3273715ea11f8959f81b1":[0,0,17,24], -"classSVGElement.html#a6ed48bcc78dd62e3da256ddbd103ccd1":[0,0,17,3], "classSVGElement.html#a77aefe4b7e9dbf180cc531c969d0116d":[0,0,17,22], +"classSVGElement.html#a80a98bd44871326e30dbcd6ad6e40f57":[0,0,17,3], +"classSVGElement.html#a822191eb1d87545fe7bddbeb0ada3d1c":[0,0,17,10], "classSVGElement.html#a88449b487a890e3765ae20e96ee95c06":[0,0,17,29], "classSVGElement.html#a88653ebe8b92ec881ab436ea968375a8":[0,0,17,19], -"classSVGElement.html#a9a243b2b8464d57df28f3f3e8c52511e":[0,0,17,10], "classSVGElement.html#a9b64e7697c24a6972aacb01b89c0e542":[0,0,17,7], "classSVGElement.html#aab61149df9916892540627a0d7c4480c":[0,0,17,25], -"classSVGElement.html#aab937dcb566cd83d94d00d69b4083f13":[0,0,17,28], -"classSVGElement.html#abb012cad5d6e9ee7a413f46042f99429":[0,0,17,6], -"classSVGElement.html#abf7eef6d09fedba0d0f50a0f1a4be2fb":[0,0,17,16], -"classSVGElement.html#ac0cc2f6d2e01d364a695bebaa7db18d2":[0,0,17,18], +"classSVGElement.html#aab842e97c5d24c964607a6d6efa061f8":[0,0,17,28], +"classSVGElement.html#ab0c42c2caee0d6285101c5284eccb98d":[0,0,17,16], "classSVGElement.html#acf9b9906b6d0cba8bb5c0b38b032e40f":[0,0,17,27], +"classSVGElement.html#ad0bd6c4c9981c241f5d853d4334c6e8e":[0,0,17,18], "classSVGElement.html#ad30205005009d2ba4820d3ce372e81ea":[0,0,17,1], "classSVGElement.html#ad4bcd981ae7431161013811024b452e1":[0,0,17,15], "classSVGElement.html#adc98ebac66965dd303283cbf7ff28f38":[0,0,17,5], "classSVGElement.html#adee748c3014de1c1ebd20411a52e824a":[0,0,17,26], +"classSVGElement.html#ae0d0973f5314576af10f304a0fb4b772":[0,0,17,2], "classSVGElement.html#aec8a2f582f21a559c05d791e017efbd5":[0,0,17,21], "classSVGElement.html#aefeee5c1de3e802d9f5f0a54078170e6":[0,0,17,30], +"classSVGElement.html#af2a0e1a4228c0a6d02a26f35d8ac8c05":[0,0,17,24], "classSVGElement.html#af699f9aa795572c2873e520849579881":[0,0,17,4], "classStop.html":[0,0,16], -"classStop.html#a0ee1f3e4c4298b8712cef19f24e07dff":[0,0,16,1], "classStop.html#a2b6aaf0f14507df64c6bbd99043ad44b":[0,0,16,4], -"classStop.html#a3ad6054f4ecb97b3fc68595b744f8d54":[0,0,16,0], +"classStop.html#a37689ec1609d4c705a5c641d14844b21":[0,0,16,1], "classStop.html#a60a63002485122f30a80e80220d99748":[0,0,16,2], -"classStop.html#afb57d3535781a9e40efff24c43520a21":[0,0,16,3], +"classStop.html#a6ab2dacfb8c4c6cff157c84f3579c21e":[0,0,16,3], +"classStop.html#a8d3f4b236f80f256029cf1e0b7417d3e":[0,0,16,0], "classText.html":[0,0,18], "classText.html#a12e8ae19a8e677eb6f1c2dc2716dcab0":[0,0,18,8], "classText.html#a12ee81ccf865a414867d4101c8dbbdb2":[0,0,18,14], "classText.html#a33f5c94508241a960c139923c284491e":[0,0,18,11], -"classText.html#a405fac6f66711e0063e18e9e211e3a62":[0,0,18,2], -"classText.html#a40e38d59ba9b34df9900375409f6f03f":[0,0,18,6], -"classText.html#a445117756f52b37ae8bce225e254bea6":[0,0,18,1], -"classText.html#a4f24f78f8a962e758b70c5d9fd85b7cb":[0,0,18,10], -"classText.html#a6a04680d93c625645278b1d1111420bb":[0,0,18,9], -"classText.html#a6e799a9b0ba6f88e704eea12599d3d5c":[0,0,18,4], -"classText.html#a71158226b190f16477820e45b549133f":[0,0,18,13], -"classText.html#a86fd1927b692d6691c8dd3901b6f6e48":[0,0,18,5], -"classText.html#a92c5df61031c3a9af813f9cc6978f34a":[0,0,18,0], -"classText.html#a9336f13d0d4a26d41c2fd2e103ac5dde":[0,0,18,12], -"classText.html#aa503905beb9dddf11c9c579424d0a84f":[0,0,18,7], -"classText.html#ac593599637e5e7f0f929c59b440f1b94":[0,0,18,3], -"classVector2D.html":[0,0,19], -"classVector2D.html#a4f1bca1b63cd8b1323c85c9a5c597df4":[0,0,19,1], -"classVector2D.html#a65e391ec61c185092a02cf6301d0fff7":[0,0,19,3], -"classVector2D.html#a6a91fccbbd37162d28fa54aeeb88f9d2":[0,0,19,4], -"classVector2D.html#a96580267fed7cd6686cbbf8e11048023":[0,0,19,0], -"classVector2D.html#af9cb4a6f06903844162f4c9d80d16b85":[0,0,19,2], -"classViewer.html":[0,0,20], -"classViewer.html#a2b889c5d09c8577ad1580dd610ac5678":[0,0,20,7], -"classViewer.html#a30b0f57907c82de620339e105f9a3c5b":[0,0,20,18] +"classText.html#a405fac6f66711e0063e18e9e211e3a62":[0,0,18,2] }; diff --git a/docs/navtreeindex1.js b/docs/navtreeindex1.js index 27e3ebb..841e868 100644 --- a/docs/navtreeindex1.js +++ b/docs/navtreeindex1.js @@ -1,44 +1,57 @@ var NAVTREEINDEX1 = { -"classViewer.html#a324e5a6a1532fe5eac3f3b0e4792b2da":[0,0,20,0], -"classViewer.html#a3d14cceacd94622e6b9d5d71bfb5b64f":[0,0,20,12], -"classViewer.html#a3e16ebbf5c0ed98dc75fe2c4d46fe0d5":[0,0,20,17], -"classViewer.html#a452e9dd05638bf3da01d8f51dba009a5":[0,0,20,14], -"classViewer.html#a46377febc22fd7f2cc38a73ddb66b8ad":[0,0,20,21], -"classViewer.html#a53c3dca921442983d13f335d0e8a7e20":[0,0,20,13], -"classViewer.html#a59a507a835919e78114601d5bd1784e6":[0,0,20,16], -"classViewer.html#a643c2fc659f06f4d4bfcefbad22ebd75":[0,0,20,6], -"classViewer.html#a77bc329e7ae0aecaf60a4de4f8dcc037":[0,0,20,15], -"classViewer.html#a81a24ea13ee1e7e8c83be60672a7a11e":[0,0,20,10], -"classViewer.html#a8235c9da7e144d7139c91901c0051cd8":[0,0,20,3], -"classViewer.html#a82dfd34668f986b72e51ee86d4029fc6":[0,0,20,19], -"classViewer.html#a8bcd4fdeb5c26092d65fc14474afeb38":[0,0,20,5], -"classViewer.html#a940c6147b33b273afdff6eef7309d500":[0,0,20,11], -"classViewer.html#aa172f661daf24807148fb697f10e750a":[0,0,20,20], -"classViewer.html#aa8d0481396e20f1a8d4f6691ff0a67c1":[0,0,20,4], -"classViewer.html#aaedebacb31cba87de6e7d448ed8d6586":[0,0,20,1], -"classViewer.html#abb8e49e83e5c574411bb9995665fd7eb":[0,0,20,2], -"classViewer.html#acb15ba2e5d3bab2ba58da0db724b3bd1":[0,0,20,9], -"classViewer.html#ae0c94514f0897aa84732024855520e28":[0,0,20,8], +"classText.html#a40e38d59ba9b34df9900375409f6f03f":[0,0,18,6], +"classText.html#a445117756f52b37ae8bce225e254bea6":[0,0,18,1], +"classText.html#a4f24f78f8a962e758b70c5d9fd85b7cb":[0,0,18,10], +"classText.html#a66964f633003321b9dedb0ea0f0cf4b2":[0,0,18,0], +"classText.html#a6a04680d93c625645278b1d1111420bb":[0,0,18,9], +"classText.html#a6e799a9b0ba6f88e704eea12599d3d5c":[0,0,18,4], +"classText.html#a71158226b190f16477820e45b549133f":[0,0,18,13], +"classText.html#a86fd1927b692d6691c8dd3901b6f6e48":[0,0,18,5], +"classText.html#a9336f13d0d4a26d41c2fd2e103ac5dde":[0,0,18,12], +"classText.html#aa503905beb9dddf11c9c579424d0a84f":[0,0,18,7], +"classText.html#ac593599637e5e7f0f929c59b440f1b94":[0,0,18,3], +"classVector2D.html":[0,0,19], +"classVector2D.html#a4f1bca1b63cd8b1323c85c9a5c597df4":[0,0,19,1], +"classVector2D.html#a65e391ec61c185092a02cf6301d0fff7":[0,0,19,3], +"classVector2D.html#a6a91fccbbd37162d28fa54aeeb88f9d2":[0,0,19,4], +"classVector2D.html#a96580267fed7cd6686cbbf8e11048023":[0,0,19,0], +"classVector2D.html#af9cb4a6f06903844162f4c9d80d16b85":[0,0,19,2], +"classViewBox.html":[0,0,20], +"classViewBox.html#a23ee8257f489c18146082bf7c58a09e1":[0,0,20,0], +"classViewBox.html#a384a7abdc93e514a24d4fdc266fa0a74":[0,0,20,6], +"classViewBox.html#a62e0eb37e6f49b008be683a9051857f1":[0,0,20,4], +"classViewBox.html#a7ae30092b30f64873e4d6051413fa4e0":[0,0,20,7], +"classViewBox.html#aac3bd2a53c8d01dab8b0830b3a241d8d":[0,0,20,2], +"classViewBox.html#aaedc3a475d3664ec7940ebf192d07b5b":[0,0,20,3], +"classViewBox.html#aba09e235897cb11d7ce19f7a2b614366":[0,0,20,8], +"classViewBox.html#ac775b83d6648112514928499ca1256a4":[0,0,20,1], +"classViewBox.html#ace506c1585508555ebff5f834b13f74f":[0,0,20,5], +"classViewBox.html#ae22faa29c0bfe51ed877d240f123edb0":[0,0,20,9], +"classViewer.html":[0,0,21], +"classViewer.html#a2b889c5d09c8577ad1580dd610ac5678":[0,0,21,7], +"classViewer.html#a30b0f57907c82de620339e105f9a3c5b":[0,0,21,18], +"classViewer.html#a324e5a6a1532fe5eac3f3b0e4792b2da":[0,0,21,0], +"classViewer.html#a3d14cceacd94622e6b9d5d71bfb5b64f":[0,0,21,12], +"classViewer.html#a3e16ebbf5c0ed98dc75fe2c4d46fe0d5":[0,0,21,17], +"classViewer.html#a452e9dd05638bf3da01d8f51dba009a5":[0,0,21,14], +"classViewer.html#a46377febc22fd7f2cc38a73ddb66b8ad":[0,0,21,21], +"classViewer.html#a53c3dca921442983d13f335d0e8a7e20":[0,0,21,13], +"classViewer.html#a59a507a835919e78114601d5bd1784e6":[0,0,21,16], +"classViewer.html#a643c2fc659f06f4d4bfcefbad22ebd75":[0,0,21,6], +"classViewer.html#a77bc329e7ae0aecaf60a4de4f8dcc037":[0,0,21,15], +"classViewer.html#a81a24ea13ee1e7e8c83be60672a7a11e":[0,0,21,10], +"classViewer.html#a8235c9da7e144d7139c91901c0051cd8":[0,0,21,3], +"classViewer.html#a82dfd34668f986b72e51ee86d4029fc6":[0,0,21,19], +"classViewer.html#a8bcd4fdeb5c26092d65fc14474afeb38":[0,0,21,5], +"classViewer.html#a940c6147b33b273afdff6eef7309d500":[0,0,21,11], +"classViewer.html#aa172f661daf24807148fb697f10e750a":[0,0,21,20], +"classViewer.html#aa8d0481396e20f1a8d4f6691ff0a67c1":[0,0,21,4], +"classViewer.html#aaedebacb31cba87de6e7d448ed8d6586":[0,0,21,1], +"classViewer.html#abb8e49e83e5c574411bb9995665fd7eb":[0,0,21,2], +"classViewer.html#acb15ba2e5d3bab2ba58da0db724b3bd1":[0,0,21,9], +"classViewer.html#ae0c94514f0897aa84732024855520e28":[0,0,21,8], "classes.html":[0,1], -"classmColor.html":[0,0,6], -"classmColor.html#a04a0d2485c1106ccc94d065a0e62ecfb":[0,0,6,8], -"classmColor.html#a0cd1254821d108bb8c5be8ec5536f8ec":[0,0,6,9], -"classmColor.html#a1887c93301ffe92701baf17d6af3418e":[0,0,6,3], -"classmColor.html#a427453d377b30c62f7d25f47120959d6":[0,0,6,12], -"classmColor.html#a4376ef67b23a45be81daeecbfef1b2c3":[0,0,6,1], -"classmColor.html#a59dc727125e9f3d4ed0c59433dfa0780":[0,0,6,7], -"classmColor.html#a68265f053324eea11265c7f8d7fdb5ff":[0,0,6,16], -"classmColor.html#a73b9b91ca8c79e6e3876e5d83980ebec":[0,0,6,15], -"classmColor.html#a777df695011fdb21f6b5d3e6745389c4":[0,0,6,11], -"classmColor.html#a8df59e284c6211d66b05fab14d726a5e":[0,0,6,2], -"classmColor.html#a9b1702a679c1c5f649787fe15d8b016a":[0,0,6,0], -"classmColor.html#aa0fc6fe3033f7ff2806c59e39c072dbc":[0,0,6,13], -"classmColor.html#aa3910d2b82d32c8aa4e50127874a6d03":[0,0,6,6], -"classmColor.html#aa69dc1cb58cec64672952d1e84744f8c":[0,0,6,10], -"classmColor.html#ac086aa72806b8ce55fed3df9ba976f6c":[0,0,6,4], -"classmColor.html#ac4f0afaa513bbe9e68c16156136d4ada":[0,0,6,14], -"classmColor.html#ad56f2424fa451364becdc4d1c4df657c":[0,0,6,5], "dir_560415a5d2bc4999842279f4fc1debef.html":[1,0,0,0], "dir_68267d1309a1af8e8297ef4c3efbcdba.html":[1,0,0], "files.html":[1,0], diff --git a/docs/search/all_0.js b/docs/search/all_0.js index 551801e..e164cd0 100644 --- a/docs/search/all_0.js +++ b/docs/search/all_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['a_0',['a',['../classmColor.html#ac086aa72806b8ce55fed3df9ba976f6c',1,'mColor']]], + ['a_0',['a',['../classColorShape.html#aa6918d31a60b8063746b6df08aa1b63a',1,'ColorShape']]], ['addelement_1',['addElement',['../classGroup.html#af4dafed0506ca5e9ea9e1028b1504919',1,'Group::addElement()'],['../classSVGElement.html#af699f9aa795572c2873e520849579881',1,'SVGElement::addElement()']]], ['addpoint_2',['addPoint',['../classPath.html#ad4273c2a1b288fe43dd86375afc16f66',1,'Path::addPoint()'],['../classPolyShape.html#a3a5e4952aff469f241ee1c9b92833f55',1,'PolyShape::addPoint()']]], ['addstop_3',['addStop',['../classGradient.html#a44218bd3fb347f4c269f1f2795fb77d5',1,'Gradient']]], diff --git a/docs/search/all_1.js b/docs/search/all_1.js index 7c29398..1ae5fe9 100644 --- a/docs/search/all_1.js +++ b/docs/search/all_1.js @@ -1,6 +1,6 @@ var searchData= [ - ['b_8',['b',['../classmColor.html#ad56f2424fa451364becdc4d1c4df657c',1,'mColor']]], - ['black_9',['Black',['../classmColor.html#aa3910d2b82d32c8aa4e50127874a6d03',1,'mColor']]], - ['blue_10',['Blue',['../classmColor.html#a59dc727125e9f3d4ed0c59433dfa0780',1,'mColor']]] + ['b_8',['b',['../classColorShape.html#aaafbfd08715b17c4bda81d7b84dc1e68',1,'ColorShape']]], + ['black_9',['Black',['../classColorShape.html#a82ed7d0df939f43fd72105c5c6c7ed87',1,'ColorShape']]], + ['blue_10',['Blue',['../classColorShape.html#a1df0c31367734b49349f8d51ebc26889',1,'ColorShape']]] ]; diff --git a/docs/search/all_10.js b/docs/search/all_10.js index 3518194..87117ee 100644 --- a/docs/search/all_10.js +++ b/docs/search/all_10.js @@ -1,6 +1,7 @@ var searchData= [ - ['text_151',['Text',['../classText.html',1,'Text'],['../classText.html#a92c5df61031c3a9af813f9cc6978f34a',1,'Text::Text()']]], - ['transforms_152',['transforms',['../classGradient.html#a1387db53f850dd8cc765fc837c6e97e8',1,'Gradient::transforms()'],['../classSVGElement.html#aefeee5c1de3e802d9f5f0a54078170e6',1,'SVGElement::transforms()']]], - ['transparent_153',['Transparent',['../classmColor.html#ac4f0afaa513bbe9e68c16156136d4ada',1,'mColor']]] + ['tc_157',['tc',['../structPathPoint.html#a54896895f14e17ca49c47a71b79dd570',1,'PathPoint']]], + ['text_158',['Text',['../classText.html',1,'Text'],['../classText.html#a66964f633003321b9dedb0ea0f0cf4b2',1,'Text::Text()']]], + ['transforms_159',['transforms',['../classGradient.html#a1387db53f850dd8cc765fc837c6e97e8',1,'Gradient::transforms()'],['../classSVGElement.html#aefeee5c1de3e802d9f5f0a54078170e6',1,'SVGElement::transforms()']]], + ['transparent_160',['Transparent',['../classColorShape.html#af806b9a0f2490761528be87924cb04c0',1,'ColorShape']]] ]; diff --git a/docs/search/all_11.js b/docs/search/all_11.js index 2159286..e925fb4 100644 --- a/docs/search/all_11.js +++ b/docs/search/all_11.js @@ -1,4 +1,4 @@ var searchData= [ - ['units_154',['units',['../classGradient.html#a592dda454dc4df897263212191d6e3cb',1,'Gradient']]] + ['units_161',['units',['../classGradient.html#a592dda454dc4df897263212191d6e3cb',1,'Gradient']]] ]; diff --git a/docs/search/all_12.js b/docs/search/all_12.js index 340599e..ed3d3cb 100644 --- a/docs/search/all_12.js +++ b/docs/search/all_12.js @@ -1,8 +1,9 @@ var searchData= [ - ['vector2d_155',['Vector2D',['../classVector2D.html',1,'Vector2D< T >'],['../classVector2D.html#a96580267fed7cd6686cbbf8e11048023',1,'Vector2D::Vector2D()'],['../classVector2D.html#a4f1bca1b63cd8b1323c85c9a5c597df4',1,'Vector2D::Vector2D(T X, T Y)'],['../classVector2D.html#af9cb4a6f06903844162f4c9d80d16b85',1,'Vector2D::Vector2D(const Vector2D< U > &vector)']]], - ['vector2d_3c_20float_20_3e_156',['Vector2D< float >',['../classVector2D.html',1,'']]], - ['viewbox_157',['viewbox',['../classParser.html#a7eb24f4915ba9b7a652ca204c1edb2c7',1,'Parser']]], - ['viewer_158',['Viewer',['../classViewer.html',1,'Viewer'],['../classViewer.html#aaedebacb31cba87de6e7d448ed8d6586',1,'Viewer::Viewer()'],['../classViewer.html#abb8e49e83e5c574411bb9995665fd7eb',1,'Viewer::Viewer(const Viewer &)=delete']]], - ['viewport_159',['viewport',['../classParser.html#a2872aff3bfb15fdb1df2dcdce2bd632a',1,'Parser']]] + ['vector2d_162',['Vector2D',['../classVector2D.html',1,'Vector2D< T >'],['../classVector2D.html#a96580267fed7cd6686cbbf8e11048023',1,'Vector2D::Vector2D()'],['../classVector2D.html#a4f1bca1b63cd8b1323c85c9a5c597df4',1,'Vector2D::Vector2D(T X, T Y)'],['../classVector2D.html#af9cb4a6f06903844162f4c9d80d16b85',1,'Vector2D::Vector2D(const Vector2D< U > &vector)']]], + ['vector2d_3c_20float_20_3e_163',['Vector2D< float >',['../classVector2D.html',1,'']]], + ['viewbox_164',['ViewBox',['../classViewBox.html',1,'ViewBox'],['../classViewBox.html#a23ee8257f489c18146082bf7c58a09e1',1,'ViewBox::ViewBox()'],['../classViewBox.html#ac775b83d6648112514928499ca1256a4',1,'ViewBox::ViewBox(float X, float Y, float W, float H)']]], + ['viewbox_165',['viewbox',['../classParser.html#aa8eb9358d20c85b7f92b6fb3a88fa666',1,'Parser']]], + ['viewer_166',['Viewer',['../classViewer.html',1,'Viewer'],['../classViewer.html#aaedebacb31cba87de6e7d448ed8d6586',1,'Viewer::Viewer()'],['../classViewer.html#abb8e49e83e5c574411bb9995665fd7eb',1,'Viewer::Viewer(const Viewer &)=delete']]], + ['viewport_167',['viewport',['../classParser.html#a2872aff3bfb15fdb1df2dcdce2bd632a',1,'Parser']]] ]; diff --git a/docs/search/all_13.js b/docs/search/all_13.js index dcbfb65..ed87682 100644 --- a/docs/search/all_13.js +++ b/docs/search/all_13.js @@ -1,6 +1,7 @@ var searchData= [ - ['white_160',['White',['../classmColor.html#a73b9b91ca8c79e6e3876e5d83980ebec',1,'mColor']]], - ['width_161',['width',['../classRect.html#a800053c390ccb818add47e627e535a5e',1,'Rect']]], - ['window_5fsize_162',['window_size',['../classViewer.html#aa172f661daf24807148fb697f10e750a',1,'Viewer']]] + ['w_168',['w',['../classViewBox.html#a7ae30092b30f64873e4d6051413fa4e0',1,'ViewBox']]], + ['white_169',['White',['../classColorShape.html#ac5fd30929839c15bf0e1321552130a70',1,'ColorShape']]], + ['width_170',['width',['../classRect.html#a800053c390ccb818add47e627e535a5e',1,'Rect']]], + ['window_5fsize_171',['window_size',['../classViewer.html#aa172f661daf24807148fb697f10e750a',1,'Viewer']]] ]; diff --git a/docs/search/all_14.js b/docs/search/all_14.js index 7d103bb..d568515 100644 --- a/docs/search/all_14.js +++ b/docs/search/all_14.js @@ -1,4 +1,5 @@ var searchData= [ - ['x_163',['x',['../classVector2D.html#a65e391ec61c185092a02cf6301d0fff7',1,'Vector2D']]] + ['x_172',['x',['../classVector2D.html#a65e391ec61c185092a02cf6301d0fff7',1,'Vector2D::x()'],['../classViewBox.html#aba09e235897cb11d7ce19f7a2b614366',1,'ViewBox::x()']]], + ['x_5faxis_5frotation_173',['x_axis_rotation',['../structPathPoint.html#ae583dc92052b201d3416506e7632a0cc',1,'PathPoint']]] ]; diff --git a/docs/search/all_15.js b/docs/search/all_15.js index 07982b3..8c65dc8 100644 --- a/docs/search/all_15.js +++ b/docs/search/all_15.js @@ -1,5 +1,5 @@ var searchData= [ - ['y_164',['y',['../classVector2D.html#a6a91fccbbd37162d28fa54aeeb88f9d2',1,'Vector2D']]], - ['yellow_165',['Yellow',['../classmColor.html#a68265f053324eea11265c7f8d7fdb5ff',1,'mColor']]] + ['y_174',['y',['../classVector2D.html#a6a91fccbbd37162d28fa54aeeb88f9d2',1,'Vector2D::y()'],['../classViewBox.html#ae22faa29c0bfe51ed877d240f123edb0',1,'ViewBox::y()']]], + ['yellow_175',['Yellow',['../classColorShape.html#a6bc88305d41255e2d9969bec6777420a',1,'ColorShape']]] ]; diff --git a/docs/search/all_16.js b/docs/search/all_16.js index 140606c..5873ffd 100644 --- a/docs/search/all_16.js +++ b/docs/search/all_16.js @@ -1,4 +1,4 @@ var searchData= [ - ['zoom_5ffactor_166',['zoom_factor',['../classViewer.html#a46377febc22fd7f2cc38a73ddb66b8ad',1,'Viewer']]] + ['zoom_5ffactor_176',['zoom_factor',['../classViewer.html#a46377febc22fd7f2cc38a73ddb66b8ad',1,'Viewer']]] ]; diff --git a/docs/search/all_17.js b/docs/search/all_17.js index 634ea78..bc582b9 100644 --- a/docs/search/all_17.js +++ b/docs/search/all_17.js @@ -1,8 +1,8 @@ var searchData= [ - ['_7egradient_167',['~Gradient',['../classGradient.html#a9332299756c51c99398ce09e584a8b42',1,'Gradient']]], - ['_7egroup_168',['~Group',['../classGroup.html#aed00a22ff227ee2657ae44a5cbcedf7c',1,'Group']]], - ['_7eparser_169',['~Parser',['../classParser.html#a3e658b5917a93a3ef648050d060e3a93',1,'Parser']]], - ['_7esvgelement_170',['~SVGElement',['../classSVGElement.html#a5087280fd4bbb637c3cde64e44e974f1',1,'SVGElement']]], - ['_7eviewer_171',['~Viewer',['../classViewer.html#a324e5a6a1532fe5eac3f3b0e4792b2da',1,'Viewer']]] + ['_7egradient_177',['~Gradient',['../classGradient.html#a9332299756c51c99398ce09e584a8b42',1,'Gradient']]], + ['_7egroup_178',['~Group',['../classGroup.html#aed00a22ff227ee2657ae44a5cbcedf7c',1,'Group']]], + ['_7eparser_179',['~Parser',['../classParser.html#a3e658b5917a93a3ef648050d060e3a93',1,'Parser']]], + ['_7esvgelement_180',['~SVGElement',['../classSVGElement.html#a5087280fd4bbb637c3cde64e44e974f1',1,'SVGElement']]], + ['_7eviewer_181',['~Viewer',['../classViewer.html#a324e5a6a1532fe5eac3f3b0e4792b2da',1,'Viewer']]] ]; diff --git a/docs/search/all_2.js b/docs/search/all_2.js index 171f0ed..5842f65 100644 --- a/docs/search/all_2.js +++ b/docs/search/all_2.js @@ -1,7 +1,8 @@ var searchData= [ - ['circle_11',['Circle',['../classCircle.html',1,'Circle'],['../classCircle.html#a5d018c51bfa1fa3d1081e3deef5eddc0',1,'Circle::Circle()']]], - ['color_12',['color',['../classStop.html#afb57d3535781a9e40efff24c43520a21',1,'Stop']]], - ['content_13',['content',['../classText.html#a9336f13d0d4a26d41c2fd2e103ac5dde',1,'Text']]], - ['cyan_14',['Cyan',['../classmColor.html#a04a0d2485c1106ccc94d065a0e62ecfb',1,'mColor']]] + ['circle_11',['Circle',['../classCircle.html',1,'Circle'],['../classCircle.html#ace05db36eae5455a95be7aaff49d1fd9',1,'Circle::Circle()']]], + ['color_12',['color',['../classStop.html#a6ab2dacfb8c4c6cff157c84f3579c21e',1,'Stop']]], + ['colorshape_13',['ColorShape',['../classColorShape.html',1,'ColorShape'],['../classColorShape.html#a4bf0a3d5e75871a83d9999a5d18257e1',1,'ColorShape::ColorShape()'],['../classColorShape.html#a527e9e54f88c2e84fe596afa7c86f302',1,'ColorShape::ColorShape(int red, int green, int blue, int alpha=255)'],['../classColorShape.html#ab15a58a6fa914cf71829db2075b20ef6',1,'ColorShape::ColorShape(int color)']]], + ['content_14',['content',['../classText.html#a9336f13d0d4a26d41c2fd2e103ac5dde',1,'Text']]], + ['cyan_15',['Cyan',['../classColorShape.html#a87ec94f44076a578446b384afafae0ec',1,'ColorShape']]] ]; diff --git a/docs/search/all_3.js b/docs/search/all_3.js index e60f2cb..7c82d12 100644 --- a/docs/search/all_3.js +++ b/docs/search/all_3.js @@ -1,13 +1,13 @@ var searchData= [ - ['direction_15',['direction',['../classLine.html#a3fe45077492213ef490739c6137200d1',1,'Line']]], - ['draw_16',['draw',['../classRenderer.html#a1fac47f9b1c4c3fb1151f2b6ecb282f6',1,'Renderer']]], - ['drawcircle_17',['drawCircle',['../classRenderer.html#a9b5ca422ec7f1328d854cc4bff269858',1,'Renderer']]], - ['drawellipse_18',['drawEllipse',['../classRenderer.html#af4d92e92abb79e4431f7331f792194d9',1,'Renderer']]], - ['drawline_19',['drawLine',['../classRenderer.html#ab68c9e02c7eadf1f18286c9ecf0d90ca',1,'Renderer']]], - ['drawpath_20',['drawPath',['../classRenderer.html#a6cbcbb11e386c26eacef0b97342fee77',1,'Renderer']]], - ['drawpolygon_21',['drawPolygon',['../classRenderer.html#a27b883787b8f38afd04924edc97b5a04',1,'Renderer']]], - ['drawpolyline_22',['drawPolyline',['../classRenderer.html#a4e73148b7da0f585084520d12c514344',1,'Renderer']]], - ['drawrectangle_23',['drawRectangle',['../classRenderer.html#abf163a7895594e0a4ee5662805b1b572',1,'Renderer']]], - ['drawtext_24',['drawText',['../classRenderer.html#a87ce996c3ed0f963de9ef6c293ee3aec',1,'Renderer']]] + ['direction_16',['direction',['../classLine.html#a3fe45077492213ef490739c6137200d1',1,'Line']]], + ['draw_17',['draw',['../classRenderer.html#a1fac47f9b1c4c3fb1151f2b6ecb282f6',1,'Renderer']]], + ['drawcircle_18',['drawCircle',['../classRenderer.html#a9b5ca422ec7f1328d854cc4bff269858',1,'Renderer']]], + ['drawellipse_19',['drawEllipse',['../classRenderer.html#af4d92e92abb79e4431f7331f792194d9',1,'Renderer']]], + ['drawline_20',['drawLine',['../classRenderer.html#ab68c9e02c7eadf1f18286c9ecf0d90ca',1,'Renderer']]], + ['drawpath_21',['drawPath',['../classRenderer.html#a6cbcbb11e386c26eacef0b97342fee77',1,'Renderer']]], + ['drawpolygon_22',['drawPolygon',['../classRenderer.html#a27b883787b8f38afd04924edc97b5a04',1,'Renderer']]], + ['drawpolyline_23',['drawPolyline',['../classRenderer.html#a4e73148b7da0f585084520d12c514344',1,'Renderer']]], + ['drawrectangle_24',['drawRectangle',['../classRenderer.html#abf163a7895594e0a4ee5662805b1b572',1,'Renderer']]], + ['drawtext_25',['drawText',['../classRenderer.html#a87ce996c3ed0f963de9ef6c293ee3aec',1,'Renderer']]] ]; diff --git a/docs/search/all_4.js b/docs/search/all_4.js index c6524b1..1d4a876 100644 --- a/docs/search/all_4.js +++ b/docs/search/all_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['ell_25',['Ell',['../classEll.html',1,'Ell'],['../classEll.html#a4a9956ca82cb9f957e993fa0c0faced6',1,'Ell::Ell()']]] + ['ell_26',['Ell',['../classEll.html',1,'Ell'],['../classEll.html#ab18115d5d2ad73b80ffbdf3661908f38',1,'Ell::Ell()']]] ]; diff --git a/docs/search/all_5.js b/docs/search/all_5.js index e3ddcf1..bb046c9 100644 --- a/docs/search/all_5.js +++ b/docs/search/all_5.js @@ -1,6 +1,6 @@ var searchData= [ - ['fill_26',['fill',['../classSVGElement.html#a6d3a39e763d3273715ea11f8959f81b1',1,'SVGElement']]], - ['fill_5frule_27',['fill_rule',['../classPath.html#ac5abd8d5994a75cca56205c7e55a5b4f',1,'Path::fill_rule()'],['../classPolyShape.html#abd758b76bbc30e790602b1f37a814fe1',1,'PolyShape::fill_rule()']]], - ['font_5fsize_28',['font_size',['../classText.html#a71158226b190f16477820e45b549133f',1,'Text']]] + ['fill_27',['fill',['../classSVGElement.html#af2a0e1a4228c0a6d02a26f35d8ac8c05',1,'SVGElement']]], + ['fill_5frule_28',['fill_rule',['../classPath.html#ac5abd8d5994a75cca56205c7e55a5b4f',1,'Path::fill_rule()'],['../classPolyShape.html#abd758b76bbc30e790602b1f37a814fe1',1,'PolyShape::fill_rule()']]], + ['font_5fsize_29',['font_size',['../classText.html#a71158226b190f16477820e45b549133f',1,'Text']]] ]; diff --git a/docs/search/all_6.js b/docs/search/all_6.js index 7aac74c..683d4bf 100644 --- a/docs/search/all_6.js +++ b/docs/search/all_6.js @@ -1,47 +1,49 @@ var searchData= [ - ['g_29',['g',['../classmColor.html#a0cd1254821d108bb8c5be8ec5536f8ec',1,'mColor']]], - ['getanchor_30',['getAnchor',['../classText.html#a445117756f52b37ae8bce225e254bea6',1,'Text']]], - ['getattribute_31',['getAttribute',['../classParser.html#a63329a7accdf332feb3fba1bcc4deec6',1,'Parser']]], - ['getattributes_32',['getAttributes',['../classGroup.html#a317fcd42fd61b83c0d932bd1eb2c753f',1,'Group']]], - ['getbrush_33',['getBrush',['../classRenderer.html#a7539832835d19ee365dcbabf490d642c',1,'Renderer']]], - ['getclass_34',['getClass',['../classPolyShape.html#afc263d5407ca7ea50e30d641d779b73b',1,'PolyShape::getClass()'],['../classEll.html#a0d0a2a70c06878c5769bd7d092277892',1,'Ell::getClass()'],['../classRect.html#a4f6ba1c3eef4054847a89da472f392cd',1,'Rect::getClass()'],['../classSVGElement.html#adc98ebac66965dd303283cbf7ff28f38',1,'SVGElement::getClass()'],['../classText.html#a405fac6f66711e0063e18e9e211e3a62',1,'Text::getClass()'],['../classGroup.html#a070e010084eaac6131e1bf814d10d234',1,'Group::getClass()'],['../classPlyline.html#a5b9d86c75604d329037cd47e8ba3d5b9',1,'Plyline::getClass()'],['../classCircle.html#a09523e46318092d42a5969a1da5613bb',1,'Circle::getClass()'],['../classRadialGradient.html#a132c35f92ecceb604cdddf098c36824c',1,'RadialGradient::getClass()'],['../classLine.html#a745f295541d412b49dac89423bd957a6',1,'Line::getClass()'],['../classLinearGradient.html#aa434164a18fa29e778cdb7fc96770b9a',1,'LinearGradient::getClass()'],['../classGradient.html#adb86ee7c9171cb7294d1bb8956e97891',1,'Gradient::getClass()'],['../classPath.html#ac99ffb44f19586a10ee39aa70fd4a260',1,'Path::getClass()'],['../classPlygon.html#aab00a0d0230ea320271e96c326c6b919',1,'Plygon::getClass()']]], - ['getcolor_35',['getColor',['../classStop.html#a0ee1f3e4c4298b8712cef19f24e07dff',1,'Stop']]], - ['getcontent_36',['getContent',['../classText.html#ac593599637e5e7f0f929c59b440f1b94',1,'Text']]], - ['getdirection_37',['getDirection',['../classLine.html#adb348ce7ddf4b500c3593b7126aa4451',1,'Line']]], - ['getelements_38',['getElements',['../classGroup.html#a310fa83ccb20841373c11b6b4ac1d336',1,'Group']]], - ['getfillcolor_39',['getFillColor',['../classSVGElement.html#abb012cad5d6e9ee7a413f46042f99429',1,'SVGElement']]], - ['getfillrule_40',['getFillRule',['../classPath.html#a9395325e65f86fd2a4be2dc24408753a',1,'Path::getFillRule()'],['../classPolyShape.html#acac99a28e69ee5020eed782175a5a355',1,'PolyShape::getFillRule()']]], - ['getfloatattribute_41',['getFloatAttribute',['../classParser.html#ab2b1df7c69830fafcbe36de5199dcd30',1,'Parser']]], - ['getfontsize_42',['getFontSize',['../classText.html#a6e799a9b0ba6f88e704eea12599d3d5c',1,'Text']]], - ['getfontstyle_43',['getFontStyle',['../classText.html#a86fd1927b692d6691c8dd3901b6f6e48',1,'Text']]], - ['getgradient_44',['getGradient',['../classSVGElement.html#a9b64e7697c24a6972aacb01b89c0e542',1,'SVGElement']]], - ['getgradients_45',['GetGradients',['../classParser.html#ac00eac6bf37c45c9160fa47700d2466f',1,'Parser']]], - ['getgradientstops_46',['getGradientStops',['../classParser.html#aca2ed5f466436a9e9f78618bb1e356fd',1,'Parser']]], - ['getheight_47',['getHeight',['../classRect.html#a418fffe5bb9368f4e158b63e13faba16',1,'Rect']]], - ['getinstance_48',['getInstance',['../classParser.html#a06952fa44f19fdb573c1355ac26454c5',1,'Parser::getInstance()'],['../classRenderer.html#ac1bf10ff8b4f967f0d416a26d482abd6',1,'Renderer::getInstance()'],['../classViewer.html#a8235c9da7e144d7139c91901c0051cd8',1,'Viewer::getInstance()']]], - ['getlength_49',['getLength',['../classLine.html#afe6672bc7667cf45739c46f9fc8cb237',1,'Line']]], - ['getmaxbound_50',['getMaxBound',['../classEll.html#a8a8dd2acc8c7be5580dd8e549d247525',1,'Ell::getMaxBound()'],['../classPolyShape.html#a6ddda72dc27d7aade0ed444a52d7689f',1,'PolyShape::getMaxBound()'],['../classSVGElement.html#a03ac231161d1d5062951fa3fca33a39b',1,'SVGElement::getMaxBound()']]], - ['getminbound_51',['getMinBound',['../classEll.html#ab79368df57ee08382916fc52b69afb85',1,'Ell::getMinBound()'],['../classPolyShape.html#a0ad83e0129196572f99302830e0c9049',1,'PolyShape::getMinBound()'],['../classSVGElement.html#a0cce88c48233f4da470daad2edab0d06',1,'SVGElement::getMinBound()']]], - ['getoffset_52',['getOffset',['../classStop.html#a60a63002485122f30a80e80220d99748',1,'Stop']]], - ['getoutlinecolor_53',['getOutlineColor',['../classSVGElement.html#a9a243b2b8464d57df28f3f3e8c52511e',1,'SVGElement']]], - ['getoutlinethickness_54',['getOutlineThickness',['../classSVGElement.html#a2e4b1a48bfbc34a6a9f17bfd4b89eb51',1,'SVGElement']]], - ['getparent_55',['getParent',['../classSVGElement.html#a1b075314d4cda4fa895688979fe462fd',1,'SVGElement']]], - ['getpoints_56',['getPoints',['../classGradient.html#aced479d6a10d2aa53e6d363e1df5dc08',1,'Gradient::getPoints()'],['../classPath.html#a9d701e9231022249523970101bbc749c',1,'Path::getPoints()'],['../classPolyShape.html#a27704ef9fd50c041d1d233e9d99a4fd4',1,'PolyShape::getPoints()']]], - ['getposition_57',['getPosition',['../classSVGElement.html#a4e1ed8bb29fd4dbeb35471315976b3a2',1,'SVGElement']]], - ['getradius_58',['getRadius',['../classRadialGradient.html#acfa8223581f3caf2db33c310cfa48d1d',1,'RadialGradient::getRadius()'],['../classRect.html#a31ca84cc8755233b5e61d22189f637b0',1,'Rect::getRadius()'],['../classEll.html#a00d607a5238705b552ec61b4409b76c1',1,'Ell::getRadius()']]], - ['getroot_59',['getRoot',['../classParser.html#a59ed4455eaec306cde11939785c4e71a',1,'Parser']]], - ['getstops_60',['getStops',['../classGradient.html#a1125c4e5294389bb6698bf4fcb4f928d',1,'Gradient']]], - ['gettransformorder_61',['getTransformOrder',['../classParser.html#a99df58e649089762bf434502173716d6',1,'Parser']]], - ['gettransforms_62',['getTransforms',['../classGradient.html#adf0e8b360f2b8e6edc1059002f85b1c1',1,'Gradient::getTransforms()'],['../classSVGElement.html#a5f111964efd20e98eafafb3d168a1e87',1,'SVGElement::getTransforms()']]], - ['getunits_63',['getUnits',['../classGradient.html#a54cc5770c2dce46f1d56bcfb63285173',1,'Gradient']]], - ['getviewbox_64',['getViewBox',['../classParser.html#a4efa2342d694eff2ab6ba1d150c7bb69',1,'Parser']]], - ['getviewport_65',['getViewPort',['../classParser.html#a009fbe10a1b9b58a65be44634335a062',1,'Parser']]], - ['getwidth_66',['getWidth',['../classRect.html#a9c1dd853ea5df8e7c96a11bba72cc67a',1,'Rect']]], - ['getwindowsize_67',['getWindowSize',['../classViewer.html#aa8d0481396e20f1a8d4f6691ff0a67c1',1,'Viewer']]], - ['gradient_68',['Gradient',['../classGradient.html#aa27206a9cc0adb5309a6db6dbd9d0257',1,'Gradient::Gradient()'],['../classGradient.html',1,'Gradient']]], - ['gradient_69',['gradient',['../classSVGElement.html#aab61149df9916892540627a0d7c4480c',1,'SVGElement']]], - ['gradients_70',['gradients',['../classParser.html#a7f085da78317baf2cc61e6e92b4b29c8',1,'Parser']]], - ['green_71',['Green',['../classmColor.html#aa69dc1cb58cec64672952d1e84744f8c',1,'mColor']]], - ['group_72',['Group',['../classGroup.html#a123cdaf1fb7cdf873740757d3864a4a6',1,'Group::Group(Attributes attributes)'],['../classGroup.html#a7b74f9ac68e0504ccf2e2854b7355ff1',1,'Group::Group()'],['../classGroup.html',1,'Group']]] + ['g_30',['g',['../classColorShape.html#a91c01752af407a122a81c6c44afbba9f',1,'ColorShape']]], + ['getanchor_31',['getAnchor',['../classText.html#a445117756f52b37ae8bce225e254bea6',1,'Text']]], + ['getattribute_32',['getAttribute',['../classParser.html#a63329a7accdf332feb3fba1bcc4deec6',1,'Parser']]], + ['getattributes_33',['getAttributes',['../classGroup.html#a317fcd42fd61b83c0d932bd1eb2c753f',1,'Group']]], + ['getbrush_34',['getBrush',['../classRenderer.html#a7539832835d19ee365dcbabf490d642c',1,'Renderer']]], + ['getclass_35',['getClass',['../classPolyShape.html#afc263d5407ca7ea50e30d641d779b73b',1,'PolyShape::getClass()'],['../classEll.html#a0d0a2a70c06878c5769bd7d092277892',1,'Ell::getClass()'],['../classRect.html#a4f6ba1c3eef4054847a89da472f392cd',1,'Rect::getClass()'],['../classText.html#a405fac6f66711e0063e18e9e211e3a62',1,'Text::getClass()'],['../classGradient.html#adb86ee7c9171cb7294d1bb8956e97891',1,'Gradient::getClass()'],['../classLine.html#a745f295541d412b49dac89423bd957a6',1,'Line::getClass()'],['../classGroup.html#a070e010084eaac6131e1bf814d10d234',1,'Group::getClass()'],['../classPlyline.html#a5b9d86c75604d329037cd47e8ba3d5b9',1,'Plyline::getClass()'],['../classCircle.html#a09523e46318092d42a5969a1da5613bb',1,'Circle::getClass()'],['../classRadialGradient.html#a132c35f92ecceb604cdddf098c36824c',1,'RadialGradient::getClass()'],['../classLinearGradient.html#aa434164a18fa29e778cdb7fc96770b9a',1,'LinearGradient::getClass()'],['../classSVGElement.html#adc98ebac66965dd303283cbf7ff28f38',1,'SVGElement::getClass()'],['../classPath.html#ac99ffb44f19586a10ee39aa70fd4a260',1,'Path::getClass()'],['../classPlygon.html#aab00a0d0230ea320271e96c326c6b919',1,'Plygon::getClass()']]], + ['getcolor_36',['getColor',['../classStop.html#a37689ec1609d4c705a5c641d14844b21',1,'Stop']]], + ['getcontent_37',['getContent',['../classText.html#ac593599637e5e7f0f929c59b440f1b94',1,'Text']]], + ['getdirection_38',['getDirection',['../classLine.html#adb348ce7ddf4b500c3593b7126aa4451',1,'Line']]], + ['getelements_39',['getElements',['../classGroup.html#a310fa83ccb20841373c11b6b4ac1d336',1,'Group']]], + ['getfillcolor_40',['getFillColor',['../classSVGElement.html#a23721b0aabe2c03323d8c855c7109e4e',1,'SVGElement']]], + ['getfillrule_41',['getFillRule',['../classPath.html#a9395325e65f86fd2a4be2dc24408753a',1,'Path::getFillRule()'],['../classPolyShape.html#acac99a28e69ee5020eed782175a5a355',1,'PolyShape::getFillRule()']]], + ['getfloatattribute_42',['getFloatAttribute',['../classParser.html#ab2b1df7c69830fafcbe36de5199dcd30',1,'Parser']]], + ['getfontsize_43',['getFontSize',['../classText.html#a6e799a9b0ba6f88e704eea12599d3d5c',1,'Text']]], + ['getfontstyle_44',['getFontStyle',['../classText.html#a86fd1927b692d6691c8dd3901b6f6e48',1,'Text']]], + ['getgradient_45',['getGradient',['../classSVGElement.html#a9b64e7697c24a6972aacb01b89c0e542',1,'SVGElement']]], + ['getgradients_46',['GetGradients',['../classParser.html#ac00eac6bf37c45c9160fa47700d2466f',1,'Parser']]], + ['getgradientstops_47',['getGradientStops',['../classParser.html#aca2ed5f466436a9e9f78618bb1e356fd',1,'Parser']]], + ['getheight_48',['getHeight',['../classRect.html#a418fffe5bb9368f4e158b63e13faba16',1,'Rect::getHeight()'],['../classViewBox.html#aac3bd2a53c8d01dab8b0830b3a241d8d',1,'ViewBox::getHeight()']]], + ['getinstance_49',['getInstance',['../classParser.html#a06952fa44f19fdb573c1355ac26454c5',1,'Parser::getInstance()'],['../classRenderer.html#ac1bf10ff8b4f967f0d416a26d482abd6',1,'Renderer::getInstance()'],['../classViewer.html#a8235c9da7e144d7139c91901c0051cd8',1,'Viewer::getInstance()']]], + ['getlength_50',['getLength',['../classLine.html#afe6672bc7667cf45739c46f9fc8cb237',1,'Line']]], + ['getmaxbound_51',['getMaxBound',['../classEll.html#a8a8dd2acc8c7be5580dd8e549d247525',1,'Ell::getMaxBound()'],['../classPolyShape.html#a6ddda72dc27d7aade0ed444a52d7689f',1,'PolyShape::getMaxBound()'],['../classSVGElement.html#a03ac231161d1d5062951fa3fca33a39b',1,'SVGElement::getMaxBound()']]], + ['getminbound_52',['getMinBound',['../classEll.html#ab79368df57ee08382916fc52b69afb85',1,'Ell::getMinBound()'],['../classPolyShape.html#a0ad83e0129196572f99302830e0c9049',1,'PolyShape::getMinBound()'],['../classSVGElement.html#a0cce88c48233f4da470daad2edab0d06',1,'SVGElement::getMinBound()']]], + ['getoffset_53',['getOffset',['../classStop.html#a60a63002485122f30a80e80220d99748',1,'Stop']]], + ['getoutlinecolor_54',['getOutlineColor',['../classSVGElement.html#a822191eb1d87545fe7bddbeb0ada3d1c',1,'SVGElement']]], + ['getoutlinethickness_55',['getOutlineThickness',['../classSVGElement.html#a2e4b1a48bfbc34a6a9f17bfd4b89eb51',1,'SVGElement']]], + ['getparent_56',['getParent',['../classSVGElement.html#a1b075314d4cda4fa895688979fe462fd',1,'SVGElement']]], + ['getpoints_57',['getPoints',['../classPath.html#a9d701e9231022249523970101bbc749c',1,'Path::getPoints()'],['../classGradient.html#aced479d6a10d2aa53e6d363e1df5dc08',1,'Gradient::getPoints()'],['../classPolyShape.html#a27704ef9fd50c041d1d233e9d99a4fd4',1,'PolyShape::getPoints()']]], + ['getposition_58',['getPosition',['../classSVGElement.html#a4e1ed8bb29fd4dbeb35471315976b3a2',1,'SVGElement']]], + ['getradius_59',['getRadius',['../classEll.html#a00d607a5238705b552ec61b4409b76c1',1,'Ell::getRadius()'],['../classRadialGradient.html#acfa8223581f3caf2db33c310cfa48d1d',1,'RadialGradient::getRadius()'],['../classRect.html#a31ca84cc8755233b5e61d22189f637b0',1,'Rect::getRadius()']]], + ['getroot_60',['getRoot',['../classParser.html#a59ed4455eaec306cde11939785c4e71a',1,'Parser']]], + ['getstops_61',['getStops',['../classGradient.html#a1125c4e5294389bb6698bf4fcb4f928d',1,'Gradient']]], + ['gettransformorder_62',['getTransformOrder',['../classParser.html#a99df58e649089762bf434502173716d6',1,'Parser']]], + ['gettransforms_63',['getTransforms',['../classGradient.html#adf0e8b360f2b8e6edc1059002f85b1c1',1,'Gradient::getTransforms()'],['../classSVGElement.html#a5f111964efd20e98eafafb3d168a1e87',1,'SVGElement::getTransforms()']]], + ['getunits_64',['getUnits',['../classGradient.html#a54cc5770c2dce46f1d56bcfb63285173',1,'Gradient']]], + ['getviewbox_65',['getViewBox',['../classParser.html#a231c2e522115ae9a4fd9629285ed28e1',1,'Parser']]], + ['getviewport_66',['getViewPort',['../classParser.html#a009fbe10a1b9b58a65be44634335a062',1,'Parser']]], + ['getwidth_67',['getWidth',['../classRect.html#a9c1dd853ea5df8e7c96a11bba72cc67a',1,'Rect::getWidth()'],['../classViewBox.html#aaedc3a475d3664ec7940ebf192d07b5b',1,'ViewBox::getWidth()']]], + ['getwindowsize_68',['getWindowSize',['../classViewer.html#aa8d0481396e20f1a8d4f6691ff0a67c1',1,'Viewer']]], + ['getx_69',['getX',['../classViewBox.html#a62e0eb37e6f49b008be683a9051857f1',1,'ViewBox']]], + ['gety_70',['getY',['../classViewBox.html#ace506c1585508555ebff5f834b13f74f',1,'ViewBox']]], + ['gradient_71',['gradient',['../classSVGElement.html#aab61149df9916892540627a0d7c4480c',1,'SVGElement']]], + ['gradient_72',['Gradient',['../classGradient.html',1,'Gradient'],['../classGradient.html#aa27206a9cc0adb5309a6db6dbd9d0257',1,'Gradient::Gradient()']]], + ['gradients_73',['gradients',['../classParser.html#a7f085da78317baf2cc61e6e92b4b29c8',1,'Parser']]], + ['green_74',['Green',['../classColorShape.html#a4bf7634a2b117e8867dfb4444962d66d',1,'ColorShape']]], + ['group_75',['Group',['../classGroup.html#a123cdaf1fb7cdf873740757d3864a4a6',1,'Group::Group(Attributes attributes)'],['../classGroup.html#a7b74f9ac68e0504ccf2e2854b7355ff1',1,'Group::Group()'],['../classGroup.html',1,'Group']]] ]; diff --git a/docs/search/all_7.js b/docs/search/all_7.js index 4e0b02f..e3ec43e 100644 --- a/docs/search/all_7.js +++ b/docs/search/all_7.js @@ -1,11 +1,12 @@ var searchData= [ - ['handlekeydown_73',['handleKeyDown',['../classViewer.html#a8bcd4fdeb5c26092d65fc14474afeb38',1,'Viewer']]], - ['handlekeyevent_74',['handleKeyEvent',['../classViewer.html#a643c2fc659f06f4d4bfcefbad22ebd75',1,'Viewer']]], - ['handleleftbuttondown_75',['handleLeftButtonDown',['../classViewer.html#a2b889c5d09c8577ad1580dd610ac5678',1,'Viewer']]], - ['handleleftbuttonup_76',['handleLeftButtonUp',['../classViewer.html#ae0c94514f0897aa84732024855520e28',1,'Viewer']]], - ['handlemouseevent_77',['handleMouseEvent',['../classViewer.html#acb15ba2e5d3bab2ba58da0db724b3bd1',1,'Viewer']]], - ['handlemousemove_78',['handleMouseMove',['../classViewer.html#a81a24ea13ee1e7e8c83be60672a7a11e',1,'Viewer']]], - ['handlemousewheel_79',['handleMouseWheel',['../classViewer.html#a940c6147b33b273afdff6eef7309d500',1,'Viewer']]], - ['height_80',['height',['../classRect.html#a31428cce67b56b6daf168131c7dbe1e8',1,'Rect']]] + ['h_76',['h',['../classViewBox.html#a384a7abdc93e514a24d4fdc266fa0a74',1,'ViewBox']]], + ['handlekeydown_77',['handleKeyDown',['../classViewer.html#a8bcd4fdeb5c26092d65fc14474afeb38',1,'Viewer']]], + ['handlekeyevent_78',['handleKeyEvent',['../classViewer.html#a643c2fc659f06f4d4bfcefbad22ebd75',1,'Viewer']]], + ['handleleftbuttondown_79',['handleLeftButtonDown',['../classViewer.html#a2b889c5d09c8577ad1580dd610ac5678',1,'Viewer']]], + ['handleleftbuttonup_80',['handleLeftButtonUp',['../classViewer.html#ae0c94514f0897aa84732024855520e28',1,'Viewer']]], + ['handlemouseevent_81',['handleMouseEvent',['../classViewer.html#acb15ba2e5d3bab2ba58da0db724b3bd1',1,'Viewer']]], + ['handlemousemove_82',['handleMouseMove',['../classViewer.html#a81a24ea13ee1e7e8c83be60672a7a11e',1,'Viewer']]], + ['handlemousewheel_83',['handleMouseWheel',['../classViewer.html#a940c6147b33b273afdff6eef7309d500',1,'Viewer']]], + ['height_84',['height',['../classRect.html#a31428cce67b56b6daf168131c7dbe1e8',1,'Rect']]] ]; diff --git a/docs/search/all_8.js b/docs/search/all_8.js index 954811c..f94a0b8 100644 --- a/docs/search/all_8.js +++ b/docs/search/all_8.js @@ -1,5 +1,5 @@ var searchData= [ - ['instance_81',['instance',['../classParser.html#ae3a28c02c18171f4e83fae54b9f21a90',1,'Parser::instance()'],['../classRenderer.html#a7431a2f9b03f35752e034410ffebfbe1',1,'Renderer::instance()'],['../classViewer.html#a53c3dca921442983d13f335d0e8a7e20',1,'Viewer::instance()']]], - ['is_5fdragging_82',['is_dragging',['../classViewer.html#a452e9dd05638bf3da01d8f51dba009a5',1,'Viewer']]] + ['instance_85',['instance',['../classParser.html#ae3a28c02c18171f4e83fae54b9f21a90',1,'Parser::instance()'],['../classRenderer.html#a7431a2f9b03f35752e034410ffebfbe1',1,'Renderer::instance()'],['../classViewer.html#a53c3dca921442983d13f335d0e8a7e20',1,'Viewer::instance()']]], + ['is_5fdragging_86',['is_dragging',['../classViewer.html#a452e9dd05638bf3da01d8f51dba009a5',1,'Viewer']]] ]; diff --git a/docs/search/all_9.js b/docs/search/all_9.js index 5cd89d7..51d1a94 100644 --- a/docs/search/all_9.js +++ b/docs/search/all_9.js @@ -1,6 +1,7 @@ var searchData= [ - ['last_5fmouse_5fpos_83',['last_mouse_pos',['../classViewer.html#a77bc329e7ae0aecaf60a4de4f8dcc037',1,'Viewer']]], - ['line_84',['Line',['../classLine.html',1,'Line'],['../classLine.html#ab6e165ec2c3f412d5e5a860b28a52b4c',1,'Line::Line()']]], - ['lineargradient_85',['LinearGradient',['../classLinearGradient.html',1,'LinearGradient'],['../classLinearGradient.html#aaa0260244d818cd9d1180cb2697cc83b',1,'LinearGradient::LinearGradient()']]] + ['large_5farc_5fflag_87',['large_arc_flag',['../structPathPoint.html#a35cbe9f919695a09f5c881618f5fa0f9',1,'PathPoint']]], + ['last_5fmouse_5fpos_88',['last_mouse_pos',['../classViewer.html#a77bc329e7ae0aecaf60a4de4f8dcc037',1,'Viewer']]], + ['line_89',['Line',['../classLine.html',1,'Line'],['../classLine.html#abef476564dc2f7dad7259ee5071301fa',1,'Line::Line()']]], + ['lineargradient_90',['LinearGradient',['../classLinearGradient.html',1,'LinearGradient'],['../classLinearGradient.html#aaa0260244d818cd9d1180cb2697cc83b',1,'LinearGradient::LinearGradient()']]] ]; diff --git a/docs/search/all_a.js b/docs/search/all_a.js index b865655..cb58d6e 100644 --- a/docs/search/all_a.js +++ b/docs/search/all_a.js @@ -1,5 +1,4 @@ var searchData= [ - ['magenta_86',['Magenta',['../classmColor.html#a777df695011fdb21f6b5d3e6745389c4',1,'mColor']]], - ['mcolor_87',['mColor',['../classmColor.html',1,'mColor'],['../classmColor.html#a9b1702a679c1c5f649787fe15d8b016a',1,'mColor::mColor()'],['../classmColor.html#a4376ef67b23a45be81daeecbfef1b2c3',1,'mColor::mColor(int red, int green, int blue, int alpha=255)'],['../classmColor.html#a8df59e284c6211d66b05fab14d726a5e',1,'mColor::mColor(int color)']]] + ['magenta_91',['Magenta',['../classColorShape.html#a8132294eb978dd065d7da6896d7782af',1,'ColorShape']]] ]; diff --git a/docs/search/all_b.js b/docs/search/all_b.js index d54c9f5..74b5609 100644 --- a/docs/search/all_b.js +++ b/docs/search/all_b.js @@ -1,4 +1,4 @@ var searchData= [ - ['needs_5frepaint_88',['needs_repaint',['../classViewer.html#a59a507a835919e78114601d5bd1784e6',1,'Viewer']]] + ['needs_5frepaint_92',['needs_repaint',['../classViewer.html#a59a507a835919e78114601d5bd1784e6',1,'Viewer']]] ]; diff --git a/docs/search/all_c.js b/docs/search/all_c.js index b5aeee6..a821930 100644 --- a/docs/search/all_c.js +++ b/docs/search/all_c.js @@ -1,8 +1,8 @@ var searchData= [ - ['offset_89',['offset',['../classStop.html#a2b6aaf0f14507df64c6bbd99043ad44b',1,'Stop']]], - ['offset_5fx_90',['offset_x',['../classViewer.html#a3e16ebbf5c0ed98dc75fe2c4d46fe0d5',1,'Viewer']]], - ['offset_5fy_91',['offset_y',['../classViewer.html#a30b0f57907c82de620339e105f9a3c5b',1,'Viewer']]], - ['operator_3c_3c_92',['operator<<',['../classmColor.html#a1887c93301ffe92701baf17d6af3418e',1,'mColor']]], - ['operator_3d_93',['operator=',['../classRenderer.html#aa42607899757d0a1c5e8fe0aa4cb5a7f',1,'Renderer::operator=()'],['../classViewer.html#a3d14cceacd94622e6b9d5d71bfb5b64f',1,'Viewer::operator=()']]] + ['offset_93',['offset',['../classStop.html#a2b6aaf0f14507df64c6bbd99043ad44b',1,'Stop']]], + ['offset_5fx_94',['offset_x',['../classViewer.html#a3e16ebbf5c0ed98dc75fe2c4d46fe0d5',1,'Viewer']]], + ['offset_5fy_95',['offset_y',['../classViewer.html#a30b0f57907c82de620339e105f9a3c5b',1,'Viewer']]], + ['operator_3c_3c_96',['operator<<',['../classColorShape.html#ab1838d64491c21fc854c50b7b1d2fd44',1,'ColorShape']]], + ['operator_3d_97',['operator=',['../classRenderer.html#aa42607899757d0a1c5e8fe0aa4cb5a7f',1,'Renderer::operator=()'],['../classViewer.html#a3d14cceacd94622e6b9d5d71bfb5b64f',1,'Viewer::operator=()']]] ]; diff --git a/docs/search/all_d.js b/docs/search/all_d.js index d8f9890..d47a88d 100644 --- a/docs/search/all_d.js +++ b/docs/search/all_d.js @@ -1,28 +1,29 @@ var searchData= [ - ['parent_94',['parent',['../classSVGElement.html#adee748c3014de1c1ebd20411a52e824a',1,'SVGElement']]], - ['parsecircle_95',['parseCircle',['../classParser.html#ab7776f740b7d63c388a086c8b8ecccd0',1,'Parser']]], - ['parsecolor_96',['parseColor',['../classParser.html#a18d5a9aa35bd124023a060940486e183',1,'Parser']]], - ['parseelements_97',['parseElements',['../classParser.html#aaf9f19591ff93f0c0c2fd68955e4a4af',1,'Parser']]], - ['parseellipse_98',['parseEllipse',['../classParser.html#a0af0085ee5e20739bdf23a5b685642b6',1,'Parser']]], - ['parsegradient_99',['parseGradient',['../classParser.html#ac1e519500fce1b4192362ed1aa5ccbc3',1,'Parser']]], - ['parseline_100',['parseLine',['../classParser.html#a95e84ae219109769fae08702381acf78',1,'Parser']]], - ['parsepath_101',['parsePath',['../classParser.html#a6f80728e7a771d2653baf1b453b655d9',1,'Parser']]], - ['parsepathpoints_102',['parsePathPoints',['../classParser.html#aecea54d6bc1ff225a6ac450ccbb560c3',1,'Parser']]], - ['parsepoints_103',['parsePoints',['../classParser.html#af408a2ef7b27ceed0547093d73e6b2eb',1,'Parser']]], - ['parsepolygon_104',['parsePolygon',['../classParser.html#a7afd52c648dc5983e596edfa7eb6bbb5',1,'Parser']]], - ['parsepolyline_105',['parsePolyline',['../classParser.html#a03766f0f9f6ebdead0474973d3ac50aa',1,'Parser']]], - ['parser_106',['Parser',['../classParser.html#a350fc3e35535c5891cd9e36e79ee546a',1,'Parser::Parser(const std::string &file_name)'],['../classParser.html#a48044a8caa14a251cb4dad9fb363658e',1,'Parser::Parser(const Parser &)=delete'],['../classParser.html',1,'Parser']]], - ['parserect_107',['parseRect',['../classParser.html#a20352ab58a59e61f6da1b4d20861907d',1,'Parser']]], - ['parseshape_108',['parseShape',['../classParser.html#abfd09c5dd46fb0dc9bcd9106857dbf5e',1,'Parser']]], - ['parsetext_109',['parseText',['../classParser.html#a539bda46a2832a22741105c9299c12cb',1,'Parser']]], - ['path_110',['Path',['../classPath.html#a089f2f59cc5574ce9e93826891044378',1,'Path::Path()'],['../classPath.html',1,'Path']]], - ['pathpoint_111',['PathPoint',['../structPathPoint.html',1,'']]], - ['plygon_112',['Plygon',['../classPlygon.html',1,'Plygon'],['../classPlygon.html#ac3f4fb224f4f84c3bd6e41093cd847cd',1,'Plygon::Plygon()']]], - ['plyline_113',['Plyline',['../classPlyline.html',1,'Plyline'],['../classPlyline.html#a8bf7677d7adb76f146607ef1aaa49bd3',1,'Plyline::Plyline()']]], - ['points_114',['points',['../classGradient.html#a8da859d1b12459800e763c31f18d0d41',1,'Gradient::points()'],['../classPath.html#a1880b844baafdeca91a7cf5d155cf9f1',1,'Path::points()'],['../classPolyShape.html#acbd1d536ad25e34b160e849a0fc12697',1,'PolyShape::points()']]], - ['polyshape_115',['PolyShape',['../classPolyShape.html#a6fd054647bea080272ed79bbea7080ac',1,'PolyShape::PolyShape()'],['../classPolyShape.html',1,'PolyShape']]], - ['position_116',['position',['../classSVGElement.html#acf9b9906b6d0cba8bb5c0b38b032e40f',1,'SVGElement']]], - ['printdata_117',['printData',['../classEll.html#a1d6d60039d2405f2b7aa117206d128fb',1,'Ell::printData()'],['../classGroup.html#a42fa18c4215ad3669db32b78e22303fa',1,'Group::printData()'],['../classPath.html#a3d2df8f3367db525772586065e16151e',1,'Path::printData()'],['../classPolyShape.html#a40a83ac567156de6da65adb1a4380c7c',1,'PolyShape::printData()'],['../classRect.html#a66351fe7a171c2b3ed5f4bdf8d6661ba',1,'Rect::printData()'],['../classSVGElement.html#ad4bcd981ae7431161013811024b452e1',1,'SVGElement::printData()'],['../classText.html#a40e38d59ba9b34df9900375409f6f03f',1,'Text::printData()']]], - ['printshapesdata_118',['printShapesData',['../classParser.html#a3d8927f2e26abf6a63bd850c154b23c6',1,'Parser']]] + ['parent_98',['parent',['../classSVGElement.html#adee748c3014de1c1ebd20411a52e824a',1,'SVGElement']]], + ['parsecircle_99',['parseCircle',['../classParser.html#af634ef273fb8c221a832688c19244adf',1,'Parser']]], + ['parsecolor_100',['parseColor',['../classParser.html#a2e5e2efef794624abaa9bf390e234950',1,'Parser']]], + ['parseelements_101',['parseElements',['../classParser.html#aaf9f19591ff93f0c0c2fd68955e4a4af',1,'Parser']]], + ['parseellipse_102',['parseEllipse',['../classParser.html#aa2249c02eee1ce310158a3450450ff3e',1,'Parser']]], + ['parsegradient_103',['parseGradient',['../classParser.html#ac1e519500fce1b4192362ed1aa5ccbc3',1,'Parser']]], + ['parseline_104',['parseLine',['../classParser.html#a741b866e359471784380c23c5b71d9da',1,'Parser']]], + ['parsepath_105',['parsePath',['../classParser.html#af4b65cb5b02ac856daba07387f67c6aa',1,'Parser']]], + ['parsepathpoints_106',['parsePathPoints',['../classParser.html#aecea54d6bc1ff225a6ac450ccbb560c3',1,'Parser']]], + ['parsepoints_107',['parsePoints',['../classParser.html#af408a2ef7b27ceed0547093d73e6b2eb',1,'Parser']]], + ['parsepolygon_108',['parsePolygon',['../classParser.html#a3df3464ed7cfc97fd85ec2ff89e64359',1,'Parser']]], + ['parsepolyline_109',['parsePolyline',['../classParser.html#a5dd4328e960681889155a13f699200ce',1,'Parser']]], + ['parser_110',['Parser',['../classParser.html#a350fc3e35535c5891cd9e36e79ee546a',1,'Parser::Parser(const std::string &file_name)'],['../classParser.html#a48044a8caa14a251cb4dad9fb363658e',1,'Parser::Parser(const Parser &)=delete'],['../classParser.html',1,'Parser']]], + ['parserect_111',['parseRect',['../classParser.html#ad7063613f30bc89a4a9197cd664fe9d4',1,'Parser']]], + ['parseshape_112',['parseShape',['../classParser.html#abfd09c5dd46fb0dc9bcd9106857dbf5e',1,'Parser']]], + ['parsetext_113',['parseText',['../classParser.html#a9ed27a4ee0360f437acb83553dd76c9f',1,'Parser']]], + ['path_114',['Path',['../classPath.html#ad8dab023d3009f51f001fb930c2334c2',1,'Path::Path()'],['../classPath.html',1,'Path']]], + ['pathpoint_115',['PathPoint',['../structPathPoint.html',1,'']]], + ['plygon_116',['Plygon',['../classPlygon.html',1,'Plygon'],['../classPlygon.html#ade144fd5857f80e3b345e2ba538b017d',1,'Plygon::Plygon()']]], + ['plyline_117',['Plyline',['../classPlyline.html',1,'Plyline'],['../classPlyline.html#a248be9e58f3122f28c3828ed178ab863',1,'Plyline::Plyline()']]], + ['point_118',['point',['../structPathPoint.html#a95cecf76150d2bb4a6b6b7875693ca69',1,'PathPoint']]], + ['points_119',['points',['../classGradient.html#a8da859d1b12459800e763c31f18d0d41',1,'Gradient::points()'],['../classPath.html#a1880b844baafdeca91a7cf5d155cf9f1',1,'Path::points()'],['../classPolyShape.html#acbd1d536ad25e34b160e849a0fc12697',1,'PolyShape::points()']]], + ['polyshape_120',['PolyShape',['../classPolyShape.html#acd2f2ae8470d1c92704bfba9fbdbae45',1,'PolyShape::PolyShape()'],['../classPolyShape.html',1,'PolyShape']]], + ['position_121',['position',['../classSVGElement.html#acf9b9906b6d0cba8bb5c0b38b032e40f',1,'SVGElement']]], + ['printdata_122',['printData',['../classEll.html#a1d6d60039d2405f2b7aa117206d128fb',1,'Ell::printData()'],['../classGroup.html#a42fa18c4215ad3669db32b78e22303fa',1,'Group::printData()'],['../classPath.html#a3d2df8f3367db525772586065e16151e',1,'Path::printData()'],['../classPolyShape.html#a40a83ac567156de6da65adb1a4380c7c',1,'PolyShape::printData()'],['../classRect.html#a66351fe7a171c2b3ed5f4bdf8d6661ba',1,'Rect::printData()'],['../classSVGElement.html#ad4bcd981ae7431161013811024b452e1',1,'SVGElement::printData()'],['../classText.html#a40e38d59ba9b34df9900375409f6f03f',1,'Text::printData()']]], + ['printshapesdata_123',['printShapesData',['../classParser.html#a3d8927f2e26abf6a63bd850c154b23c6',1,'Parser']]] ]; diff --git a/docs/search/all_e.js b/docs/search/all_e.js index 374fdfe..d9fc97c 100644 --- a/docs/search/all_e.js +++ b/docs/search/all_e.js @@ -1,11 +1,11 @@ var searchData= [ - ['r_119',['r',['../classmColor.html#a427453d377b30c62f7d25f47120959d6',1,'mColor']]], - ['radialgradient_120',['RadialGradient',['../classRadialGradient.html',1,'RadialGradient'],['../classRadialGradient.html#a656e8c8a107f28a06c356a3ad1a4827c',1,'RadialGradient::RadialGradient()']]], - ['radius_121',['radius',['../classEll.html#af57a48abe0e2bc8806e73dfa7762388f',1,'Ell::radius()'],['../classRadialGradient.html#abad9345ee5091075d8fc1b7a3511dbd7',1,'RadialGradient::radius()'],['../classRect.html#a7857e3568d2a2a35bf0c6b28028005b5',1,'Rect::radius()']]], - ['rect_122',['Rect',['../classRect.html',1,'Rect'],['../classRect.html#ad52d66e844d848d0e95f744b697e7beb',1,'Rect::Rect()']]], - ['red_123',['Red',['../classmColor.html#aa0fc6fe3033f7ff2806c59e39c072dbc',1,'mColor']]], - ['renderer_124',['Renderer',['../classRenderer.html',1,'Renderer'],['../classRenderer.html#a8c6e15f666cb188a936004add75e6c6b',1,'Renderer::Renderer(const Renderer &)=delete'],['../classRenderer.html#a7ebf46f54dab9905f79b80f7fddb76a6',1,'Renderer::Renderer()']]], - ['root_125',['root',['../classParser.html#a13a5e2fdac62670c1584de1edbba77f2',1,'Parser']]], - ['rotate_5fangle_126',['rotate_angle',['../classViewer.html#a82dfd34668f986b72e51ee86d4029fc6',1,'Viewer']]] + ['r_124',['r',['../classColorShape.html#a7e699ac932feca73128bb768047c154b',1,'ColorShape']]], + ['radialgradient_125',['RadialGradient',['../classRadialGradient.html',1,'RadialGradient'],['../classRadialGradient.html#a656e8c8a107f28a06c356a3ad1a4827c',1,'RadialGradient::RadialGradient()']]], + ['radius_126',['radius',['../classEll.html#af57a48abe0e2bc8806e73dfa7762388f',1,'Ell::radius()'],['../structPathPoint.html#a6646f1aa8bba6735d4b4d794ef86a786',1,'PathPoint::radius()'],['../classRadialGradient.html#abad9345ee5091075d8fc1b7a3511dbd7',1,'RadialGradient::radius()'],['../classRect.html#a7857e3568d2a2a35bf0c6b28028005b5',1,'Rect::radius()']]], + ['rect_127',['Rect',['../classRect.html',1,'Rect'],['../classRect.html#ab8ceb8946210a2779862a66ad8d43397',1,'Rect::Rect()']]], + ['red_128',['Red',['../classColorShape.html#a58f7532025f1f7715f13ebfc5586b08c',1,'ColorShape']]], + ['renderer_129',['Renderer',['../classRenderer.html',1,'Renderer'],['../classRenderer.html#a8c6e15f666cb188a936004add75e6c6b',1,'Renderer::Renderer(const Renderer &)=delete'],['../classRenderer.html#a7ebf46f54dab9905f79b80f7fddb76a6',1,'Renderer::Renderer()']]], + ['root_130',['root',['../classParser.html#a13a5e2fdac62670c1584de1edbba77f2',1,'Parser']]], + ['rotate_5fangle_131',['rotate_angle',['../classViewer.html#a82dfd34668f986b72e51ee86d4029fc6',1,'Viewer']]] ]; diff --git a/docs/search/all_f.js b/docs/search/all_f.js index 5d4f73f..52aaebc 100644 --- a/docs/search/all_f.js +++ b/docs/search/all_f.js @@ -1,27 +1,28 @@ var searchData= [ - ['setanchor_127',['setAnchor',['../classText.html#aa503905beb9dddf11c9c579424d0a84f',1,'Text']]], - ['setcontent_128',['setContent',['../classText.html#a12e8ae19a8e677eb6f1c2dc2716dcab0',1,'Text']]], - ['setdirection_129',['setDirection',['../classLine.html#ab46a879365e623e8b360c2db54d76782',1,'Line']]], - ['setfillcolor_130',['setFillColor',['../classSVGElement.html#abf7eef6d09fedba0d0f50a0f1a4be2fb',1,'SVGElement']]], - ['setfillrule_131',['setFillRule',['../classPath.html#ad2ba583a2dd567c3295ea62817b541e9',1,'Path::setFillRule()'],['../classPolyShape.html#a0c918fe8d9df68573a1c0d6e18bc6c9a',1,'PolyShape::setFillRule()']]], - ['setfontsize_132',['setFontSize',['../classText.html#a6a04680d93c625645278b1d1111420bb',1,'Text']]], - ['setfontstyle_133',['setFontStyle',['../classText.html#a4f24f78f8a962e758b70c5d9fd85b7cb',1,'Text']]], - ['setgradient_134',['setGradient',['../classSVGElement.html#a312b6aa934488672585c7e9d858300f8',1,'SVGElement']]], - ['setheight_135',['setHeight',['../classRect.html#a964a6107f787f612798bda5c0423fb5b',1,'Rect']]], - ['setoutlinecolor_136',['setOutlineColor',['../classSVGElement.html#ac0cc2f6d2e01d364a695bebaa7db18d2',1,'SVGElement']]], - ['setoutlinethickness_137',['setOutlineThickness',['../classSVGElement.html#a88653ebe8b92ec881ab436ea968375a8',1,'SVGElement']]], - ['setparent_138',['setParent',['../classSVGElement.html#a43b3bf06fae88a1634a189272088d11d',1,'SVGElement']]], - ['setposition_139',['setPosition',['../classSVGElement.html#aec8a2f582f21a559c05d791e017efbd5',1,'SVGElement::setPosition(const Vector2Df &position)'],['../classSVGElement.html#a77aefe4b7e9dbf180cc531c969d0116d',1,'SVGElement::setPosition(float x, float y)']]], - ['setradius_140',['setRadius',['../classEll.html#a9f67131ba02c02fccf42c52f5f04525e',1,'Ell::setRadius()'],['../classRect.html#a28b51c4f99cfa0208a2a5cef350c2a5e',1,'Rect::setRadius()']]], - ['settransforms_141',['setTransforms',['../classGradient.html#ae2afa93bd9b6759f5fe625065301d3d9',1,'Gradient::setTransforms()'],['../classSVGElement.html#a00fef2ebc5df4838b3f9bd7111b117c5',1,'SVGElement::setTransforms()']]], - ['setunits_142',['setUnits',['../classGradient.html#a61dd624d452ab2afe913414158888165',1,'Gradient']]], - ['setwidth_143',['setWidth',['../classRect.html#ae11a39d12f7a766f773e662b0830848d',1,'Rect']]], - ['shapes_144',['shapes',['../classGroup.html#a6ff10d6fceb2a78103db2d9783de6f41',1,'Group']]], - ['stop_145',['Stop',['../classStop.html#a3ad6054f4ecb97b3fc68595b744f8d54',1,'Stop::Stop()'],['../classStop.html',1,'Stop']]], - ['stops_146',['stops',['../classGradient.html#a7831fa94135c818481ef7c85f792e1ca',1,'Gradient']]], - ['stroke_147',['stroke',['../classSVGElement.html#aab937dcb566cd83d94d00d69b4083f13',1,'SVGElement']]], - ['stroke_5fwidth_148',['stroke_width',['../classSVGElement.html#a88449b487a890e3765ae20e96ee95c06',1,'SVGElement']]], - ['style_149',['style',['../classText.html#a12ee81ccf865a414867d4101c8dbbdb2',1,'Text']]], - ['svgelement_150',['SVGElement',['../classSVGElement.html#a6ed48bcc78dd62e3da256ddbd103ccd1',1,'SVGElement::SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)'],['../classSVGElement.html#a1a43e7717c20d50fd1990b592499fdba',1,'SVGElement::SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)'],['../classSVGElement.html#ad30205005009d2ba4820d3ce372e81ea',1,'SVGElement::SVGElement()'],['../classSVGElement.html',1,'SVGElement']]] + ['setanchor_132',['setAnchor',['../classText.html#aa503905beb9dddf11c9c579424d0a84f',1,'Text']]], + ['setcontent_133',['setContent',['../classText.html#a12e8ae19a8e677eb6f1c2dc2716dcab0',1,'Text']]], + ['setdirection_134',['setDirection',['../classLine.html#ab46a879365e623e8b360c2db54d76782',1,'Line']]], + ['setfillcolor_135',['setFillColor',['../classSVGElement.html#ab0c42c2caee0d6285101c5284eccb98d',1,'SVGElement']]], + ['setfillrule_136',['setFillRule',['../classPath.html#ad2ba583a2dd567c3295ea62817b541e9',1,'Path::setFillRule()'],['../classPolyShape.html#a0c918fe8d9df68573a1c0d6e18bc6c9a',1,'PolyShape::setFillRule()']]], + ['setfontsize_137',['setFontSize',['../classText.html#a6a04680d93c625645278b1d1111420bb',1,'Text']]], + ['setfontstyle_138',['setFontStyle',['../classText.html#a4f24f78f8a962e758b70c5d9fd85b7cb',1,'Text']]], + ['setgradient_139',['setGradient',['../classSVGElement.html#a312b6aa934488672585c7e9d858300f8',1,'SVGElement']]], + ['setheight_140',['setHeight',['../classRect.html#a964a6107f787f612798bda5c0423fb5b',1,'Rect']]], + ['setoutlinecolor_141',['setOutlineColor',['../classSVGElement.html#ad0bd6c4c9981c241f5d853d4334c6e8e',1,'SVGElement']]], + ['setoutlinethickness_142',['setOutlineThickness',['../classSVGElement.html#a88653ebe8b92ec881ab436ea968375a8',1,'SVGElement']]], + ['setparent_143',['setParent',['../classSVGElement.html#a43b3bf06fae88a1634a189272088d11d',1,'SVGElement']]], + ['setposition_144',['setPosition',['../classSVGElement.html#aec8a2f582f21a559c05d791e017efbd5',1,'SVGElement::setPosition(const Vector2Df &position)'],['../classSVGElement.html#a77aefe4b7e9dbf180cc531c969d0116d',1,'SVGElement::setPosition(float x, float y)']]], + ['setradius_145',['setRadius',['../classEll.html#a9f67131ba02c02fccf42c52f5f04525e',1,'Ell::setRadius()'],['../classRect.html#a28b51c4f99cfa0208a2a5cef350c2a5e',1,'Rect::setRadius()']]], + ['settransforms_146',['setTransforms',['../classGradient.html#ae2afa93bd9b6759f5fe625065301d3d9',1,'Gradient::setTransforms()'],['../classSVGElement.html#a00fef2ebc5df4838b3f9bd7111b117c5',1,'SVGElement::setTransforms()']]], + ['setunits_147',['setUnits',['../classGradient.html#a61dd624d452ab2afe913414158888165',1,'Gradient']]], + ['setwidth_148',['setWidth',['../classRect.html#ae11a39d12f7a766f773e662b0830848d',1,'Rect']]], + ['shapes_149',['shapes',['../classGroup.html#a6ff10d6fceb2a78103db2d9783de6f41',1,'Group']]], + ['stop_150',['Stop',['../classStop.html#a8d3f4b236f80f256029cf1e0b7417d3e',1,'Stop::Stop()'],['../classStop.html',1,'Stop']]], + ['stops_151',['stops',['../classGradient.html#a7831fa94135c818481ef7c85f792e1ca',1,'Gradient']]], + ['stroke_152',['stroke',['../classSVGElement.html#aab842e97c5d24c964607a6d6efa061f8',1,'SVGElement']]], + ['stroke_5fwidth_153',['stroke_width',['../classSVGElement.html#a88449b487a890e3765ae20e96ee95c06',1,'SVGElement']]], + ['style_154',['style',['../classText.html#a12ee81ccf865a414867d4101c8dbbdb2',1,'Text']]], + ['svgelement_155',['SVGElement',['../classSVGElement.html',1,'SVGElement'],['../classSVGElement.html#a80a98bd44871326e30dbcd6ad6e40f57',1,'SVGElement::SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)'],['../classSVGElement.html#ae0d0973f5314576af10f304a0fb4b772',1,'SVGElement::SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)'],['../classSVGElement.html#ad30205005009d2ba4820d3ce372e81ea',1,'SVGElement::SVGElement()']]], + ['sweep_5fflag_156',['sweep_flag',['../structPathPoint.html#ace50ee641dc2747418072f50b445dd53',1,'PathPoint']]] ]; diff --git a/docs/search/classes_0.js b/docs/search/classes_0.js index 02ed3ed..2ea0d5a 100644 --- a/docs/search/classes_0.js +++ b/docs/search/classes_0.js @@ -1,4 +1,5 @@ var searchData= [ - ['circle_172',['Circle',['../classCircle.html',1,'']]] + ['circle_182',['Circle',['../classCircle.html',1,'']]], + ['colorshape_183',['ColorShape',['../classColorShape.html',1,'']]] ]; diff --git a/docs/search/classes_1.js b/docs/search/classes_1.js index a014cbd..696e8c8 100644 --- a/docs/search/classes_1.js +++ b/docs/search/classes_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['ell_173',['Ell',['../classEll.html',1,'']]] + ['ell_184',['Ell',['../classEll.html',1,'']]] ]; diff --git a/docs/search/classes_2.js b/docs/search/classes_2.js index f361850..0a5f78c 100644 --- a/docs/search/classes_2.js +++ b/docs/search/classes_2.js @@ -1,5 +1,5 @@ var searchData= [ - ['gradient_174',['Gradient',['../classGradient.html',1,'']]], - ['group_175',['Group',['../classGroup.html',1,'']]] + ['gradient_185',['Gradient',['../classGradient.html',1,'']]], + ['group_186',['Group',['../classGroup.html',1,'']]] ]; diff --git a/docs/search/classes_3.js b/docs/search/classes_3.js index 74ac69e..f45e013 100644 --- a/docs/search/classes_3.js +++ b/docs/search/classes_3.js @@ -1,5 +1,5 @@ var searchData= [ - ['line_176',['Line',['../classLine.html',1,'']]], - ['lineargradient_177',['LinearGradient',['../classLinearGradient.html',1,'']]] + ['line_187',['Line',['../classLine.html',1,'']]], + ['lineargradient_188',['LinearGradient',['../classLinearGradient.html',1,'']]] ]; diff --git a/docs/search/classes_4.js b/docs/search/classes_4.js index bda7f51..466b991 100644 --- a/docs/search/classes_4.js +++ b/docs/search/classes_4.js @@ -1,4 +1,9 @@ var searchData= [ - ['mcolor_178',['mColor',['../classmColor.html',1,'']]] + ['parser_189',['Parser',['../classParser.html',1,'']]], + ['path_190',['Path',['../classPath.html',1,'']]], + ['pathpoint_191',['PathPoint',['../structPathPoint.html',1,'']]], + ['plygon_192',['Plygon',['../classPlygon.html',1,'']]], + ['plyline_193',['Plyline',['../classPlyline.html',1,'']]], + ['polyshape_194',['PolyShape',['../classPolyShape.html',1,'']]] ]; diff --git a/docs/search/classes_5.js b/docs/search/classes_5.js index be37f8a..7f1d13e 100644 --- a/docs/search/classes_5.js +++ b/docs/search/classes_5.js @@ -1,9 +1,6 @@ var searchData= [ - ['parser_179',['Parser',['../classParser.html',1,'']]], - ['path_180',['Path',['../classPath.html',1,'']]], - ['pathpoint_181',['PathPoint',['../structPathPoint.html',1,'']]], - ['plygon_182',['Plygon',['../classPlygon.html',1,'']]], - ['plyline_183',['Plyline',['../classPlyline.html',1,'']]], - ['polyshape_184',['PolyShape',['../classPolyShape.html',1,'']]] + ['radialgradient_195',['RadialGradient',['../classRadialGradient.html',1,'']]], + ['rect_196',['Rect',['../classRect.html',1,'']]], + ['renderer_197',['Renderer',['../classRenderer.html',1,'']]] ]; diff --git a/docs/search/classes_6.js b/docs/search/classes_6.js index 5285182..351561f 100644 --- a/docs/search/classes_6.js +++ b/docs/search/classes_6.js @@ -1,6 +1,5 @@ var searchData= [ - ['radialgradient_185',['RadialGradient',['../classRadialGradient.html',1,'']]], - ['rect_186',['Rect',['../classRect.html',1,'']]], - ['renderer_187',['Renderer',['../classRenderer.html',1,'']]] + ['stop_198',['Stop',['../classStop.html',1,'']]], + ['svgelement_199',['SVGElement',['../classSVGElement.html',1,'']]] ]; diff --git a/docs/search/classes_7.js b/docs/search/classes_7.js index be6044c..e1b091f 100644 --- a/docs/search/classes_7.js +++ b/docs/search/classes_7.js @@ -1,5 +1,4 @@ var searchData= [ - ['stop_188',['Stop',['../classStop.html',1,'']]], - ['svgelement_189',['SVGElement',['../classSVGElement.html',1,'']]] + ['text_200',['Text',['../classText.html',1,'']]] ]; diff --git a/docs/search/classes_8.js b/docs/search/classes_8.js index 48a6478..7e46f66 100644 --- a/docs/search/classes_8.js +++ b/docs/search/classes_8.js @@ -1,4 +1,7 @@ var searchData= [ - ['text_190',['Text',['../classText.html',1,'']]] + ['vector2d_201',['Vector2D',['../classVector2D.html',1,'']]], + ['vector2d_3c_20float_20_3e_202',['Vector2D< float >',['../classVector2D.html',1,'']]], + ['viewbox_203',['ViewBox',['../classViewBox.html',1,'']]], + ['viewer_204',['Viewer',['../classViewer.html',1,'']]] ]; diff --git a/docs/search/functions_0.js b/docs/search/functions_0.js index 00e41cf..131668b 100644 --- a/docs/search/functions_0.js +++ b/docs/search/functions_0.js @@ -1,8 +1,8 @@ var searchData= [ - ['addelement_194',['addElement',['../classGroup.html#af4dafed0506ca5e9ea9e1028b1504919',1,'Group::addElement()'],['../classSVGElement.html#af699f9aa795572c2873e520849579881',1,'SVGElement::addElement()']]], - ['addpoint_195',['addPoint',['../classPath.html#ad4273c2a1b288fe43dd86375afc16f66',1,'Path::addPoint()'],['../classPolyShape.html#a3a5e4952aff469f241ee1c9b92833f55',1,'PolyShape::addPoint()']]], - ['addstop_196',['addStop',['../classGradient.html#a44218bd3fb347f4c269f1f2795fb77d5',1,'Gradient']]], - ['applytransform_197',['applyTransform',['../classRenderer.html#a8d159bc1ea8f4152339d6c5eead27e45',1,'Renderer']]], - ['applytransformsonbrush_198',['applyTransformsOnBrush',['../classRenderer.html#a33a87db2173a7509be2d60fcffff9058',1,'Renderer::applyTransformsOnBrush(std::vector< std::string > transform_order, Gdiplus::LinearGradientBrush *&brush) const'],['../classRenderer.html#a578e046986da5ec2585ce106562c3de3',1,'Renderer::applyTransformsOnBrush(std::vector< std::string > transform_order, Gdiplus::PathGradientBrush *&brush) const']]] + ['addelement_205',['addElement',['../classGroup.html#af4dafed0506ca5e9ea9e1028b1504919',1,'Group::addElement()'],['../classSVGElement.html#af699f9aa795572c2873e520849579881',1,'SVGElement::addElement()']]], + ['addpoint_206',['addPoint',['../classPath.html#ad4273c2a1b288fe43dd86375afc16f66',1,'Path::addPoint()'],['../classPolyShape.html#a3a5e4952aff469f241ee1c9b92833f55',1,'PolyShape::addPoint()']]], + ['addstop_207',['addStop',['../classGradient.html#a44218bd3fb347f4c269f1f2795fb77d5',1,'Gradient']]], + ['applytransform_208',['applyTransform',['../classRenderer.html#a8d159bc1ea8f4152339d6c5eead27e45',1,'Renderer']]], + ['applytransformsonbrush_209',['applyTransformsOnBrush',['../classRenderer.html#a33a87db2173a7509be2d60fcffff9058',1,'Renderer::applyTransformsOnBrush(std::vector< std::string > transform_order, Gdiplus::LinearGradientBrush *&brush) const'],['../classRenderer.html#a578e046986da5ec2585ce106562c3de3',1,'Renderer::applyTransformsOnBrush(std::vector< std::string > transform_order, Gdiplus::PathGradientBrush *&brush) const']]] ]; diff --git a/docs/search/functions_1.js b/docs/search/functions_1.js index 802d67b..16ac0fb 100644 --- a/docs/search/functions_1.js +++ b/docs/search/functions_1.js @@ -1,4 +1,5 @@ var searchData= [ - ['circle_199',['Circle',['../classCircle.html#a5d018c51bfa1fa3d1081e3deef5eddc0',1,'Circle']]] + ['circle_210',['Circle',['../classCircle.html#ace05db36eae5455a95be7aaff49d1fd9',1,'Circle']]], + ['colorshape_211',['ColorShape',['../classColorShape.html#a4bf0a3d5e75871a83d9999a5d18257e1',1,'ColorShape::ColorShape()'],['../classColorShape.html#a527e9e54f88c2e84fe596afa7c86f302',1,'ColorShape::ColorShape(int red, int green, int blue, int alpha=255)'],['../classColorShape.html#ab15a58a6fa914cf71829db2075b20ef6',1,'ColorShape::ColorShape(int color)']]] ]; diff --git a/docs/search/functions_2.js b/docs/search/functions_2.js index 4d907a3..aa4d210 100644 --- a/docs/search/functions_2.js +++ b/docs/search/functions_2.js @@ -1,12 +1,12 @@ var searchData= [ - ['draw_200',['draw',['../classRenderer.html#a1fac47f9b1c4c3fb1151f2b6ecb282f6',1,'Renderer']]], - ['drawcircle_201',['drawCircle',['../classRenderer.html#a9b5ca422ec7f1328d854cc4bff269858',1,'Renderer']]], - ['drawellipse_202',['drawEllipse',['../classRenderer.html#af4d92e92abb79e4431f7331f792194d9',1,'Renderer']]], - ['drawline_203',['drawLine',['../classRenderer.html#ab68c9e02c7eadf1f18286c9ecf0d90ca',1,'Renderer']]], - ['drawpath_204',['drawPath',['../classRenderer.html#a6cbcbb11e386c26eacef0b97342fee77',1,'Renderer']]], - ['drawpolygon_205',['drawPolygon',['../classRenderer.html#a27b883787b8f38afd04924edc97b5a04',1,'Renderer']]], - ['drawpolyline_206',['drawPolyline',['../classRenderer.html#a4e73148b7da0f585084520d12c514344',1,'Renderer']]], - ['drawrectangle_207',['drawRectangle',['../classRenderer.html#abf163a7895594e0a4ee5662805b1b572',1,'Renderer']]], - ['drawtext_208',['drawText',['../classRenderer.html#a87ce996c3ed0f963de9ef6c293ee3aec',1,'Renderer']]] + ['draw_212',['draw',['../classRenderer.html#a1fac47f9b1c4c3fb1151f2b6ecb282f6',1,'Renderer']]], + ['drawcircle_213',['drawCircle',['../classRenderer.html#a9b5ca422ec7f1328d854cc4bff269858',1,'Renderer']]], + ['drawellipse_214',['drawEllipse',['../classRenderer.html#af4d92e92abb79e4431f7331f792194d9',1,'Renderer']]], + ['drawline_215',['drawLine',['../classRenderer.html#ab68c9e02c7eadf1f18286c9ecf0d90ca',1,'Renderer']]], + ['drawpath_216',['drawPath',['../classRenderer.html#a6cbcbb11e386c26eacef0b97342fee77',1,'Renderer']]], + ['drawpolygon_217',['drawPolygon',['../classRenderer.html#a27b883787b8f38afd04924edc97b5a04',1,'Renderer']]], + ['drawpolyline_218',['drawPolyline',['../classRenderer.html#a4e73148b7da0f585084520d12c514344',1,'Renderer']]], + ['drawrectangle_219',['drawRectangle',['../classRenderer.html#abf163a7895594e0a4ee5662805b1b572',1,'Renderer']]], + ['drawtext_220',['drawText',['../classRenderer.html#a87ce996c3ed0f963de9ef6c293ee3aec',1,'Renderer']]] ]; diff --git a/docs/search/functions_3.js b/docs/search/functions_3.js index ab0e405..60348c0 100644 --- a/docs/search/functions_3.js +++ b/docs/search/functions_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['ell_209',['Ell',['../classEll.html#a4a9956ca82cb9f957e993fa0c0faced6',1,'Ell']]] + ['ell_221',['Ell',['../classEll.html#ab18115d5d2ad73b80ffbdf3661908f38',1,'Ell']]] ]; diff --git a/docs/search/functions_4.js b/docs/search/functions_4.js index 063ea82..79c4952 100644 --- a/docs/search/functions_4.js +++ b/docs/search/functions_4.js @@ -1,43 +1,45 @@ var searchData= [ - ['getanchor_210',['getAnchor',['../classText.html#a445117756f52b37ae8bce225e254bea6',1,'Text']]], - ['getattribute_211',['getAttribute',['../classParser.html#a63329a7accdf332feb3fba1bcc4deec6',1,'Parser']]], - ['getattributes_212',['getAttributes',['../classGroup.html#a317fcd42fd61b83c0d932bd1eb2c753f',1,'Group']]], - ['getbrush_213',['getBrush',['../classRenderer.html#a7539832835d19ee365dcbabf490d642c',1,'Renderer']]], - ['getclass_214',['getClass',['../classCircle.html#a09523e46318092d42a5969a1da5613bb',1,'Circle::getClass()'],['../classEll.html#a0d0a2a70c06878c5769bd7d092277892',1,'Ell::getClass()'],['../classGradient.html#adb86ee7c9171cb7294d1bb8956e97891',1,'Gradient::getClass()'],['../classGroup.html#a070e010084eaac6131e1bf814d10d234',1,'Group::getClass()'],['../classLine.html#a745f295541d412b49dac89423bd957a6',1,'Line::getClass()'],['../classLinearGradient.html#aa434164a18fa29e778cdb7fc96770b9a',1,'LinearGradient::getClass()'],['../classPath.html#ac99ffb44f19586a10ee39aa70fd4a260',1,'Path::getClass()'],['../classPlygon.html#aab00a0d0230ea320271e96c326c6b919',1,'Plygon::getClass()'],['../classPlyline.html#a5b9d86c75604d329037cd47e8ba3d5b9',1,'Plyline::getClass()'],['../classPolyShape.html#afc263d5407ca7ea50e30d641d779b73b',1,'PolyShape::getClass()'],['../classRadialGradient.html#a132c35f92ecceb604cdddf098c36824c',1,'RadialGradient::getClass()'],['../classRect.html#a4f6ba1c3eef4054847a89da472f392cd',1,'Rect::getClass()'],['../classSVGElement.html#adc98ebac66965dd303283cbf7ff28f38',1,'SVGElement::getClass()'],['../classText.html#a405fac6f66711e0063e18e9e211e3a62',1,'Text::getClass()']]], - ['getcolor_215',['getColor',['../classStop.html#a0ee1f3e4c4298b8712cef19f24e07dff',1,'Stop']]], - ['getcontent_216',['getContent',['../classText.html#ac593599637e5e7f0f929c59b440f1b94',1,'Text']]], - ['getdirection_217',['getDirection',['../classLine.html#adb348ce7ddf4b500c3593b7126aa4451',1,'Line']]], - ['getelements_218',['getElements',['../classGroup.html#a310fa83ccb20841373c11b6b4ac1d336',1,'Group']]], - ['getfillcolor_219',['getFillColor',['../classSVGElement.html#abb012cad5d6e9ee7a413f46042f99429',1,'SVGElement']]], - ['getfillrule_220',['getFillRule',['../classPath.html#a9395325e65f86fd2a4be2dc24408753a',1,'Path::getFillRule()'],['../classPolyShape.html#acac99a28e69ee5020eed782175a5a355',1,'PolyShape::getFillRule()']]], - ['getfloatattribute_221',['getFloatAttribute',['../classParser.html#ab2b1df7c69830fafcbe36de5199dcd30',1,'Parser']]], - ['getfontsize_222',['getFontSize',['../classText.html#a6e799a9b0ba6f88e704eea12599d3d5c',1,'Text']]], - ['getfontstyle_223',['getFontStyle',['../classText.html#a86fd1927b692d6691c8dd3901b6f6e48',1,'Text']]], - ['getgradient_224',['getGradient',['../classSVGElement.html#a9b64e7697c24a6972aacb01b89c0e542',1,'SVGElement']]], - ['getgradients_225',['GetGradients',['../classParser.html#ac00eac6bf37c45c9160fa47700d2466f',1,'Parser']]], - ['getgradientstops_226',['getGradientStops',['../classParser.html#aca2ed5f466436a9e9f78618bb1e356fd',1,'Parser']]], - ['getheight_227',['getHeight',['../classRect.html#a418fffe5bb9368f4e158b63e13faba16',1,'Rect']]], - ['getinstance_228',['getInstance',['../classViewer.html#a8235c9da7e144d7139c91901c0051cd8',1,'Viewer::getInstance()'],['../classRenderer.html#ac1bf10ff8b4f967f0d416a26d482abd6',1,'Renderer::getInstance()'],['../classParser.html#a06952fa44f19fdb573c1355ac26454c5',1,'Parser::getInstance()']]], - ['getlength_229',['getLength',['../classLine.html#afe6672bc7667cf45739c46f9fc8cb237',1,'Line']]], - ['getmaxbound_230',['getMaxBound',['../classEll.html#a8a8dd2acc8c7be5580dd8e549d247525',1,'Ell::getMaxBound()'],['../classPolyShape.html#a6ddda72dc27d7aade0ed444a52d7689f',1,'PolyShape::getMaxBound()'],['../classSVGElement.html#a03ac231161d1d5062951fa3fca33a39b',1,'SVGElement::getMaxBound()']]], - ['getminbound_231',['getMinBound',['../classEll.html#ab79368df57ee08382916fc52b69afb85',1,'Ell::getMinBound()'],['../classPolyShape.html#a0ad83e0129196572f99302830e0c9049',1,'PolyShape::getMinBound()'],['../classSVGElement.html#a0cce88c48233f4da470daad2edab0d06',1,'SVGElement::getMinBound()']]], - ['getoffset_232',['getOffset',['../classStop.html#a60a63002485122f30a80e80220d99748',1,'Stop']]], - ['getoutlinecolor_233',['getOutlineColor',['../classSVGElement.html#a9a243b2b8464d57df28f3f3e8c52511e',1,'SVGElement']]], - ['getoutlinethickness_234',['getOutlineThickness',['../classSVGElement.html#a2e4b1a48bfbc34a6a9f17bfd4b89eb51',1,'SVGElement']]], - ['getparent_235',['getParent',['../classSVGElement.html#a1b075314d4cda4fa895688979fe462fd',1,'SVGElement']]], - ['getpoints_236',['getPoints',['../classGradient.html#aced479d6a10d2aa53e6d363e1df5dc08',1,'Gradient::getPoints()'],['../classPath.html#a9d701e9231022249523970101bbc749c',1,'Path::getPoints()'],['../classPolyShape.html#a27704ef9fd50c041d1d233e9d99a4fd4',1,'PolyShape::getPoints()']]], - ['getposition_237',['getPosition',['../classSVGElement.html#a4e1ed8bb29fd4dbeb35471315976b3a2',1,'SVGElement']]], - ['getradius_238',['getRadius',['../classEll.html#a00d607a5238705b552ec61b4409b76c1',1,'Ell::getRadius()'],['../classRect.html#a31ca84cc8755233b5e61d22189f637b0',1,'Rect::getRadius()'],['../classRadialGradient.html#acfa8223581f3caf2db33c310cfa48d1d',1,'RadialGradient::getRadius()']]], - ['getroot_239',['getRoot',['../classParser.html#a59ed4455eaec306cde11939785c4e71a',1,'Parser']]], - ['getstops_240',['getStops',['../classGradient.html#a1125c4e5294389bb6698bf4fcb4f928d',1,'Gradient']]], - ['gettransformorder_241',['getTransformOrder',['../classParser.html#a99df58e649089762bf434502173716d6',1,'Parser']]], - ['gettransforms_242',['getTransforms',['../classGradient.html#adf0e8b360f2b8e6edc1059002f85b1c1',1,'Gradient::getTransforms()'],['../classSVGElement.html#a5f111964efd20e98eafafb3d168a1e87',1,'SVGElement::getTransforms()']]], - ['getunits_243',['getUnits',['../classGradient.html#a54cc5770c2dce46f1d56bcfb63285173',1,'Gradient']]], - ['getviewbox_244',['getViewBox',['../classParser.html#a4efa2342d694eff2ab6ba1d150c7bb69',1,'Parser']]], - ['getviewport_245',['getViewPort',['../classParser.html#a009fbe10a1b9b58a65be44634335a062',1,'Parser']]], - ['getwidth_246',['getWidth',['../classRect.html#a9c1dd853ea5df8e7c96a11bba72cc67a',1,'Rect']]], - ['getwindowsize_247',['getWindowSize',['../classViewer.html#aa8d0481396e20f1a8d4f6691ff0a67c1',1,'Viewer']]], - ['gradient_248',['Gradient',['../classGradient.html#aa27206a9cc0adb5309a6db6dbd9d0257',1,'Gradient']]], - ['group_249',['Group',['../classGroup.html#a7b74f9ac68e0504ccf2e2854b7355ff1',1,'Group::Group()'],['../classGroup.html#a123cdaf1fb7cdf873740757d3864a4a6',1,'Group::Group(Attributes attributes)']]] + ['getanchor_222',['getAnchor',['../classText.html#a445117756f52b37ae8bce225e254bea6',1,'Text']]], + ['getattribute_223',['getAttribute',['../classParser.html#a63329a7accdf332feb3fba1bcc4deec6',1,'Parser']]], + ['getattributes_224',['getAttributes',['../classGroup.html#a317fcd42fd61b83c0d932bd1eb2c753f',1,'Group']]], + ['getbrush_225',['getBrush',['../classRenderer.html#a7539832835d19ee365dcbabf490d642c',1,'Renderer']]], + ['getclass_226',['getClass',['../classCircle.html#a09523e46318092d42a5969a1da5613bb',1,'Circle::getClass()'],['../classEll.html#a0d0a2a70c06878c5769bd7d092277892',1,'Ell::getClass()'],['../classGradient.html#adb86ee7c9171cb7294d1bb8956e97891',1,'Gradient::getClass()'],['../classGroup.html#a070e010084eaac6131e1bf814d10d234',1,'Group::getClass()'],['../classLine.html#a745f295541d412b49dac89423bd957a6',1,'Line::getClass()'],['../classLinearGradient.html#aa434164a18fa29e778cdb7fc96770b9a',1,'LinearGradient::getClass()'],['../classPath.html#ac99ffb44f19586a10ee39aa70fd4a260',1,'Path::getClass()'],['../classPlygon.html#aab00a0d0230ea320271e96c326c6b919',1,'Plygon::getClass()'],['../classPlyline.html#a5b9d86c75604d329037cd47e8ba3d5b9',1,'Plyline::getClass()'],['../classPolyShape.html#afc263d5407ca7ea50e30d641d779b73b',1,'PolyShape::getClass()'],['../classRadialGradient.html#a132c35f92ecceb604cdddf098c36824c',1,'RadialGradient::getClass()'],['../classRect.html#a4f6ba1c3eef4054847a89da472f392cd',1,'Rect::getClass()'],['../classSVGElement.html#adc98ebac66965dd303283cbf7ff28f38',1,'SVGElement::getClass()'],['../classText.html#a405fac6f66711e0063e18e9e211e3a62',1,'Text::getClass()']]], + ['getcolor_227',['getColor',['../classStop.html#a37689ec1609d4c705a5c641d14844b21',1,'Stop']]], + ['getcontent_228',['getContent',['../classText.html#ac593599637e5e7f0f929c59b440f1b94',1,'Text']]], + ['getdirection_229',['getDirection',['../classLine.html#adb348ce7ddf4b500c3593b7126aa4451',1,'Line']]], + ['getelements_230',['getElements',['../classGroup.html#a310fa83ccb20841373c11b6b4ac1d336',1,'Group']]], + ['getfillcolor_231',['getFillColor',['../classSVGElement.html#a23721b0aabe2c03323d8c855c7109e4e',1,'SVGElement']]], + ['getfillrule_232',['getFillRule',['../classPath.html#a9395325e65f86fd2a4be2dc24408753a',1,'Path::getFillRule()'],['../classPolyShape.html#acac99a28e69ee5020eed782175a5a355',1,'PolyShape::getFillRule()']]], + ['getfloatattribute_233',['getFloatAttribute',['../classParser.html#ab2b1df7c69830fafcbe36de5199dcd30',1,'Parser']]], + ['getfontsize_234',['getFontSize',['../classText.html#a6e799a9b0ba6f88e704eea12599d3d5c',1,'Text']]], + ['getfontstyle_235',['getFontStyle',['../classText.html#a86fd1927b692d6691c8dd3901b6f6e48',1,'Text']]], + ['getgradient_236',['getGradient',['../classSVGElement.html#a9b64e7697c24a6972aacb01b89c0e542',1,'SVGElement']]], + ['getgradients_237',['GetGradients',['../classParser.html#ac00eac6bf37c45c9160fa47700d2466f',1,'Parser']]], + ['getgradientstops_238',['getGradientStops',['../classParser.html#aca2ed5f466436a9e9f78618bb1e356fd',1,'Parser']]], + ['getheight_239',['getHeight',['../classRect.html#a418fffe5bb9368f4e158b63e13faba16',1,'Rect::getHeight()'],['../classViewBox.html#aac3bd2a53c8d01dab8b0830b3a241d8d',1,'ViewBox::getHeight()']]], + ['getinstance_240',['getInstance',['../classViewer.html#a8235c9da7e144d7139c91901c0051cd8',1,'Viewer::getInstance()'],['../classParser.html#a06952fa44f19fdb573c1355ac26454c5',1,'Parser::getInstance()'],['../classRenderer.html#ac1bf10ff8b4f967f0d416a26d482abd6',1,'Renderer::getInstance()']]], + ['getlength_241',['getLength',['../classLine.html#afe6672bc7667cf45739c46f9fc8cb237',1,'Line']]], + ['getmaxbound_242',['getMaxBound',['../classEll.html#a8a8dd2acc8c7be5580dd8e549d247525',1,'Ell::getMaxBound()'],['../classPolyShape.html#a6ddda72dc27d7aade0ed444a52d7689f',1,'PolyShape::getMaxBound()'],['../classSVGElement.html#a03ac231161d1d5062951fa3fca33a39b',1,'SVGElement::getMaxBound()']]], + ['getminbound_243',['getMinBound',['../classEll.html#ab79368df57ee08382916fc52b69afb85',1,'Ell::getMinBound()'],['../classPolyShape.html#a0ad83e0129196572f99302830e0c9049',1,'PolyShape::getMinBound()'],['../classSVGElement.html#a0cce88c48233f4da470daad2edab0d06',1,'SVGElement::getMinBound()']]], + ['getoffset_244',['getOffset',['../classStop.html#a60a63002485122f30a80e80220d99748',1,'Stop']]], + ['getoutlinecolor_245',['getOutlineColor',['../classSVGElement.html#a822191eb1d87545fe7bddbeb0ada3d1c',1,'SVGElement']]], + ['getoutlinethickness_246',['getOutlineThickness',['../classSVGElement.html#a2e4b1a48bfbc34a6a9f17bfd4b89eb51',1,'SVGElement']]], + ['getparent_247',['getParent',['../classSVGElement.html#a1b075314d4cda4fa895688979fe462fd',1,'SVGElement']]], + ['getpoints_248',['getPoints',['../classGradient.html#aced479d6a10d2aa53e6d363e1df5dc08',1,'Gradient::getPoints()'],['../classPath.html#a9d701e9231022249523970101bbc749c',1,'Path::getPoints()'],['../classPolyShape.html#a27704ef9fd50c041d1d233e9d99a4fd4',1,'PolyShape::getPoints()']]], + ['getposition_249',['getPosition',['../classSVGElement.html#a4e1ed8bb29fd4dbeb35471315976b3a2',1,'SVGElement']]], + ['getradius_250',['getRadius',['../classRect.html#a31ca84cc8755233b5e61d22189f637b0',1,'Rect::getRadius()'],['../classRadialGradient.html#acfa8223581f3caf2db33c310cfa48d1d',1,'RadialGradient::getRadius()'],['../classEll.html#a00d607a5238705b552ec61b4409b76c1',1,'Ell::getRadius()']]], + ['getroot_251',['getRoot',['../classParser.html#a59ed4455eaec306cde11939785c4e71a',1,'Parser']]], + ['getstops_252',['getStops',['../classGradient.html#a1125c4e5294389bb6698bf4fcb4f928d',1,'Gradient']]], + ['gettransformorder_253',['getTransformOrder',['../classParser.html#a99df58e649089762bf434502173716d6',1,'Parser']]], + ['gettransforms_254',['getTransforms',['../classGradient.html#adf0e8b360f2b8e6edc1059002f85b1c1',1,'Gradient::getTransforms()'],['../classSVGElement.html#a5f111964efd20e98eafafb3d168a1e87',1,'SVGElement::getTransforms()']]], + ['getunits_255',['getUnits',['../classGradient.html#a54cc5770c2dce46f1d56bcfb63285173',1,'Gradient']]], + ['getviewbox_256',['getViewBox',['../classParser.html#a231c2e522115ae9a4fd9629285ed28e1',1,'Parser']]], + ['getviewport_257',['getViewPort',['../classParser.html#a009fbe10a1b9b58a65be44634335a062',1,'Parser']]], + ['getwidth_258',['getWidth',['../classRect.html#a9c1dd853ea5df8e7c96a11bba72cc67a',1,'Rect::getWidth()'],['../classViewBox.html#aaedc3a475d3664ec7940ebf192d07b5b',1,'ViewBox::getWidth()']]], + ['getwindowsize_259',['getWindowSize',['../classViewer.html#aa8d0481396e20f1a8d4f6691ff0a67c1',1,'Viewer']]], + ['getx_260',['getX',['../classViewBox.html#a62e0eb37e6f49b008be683a9051857f1',1,'ViewBox']]], + ['gety_261',['getY',['../classViewBox.html#ace506c1585508555ebff5f834b13f74f',1,'ViewBox']]], + ['gradient_262',['Gradient',['../classGradient.html#aa27206a9cc0adb5309a6db6dbd9d0257',1,'Gradient']]], + ['group_263',['Group',['../classGroup.html#a7b74f9ac68e0504ccf2e2854b7355ff1',1,'Group::Group()'],['../classGroup.html#a123cdaf1fb7cdf873740757d3864a4a6',1,'Group::Group(Attributes attributes)']]] ]; diff --git a/docs/search/functions_5.js b/docs/search/functions_5.js index a673226..42726f6 100644 --- a/docs/search/functions_5.js +++ b/docs/search/functions_5.js @@ -1,10 +1,10 @@ var searchData= [ - ['handlekeydown_250',['handleKeyDown',['../classViewer.html#a8bcd4fdeb5c26092d65fc14474afeb38',1,'Viewer']]], - ['handlekeyevent_251',['handleKeyEvent',['../classViewer.html#a643c2fc659f06f4d4bfcefbad22ebd75',1,'Viewer']]], - ['handleleftbuttondown_252',['handleLeftButtonDown',['../classViewer.html#a2b889c5d09c8577ad1580dd610ac5678',1,'Viewer']]], - ['handleleftbuttonup_253',['handleLeftButtonUp',['../classViewer.html#ae0c94514f0897aa84732024855520e28',1,'Viewer']]], - ['handlemouseevent_254',['handleMouseEvent',['../classViewer.html#acb15ba2e5d3bab2ba58da0db724b3bd1',1,'Viewer']]], - ['handlemousemove_255',['handleMouseMove',['../classViewer.html#a81a24ea13ee1e7e8c83be60672a7a11e',1,'Viewer']]], - ['handlemousewheel_256',['handleMouseWheel',['../classViewer.html#a940c6147b33b273afdff6eef7309d500',1,'Viewer']]] + ['handlekeydown_264',['handleKeyDown',['../classViewer.html#a8bcd4fdeb5c26092d65fc14474afeb38',1,'Viewer']]], + ['handlekeyevent_265',['handleKeyEvent',['../classViewer.html#a643c2fc659f06f4d4bfcefbad22ebd75',1,'Viewer']]], + ['handleleftbuttondown_266',['handleLeftButtonDown',['../classViewer.html#a2b889c5d09c8577ad1580dd610ac5678',1,'Viewer']]], + ['handleleftbuttonup_267',['handleLeftButtonUp',['../classViewer.html#ae0c94514f0897aa84732024855520e28',1,'Viewer']]], + ['handlemouseevent_268',['handleMouseEvent',['../classViewer.html#acb15ba2e5d3bab2ba58da0db724b3bd1',1,'Viewer']]], + ['handlemousemove_269',['handleMouseMove',['../classViewer.html#a81a24ea13ee1e7e8c83be60672a7a11e',1,'Viewer']]], + ['handlemousewheel_270',['handleMouseWheel',['../classViewer.html#a940c6147b33b273afdff6eef7309d500',1,'Viewer']]] ]; diff --git a/docs/search/functions_6.js b/docs/search/functions_6.js index e8c63a2..d1a8ccd 100644 --- a/docs/search/functions_6.js +++ b/docs/search/functions_6.js @@ -1,5 +1,5 @@ var searchData= [ - ['line_257',['Line',['../classLine.html#ab6e165ec2c3f412d5e5a860b28a52b4c',1,'Line']]], - ['lineargradient_258',['LinearGradient',['../classLinearGradient.html#aaa0260244d818cd9d1180cb2697cc83b',1,'LinearGradient']]] + ['line_271',['Line',['../classLine.html#abef476564dc2f7dad7259ee5071301fa',1,'Line']]], + ['lineargradient_272',['LinearGradient',['../classLinearGradient.html#aaa0260244d818cd9d1180cb2697cc83b',1,'LinearGradient']]] ]; diff --git a/docs/search/functions_7.js b/docs/search/functions_7.js index a229469..4a5af41 100644 --- a/docs/search/functions_7.js +++ b/docs/search/functions_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['mcolor_259',['mColor',['../classmColor.html#a9b1702a679c1c5f649787fe15d8b016a',1,'mColor::mColor()'],['../classmColor.html#a4376ef67b23a45be81daeecbfef1b2c3',1,'mColor::mColor(int red, int green, int blue, int alpha=255)'],['../classmColor.html#a8df59e284c6211d66b05fab14d726a5e',1,'mColor::mColor(int color)']]] + ['operator_3d_273',['operator=',['../classRenderer.html#aa42607899757d0a1c5e8fe0aa4cb5a7f',1,'Renderer::operator=()'],['../classViewer.html#a3d14cceacd94622e6b9d5d71bfb5b64f',1,'Viewer::operator=()']]] ]; diff --git a/docs/search/functions_8.js b/docs/search/functions_8.js index e473423..56cc26f 100644 --- a/docs/search/functions_8.js +++ b/docs/search/functions_8.js @@ -1,4 +1,24 @@ var searchData= [ - ['operator_3d_260',['operator=',['../classRenderer.html#aa42607899757d0a1c5e8fe0aa4cb5a7f',1,'Renderer::operator=()'],['../classViewer.html#a3d14cceacd94622e6b9d5d71bfb5b64f',1,'Viewer::operator=()']]] + ['parsecircle_274',['parseCircle',['../classParser.html#af634ef273fb8c221a832688c19244adf',1,'Parser']]], + ['parsecolor_275',['parseColor',['../classParser.html#a2e5e2efef794624abaa9bf390e234950',1,'Parser']]], + ['parseelements_276',['parseElements',['../classParser.html#aaf9f19591ff93f0c0c2fd68955e4a4af',1,'Parser']]], + ['parseellipse_277',['parseEllipse',['../classParser.html#aa2249c02eee1ce310158a3450450ff3e',1,'Parser']]], + ['parsegradient_278',['parseGradient',['../classParser.html#ac1e519500fce1b4192362ed1aa5ccbc3',1,'Parser']]], + ['parseline_279',['parseLine',['../classParser.html#a741b866e359471784380c23c5b71d9da',1,'Parser']]], + ['parsepath_280',['parsePath',['../classParser.html#af4b65cb5b02ac856daba07387f67c6aa',1,'Parser']]], + ['parsepathpoints_281',['parsePathPoints',['../classParser.html#aecea54d6bc1ff225a6ac450ccbb560c3',1,'Parser']]], + ['parsepoints_282',['parsePoints',['../classParser.html#af408a2ef7b27ceed0547093d73e6b2eb',1,'Parser']]], + ['parsepolygon_283',['parsePolygon',['../classParser.html#a3df3464ed7cfc97fd85ec2ff89e64359',1,'Parser']]], + ['parsepolyline_284',['parsePolyline',['../classParser.html#a5dd4328e960681889155a13f699200ce',1,'Parser']]], + ['parser_285',['Parser',['../classParser.html#a48044a8caa14a251cb4dad9fb363658e',1,'Parser::Parser(const Parser &)=delete'],['../classParser.html#a350fc3e35535c5891cd9e36e79ee546a',1,'Parser::Parser(const std::string &file_name)']]], + ['parserect_286',['parseRect',['../classParser.html#ad7063613f30bc89a4a9197cd664fe9d4',1,'Parser']]], + ['parseshape_287',['parseShape',['../classParser.html#abfd09c5dd46fb0dc9bcd9106857dbf5e',1,'Parser']]], + ['parsetext_288',['parseText',['../classParser.html#a9ed27a4ee0360f437acb83553dd76c9f',1,'Parser']]], + ['path_289',['Path',['../classPath.html#ad8dab023d3009f51f001fb930c2334c2',1,'Path']]], + ['plygon_290',['Plygon',['../classPlygon.html#ade144fd5857f80e3b345e2ba538b017d',1,'Plygon']]], + ['plyline_291',['Plyline',['../classPlyline.html#a248be9e58f3122f28c3828ed178ab863',1,'Plyline']]], + ['polyshape_292',['PolyShape',['../classPolyShape.html#acd2f2ae8470d1c92704bfba9fbdbae45',1,'PolyShape']]], + ['printdata_293',['printData',['../classEll.html#a1d6d60039d2405f2b7aa117206d128fb',1,'Ell::printData()'],['../classGroup.html#a42fa18c4215ad3669db32b78e22303fa',1,'Group::printData()'],['../classPath.html#a3d2df8f3367db525772586065e16151e',1,'Path::printData()'],['../classPolyShape.html#a40a83ac567156de6da65adb1a4380c7c',1,'PolyShape::printData()'],['../classRect.html#a66351fe7a171c2b3ed5f4bdf8d6661ba',1,'Rect::printData()'],['../classSVGElement.html#ad4bcd981ae7431161013811024b452e1',1,'SVGElement::printData()'],['../classText.html#a40e38d59ba9b34df9900375409f6f03f',1,'Text::printData()']]], + ['printshapesdata_294',['printShapesData',['../classParser.html#a3d8927f2e26abf6a63bd850c154b23c6',1,'Parser']]] ]; diff --git a/docs/search/functions_9.js b/docs/search/functions_9.js index 3706b02..31cd032 100644 --- a/docs/search/functions_9.js +++ b/docs/search/functions_9.js @@ -1,24 +1,6 @@ var searchData= [ - ['parsecircle_261',['parseCircle',['../classParser.html#ab7776f740b7d63c388a086c8b8ecccd0',1,'Parser']]], - ['parsecolor_262',['parseColor',['../classParser.html#a18d5a9aa35bd124023a060940486e183',1,'Parser']]], - ['parseelements_263',['parseElements',['../classParser.html#aaf9f19591ff93f0c0c2fd68955e4a4af',1,'Parser']]], - ['parseellipse_264',['parseEllipse',['../classParser.html#a0af0085ee5e20739bdf23a5b685642b6',1,'Parser']]], - ['parsegradient_265',['parseGradient',['../classParser.html#ac1e519500fce1b4192362ed1aa5ccbc3',1,'Parser']]], - ['parseline_266',['parseLine',['../classParser.html#a95e84ae219109769fae08702381acf78',1,'Parser']]], - ['parsepath_267',['parsePath',['../classParser.html#a6f80728e7a771d2653baf1b453b655d9',1,'Parser']]], - ['parsepathpoints_268',['parsePathPoints',['../classParser.html#aecea54d6bc1ff225a6ac450ccbb560c3',1,'Parser']]], - ['parsepoints_269',['parsePoints',['../classParser.html#af408a2ef7b27ceed0547093d73e6b2eb',1,'Parser']]], - ['parsepolygon_270',['parsePolygon',['../classParser.html#a7afd52c648dc5983e596edfa7eb6bbb5',1,'Parser']]], - ['parsepolyline_271',['parsePolyline',['../classParser.html#a03766f0f9f6ebdead0474973d3ac50aa',1,'Parser']]], - ['parser_272',['Parser',['../classParser.html#a48044a8caa14a251cb4dad9fb363658e',1,'Parser::Parser(const Parser &)=delete'],['../classParser.html#a350fc3e35535c5891cd9e36e79ee546a',1,'Parser::Parser(const std::string &file_name)']]], - ['parserect_273',['parseRect',['../classParser.html#a20352ab58a59e61f6da1b4d20861907d',1,'Parser']]], - ['parseshape_274',['parseShape',['../classParser.html#abfd09c5dd46fb0dc9bcd9106857dbf5e',1,'Parser']]], - ['parsetext_275',['parseText',['../classParser.html#a539bda46a2832a22741105c9299c12cb',1,'Parser']]], - ['path_276',['Path',['../classPath.html#a089f2f59cc5574ce9e93826891044378',1,'Path']]], - ['plygon_277',['Plygon',['../classPlygon.html#ac3f4fb224f4f84c3bd6e41093cd847cd',1,'Plygon']]], - ['plyline_278',['Plyline',['../classPlyline.html#a8bf7677d7adb76f146607ef1aaa49bd3',1,'Plyline']]], - ['polyshape_279',['PolyShape',['../classPolyShape.html#a6fd054647bea080272ed79bbea7080ac',1,'PolyShape']]], - ['printdata_280',['printData',['../classEll.html#a1d6d60039d2405f2b7aa117206d128fb',1,'Ell::printData()'],['../classGroup.html#a42fa18c4215ad3669db32b78e22303fa',1,'Group::printData()'],['../classPath.html#a3d2df8f3367db525772586065e16151e',1,'Path::printData()'],['../classPolyShape.html#a40a83ac567156de6da65adb1a4380c7c',1,'PolyShape::printData()'],['../classRect.html#a66351fe7a171c2b3ed5f4bdf8d6661ba',1,'Rect::printData()'],['../classSVGElement.html#ad4bcd981ae7431161013811024b452e1',1,'SVGElement::printData()'],['../classText.html#a40e38d59ba9b34df9900375409f6f03f',1,'Text::printData()']]], - ['printshapesdata_281',['printShapesData',['../classParser.html#a3d8927f2e26abf6a63bd850c154b23c6',1,'Parser']]] + ['radialgradient_295',['RadialGradient',['../classRadialGradient.html#a656e8c8a107f28a06c356a3ad1a4827c',1,'RadialGradient']]], + ['rect_296',['Rect',['../classRect.html#ab8ceb8946210a2779862a66ad8d43397',1,'Rect']]], + ['renderer_297',['Renderer',['../classRenderer.html#a8c6e15f666cb188a936004add75e6c6b',1,'Renderer::Renderer(const Renderer &)=delete'],['../classRenderer.html#a7ebf46f54dab9905f79b80f7fddb76a6',1,'Renderer::Renderer()']]] ]; diff --git a/docs/search/functions_a.js b/docs/search/functions_a.js index 86e1405..6a61e44 100644 --- a/docs/search/functions_a.js +++ b/docs/search/functions_a.js @@ -1,6 +1,22 @@ var searchData= [ - ['radialgradient_282',['RadialGradient',['../classRadialGradient.html#a656e8c8a107f28a06c356a3ad1a4827c',1,'RadialGradient']]], - ['rect_283',['Rect',['../classRect.html#ad52d66e844d848d0e95f744b697e7beb',1,'Rect']]], - ['renderer_284',['Renderer',['../classRenderer.html#a8c6e15f666cb188a936004add75e6c6b',1,'Renderer::Renderer(const Renderer &)=delete'],['../classRenderer.html#a7ebf46f54dab9905f79b80f7fddb76a6',1,'Renderer::Renderer()']]] + ['setanchor_298',['setAnchor',['../classText.html#aa503905beb9dddf11c9c579424d0a84f',1,'Text']]], + ['setcontent_299',['setContent',['../classText.html#a12e8ae19a8e677eb6f1c2dc2716dcab0',1,'Text']]], + ['setdirection_300',['setDirection',['../classLine.html#ab46a879365e623e8b360c2db54d76782',1,'Line']]], + ['setfillcolor_301',['setFillColor',['../classSVGElement.html#ab0c42c2caee0d6285101c5284eccb98d',1,'SVGElement']]], + ['setfillrule_302',['setFillRule',['../classPath.html#ad2ba583a2dd567c3295ea62817b541e9',1,'Path::setFillRule()'],['../classPolyShape.html#a0c918fe8d9df68573a1c0d6e18bc6c9a',1,'PolyShape::setFillRule()']]], + ['setfontsize_303',['setFontSize',['../classText.html#a6a04680d93c625645278b1d1111420bb',1,'Text']]], + ['setfontstyle_304',['setFontStyle',['../classText.html#a4f24f78f8a962e758b70c5d9fd85b7cb',1,'Text']]], + ['setgradient_305',['setGradient',['../classSVGElement.html#a312b6aa934488672585c7e9d858300f8',1,'SVGElement']]], + ['setheight_306',['setHeight',['../classRect.html#a964a6107f787f612798bda5c0423fb5b',1,'Rect']]], + ['setoutlinecolor_307',['setOutlineColor',['../classSVGElement.html#ad0bd6c4c9981c241f5d853d4334c6e8e',1,'SVGElement']]], + ['setoutlinethickness_308',['setOutlineThickness',['../classSVGElement.html#a88653ebe8b92ec881ab436ea968375a8',1,'SVGElement']]], + ['setparent_309',['setParent',['../classSVGElement.html#a43b3bf06fae88a1634a189272088d11d',1,'SVGElement']]], + ['setposition_310',['setPosition',['../classSVGElement.html#a77aefe4b7e9dbf180cc531c969d0116d',1,'SVGElement::setPosition(float x, float y)'],['../classSVGElement.html#aec8a2f582f21a559c05d791e017efbd5',1,'SVGElement::setPosition(const Vector2Df &position)']]], + ['setradius_311',['setRadius',['../classEll.html#a9f67131ba02c02fccf42c52f5f04525e',1,'Ell::setRadius()'],['../classRect.html#a28b51c4f99cfa0208a2a5cef350c2a5e',1,'Rect::setRadius()']]], + ['settransforms_312',['setTransforms',['../classGradient.html#ae2afa93bd9b6759f5fe625065301d3d9',1,'Gradient::setTransforms()'],['../classSVGElement.html#a00fef2ebc5df4838b3f9bd7111b117c5',1,'SVGElement::setTransforms()']]], + ['setunits_313',['setUnits',['../classGradient.html#a61dd624d452ab2afe913414158888165',1,'Gradient']]], + ['setwidth_314',['setWidth',['../classRect.html#ae11a39d12f7a766f773e662b0830848d',1,'Rect']]], + ['stop_315',['Stop',['../classStop.html#a8d3f4b236f80f256029cf1e0b7417d3e',1,'Stop']]], + ['svgelement_316',['SVGElement',['../classSVGElement.html#ad30205005009d2ba4820d3ce372e81ea',1,'SVGElement::SVGElement()'],['../classSVGElement.html#ae0d0973f5314576af10f304a0fb4b772',1,'SVGElement::SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)'],['../classSVGElement.html#a80a98bd44871326e30dbcd6ad6e40f57',1,'SVGElement::SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)']]] ]; diff --git a/docs/search/functions_b.js b/docs/search/functions_b.js index 8737a39..52c2df6 100644 --- a/docs/search/functions_b.js +++ b/docs/search/functions_b.js @@ -1,22 +1,4 @@ var searchData= [ - ['setanchor_285',['setAnchor',['../classText.html#aa503905beb9dddf11c9c579424d0a84f',1,'Text']]], - ['setcontent_286',['setContent',['../classText.html#a12e8ae19a8e677eb6f1c2dc2716dcab0',1,'Text']]], - ['setdirection_287',['setDirection',['../classLine.html#ab46a879365e623e8b360c2db54d76782',1,'Line']]], - ['setfillcolor_288',['setFillColor',['../classSVGElement.html#abf7eef6d09fedba0d0f50a0f1a4be2fb',1,'SVGElement']]], - ['setfillrule_289',['setFillRule',['../classPath.html#ad2ba583a2dd567c3295ea62817b541e9',1,'Path::setFillRule()'],['../classPolyShape.html#a0c918fe8d9df68573a1c0d6e18bc6c9a',1,'PolyShape::setFillRule()']]], - ['setfontsize_290',['setFontSize',['../classText.html#a6a04680d93c625645278b1d1111420bb',1,'Text']]], - ['setfontstyle_291',['setFontStyle',['../classText.html#a4f24f78f8a962e758b70c5d9fd85b7cb',1,'Text']]], - ['setgradient_292',['setGradient',['../classSVGElement.html#a312b6aa934488672585c7e9d858300f8',1,'SVGElement']]], - ['setheight_293',['setHeight',['../classRect.html#a964a6107f787f612798bda5c0423fb5b',1,'Rect']]], - ['setoutlinecolor_294',['setOutlineColor',['../classSVGElement.html#ac0cc2f6d2e01d364a695bebaa7db18d2',1,'SVGElement']]], - ['setoutlinethickness_295',['setOutlineThickness',['../classSVGElement.html#a88653ebe8b92ec881ab436ea968375a8',1,'SVGElement']]], - ['setparent_296',['setParent',['../classSVGElement.html#a43b3bf06fae88a1634a189272088d11d',1,'SVGElement']]], - ['setposition_297',['setPosition',['../classSVGElement.html#a77aefe4b7e9dbf180cc531c969d0116d',1,'SVGElement::setPosition(float x, float y)'],['../classSVGElement.html#aec8a2f582f21a559c05d791e017efbd5',1,'SVGElement::setPosition(const Vector2Df &position)']]], - ['setradius_298',['setRadius',['../classEll.html#a9f67131ba02c02fccf42c52f5f04525e',1,'Ell::setRadius()'],['../classRect.html#a28b51c4f99cfa0208a2a5cef350c2a5e',1,'Rect::setRadius()']]], - ['settransforms_299',['setTransforms',['../classGradient.html#ae2afa93bd9b6759f5fe625065301d3d9',1,'Gradient::setTransforms()'],['../classSVGElement.html#a00fef2ebc5df4838b3f9bd7111b117c5',1,'SVGElement::setTransforms()']]], - ['setunits_300',['setUnits',['../classGradient.html#a61dd624d452ab2afe913414158888165',1,'Gradient']]], - ['setwidth_301',['setWidth',['../classRect.html#ae11a39d12f7a766f773e662b0830848d',1,'Rect']]], - ['stop_302',['Stop',['../classStop.html#a3ad6054f4ecb97b3fc68595b744f8d54',1,'Stop']]], - ['svgelement_303',['SVGElement',['../classSVGElement.html#ad30205005009d2ba4820d3ce372e81ea',1,'SVGElement::SVGElement()'],['../classSVGElement.html#a1a43e7717c20d50fd1990b592499fdba',1,'SVGElement::SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)'],['../classSVGElement.html#a6ed48bcc78dd62e3da256ddbd103ccd1',1,'SVGElement::SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)']]] + ['text_317',['Text',['../classText.html#a66964f633003321b9dedb0ea0f0cf4b2',1,'Text']]] ]; diff --git a/docs/search/functions_c.js b/docs/search/functions_c.js index a5b8ba7..342e108 100644 --- a/docs/search/functions_c.js +++ b/docs/search/functions_c.js @@ -1,4 +1,6 @@ var searchData= [ - ['text_304',['Text',['../classText.html#a92c5df61031c3a9af813f9cc6978f34a',1,'Text']]] + ['vector2d_318',['Vector2D',['../classVector2D.html#a96580267fed7cd6686cbbf8e11048023',1,'Vector2D::Vector2D()'],['../classVector2D.html#a4f1bca1b63cd8b1323c85c9a5c597df4',1,'Vector2D::Vector2D(T X, T Y)'],['../classVector2D.html#af9cb4a6f06903844162f4c9d80d16b85',1,'Vector2D::Vector2D(const Vector2D< U > &vector)']]], + ['viewbox_319',['ViewBox',['../classViewBox.html#a23ee8257f489c18146082bf7c58a09e1',1,'ViewBox::ViewBox()'],['../classViewBox.html#ac775b83d6648112514928499ca1256a4',1,'ViewBox::ViewBox(float X, float Y, float W, float H)']]], + ['viewer_320',['Viewer',['../classViewer.html#aaedebacb31cba87de6e7d448ed8d6586',1,'Viewer::Viewer()'],['../classViewer.html#abb8e49e83e5c574411bb9995665fd7eb',1,'Viewer::Viewer(const Viewer &)=delete']]] ]; diff --git a/docs/search/functions_d.js b/docs/search/functions_d.js index aab9efd..e5b273e 100644 --- a/docs/search/functions_d.js +++ b/docs/search/functions_d.js @@ -1,5 +1,8 @@ var searchData= [ - ['vector2d_305',['Vector2D',['../classVector2D.html#a96580267fed7cd6686cbbf8e11048023',1,'Vector2D::Vector2D()'],['../classVector2D.html#a4f1bca1b63cd8b1323c85c9a5c597df4',1,'Vector2D::Vector2D(T X, T Y)'],['../classVector2D.html#af9cb4a6f06903844162f4c9d80d16b85',1,'Vector2D::Vector2D(const Vector2D< U > &vector)']]], - ['viewer_306',['Viewer',['../classViewer.html#aaedebacb31cba87de6e7d448ed8d6586',1,'Viewer::Viewer()'],['../classViewer.html#abb8e49e83e5c574411bb9995665fd7eb',1,'Viewer::Viewer(const Viewer &)=delete']]] + ['_7egradient_321',['~Gradient',['../classGradient.html#a9332299756c51c99398ce09e584a8b42',1,'Gradient']]], + ['_7egroup_322',['~Group',['../classGroup.html#aed00a22ff227ee2657ae44a5cbcedf7c',1,'Group']]], + ['_7eparser_323',['~Parser',['../classParser.html#a3e658b5917a93a3ef648050d060e3a93',1,'Parser']]], + ['_7esvgelement_324',['~SVGElement',['../classSVGElement.html#a5087280fd4bbb637c3cde64e44e974f1',1,'SVGElement']]], + ['_7eviewer_325',['~Viewer',['../classViewer.html#a324e5a6a1532fe5eac3f3b0e4792b2da',1,'Viewer']]] ]; diff --git a/docs/search/related_0.js b/docs/search/related_0.js index 519f412..345b16a 100644 --- a/docs/search/related_0.js +++ b/docs/search/related_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['operator_3c_3c_363',['operator<<',['../classmColor.html#a1887c93301ffe92701baf17d6af3418e',1,'mColor']]] + ['operator_3c_3c_384',['operator<<',['../classColorShape.html#ab1838d64491c21fc854c50b7b1d2fd44',1,'ColorShape']]] ]; diff --git a/docs/search/searchdata.js b/docs/search/searchdata.js index cb0b487..68d91a2 100644 --- a/docs/search/searchdata.js +++ b/docs/search/searchdata.js @@ -1,8 +1,8 @@ var indexSectionsWithContent = { 0: "abcdefghilmnoprstuvwxyz~", - 1: "ceglmprstv", - 2: "acdeghlmoprstv~", + 1: "ceglprstv", + 2: "acdeghloprstv~", 3: "abcdfghilmnoprstuvwxyz", 4: "o" }; diff --git a/docs/search/variables_0.js b/docs/search/variables_0.js index cd2b06c..c0b67a1 100644 --- a/docs/search/variables_0.js +++ b/docs/search/variables_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['a_312',['a',['../classmColor.html#ac086aa72806b8ce55fed3df9ba976f6c',1,'mColor']]], - ['anchor_313',['anchor',['../classText.html#a33f5c94508241a960c139923c284491e',1,'Text']]], - ['attributes_314',['attributes',['../classGroup.html#a9308f587c63720ccbe2bfd1bad868547',1,'Group']]] + ['a_326',['a',['../classColorShape.html#aa6918d31a60b8063746b6df08aa1b63a',1,'ColorShape']]], + ['anchor_327',['anchor',['../classText.html#a33f5c94508241a960c139923c284491e',1,'Text']]], + ['attributes_328',['attributes',['../classGroup.html#a9308f587c63720ccbe2bfd1bad868547',1,'Group']]] ]; diff --git a/docs/search/variables_1.js b/docs/search/variables_1.js index 9071da0..ffe38bd 100644 --- a/docs/search/variables_1.js +++ b/docs/search/variables_1.js @@ -1,6 +1,6 @@ var searchData= [ - ['b_315',['b',['../classmColor.html#ad56f2424fa451364becdc4d1c4df657c',1,'mColor']]], - ['black_316',['Black',['../classmColor.html#aa3910d2b82d32c8aa4e50127874a6d03',1,'mColor']]], - ['blue_317',['Blue',['../classmColor.html#a59dc727125e9f3d4ed0c59433dfa0780',1,'mColor']]] + ['b_329',['b',['../classColorShape.html#aaafbfd08715b17c4bda81d7b84dc1e68',1,'ColorShape']]], + ['black_330',['Black',['../classColorShape.html#a82ed7d0df939f43fd72105c5c6c7ed87',1,'ColorShape']]], + ['blue_331',['Blue',['../classColorShape.html#a1df0c31367734b49349f8d51ebc26889',1,'ColorShape']]] ]; diff --git a/docs/search/variables_10.js b/docs/search/variables_10.js index a30cd44..e5dfe08 100644 --- a/docs/search/variables_10.js +++ b/docs/search/variables_10.js @@ -1,4 +1,4 @@ var searchData= [ - ['units_353',['units',['../classGradient.html#a592dda454dc4df897263212191d6e3cb',1,'Gradient']]] + ['units_372',['units',['../classGradient.html#a592dda454dc4df897263212191d6e3cb',1,'Gradient']]] ]; diff --git a/docs/search/variables_11.js b/docs/search/variables_11.js index ac4e26d..f1b37e3 100644 --- a/docs/search/variables_11.js +++ b/docs/search/variables_11.js @@ -1,5 +1,5 @@ var searchData= [ - ['viewbox_354',['viewbox',['../classParser.html#a7eb24f4915ba9b7a652ca204c1edb2c7',1,'Parser']]], - ['viewport_355',['viewport',['../classParser.html#a2872aff3bfb15fdb1df2dcdce2bd632a',1,'Parser']]] + ['viewbox_373',['viewbox',['../classParser.html#aa8eb9358d20c85b7f92b6fb3a88fa666',1,'Parser']]], + ['viewport_374',['viewport',['../classParser.html#a2872aff3bfb15fdb1df2dcdce2bd632a',1,'Parser']]] ]; diff --git a/docs/search/variables_12.js b/docs/search/variables_12.js index c7887d1..5e2273e 100644 --- a/docs/search/variables_12.js +++ b/docs/search/variables_12.js @@ -1,6 +1,7 @@ var searchData= [ - ['white_356',['White',['../classmColor.html#a73b9b91ca8c79e6e3876e5d83980ebec',1,'mColor']]], - ['width_357',['width',['../classRect.html#a800053c390ccb818add47e627e535a5e',1,'Rect']]], - ['window_5fsize_358',['window_size',['../classViewer.html#aa172f661daf24807148fb697f10e750a',1,'Viewer']]] + ['w_375',['w',['../classViewBox.html#a7ae30092b30f64873e4d6051413fa4e0',1,'ViewBox']]], + ['white_376',['White',['../classColorShape.html#ac5fd30929839c15bf0e1321552130a70',1,'ColorShape']]], + ['width_377',['width',['../classRect.html#a800053c390ccb818add47e627e535a5e',1,'Rect']]], + ['window_5fsize_378',['window_size',['../classViewer.html#aa172f661daf24807148fb697f10e750a',1,'Viewer']]] ]; diff --git a/docs/search/variables_13.js b/docs/search/variables_13.js index 52b1061..bf4a514 100644 --- a/docs/search/variables_13.js +++ b/docs/search/variables_13.js @@ -1,4 +1,5 @@ var searchData= [ - ['x_359',['x',['../classVector2D.html#a65e391ec61c185092a02cf6301d0fff7',1,'Vector2D']]] + ['x_379',['x',['../classVector2D.html#a65e391ec61c185092a02cf6301d0fff7',1,'Vector2D::x()'],['../classViewBox.html#aba09e235897cb11d7ce19f7a2b614366',1,'ViewBox::x()']]], + ['x_5faxis_5frotation_380',['x_axis_rotation',['../structPathPoint.html#ae583dc92052b201d3416506e7632a0cc',1,'PathPoint']]] ]; diff --git a/docs/search/variables_14.js b/docs/search/variables_14.js index e9c59dd..bba0c15 100644 --- a/docs/search/variables_14.js +++ b/docs/search/variables_14.js @@ -1,5 +1,5 @@ var searchData= [ - ['y_360',['y',['../classVector2D.html#a6a91fccbbd37162d28fa54aeeb88f9d2',1,'Vector2D']]], - ['yellow_361',['Yellow',['../classmColor.html#a68265f053324eea11265c7f8d7fdb5ff',1,'mColor']]] + ['y_381',['y',['../classVector2D.html#a6a91fccbbd37162d28fa54aeeb88f9d2',1,'Vector2D::y()'],['../classViewBox.html#ae22faa29c0bfe51ed877d240f123edb0',1,'ViewBox::y()']]], + ['yellow_382',['Yellow',['../classColorShape.html#a6bc88305d41255e2d9969bec6777420a',1,'ColorShape']]] ]; diff --git a/docs/search/variables_15.js b/docs/search/variables_15.js index d2dffec..5213075 100644 --- a/docs/search/variables_15.js +++ b/docs/search/variables_15.js @@ -1,4 +1,4 @@ var searchData= [ - ['zoom_5ffactor_362',['zoom_factor',['../classViewer.html#a46377febc22fd7f2cc38a73ddb66b8ad',1,'Viewer']]] + ['zoom_5ffactor_383',['zoom_factor',['../classViewer.html#a46377febc22fd7f2cc38a73ddb66b8ad',1,'Viewer']]] ]; diff --git a/docs/search/variables_2.js b/docs/search/variables_2.js index 2c32117..e88ca84 100644 --- a/docs/search/variables_2.js +++ b/docs/search/variables_2.js @@ -1,6 +1,6 @@ var searchData= [ - ['color_318',['color',['../classStop.html#afb57d3535781a9e40efff24c43520a21',1,'Stop']]], - ['content_319',['content',['../classText.html#a9336f13d0d4a26d41c2fd2e103ac5dde',1,'Text']]], - ['cyan_320',['Cyan',['../classmColor.html#a04a0d2485c1106ccc94d065a0e62ecfb',1,'mColor']]] + ['color_332',['color',['../classStop.html#a6ab2dacfb8c4c6cff157c84f3579c21e',1,'Stop']]], + ['content_333',['content',['../classText.html#a9336f13d0d4a26d41c2fd2e103ac5dde',1,'Text']]], + ['cyan_334',['Cyan',['../classColorShape.html#a87ec94f44076a578446b384afafae0ec',1,'ColorShape']]] ]; diff --git a/docs/search/variables_3.js b/docs/search/variables_3.js index c5b0a55..c3cda97 100644 --- a/docs/search/variables_3.js +++ b/docs/search/variables_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['direction_321',['direction',['../classLine.html#a3fe45077492213ef490739c6137200d1',1,'Line']]] + ['direction_335',['direction',['../classLine.html#a3fe45077492213ef490739c6137200d1',1,'Line']]] ]; diff --git a/docs/search/variables_4.js b/docs/search/variables_4.js index 8baae65..7968fc0 100644 --- a/docs/search/variables_4.js +++ b/docs/search/variables_4.js @@ -1,6 +1,6 @@ var searchData= [ - ['fill_322',['fill',['../classSVGElement.html#a6d3a39e763d3273715ea11f8959f81b1',1,'SVGElement']]], - ['fill_5frule_323',['fill_rule',['../classPath.html#ac5abd8d5994a75cca56205c7e55a5b4f',1,'Path::fill_rule()'],['../classPolyShape.html#abd758b76bbc30e790602b1f37a814fe1',1,'PolyShape::fill_rule()']]], - ['font_5fsize_324',['font_size',['../classText.html#a71158226b190f16477820e45b549133f',1,'Text']]] + ['fill_336',['fill',['../classSVGElement.html#af2a0e1a4228c0a6d02a26f35d8ac8c05',1,'SVGElement']]], + ['fill_5frule_337',['fill_rule',['../classPath.html#ac5abd8d5994a75cca56205c7e55a5b4f',1,'Path::fill_rule()'],['../classPolyShape.html#abd758b76bbc30e790602b1f37a814fe1',1,'PolyShape::fill_rule()']]], + ['font_5fsize_338',['font_size',['../classText.html#a71158226b190f16477820e45b549133f',1,'Text']]] ]; diff --git a/docs/search/variables_5.js b/docs/search/variables_5.js index b2f86e4..82fec62 100644 --- a/docs/search/variables_5.js +++ b/docs/search/variables_5.js @@ -1,7 +1,7 @@ var searchData= [ - ['g_325',['g',['../classmColor.html#a0cd1254821d108bb8c5be8ec5536f8ec',1,'mColor']]], - ['gradient_326',['gradient',['../classSVGElement.html#aab61149df9916892540627a0d7c4480c',1,'SVGElement']]], - ['gradients_327',['gradients',['../classParser.html#a7f085da78317baf2cc61e6e92b4b29c8',1,'Parser']]], - ['green_328',['Green',['../classmColor.html#aa69dc1cb58cec64672952d1e84744f8c',1,'mColor']]] + ['g_339',['g',['../classColorShape.html#a91c01752af407a122a81c6c44afbba9f',1,'ColorShape']]], + ['gradient_340',['gradient',['../classSVGElement.html#aab61149df9916892540627a0d7c4480c',1,'SVGElement']]], + ['gradients_341',['gradients',['../classParser.html#a7f085da78317baf2cc61e6e92b4b29c8',1,'Parser']]], + ['green_342',['Green',['../classColorShape.html#a4bf7634a2b117e8867dfb4444962d66d',1,'ColorShape']]] ]; diff --git a/docs/search/variables_6.js b/docs/search/variables_6.js index a6fbe3a..4e022be 100644 --- a/docs/search/variables_6.js +++ b/docs/search/variables_6.js @@ -1,4 +1,5 @@ var searchData= [ - ['height_329',['height',['../classRect.html#a31428cce67b56b6daf168131c7dbe1e8',1,'Rect']]] + ['h_343',['h',['../classViewBox.html#a384a7abdc93e514a24d4fdc266fa0a74',1,'ViewBox']]], + ['height_344',['height',['../classRect.html#a31428cce67b56b6daf168131c7dbe1e8',1,'Rect']]] ]; diff --git a/docs/search/variables_7.js b/docs/search/variables_7.js index 61c6511..df50884 100644 --- a/docs/search/variables_7.js +++ b/docs/search/variables_7.js @@ -1,5 +1,5 @@ var searchData= [ - ['instance_330',['instance',['../classParser.html#ae3a28c02c18171f4e83fae54b9f21a90',1,'Parser::instance()'],['../classRenderer.html#a7431a2f9b03f35752e034410ffebfbe1',1,'Renderer::instance()'],['../classViewer.html#a53c3dca921442983d13f335d0e8a7e20',1,'Viewer::instance()']]], - ['is_5fdragging_331',['is_dragging',['../classViewer.html#a452e9dd05638bf3da01d8f51dba009a5',1,'Viewer']]] + ['instance_345',['instance',['../classParser.html#ae3a28c02c18171f4e83fae54b9f21a90',1,'Parser::instance()'],['../classRenderer.html#a7431a2f9b03f35752e034410ffebfbe1',1,'Renderer::instance()'],['../classViewer.html#a53c3dca921442983d13f335d0e8a7e20',1,'Viewer::instance()']]], + ['is_5fdragging_346',['is_dragging',['../classViewer.html#a452e9dd05638bf3da01d8f51dba009a5',1,'Viewer']]] ]; diff --git a/docs/search/variables_8.js b/docs/search/variables_8.js index 20359b6..2232e57 100644 --- a/docs/search/variables_8.js +++ b/docs/search/variables_8.js @@ -1,4 +1,5 @@ var searchData= [ - ['last_5fmouse_5fpos_332',['last_mouse_pos',['../classViewer.html#a77bc329e7ae0aecaf60a4de4f8dcc037',1,'Viewer']]] + ['large_5farc_5fflag_347',['large_arc_flag',['../structPathPoint.html#a35cbe9f919695a09f5c881618f5fa0f9',1,'PathPoint']]], + ['last_5fmouse_5fpos_348',['last_mouse_pos',['../classViewer.html#a77bc329e7ae0aecaf60a4de4f8dcc037',1,'Viewer']]] ]; diff --git a/docs/search/variables_9.js b/docs/search/variables_9.js index 0815550..cb787af 100644 --- a/docs/search/variables_9.js +++ b/docs/search/variables_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['magenta_333',['Magenta',['../classmColor.html#a777df695011fdb21f6b5d3e6745389c4',1,'mColor']]] + ['magenta_349',['Magenta',['../classColorShape.html#a8132294eb978dd065d7da6896d7782af',1,'ColorShape']]] ]; diff --git a/docs/search/variables_a.js b/docs/search/variables_a.js index f25f5d7..7c0bf1b 100644 --- a/docs/search/variables_a.js +++ b/docs/search/variables_a.js @@ -1,4 +1,4 @@ var searchData= [ - ['needs_5frepaint_334',['needs_repaint',['../classViewer.html#a59a507a835919e78114601d5bd1784e6',1,'Viewer']]] + ['needs_5frepaint_350',['needs_repaint',['../classViewer.html#a59a507a835919e78114601d5bd1784e6',1,'Viewer']]] ]; diff --git a/docs/search/variables_b.js b/docs/search/variables_b.js index 57ba003..2561497 100644 --- a/docs/search/variables_b.js +++ b/docs/search/variables_b.js @@ -1,6 +1,6 @@ var searchData= [ - ['offset_335',['offset',['../classStop.html#a2b6aaf0f14507df64c6bbd99043ad44b',1,'Stop']]], - ['offset_5fx_336',['offset_x',['../classViewer.html#a3e16ebbf5c0ed98dc75fe2c4d46fe0d5',1,'Viewer']]], - ['offset_5fy_337',['offset_y',['../classViewer.html#a30b0f57907c82de620339e105f9a3c5b',1,'Viewer']]] + ['offset_351',['offset',['../classStop.html#a2b6aaf0f14507df64c6bbd99043ad44b',1,'Stop']]], + ['offset_5fx_352',['offset_x',['../classViewer.html#a3e16ebbf5c0ed98dc75fe2c4d46fe0d5',1,'Viewer']]], + ['offset_5fy_353',['offset_y',['../classViewer.html#a30b0f57907c82de620339e105f9a3c5b',1,'Viewer']]] ]; diff --git a/docs/search/variables_c.js b/docs/search/variables_c.js index fe7d50a..6fccb31 100644 --- a/docs/search/variables_c.js +++ b/docs/search/variables_c.js @@ -1,6 +1,7 @@ var searchData= [ - ['parent_338',['parent',['../classSVGElement.html#adee748c3014de1c1ebd20411a52e824a',1,'SVGElement']]], - ['points_339',['points',['../classGradient.html#a8da859d1b12459800e763c31f18d0d41',1,'Gradient::points()'],['../classPath.html#a1880b844baafdeca91a7cf5d155cf9f1',1,'Path::points()'],['../classPolyShape.html#acbd1d536ad25e34b160e849a0fc12697',1,'PolyShape::points()']]], - ['position_340',['position',['../classSVGElement.html#acf9b9906b6d0cba8bb5c0b38b032e40f',1,'SVGElement']]] + ['parent_354',['parent',['../classSVGElement.html#adee748c3014de1c1ebd20411a52e824a',1,'SVGElement']]], + ['point_355',['point',['../structPathPoint.html#a95cecf76150d2bb4a6b6b7875693ca69',1,'PathPoint']]], + ['points_356',['points',['../classGradient.html#a8da859d1b12459800e763c31f18d0d41',1,'Gradient::points()'],['../classPath.html#a1880b844baafdeca91a7cf5d155cf9f1',1,'Path::points()'],['../classPolyShape.html#acbd1d536ad25e34b160e849a0fc12697',1,'PolyShape::points()']]], + ['position_357',['position',['../classSVGElement.html#acf9b9906b6d0cba8bb5c0b38b032e40f',1,'SVGElement']]] ]; diff --git a/docs/search/variables_d.js b/docs/search/variables_d.js index abd2a60..1b46701 100644 --- a/docs/search/variables_d.js +++ b/docs/search/variables_d.js @@ -1,8 +1,8 @@ var searchData= [ - ['r_341',['r',['../classmColor.html#a427453d377b30c62f7d25f47120959d6',1,'mColor']]], - ['radius_342',['radius',['../classEll.html#af57a48abe0e2bc8806e73dfa7762388f',1,'Ell::radius()'],['../classRadialGradient.html#abad9345ee5091075d8fc1b7a3511dbd7',1,'RadialGradient::radius()'],['../classRect.html#a7857e3568d2a2a35bf0c6b28028005b5',1,'Rect::radius()']]], - ['red_343',['Red',['../classmColor.html#aa0fc6fe3033f7ff2806c59e39c072dbc',1,'mColor']]], - ['root_344',['root',['../classParser.html#a13a5e2fdac62670c1584de1edbba77f2',1,'Parser']]], - ['rotate_5fangle_345',['rotate_angle',['../classViewer.html#a82dfd34668f986b72e51ee86d4029fc6',1,'Viewer']]] + ['r_358',['r',['../classColorShape.html#a7e699ac932feca73128bb768047c154b',1,'ColorShape']]], + ['radius_359',['radius',['../classEll.html#af57a48abe0e2bc8806e73dfa7762388f',1,'Ell::radius()'],['../structPathPoint.html#a6646f1aa8bba6735d4b4d794ef86a786',1,'PathPoint::radius()'],['../classRadialGradient.html#abad9345ee5091075d8fc1b7a3511dbd7',1,'RadialGradient::radius()'],['../classRect.html#a7857e3568d2a2a35bf0c6b28028005b5',1,'Rect::radius()']]], + ['red_360',['Red',['../classColorShape.html#a58f7532025f1f7715f13ebfc5586b08c',1,'ColorShape']]], + ['root_361',['root',['../classParser.html#a13a5e2fdac62670c1584de1edbba77f2',1,'Parser']]], + ['rotate_5fangle_362',['rotate_angle',['../classViewer.html#a82dfd34668f986b72e51ee86d4029fc6',1,'Viewer']]] ]; diff --git a/docs/search/variables_e.js b/docs/search/variables_e.js index 5b17d49..19a48cb 100644 --- a/docs/search/variables_e.js +++ b/docs/search/variables_e.js @@ -1,8 +1,9 @@ var searchData= [ - ['shapes_346',['shapes',['../classGroup.html#a6ff10d6fceb2a78103db2d9783de6f41',1,'Group']]], - ['stops_347',['stops',['../classGradient.html#a7831fa94135c818481ef7c85f792e1ca',1,'Gradient']]], - ['stroke_348',['stroke',['../classSVGElement.html#aab937dcb566cd83d94d00d69b4083f13',1,'SVGElement']]], - ['stroke_5fwidth_349',['stroke_width',['../classSVGElement.html#a88449b487a890e3765ae20e96ee95c06',1,'SVGElement']]], - ['style_350',['style',['../classText.html#a12ee81ccf865a414867d4101c8dbbdb2',1,'Text']]] + ['shapes_363',['shapes',['../classGroup.html#a6ff10d6fceb2a78103db2d9783de6f41',1,'Group']]], + ['stops_364',['stops',['../classGradient.html#a7831fa94135c818481ef7c85f792e1ca',1,'Gradient']]], + ['stroke_365',['stroke',['../classSVGElement.html#aab842e97c5d24c964607a6d6efa061f8',1,'SVGElement']]], + ['stroke_5fwidth_366',['stroke_width',['../classSVGElement.html#a88449b487a890e3765ae20e96ee95c06',1,'SVGElement']]], + ['style_367',['style',['../classText.html#a12ee81ccf865a414867d4101c8dbbdb2',1,'Text']]], + ['sweep_5fflag_368',['sweep_flag',['../structPathPoint.html#ace50ee641dc2747418072f50b445dd53',1,'PathPoint']]] ]; diff --git a/docs/search/variables_f.js b/docs/search/variables_f.js index 35c4cad..1b45c6e 100644 --- a/docs/search/variables_f.js +++ b/docs/search/variables_f.js @@ -1,5 +1,6 @@ var searchData= [ - ['transforms_351',['transforms',['../classGradient.html#a1387db53f850dd8cc765fc837c6e97e8',1,'Gradient::transforms()'],['../classSVGElement.html#aefeee5c1de3e802d9f5f0a54078170e6',1,'SVGElement::transforms()']]], - ['transparent_352',['Transparent',['../classmColor.html#ac4f0afaa513bbe9e68c16156136d4ada',1,'mColor']]] + ['tc_369',['tc',['../structPathPoint.html#a54896895f14e17ca49c47a71b79dd570',1,'PathPoint']]], + ['transforms_370',['transforms',['../classGradient.html#a1387db53f850dd8cc765fc837c6e97e8',1,'Gradient::transforms()'],['../classSVGElement.html#aefeee5c1de3e802d9f5f0a54078170e6',1,'SVGElement::transforms()']]], + ['transparent_371',['Transparent',['../classColorShape.html#af806b9a0f2490761528be87924cb04c0',1,'ColorShape']]] ]; diff --git a/docs/structPathPoint-members.html b/docs/structPathPoint-members.html index 0756855..b0532fe 100644 --- a/docs/structPathPoint-members.html +++ b/docs/structPathPoint-members.html @@ -124,12 +124,12 @@

This is the complete list of members for PathPoint, including all inherited members.

- - - - - - + + + + + +
large_arc_flag (defined in PathPoint)PathPoint
point (defined in PathPoint)PathPoint
radius (defined in PathPoint)PathPoint
sweep_flag (defined in PathPoint)PathPoint
tc (defined in PathPoint)PathPoint
x_axis_rotation (defined in PathPoint)PathPoint
large_arc_flagPathPoint
pointPathPoint
radiusPathPoint
sweep_flagPathPoint
tcPathPoint
x_axis_rotationPathPoint