diff --git a/.gitignore b/.gitignore index 84e5979..95170f1 100644 --- a/.gitignore +++ b/.gitignore @@ -35,7 +35,7 @@ build svg-reader external/samples/gradient -docs/latex/* -!docs/latex/refman.pdf +latex/* +!latex/refman.pdf *.json *.jar diff --git a/latex/Makefile b/latex/Makefile deleted file mode 100644 index 877c9cc..0000000 --- a/latex/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -LATEX_CMD=pdflatex - -all: refman.pdf - -pdf: refman.pdf - -refman.pdf: clean refman.tex - $(LATEX_CMD) refman - makeindex refman.idx - $(LATEX_CMD) refman - latex_count=8 ; \ - while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ - do \ - echo "Rerunning latex...." ;\ - $(LATEX_CMD) refman ;\ - latex_count=`expr $$latex_count - 1` ;\ - done - makeindex refman.idx - $(LATEX_CMD) refman - - -clean: - rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf diff --git a/latex/annotated.tex b/latex/annotated.tex deleted file mode 100644 index 1177d26..0000000 --- a/latex/annotated.tex +++ /dev/null @@ -1,24 +0,0 @@ -\doxysection{Class List} -Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList} -\item\contentsline{section}{\mbox{\hyperlink{classCircle}{Circle}} \\*Represents a circle in 2D space }{\pageref{classCircle}}{} -\item\contentsline{section}{\mbox{\hyperlink{classEll}{Ell}} \\*Represents an ellipse in 2D space }{\pageref{classEll}}{} -\item\contentsline{section}{\mbox{\hyperlink{classGradient}{Gradient}} \\*A class that represents a gradient }{\pageref{classGradient}}{} -\item\contentsline{section}{\mbox{\hyperlink{classGroup}{Group}} \\*A composite class that contains a vector of shape pointers (polymorphic) }{\pageref{classGroup}}{} -\item\contentsline{section}{\mbox{\hyperlink{classLine}{Line}} \\*Represents a line in 2D space }{\pageref{classLine}}{} -\item\contentsline{section}{\mbox{\hyperlink{classLinearGradient}{Linear\+Gradient}} \\*A class that represents a linear gradient }{\pageref{classLinearGradient}}{} -\item\contentsline{section}{\mbox{\hyperlink{classmColor}{m\+Color}} \\*Utility class for manipulating RGBA m\+Colors }{\pageref{classmColor}}{} -\item\contentsline{section}{\mbox{\hyperlink{classParser}{Parser}} \\*To manipulate and parse an SVG file }{\pageref{classParser}}{} -\item\contentsline{section}{\mbox{\hyperlink{classPath}{Path}} \\*Represents a path element in 2D space }{\pageref{classPath}}{} -\item\contentsline{section}{\mbox{\hyperlink{structPathPoint}{Path\+Point}} \\*A struct that contains a point and a type of point }{\pageref{structPathPoint}}{} -\item\contentsline{section}{\mbox{\hyperlink{classPlygon}{Plygon}} \\*Represents a polygon in 2D space }{\pageref{classPlygon}}{} -\item\contentsline{section}{\mbox{\hyperlink{classPlyline}{Plyline}} \\*Represents a polyline in 2D space }{\pageref{classPlyline}}{} -\item\contentsline{section}{\mbox{\hyperlink{classPolyShape}{Poly\+Shape}} \\*Abstract base class for polygon and polyline shapes in 2D space }{\pageref{classPolyShape}}{} -\item\contentsline{section}{\mbox{\hyperlink{classRadialGradient}{Radial\+Gradient}} \\*A class that represents a radial gradient }{\pageref{classRadialGradient}}{} -\item\contentsline{section}{\mbox{\hyperlink{classRect}{Rect}} \\*Represents a rectangle in 2D space }{\pageref{classRect}}{} -\item\contentsline{section}{\mbox{\hyperlink{classRenderer}{Renderer}} \\*Singleton class responsible for rendering shapes using GDI+ }{\pageref{classRenderer}}{} -\item\contentsline{section}{\mbox{\hyperlink{classStop}{Stop}} \\*A class that represents a stop }{\pageref{classStop}}{} -\item\contentsline{section}{\mbox{\hyperlink{classSVGElement}{SVGElement}} \\*Represents an element in an SVG file }{\pageref{classSVGElement}}{} -\item\contentsline{section}{\mbox{\hyperlink{classText}{Text}} \\*Represents text in 2D space }{\pageref{classText}}{} -\item\contentsline{section}{\mbox{\hyperlink{classVector2D}{Vector2\+D$<$ T $>$}} \\*Utility template class for manipulating 2-\/dimensional vectors }{\pageref{classVector2D}}{} -\item\contentsline{section}{\mbox{\hyperlink{classViewer}{Viewer}} \\*Represents a viewer for rendering and interacting with a scene }{\pageref{classViewer}}{} -\end{DoxyCompactList} diff --git a/latex/classCircle.tex b/latex/classCircle.tex deleted file mode 100644 index adc7c80..0000000 --- a/latex/classCircle.tex +++ /dev/null @@ -1,118 +0,0 @@ -\hypertarget{classCircle}{}\doxysection{Circle Class Reference} -\label{classCircle}\index{Circle@{Circle}} - - -Represents a circle in 2D space. - - - - -{\ttfamily \#include $<$Circle.\+hpp$>$} - - - -Inheritance diagram for Circle\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=157pt]{classCircle__inherit__graph} -\end{center} -\end{figure} - - -Collaboration diagram for Circle\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{classCircle__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classCircle_a5d018c51bfa1fa3d1081e3deef5eddc0}{Circle}} (float \mbox{\hyperlink{classEll_af57a48abe0e2bc8806e73dfa7762388f}{radius}}, const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \¢er, \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, float \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\+\_\+width}}) -\begin{DoxyCompactList}\small\item\em Constructs a \mbox{\hyperlink{classCircle}{Circle}} object. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classCircle_a09523e46318092d42a5969a1da5613bb}{get\+Class}} () const override -\begin{DoxyCompactList}\small\item\em Gets the type of the shape. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Additional Inherited Members} - - -\doxysubsection{Detailed Description} -Represents a circle in 2D space. - -The \mbox{\hyperlink{classCircle}{Circle}} class is derived from the Ellipse class and defines a circle with a specified radius, center, fill color, stroke color, and stroke thickness. - -Definition at line 13 of file Circle.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classCircle_a5d018c51bfa1fa3d1081e3deef5eddc0}\label{classCircle_a5d018c51bfa1fa3d1081e3deef5eddc0}} -\index{Circle@{Circle}!Circle@{Circle}} -\index{Circle@{Circle}!Circle@{Circle}} -\doxysubsubsection{\texorpdfstring{Circle()}{Circle()}} -{\footnotesize\ttfamily Circle\+::\+Circle (\begin{DoxyParamCaption}\item[{float}]{radius, }\item[{const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&}]{center, }\item[{\mbox{\hyperlink{classmColor}{m\+Color}}}]{fill, }\item[{\mbox{\hyperlink{classmColor}{m\+Color}}}]{stroke, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})} - - - -Constructs a \mbox{\hyperlink{classCircle}{Circle}} object. - - -\begin{DoxyParams}{Parameters} -{\em radius} & The radius of the circle. \\ -\hline -{\em center} & The center of the circle. \\ -\hline -{\em fill} & Fill color of the circle. \\ -\hline -{\em stroke} & Outline color of the circle. \\ -\hline -{\em stroke\+\_\+width} & Thickness of the circle outline. \\ -\hline -\end{DoxyParams} - - -Definition at line 3 of file Circle.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{5 : \mbox{\hyperlink{classEll_a4a9956ca82cb9f957e993fa0c0faced6}{Ell}}(\mbox{\hyperlink{classVector2D}{Vector2Df}}(\mbox{\hyperlink{classEll_af57a48abe0e2bc8806e73dfa7762388f}{radius}}, \mbox{\hyperlink{classEll_af57a48abe0e2bc8806e73dfa7762388f}{radius}}), center, \mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}}) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classCircle_a09523e46318092d42a5969a1da5613bb}\label{classCircle_a09523e46318092d42a5969a1da5613bb}} -\index{Circle@{Circle}!getClass@{getClass}} -\index{getClass@{getClass}!Circle@{Circle}} -\doxysubsubsection{\texorpdfstring{getClass()}{getClass()}} -{\footnotesize\ttfamily std\+::string Circle\+::get\+Class (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the type of the shape. - -\begin{DoxyReturn}{Returns} -The string \char`\"{}\+Circle\char`\"{}. -\end{DoxyReturn} - - -Implements \mbox{\hyperlink{classSVGElement_adc98ebac66965dd303283cbf7ff28f38}{SVGElement}}. - - - -Definition at line 7 of file Circle.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{7 \{ \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Circle"{}}; \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Circle.\+hpp\item -src/graphics/Circle.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classCircle__coll__graph.md5 b/latex/classCircle__coll__graph.md5 deleted file mode 100644 index 2bf903c..0000000 --- a/latex/classCircle__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -7eb504553d8308ac058b9f5683c73343 \ No newline at end of file diff --git a/latex/classCircle__coll__graph.pdf b/latex/classCircle__coll__graph.pdf deleted file mode 100644 index 8b4309a..0000000 Binary files a/latex/classCircle__coll__graph.pdf and /dev/null differ diff --git a/latex/classCircle__inherit__graph.md5 b/latex/classCircle__inherit__graph.md5 deleted file mode 100644 index aa0ab29..0000000 --- a/latex/classCircle__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -b71b7ee04b17856f53b2101c88d6b6ca \ No newline at end of file diff --git a/latex/classCircle__inherit__graph.pdf b/latex/classCircle__inherit__graph.pdf deleted file mode 100644 index 4e3e7af..0000000 Binary files a/latex/classCircle__inherit__graph.pdf and /dev/null differ diff --git a/latex/classEll.tex b/latex/classEll.tex deleted file mode 100644 index 29a2342..0000000 --- a/latex/classEll.tex +++ /dev/null @@ -1,271 +0,0 @@ -\hypertarget{classEll}{}\doxysection{Ell Class Reference} -\label{classEll}\index{Ell@{Ell}} - - -Represents an ellipse in 2D space. - - - - -{\ttfamily \#include $<$Ellipse.\+hpp$>$} - - - -Inheritance diagram for Ell\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=157pt]{classEll__inherit__graph} -\end{center} -\end{figure} - - -Collaboration diagram for Ell\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{classEll__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classEll_a4a9956ca82cb9f957e993fa0c0faced6}{Ell}} (const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&\mbox{\hyperlink{classEll_af57a48abe0e2bc8806e73dfa7762388f}{radius}}, const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \¢er, \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, float \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\+\_\+width}}) -\begin{DoxyCompactList}\small\item\em Constructs an Ellipse object. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classEll_a0d0a2a70c06878c5769bd7d092277892}{get\+Class}} () const override -\begin{DoxyCompactList}\small\item\em Gets the type of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classEll_a9f67131ba02c02fccf42c52f5f04525e}{set\+Radius}} (const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&\mbox{\hyperlink{classEll_af57a48abe0e2bc8806e73dfa7762388f}{radius}}) -\begin{DoxyCompactList}\small\item\em Sets the radius of the ellipse. \end{DoxyCompactList}\item -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{get\+Radius}} () const -\begin{DoxyCompactList}\small\item\em Gets the radius of the ellipse. \end{DoxyCompactList}\item -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classEll_ab79368df57ee08382916fc52b69afb85}{get\+Min\+Bound}} () const override -\begin{DoxyCompactList}\small\item\em Gets the minimum bounding box of the shape. \end{DoxyCompactList}\item -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classEll_a8a8dd2acc8c7be5580dd8e549d247525}{get\+Max\+Bound}} () const override -\begin{DoxyCompactList}\small\item\em Gets the maximum bounding box of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classEll_a1d6d60039d2405f2b7aa117206d128fb}{print\+Data}} () const override -\begin{DoxyCompactList}\small\item\em Prints the data of the shape. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classEll_af57a48abe0e2bc8806e73dfa7762388f}\label{classEll_af57a48abe0e2bc8806e73dfa7762388f}} -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classEll_af57a48abe0e2bc8806e73dfa7762388f}{radius}} -\begin{DoxyCompactList}\small\item\em Radii of the ellipse in the x and y directions. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Additional Inherited Members} - - -\doxysubsection{Detailed Description} -Represents an ellipse in 2D space. - -The Ellipse class is derived from the \mbox{\hyperlink{classSVGElement}{SVGElement}} class and defines an ellipse with a variable radius in the x and y directions. - -Definition at line 12 of file Ellipse.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classEll_a4a9956ca82cb9f957e993fa0c0faced6}\label{classEll_a4a9956ca82cb9f957e993fa0c0faced6}} -\index{Ell@{Ell}!Ell@{Ell}} -\index{Ell@{Ell}!Ell@{Ell}} -\doxysubsubsection{\texorpdfstring{Ell()}{Ell()}} -{\footnotesize\ttfamily Ell\+::\+Ell (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&}]{radius, }\item[{const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&}]{center, }\item[{\mbox{\hyperlink{classmColor}{m\+Color}}}]{fill, }\item[{\mbox{\hyperlink{classmColor}{m\+Color}}}]{stroke, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})} - - - -Constructs an Ellipse object. - - -\begin{DoxyParams}{Parameters} -{\em radius} & The radii of the ellipse in the x and y directions. \\ -\hline -{\em center} & The center of the ellipse. \\ -\hline -{\em fill} & Fill color of the ellipse. \\ -\hline -{\em stroke} & Outline color of the ellipse. \\ -\hline -{\em stroke\+\_\+width} & Thickness of the ellipse outline. \\ -\hline -\end{DoxyParams} - - -Definition at line 5 of file Ellipse.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{7 : \mbox{\hyperlink{classSVGElement_ad30205005009d2ba4820d3ce372e81ea}{SVGElement}}(\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, stroke\_thickness, center), \mbox{\hyperlink{classEll_af57a48abe0e2bc8806e73dfa7762388f}{radius}}(\mbox{\hyperlink{classEll_af57a48abe0e2bc8806e73dfa7762388f}{radius}}) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classEll_a0d0a2a70c06878c5769bd7d092277892}\label{classEll_a0d0a2a70c06878c5769bd7d092277892}} -\index{Ell@{Ell}!getClass@{getClass}} -\index{getClass@{getClass}!Ell@{Ell}} -\doxysubsubsection{\texorpdfstring{getClass()}{getClass()}} -{\footnotesize\ttfamily std\+::string Ell\+::get\+Class (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the type of the shape. - -\begin{DoxyReturn}{Returns} -The string \char`\"{}\+Ellipse\char`\"{}. -\end{DoxyReturn} -\begin{DoxyNote}{Note} -This function is used for determining the type of the shape. -\end{DoxyNote} - - -Implements \mbox{\hyperlink{classSVGElement_adc98ebac66965dd303283cbf7ff28f38}{SVGElement}}. - - - -Definition at line 9 of file Ellipse.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{9 \{ \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Ellipse"{}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classEll_a8a8dd2acc8c7be5580dd8e549d247525}\label{classEll_a8a8dd2acc8c7be5580dd8e549d247525}} -\index{Ell@{Ell}!getMaxBound@{getMaxBound}} -\index{getMaxBound@{getMaxBound}!Ell@{Ell}} -\doxysubsubsection{\texorpdfstring{getMaxBound()}{getMaxBound()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classVector2D}{Vector2\+Df}} Ell\+::get\+Max\+Bound (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the maximum bounding box of the shape. - -\begin{DoxyReturn}{Returns} -The maximum bounding box of the shape. -\end{DoxyReturn} - - -Reimplemented from \mbox{\hyperlink{classSVGElement_a03ac231161d1d5062951fa3fca33a39b}{SVGElement}}. - - - -Definition at line 20 of file Ellipse.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{20 \{} -\DoxyCodeLine{21 \textcolor{keywordflow}{return} \mbox{\hyperlink{classVector2D}{Vector2Df}}(\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().x + \mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().x,} -\DoxyCodeLine{22 \mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().y + \mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().y);} -\DoxyCodeLine{23 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classEll_ab79368df57ee08382916fc52b69afb85}\label{classEll_ab79368df57ee08382916fc52b69afb85}} -\index{Ell@{Ell}!getMinBound@{getMinBound}} -\index{getMinBound@{getMinBound}!Ell@{Ell}} -\doxysubsubsection{\texorpdfstring{getMinBound()}{getMinBound()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classVector2D}{Vector2\+Df}} Ell\+::get\+Min\+Bound (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the minimum bounding box of the shape. - -\begin{DoxyReturn}{Returns} -The minimum bounding box of the shape. -\end{DoxyReturn} - - -Reimplemented from \mbox{\hyperlink{classSVGElement_a0cce88c48233f4da470daad2edab0d06}{SVGElement}}. - - - -Definition at line 15 of file Ellipse.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{15 \{} -\DoxyCodeLine{16 \textcolor{keywordflow}{return} \mbox{\hyperlink{classVector2D}{Vector2Df}}(\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().x -\/ \mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().x,} -\DoxyCodeLine{17 \mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().y -\/ \mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().y);} -\DoxyCodeLine{18 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classEll_a00d607a5238705b552ec61b4409b76c1}\label{classEll_a00d607a5238705b552ec61b4409b76c1}} -\index{Ell@{Ell}!getRadius@{getRadius}} -\index{getRadius@{getRadius}!Ell@{Ell}} -\doxysubsubsection{\texorpdfstring{getRadius()}{getRadius()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classVector2D}{Vector2\+Df}} Ell\+::get\+Radius (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the radius of the ellipse. - -\begin{DoxyReturn}{Returns} -The radius of the ellipse. -\end{DoxyReturn} - - -Definition at line 13 of file Ellipse.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{13 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classEll_af57a48abe0e2bc8806e73dfa7762388f}{radius}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classEll_a1d6d60039d2405f2b7aa117206d128fb}\label{classEll_a1d6d60039d2405f2b7aa117206d128fb}} -\index{Ell@{Ell}!printData@{printData}} -\index{printData@{printData}!Ell@{Ell}} -\doxysubsubsection{\texorpdfstring{printData()}{printData()}} -{\footnotesize\ttfamily void Ell\+::print\+Data (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Prints the data of the shape. - -\begin{DoxyNote}{Note} -This function is used for debugging purposes. -\end{DoxyNote} - - -Reimplemented from \mbox{\hyperlink{classSVGElement_ad4bcd981ae7431161013811024b452e1}{SVGElement}}. - - - -Definition at line 25 of file Ellipse.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{25 \{} -\DoxyCodeLine{26 \mbox{\hyperlink{classSVGElement_ad4bcd981ae7431161013811024b452e1}{SVGElement::printData}}();} -\DoxyCodeLine{27 std::cout << \textcolor{stringliteral}{"{}Radius: "{}} << \mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} << \textcolor{stringliteral}{"{} "{}} << \mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}} -\DoxyCodeLine{28 << std::endl;} -\DoxyCodeLine{29 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classEll_a9f67131ba02c02fccf42c52f5f04525e}\label{classEll_a9f67131ba02c02fccf42c52f5f04525e}} -\index{Ell@{Ell}!setRadius@{setRadius}} -\index{setRadius@{setRadius}!Ell@{Ell}} -\doxysubsubsection{\texorpdfstring{setRadius()}{setRadius()}} -{\footnotesize\ttfamily void Ell\+::set\+Radius (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&}]{radius }\end{DoxyParamCaption})} - - - -Sets the radius of the ellipse. - - -\begin{DoxyParams}{Parameters} -{\em radius} & The new radius of the ellipse. \\ -\hline -\end{DoxyParams} - - -Definition at line 11 of file Ellipse.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{11 \{ this-\/>radius = \mbox{\hyperlink{classEll_af57a48abe0e2bc8806e73dfa7762388f}{radius}}; \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Ellipse.\+hpp\item -src/graphics/Ellipse.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classEll__coll__graph.md5 b/latex/classEll__coll__graph.md5 deleted file mode 100644 index 5cc00e5..0000000 --- a/latex/classEll__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1bf6c36ea8de695b3072bb70c72da550 \ No newline at end of file diff --git a/latex/classEll__coll__graph.pdf b/latex/classEll__coll__graph.pdf deleted file mode 100644 index c807db0..0000000 Binary files a/latex/classEll__coll__graph.pdf and /dev/null differ diff --git a/latex/classEll__inherit__graph.md5 b/latex/classEll__inherit__graph.md5 deleted file mode 100644 index 3a6ae53..0000000 --- a/latex/classEll__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1da125ae480765362b94755068e33819 \ No newline at end of file diff --git a/latex/classEll__inherit__graph.pdf b/latex/classEll__inherit__graph.pdf deleted file mode 100644 index cf1b53e..0000000 Binary files a/latex/classEll__inherit__graph.pdf and /dev/null differ diff --git a/latex/classGradient.tex b/latex/classGradient.tex deleted file mode 100644 index cf8fd9f..0000000 --- a/latex/classGradient.tex +++ /dev/null @@ -1,286 +0,0 @@ -\hypertarget{classGradient}{}\doxysection{Gradient Class Reference} -\label{classGradient}\index{Gradient@{Gradient}} - - -A class that represents a gradient. - - - - -{\ttfamily \#include $<$Gradient.\+hpp$>$} - - - -Inheritance diagram for Gradient\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=276pt]{classGradient__inherit__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classGradient_aa27206a9cc0adb5309a6db6dbd9d0257}{Gradient}} (std\+::vector$<$ \mbox{\hyperlink{classStop}{Stop}} $>$ \mbox{\hyperlink{classGradient_a7831fa94135c818481ef7c85f792e1ca}{stops}}, std\+::pair$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$ \mbox{\hyperlink{classGradient_a8da859d1b12459800e763c31f18d0d41}{points}}, std\+::string \mbox{\hyperlink{classGradient_a592dda454dc4df897263212191d6e3cb}{units}}) -\begin{DoxyCompactList}\small\item\em Constructs a \mbox{\hyperlink{classGradient}{Gradient}} object. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classGradient_a9332299756c51c99398ce09e584a8b42}\label{classGradient_a9332299756c51c99398ce09e584a8b42}} -virtual \mbox{\hyperlink{classGradient_a9332299756c51c99398ce09e584a8b42}{$\sim$\+Gradient}} ()=default -\begin{DoxyCompactList}\small\item\em Destructs a \mbox{\hyperlink{classGradient}{Gradient}} object. \end{DoxyCompactList}\item -virtual std\+::string \mbox{\hyperlink{classGradient_adb86ee7c9171cb7294d1bb8956e97891}{get\+Class}} () const =0 -\begin{DoxyCompactList}\small\item\em Gets the type of the gradient. \end{DoxyCompactList}\item -std\+::vector$<$ \mbox{\hyperlink{classStop}{Stop}} $>$ \mbox{\hyperlink{classGradient_a1125c4e5294389bb6698bf4fcb4f928d}{get\+Stops}} () const -\begin{DoxyCompactList}\small\item\em Gets the stops of the gradient. \end{DoxyCompactList}\item -std\+::pair$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$ \mbox{\hyperlink{classGradient_aced479d6a10d2aa53e6d363e1df5dc08}{get\+Points}} () const -\begin{DoxyCompactList}\small\item\em Gets the start and end points of the gradient. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classGradient_a61dd624d452ab2afe913414158888165}{set\+Units}} (std\+::string \mbox{\hyperlink{classGradient_a592dda454dc4df897263212191d6e3cb}{units}}) -\begin{DoxyCompactList}\small\item\em Gets the units of the gradient. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classGradient_a54cc5770c2dce46f1d56bcfb63285173}{get\+Units}} () const -\begin{DoxyCompactList}\small\item\em Gets the units of the gradient. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classGradient_ae2afa93bd9b6759f5fe625065301d3d9}{set\+Transforms}} (std\+::vector$<$ std\+::string $>$ \mbox{\hyperlink{classGradient_a1387db53f850dd8cc765fc837c6e97e8}{transforms}}) -\begin{DoxyCompactList}\small\item\em Gets the transforms of the gradient. \end{DoxyCompactList}\item -std\+::vector$<$ std\+::string $>$ \mbox{\hyperlink{classGradient_adf0e8b360f2b8e6edc1059002f85b1c1}{get\+Transforms}} () const -\begin{DoxyCompactList}\small\item\em Gets the transforms of the gradient. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classGradient_a44218bd3fb347f4c269f1f2795fb77d5}{add\+Stop}} (\mbox{\hyperlink{classStop}{Stop}} stop) -\begin{DoxyCompactList}\small\item\em Adds a stop to the gradient. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classGradient_a7831fa94135c818481ef7c85f792e1ca}\label{classGradient_a7831fa94135c818481ef7c85f792e1ca}} -std\+::vector$<$ \mbox{\hyperlink{classStop}{Stop}} $>$ \mbox{\hyperlink{classGradient_a7831fa94135c818481ef7c85f792e1ca}{stops}} -\begin{DoxyCompactList}\small\item\em Stops of the gradient. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classGradient_a8da859d1b12459800e763c31f18d0d41}\label{classGradient_a8da859d1b12459800e763c31f18d0d41}} -std\+::pair$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$ \mbox{\hyperlink{classGradient_a8da859d1b12459800e763c31f18d0d41}{points}} -\begin{DoxyCompactList}\small\item\em Start and end points of the gradient. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classGradient_a592dda454dc4df897263212191d6e3cb}\label{classGradient_a592dda454dc4df897263212191d6e3cb}} -std\+::string \mbox{\hyperlink{classGradient_a592dda454dc4df897263212191d6e3cb}{units}} -\begin{DoxyCompactList}\small\item\em Units of the gradient. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classGradient_a1387db53f850dd8cc765fc837c6e97e8}\label{classGradient_a1387db53f850dd8cc765fc837c6e97e8}} -std\+::vector$<$ std\+::string $>$ \mbox{\hyperlink{classGradient_a1387db53f850dd8cc765fc837c6e97e8}{transforms}} -\begin{DoxyCompactList}\small\item\em Transforms of the gradient. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\doxysubsection{Detailed Description} -A class that represents a gradient. - -The \mbox{\hyperlink{classGradient}{Gradient}} class is an abstract class that represents a gradient. It contains a vector of \mbox{\hyperlink{classStop}{Stop}} objects that represent the stops of the gradient. It also contains a pair of \mbox{\hyperlink{classVector2D}{Vector2D}} objects that represent the start and end points of the gradient. - -Definition at line 18 of file Gradient.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classGradient_aa27206a9cc0adb5309a6db6dbd9d0257}\label{classGradient_aa27206a9cc0adb5309a6db6dbd9d0257}} -\index{Gradient@{Gradient}!Gradient@{Gradient}} -\index{Gradient@{Gradient}!Gradient@{Gradient}} -\doxysubsubsection{\texorpdfstring{Gradient()}{Gradient()}} -{\footnotesize\ttfamily Gradient\+::\+Gradient (\begin{DoxyParamCaption}\item[{std\+::vector$<$ \mbox{\hyperlink{classStop}{Stop}} $>$}]{stops, }\item[{std\+::pair$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$}]{points, }\item[{std\+::string}]{units }\end{DoxyParamCaption})} - - - -Constructs a \mbox{\hyperlink{classGradient}{Gradient}} object. - - -\begin{DoxyParams}{Parameters} -{\em stops} & The stops of the gradient. \\ -\hline -{\em points} & The start and end points of the gradient. \\ -\hline -{\em units} & The units of the gradient. \\ -\hline -\end{DoxyParams} - - -Definition at line 3 of file Gradient.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{5 : \mbox{\hyperlink{classGradient_a7831fa94135c818481ef7c85f792e1ca}{stops}}(\mbox{\hyperlink{classGradient_a7831fa94135c818481ef7c85f792e1ca}{stops}}), \mbox{\hyperlink{classGradient_a8da859d1b12459800e763c31f18d0d41}{points}}(\mbox{\hyperlink{classGradient_a8da859d1b12459800e763c31f18d0d41}{points}}), \mbox{\hyperlink{classGradient_a592dda454dc4df897263212191d6e3cb}{units}}(\mbox{\hyperlink{classGradient_a592dda454dc4df897263212191d6e3cb}{units}}) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classGradient_a44218bd3fb347f4c269f1f2795fb77d5}\label{classGradient_a44218bd3fb347f4c269f1f2795fb77d5}} -\index{Gradient@{Gradient}!addStop@{addStop}} -\index{addStop@{addStop}!Gradient@{Gradient}} -\doxysubsubsection{\texorpdfstring{addStop()}{addStop()}} -{\footnotesize\ttfamily void Gradient\+::add\+Stop (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classStop}{Stop}}}]{stop }\end{DoxyParamCaption})} - - - -Adds a stop to the gradient. - - -\begin{DoxyParams}{Parameters} -{\em stop} & The stop to be added to the gradient. \\ -\hline -\end{DoxyParams} - - -Definition at line 23 of file Gradient.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{23 \{ \mbox{\hyperlink{classGradient_a7831fa94135c818481ef7c85f792e1ca}{stops}}.push\_back(stop); \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classGradient_adb86ee7c9171cb7294d1bb8956e97891}\label{classGradient_adb86ee7c9171cb7294d1bb8956e97891}} -\index{Gradient@{Gradient}!getClass@{getClass}} -\index{getClass@{getClass}!Gradient@{Gradient}} -\doxysubsubsection{\texorpdfstring{getClass()}{getClass()}} -{\footnotesize\ttfamily virtual std\+::string Gradient\+::get\+Class (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}} - - - -Gets the type of the gradient. - -\begin{DoxyReturn}{Returns} -The string that represents the type of the gradient. -\end{DoxyReturn} - - -Implemented in \mbox{\hyperlink{classRadialGradient_a132c35f92ecceb604cdddf098c36824c}{Radial\+Gradient}}, and \mbox{\hyperlink{classLinearGradient_aa434164a18fa29e778cdb7fc96770b9a}{Linear\+Gradient}}. - -\mbox{\Hypertarget{classGradient_aced479d6a10d2aa53e6d363e1df5dc08}\label{classGradient_aced479d6a10d2aa53e6d363e1df5dc08}} -\index{Gradient@{Gradient}!getPoints@{getPoints}} -\index{getPoints@{getPoints}!Gradient@{Gradient}} -\doxysubsubsection{\texorpdfstring{getPoints()}{getPoints()}} -{\footnotesize\ttfamily std\+::pair$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$ Gradient\+::get\+Points (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the start and end points of the gradient. - -\begin{DoxyReturn}{Returns} -The start and end points of the gradient. -\end{DoxyReturn} - - -Definition at line 9 of file Gradient.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{9 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classGradient_a8da859d1b12459800e763c31f18d0d41}{points}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classGradient_a1125c4e5294389bb6698bf4fcb4f928d}\label{classGradient_a1125c4e5294389bb6698bf4fcb4f928d}} -\index{Gradient@{Gradient}!getStops@{getStops}} -\index{getStops@{getStops}!Gradient@{Gradient}} -\doxysubsubsection{\texorpdfstring{getStops()}{getStops()}} -{\footnotesize\ttfamily std\+::vector$<$ \mbox{\hyperlink{classStop}{Stop}} $>$ Gradient\+::get\+Stops (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the stops of the gradient. - -\begin{DoxyReturn}{Returns} -The stops of the gradient. -\end{DoxyReturn} - - -Definition at line 7 of file Gradient.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{7 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classGradient_a7831fa94135c818481ef7c85f792e1ca}{stops}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classGradient_adf0e8b360f2b8e6edc1059002f85b1c1}\label{classGradient_adf0e8b360f2b8e6edc1059002f85b1c1}} -\index{Gradient@{Gradient}!getTransforms@{getTransforms}} -\index{getTransforms@{getTransforms}!Gradient@{Gradient}} -\doxysubsubsection{\texorpdfstring{getTransforms()}{getTransforms()}} -{\footnotesize\ttfamily std\+::vector$<$ std\+::string $>$ Gradient\+::get\+Transforms (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the transforms of the gradient. - -\begin{DoxyReturn}{Returns} -The transforms of the gradient. -\end{DoxyReturn} - - -Definition at line 19 of file Gradient.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{19 \{} -\DoxyCodeLine{20 \textcolor{keywordflow}{return} \mbox{\hyperlink{classGradient_a1387db53f850dd8cc765fc837c6e97e8}{transforms}};} -\DoxyCodeLine{21 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classGradient_a54cc5770c2dce46f1d56bcfb63285173}\label{classGradient_a54cc5770c2dce46f1d56bcfb63285173}} -\index{Gradient@{Gradient}!getUnits@{getUnits}} -\index{getUnits@{getUnits}!Gradient@{Gradient}} -\doxysubsubsection{\texorpdfstring{getUnits()}{getUnits()}} -{\footnotesize\ttfamily std\+::string Gradient\+::get\+Units (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the units of the gradient. - -\begin{DoxyReturn}{Returns} -The units of the gradient. -\end{DoxyReturn} - - -Definition at line 13 of file Gradient.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{13 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classGradient_a592dda454dc4df897263212191d6e3cb}{units}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classGradient_ae2afa93bd9b6759f5fe625065301d3d9}\label{classGradient_ae2afa93bd9b6759f5fe625065301d3d9}} -\index{Gradient@{Gradient}!setTransforms@{setTransforms}} -\index{setTransforms@{setTransforms}!Gradient@{Gradient}} -\doxysubsubsection{\texorpdfstring{setTransforms()}{setTransforms()}} -{\footnotesize\ttfamily void Gradient\+::set\+Transforms (\begin{DoxyParamCaption}\item[{std\+::vector$<$ std\+::string $>$}]{transforms }\end{DoxyParamCaption})} - - - -Gets the transforms of the gradient. - -\begin{DoxyReturn}{Returns} -The transforms of the gradient. -\end{DoxyReturn} - - -Definition at line 15 of file Gradient.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{15 \{} -\DoxyCodeLine{16 this-\/>\mbox{\hyperlink{classGradient_a1387db53f850dd8cc765fc837c6e97e8}{transforms}} = \mbox{\hyperlink{classGradient_a1387db53f850dd8cc765fc837c6e97e8}{transforms}};} -\DoxyCodeLine{17 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classGradient_a61dd624d452ab2afe913414158888165}\label{classGradient_a61dd624d452ab2afe913414158888165}} -\index{Gradient@{Gradient}!setUnits@{setUnits}} -\index{setUnits@{setUnits}!Gradient@{Gradient}} -\doxysubsubsection{\texorpdfstring{setUnits()}{setUnits()}} -{\footnotesize\ttfamily void Gradient\+::set\+Units (\begin{DoxyParamCaption}\item[{std\+::string}]{units }\end{DoxyParamCaption})} - - - -Gets the units of the gradient. - -\begin{DoxyReturn}{Returns} -The units of the gradient. -\end{DoxyReturn} - - -Definition at line 11 of file Gradient.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{11 \{ this-\/>\mbox{\hyperlink{classGradient_a592dda454dc4df897263212191d6e3cb}{units}} = \mbox{\hyperlink{classGradient_a592dda454dc4df897263212191d6e3cb}{units}}; \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Gradient.\+hpp\item -src/graphics/Gradient.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classGradient__inherit__graph.md5 b/latex/classGradient__inherit__graph.md5 deleted file mode 100644 index 200a104..0000000 --- a/latex/classGradient__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -15fc0beb30f67bb904831d228157dae4 \ No newline at end of file diff --git a/latex/classGradient__inherit__graph.pdf b/latex/classGradient__inherit__graph.pdf deleted file mode 100644 index 51218b5..0000000 Binary files a/latex/classGradient__inherit__graph.pdf and /dev/null differ diff --git a/latex/classGroup.tex b/latex/classGroup.tex deleted file mode 100644 index 736ba54..0000000 --- a/latex/classGroup.tex +++ /dev/null @@ -1,244 +0,0 @@ -\hypertarget{classGroup}{}\doxysection{Group Class Reference} -\label{classGroup}\index{Group@{Group}} - - -A composite class that contains a vector of shape pointers (polymorphic). - - - - -{\ttfamily \#include $<$Group.\+hpp$>$} - - - -Inheritance diagram for Group\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=157pt]{classGroup__inherit__graph} -\end{center} -\end{figure} - - -Collaboration diagram for Group\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{classGroup__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classGroup_a7b74f9ac68e0504ccf2e2854b7355ff1}\label{classGroup_a7b74f9ac68e0504ccf2e2854b7355ff1}} -\mbox{\hyperlink{classGroup_a7b74f9ac68e0504ccf2e2854b7355ff1}{Group}} () -\begin{DoxyCompactList}\small\item\em Constructs a \mbox{\hyperlink{classGroup}{Group}} object. \end{DoxyCompactList}\item -\mbox{\hyperlink{classGroup_a123cdaf1fb7cdf873740757d3864a4a6}{Group}} (Attributes \mbox{\hyperlink{classGroup_a9308f587c63720ccbe2bfd1bad868547}{attributes}}) -\begin{DoxyCompactList}\small\item\em Constructs a \mbox{\hyperlink{classGroup}{Group}} object. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classGroup_aed00a22ff227ee2657ae44a5cbcedf7c}\label{classGroup_aed00a22ff227ee2657ae44a5cbcedf7c}} -\mbox{\hyperlink{classGroup_aed00a22ff227ee2657ae44a5cbcedf7c}{$\sim$\+Group}} () -\begin{DoxyCompactList}\small\item\em Destructs a \mbox{\hyperlink{classGroup}{Group}} object. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classGroup_a070e010084eaac6131e1bf814d10d234}{get\+Class}} () const override -\begin{DoxyCompactList}\small\item\em Gets the type of the shape. \end{DoxyCompactList}\item -Attributes \mbox{\hyperlink{classGroup_a317fcd42fd61b83c0d932bd1eb2c753f}{get\+Attributes}} () const -\begin{DoxyCompactList}\small\item\em Gets the attributes of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classGroup_af4dafed0506ca5e9ea9e1028b1504919}{add\+Element}} (\mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$shape) override -\begin{DoxyCompactList}\small\item\em Adds a shape to the composite group. \end{DoxyCompactList}\item -std\+::vector$<$ \mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$ $>$ \mbox{\hyperlink{classGroup_a310fa83ccb20841373c11b6b4ac1d336}{get\+Elements}} () const -\begin{DoxyCompactList}\small\item\em Gets the vector of shapes in the composite group. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classGroup_a42fa18c4215ad3669db32b78e22303fa}{print\+Data}} () const override -\begin{DoxyCompactList}\small\item\em Prints the data of the shape. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classGroup_a6ff10d6fceb2a78103db2d9783de6f41}\label{classGroup_a6ff10d6fceb2a78103db2d9783de6f41}} -std\+::vector$<$ \mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$ $>$ \mbox{\hyperlink{classGroup_a6ff10d6fceb2a78103db2d9783de6f41}{shapes}} -\begin{DoxyCompactList}\small\item\em Vector of shapes in the group. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classGroup_a9308f587c63720ccbe2bfd1bad868547}\label{classGroup_a9308f587c63720ccbe2bfd1bad868547}} -Attributes \mbox{\hyperlink{classGroup_a9308f587c63720ccbe2bfd1bad868547}{attributes}} -\begin{DoxyCompactList}\small\item\em Attributes of the group. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Additional Inherited Members} - - -\doxysubsection{Detailed Description} -A composite class that contains a vector of shape pointers (polymorphic). - -The \mbox{\hyperlink{classGroup}{Group}} class is derived from the \mbox{\hyperlink{classSVGElement}{SVGElement}} class and defines a group of SVGElements. The \mbox{\hyperlink{classGroup}{Group}} class is a composite class that contains a vector of \mbox{\hyperlink{classSVGElement}{SVGElement}} pointers (polymorphic). The \mbox{\hyperlink{classGroup}{Group}} class is used to group SVGElements together. - -Definition at line 19 of file Group.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classGroup_a123cdaf1fb7cdf873740757d3864a4a6}\label{classGroup_a123cdaf1fb7cdf873740757d3864a4a6}} -\index{Group@{Group}!Group@{Group}} -\index{Group@{Group}!Group@{Group}} -\doxysubsubsection{\texorpdfstring{Group()}{Group()}} -{\footnotesize\ttfamily Group\+::\+Group (\begin{DoxyParamCaption}\item[{Attributes}]{attributes }\end{DoxyParamCaption})} - - - -Constructs a \mbox{\hyperlink{classGroup}{Group}} object. - - -\begin{DoxyParams}{Parameters} -{\em attributes} & The attributes of the group. \\ -\hline -\end{DoxyParams} - - -Definition at line 5 of file Group.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{5 : \mbox{\hyperlink{classGroup_a9308f587c63720ccbe2bfd1bad868547}{attributes}}(\mbox{\hyperlink{classGroup_a9308f587c63720ccbe2bfd1bad868547}{attributes}}) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classGroup_af4dafed0506ca5e9ea9e1028b1504919}\label{classGroup_af4dafed0506ca5e9ea9e1028b1504919}} -\index{Group@{Group}!addElement@{addElement}} -\index{addElement@{addElement}!Group@{Group}} -\doxysubsubsection{\texorpdfstring{addElement()}{addElement()}} -{\footnotesize\ttfamily void Group\+::add\+Element (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$}]{shape }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Adds a shape to the composite group. - - -\begin{DoxyParams}{Parameters} -{\em shape} & The shape to be added to the composite group. \\ -\hline -\end{DoxyParams} - - -Reimplemented from \mbox{\hyperlink{classSVGElement_af699f9aa795572c2873e520849579881}{SVGElement}}. - - - -Definition at line 17 of file Group.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{17 \{} -\DoxyCodeLine{18 \mbox{\hyperlink{classGroup_a6ff10d6fceb2a78103db2d9783de6f41}{shapes}}.push\_back(shape);} -\DoxyCodeLine{19 shape-\/>\mbox{\hyperlink{classSVGElement_a43b3bf06fae88a1634a189272088d11d}{setParent}}(\textcolor{keyword}{this});} -\DoxyCodeLine{20 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classGroup_a317fcd42fd61b83c0d932bd1eb2c753f}\label{classGroup_a317fcd42fd61b83c0d932bd1eb2c753f}} -\index{Group@{Group}!getAttributes@{getAttributes}} -\index{getAttributes@{getAttributes}!Group@{Group}} -\doxysubsubsection{\texorpdfstring{getAttributes()}{getAttributes()}} -{\footnotesize\ttfamily Attributes Group\+::get\+Attributes (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the attributes of the shape. - -\begin{DoxyNote}{Note} -This function uses rapid\+XML to parse the SVG file and get the attributes of the shape. -\end{DoxyNote} -\begin{DoxyReturn}{Returns} -The attributes of the shape that parsed from the SVG file. -\end{DoxyReturn} - - -Definition at line 15 of file Group.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{15 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classGroup_a9308f587c63720ccbe2bfd1bad868547}{attributes}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classGroup_a070e010084eaac6131e1bf814d10d234}\label{classGroup_a070e010084eaac6131e1bf814d10d234}} -\index{Group@{Group}!getClass@{getClass}} -\index{getClass@{getClass}!Group@{Group}} -\doxysubsubsection{\texorpdfstring{getClass()}{getClass()}} -{\footnotesize\ttfamily std\+::string Group\+::get\+Class (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the type of the shape. - -\begin{DoxyReturn}{Returns} -The string that represents the type of the shape. -\end{DoxyReturn} - - -Implements \mbox{\hyperlink{classSVGElement_adc98ebac66965dd303283cbf7ff28f38}{SVGElement}}. - - - -Definition at line 13 of file Group.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{13 \{ \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Group"{}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classGroup_a310fa83ccb20841373c11b6b4ac1d336}\label{classGroup_a310fa83ccb20841373c11b6b4ac1d336}} -\index{Group@{Group}!getElements@{getElements}} -\index{getElements@{getElements}!Group@{Group}} -\doxysubsubsection{\texorpdfstring{getElements()}{getElements()}} -{\footnotesize\ttfamily std\+::vector$<$ \mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$ $>$ Group\+::get\+Elements (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the vector of shapes in the composite group. - -\begin{DoxyReturn}{Returns} -The vector of shapes in the composite group. -\end{DoxyReturn} - - -Definition at line 22 of file Group.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{22 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classGroup_a6ff10d6fceb2a78103db2d9783de6f41}{shapes}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classGroup_a42fa18c4215ad3669db32b78e22303fa}\label{classGroup_a42fa18c4215ad3669db32b78e22303fa}} -\index{Group@{Group}!printData@{printData}} -\index{printData@{printData}!Group@{Group}} -\doxysubsubsection{\texorpdfstring{printData()}{printData()}} -{\footnotesize\ttfamily void Group\+::print\+Data (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Prints the data of the shape. - -\begin{DoxyNote}{Note} -This function is used for debugging purposes. -\end{DoxyNote} - - -Reimplemented from \mbox{\hyperlink{classSVGElement_ad4bcd981ae7431161013811024b452e1}{SVGElement}}. - - - -Definition at line 24 of file Group.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{24 \{} -\DoxyCodeLine{25 std::cout << \textcolor{stringliteral}{"{}Group: "{}} << std::endl;} -\DoxyCodeLine{26 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} shape : \mbox{\hyperlink{classGroup_a6ff10d6fceb2a78103db2d9783de6f41}{shapes}}) \{} -\DoxyCodeLine{27 std::cout << \textcolor{stringliteral}{"{} "{}};} -\DoxyCodeLine{28 shape-\/>printData();} -\DoxyCodeLine{29 std::cout << std::endl;} -\DoxyCodeLine{30 \}} -\DoxyCodeLine{31 \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Group.\+hpp\item -src/graphics/Group.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classGroup__coll__graph.md5 b/latex/classGroup__coll__graph.md5 deleted file mode 100644 index fac9c1e..0000000 --- a/latex/classGroup__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1a5fb3af2e38a622b56d8f2332264a9f \ No newline at end of file diff --git a/latex/classGroup__coll__graph.pdf b/latex/classGroup__coll__graph.pdf deleted file mode 100644 index 51b366b..0000000 Binary files a/latex/classGroup__coll__graph.pdf and /dev/null differ diff --git a/latex/classGroup__inherit__graph.md5 b/latex/classGroup__inherit__graph.md5 deleted file mode 100644 index 068bb5a..0000000 --- a/latex/classGroup__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -70b39b07f6ebcd5b18d651e51718f0db \ No newline at end of file diff --git a/latex/classGroup__inherit__graph.pdf b/latex/classGroup__inherit__graph.pdf deleted file mode 100644 index 7c5d10e..0000000 Binary files a/latex/classGroup__inherit__graph.pdf and /dev/null differ diff --git a/latex/classLine.tex b/latex/classLine.tex deleted file mode 100644 index f1d9dcc..0000000 --- a/latex/classLine.tex +++ /dev/null @@ -1,201 +0,0 @@ -\hypertarget{classLine}{}\doxysection{Line Class Reference} -\label{classLine}\index{Line@{Line}} - - -Represents a line in 2D space. - - - - -{\ttfamily \#include $<$Line.\+hpp$>$} - - - -Inheritance diagram for Line\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=157pt]{classLine__inherit__graph} -\end{center} -\end{figure} - - -Collaboration diagram for Line\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{classLine__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classLine_ab6e165ec2c3f412d5e5a860b28a52b4c}{Line}} (const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&point1, const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&point2, \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, float \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\+\_\+width}}) -\begin{DoxyCompactList}\small\item\em Constructs a \mbox{\hyperlink{classLine}{Line}} object. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classLine_a745f295541d412b49dac89423bd957a6}{get\+Class}} () const override -\begin{DoxyCompactList}\small\item\em Gets the type of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classLine_ab46a879365e623e8b360c2db54d76782}{set\+Direction}} (const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&\mbox{\hyperlink{classLine_a3fe45077492213ef490739c6137200d1}{direction}}) -\begin{DoxyCompactList}\small\item\em Sets the direction of the line. \end{DoxyCompactList}\item -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classLine_adb348ce7ddf4b500c3593b7126aa4451}{get\+Direction}} () const -\begin{DoxyCompactList}\small\item\em Gets the direction of the line. \end{DoxyCompactList}\item -float \mbox{\hyperlink{classLine_afe6672bc7667cf45739c46f9fc8cb237}{get\+Length}} () const -\begin{DoxyCompactList}\small\item\em Gets the length of the line. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classLine_a3fe45077492213ef490739c6137200d1}\label{classLine_a3fe45077492213ef490739c6137200d1}} -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classLine_a3fe45077492213ef490739c6137200d1}{direction}} -\begin{DoxyCompactList}\small\item\em Direction of the line. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Additional Inherited Members} - - -\doxysubsection{Detailed Description} -Represents a line in 2D space. - -The \mbox{\hyperlink{classLine}{Line}} class is derived from the \mbox{\hyperlink{classSVGElement}{SVGElement}} class and defines a line segment with a specified direction and thickness. - -Definition at line 12 of file Line.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classLine_ab6e165ec2c3f412d5e5a860b28a52b4c}\label{classLine_ab6e165ec2c3f412d5e5a860b28a52b4c}} -\index{Line@{Line}!Line@{Line}} -\index{Line@{Line}!Line@{Line}} -\doxysubsubsection{\texorpdfstring{Line()}{Line()}} -{\footnotesize\ttfamily Line\+::\+Line (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&}]{point1, }\item[{const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&}]{point2, }\item[{\mbox{\hyperlink{classmColor}{m\+Color}}}]{stroke, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})} - - - -Constructs a \mbox{\hyperlink{classLine}{Line}} object. - - -\begin{DoxyParams}{Parameters} -{\em point1} & The starting point of the line. \\ -\hline -{\em point2} & The ending point of the line. \\ -\hline -{\em stroke} & The color of the line (default is sf\+::\+Color\+::\+White). \\ -\hline -{\em stroke\+\_\+width} & The thickness of the line (default is 1.\+0). \\ -\hline -\end{DoxyParams} - - -Definition at line 5 of file Line.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{7 : \mbox{\hyperlink{classSVGElement_ad30205005009d2ba4820d3ce372e81ea}{SVGElement}}(\mbox{\hyperlink{classmColor_ac4f0afaa513bbe9e68c16156136d4ada}{mColor::Transparent}}, \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}}, point1),} -\DoxyCodeLine{8 \mbox{\hyperlink{classLine_a3fe45077492213ef490739c6137200d1}{direction}}(point2) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classLine_a745f295541d412b49dac89423bd957a6}\label{classLine_a745f295541d412b49dac89423bd957a6}} -\index{Line@{Line}!getClass@{getClass}} -\index{getClass@{getClass}!Line@{Line}} -\doxysubsubsection{\texorpdfstring{getClass()}{getClass()}} -{\footnotesize\ttfamily std\+::string Line\+::get\+Class (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the type of the shape. - -\begin{DoxyReturn}{Returns} -The string \char`\"{}\+Line\char`\"{}. -\end{DoxyReturn} - - -Implements \mbox{\hyperlink{classSVGElement_adc98ebac66965dd303283cbf7ff28f38}{SVGElement}}. - - - -Definition at line 10 of file Line.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{10 \{ \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Line"{}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classLine_adb348ce7ddf4b500c3593b7126aa4451}\label{classLine_adb348ce7ddf4b500c3593b7126aa4451}} -\index{Line@{Line}!getDirection@{getDirection}} -\index{getDirection@{getDirection}!Line@{Line}} -\doxysubsubsection{\texorpdfstring{getDirection()}{getDirection()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classVector2D}{Vector2\+Df}} Line\+::get\+Direction (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the direction of the line. - -\begin{DoxyReturn}{Returns} -The direction of the line. -\end{DoxyReturn} - - -Definition at line 16 of file Line.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{16 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classLine_a3fe45077492213ef490739c6137200d1}{direction}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classLine_afe6672bc7667cf45739c46f9fc8cb237}\label{classLine_afe6672bc7667cf45739c46f9fc8cb237}} -\index{Line@{Line}!getLength@{getLength}} -\index{getLength@{getLength}!Line@{Line}} -\doxysubsubsection{\texorpdfstring{getLength()}{getLength()}} -{\footnotesize\ttfamily float Line\+::get\+Length (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the length of the line. - -\begin{DoxyReturn}{Returns} -The length of the line. -\end{DoxyReturn} - - -Definition at line 18 of file Line.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{18 \{} -\DoxyCodeLine{19 \textcolor{keywordflow}{return} std::sqrt(\mbox{\hyperlink{classLine_a3fe45077492213ef490739c6137200d1}{direction}}.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} * \mbox{\hyperlink{classLine_a3fe45077492213ef490739c6137200d1}{direction}}.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} + \mbox{\hyperlink{classLine_a3fe45077492213ef490739c6137200d1}{direction}}.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} * \mbox{\hyperlink{classLine_a3fe45077492213ef490739c6137200d1}{direction}}.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}});} -\DoxyCodeLine{20 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classLine_ab46a879365e623e8b360c2db54d76782}\label{classLine_ab46a879365e623e8b360c2db54d76782}} -\index{Line@{Line}!setDirection@{setDirection}} -\index{setDirection@{setDirection}!Line@{Line}} -\doxysubsubsection{\texorpdfstring{setDirection()}{setDirection()}} -{\footnotesize\ttfamily void Line\+::set\+Direction (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&}]{direction }\end{DoxyParamCaption})} - - - -Sets the direction of the line. - - -\begin{DoxyParams}{Parameters} -{\em direction} & The new direction of the line. \\ -\hline -\end{DoxyParams} - - -Definition at line 12 of file Line.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{12 \{} -\DoxyCodeLine{13 this-\/>direction = \mbox{\hyperlink{classLine_a3fe45077492213ef490739c6137200d1}{direction}};} -\DoxyCodeLine{14 \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Line.\+hpp\item -src/graphics/Line.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classLine__coll__graph.md5 b/latex/classLine__coll__graph.md5 deleted file mode 100644 index 5407a6a..0000000 --- a/latex/classLine__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8fc5ab45168d4c5ec2d1660dabe86569 \ No newline at end of file diff --git a/latex/classLine__coll__graph.pdf b/latex/classLine__coll__graph.pdf deleted file mode 100644 index 563f055..0000000 Binary files a/latex/classLine__coll__graph.pdf and /dev/null differ diff --git a/latex/classLine__inherit__graph.md5 b/latex/classLine__inherit__graph.md5 deleted file mode 100644 index 9138127..0000000 --- a/latex/classLine__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ac02fffcf8ebddb3ca856523d5b618a9 \ No newline at end of file diff --git a/latex/classLine__inherit__graph.pdf b/latex/classLine__inherit__graph.pdf deleted file mode 100644 index dd3150d..0000000 Binary files a/latex/classLine__inherit__graph.pdf and /dev/null differ diff --git a/latex/classLinearGradient.tex b/latex/classLinearGradient.tex deleted file mode 100644 index 6d95b27..0000000 --- a/latex/classLinearGradient.tex +++ /dev/null @@ -1,116 +0,0 @@ -\hypertarget{classLinearGradient}{}\doxysection{Linear\+Gradient Class Reference} -\label{classLinearGradient}\index{LinearGradient@{LinearGradient}} - - -A class that represents a linear gradient. - - - - -{\ttfamily \#include $<$Linear\+Gradient.\+hpp$>$} - - - -Inheritance diagram for Linear\+Gradient\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=169pt]{classLinearGradient__inherit__graph} -\end{center} -\end{figure} - - -Collaboration diagram for Linear\+Gradient\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=169pt]{classLinearGradient__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classLinearGradient_aaa0260244d818cd9d1180cb2697cc83b}{Linear\+Gradient}} (std\+::vector$<$ \mbox{\hyperlink{classStop}{Stop}} $>$ \mbox{\hyperlink{classGradient_a7831fa94135c818481ef7c85f792e1ca}{stops}}, std\+::pair$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$ \mbox{\hyperlink{classGradient_a8da859d1b12459800e763c31f18d0d41}{points}}, std\+::string \mbox{\hyperlink{classGradient_a592dda454dc4df897263212191d6e3cb}{units}}) -\begin{DoxyCompactList}\small\item\em Constructs a \mbox{\hyperlink{classLinearGradient}{Linear\+Gradient}} object. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classLinearGradient_aa434164a18fa29e778cdb7fc96770b9a}{get\+Class}} () const override -\begin{DoxyCompactList}\small\item\em Gets the type of the gradient. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\doxysubsection{Detailed Description} -A class that represents a linear gradient. - -The \mbox{\hyperlink{classLinearGradient}{Linear\+Gradient}} class is derived from the \mbox{\hyperlink{classGradient}{Gradient}} class and represents a linear gradient. It contains a vector of \mbox{\hyperlink{classStop}{Stop}} objects that represent the the stops of the gradient. It also contains a pair of \mbox{\hyperlink{classVector2D}{Vector2D}} objects that represent the start and end points of the gradient. - -Definition at line 14 of file Linear\+Gradient.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classLinearGradient_aaa0260244d818cd9d1180cb2697cc83b}\label{classLinearGradient_aaa0260244d818cd9d1180cb2697cc83b}} -\index{LinearGradient@{LinearGradient}!LinearGradient@{LinearGradient}} -\index{LinearGradient@{LinearGradient}!LinearGradient@{LinearGradient}} -\doxysubsubsection{\texorpdfstring{LinearGradient()}{LinearGradient()}} -{\footnotesize\ttfamily Linear\+Gradient\+::\+Linear\+Gradient (\begin{DoxyParamCaption}\item[{std\+::vector$<$ \mbox{\hyperlink{classStop}{Stop}} $>$}]{stops, }\item[{std\+::pair$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$}]{points, }\item[{std\+::string}]{units }\end{DoxyParamCaption})} - - - -Constructs a \mbox{\hyperlink{classLinearGradient}{Linear\+Gradient}} object. - - -\begin{DoxyParams}{Parameters} -{\em stops} & The stops of the gradient. \\ -\hline -{\em points} & The start and end points of the gradient. \\ -\hline -{\em units} & The units of the gradient. \\ -\hline -\end{DoxyParams} - - -Definition at line 3 of file Linear\+Gradient.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{6 : \mbox{\hyperlink{classGradient_aa27206a9cc0adb5309a6db6dbd9d0257}{Gradient}}(\mbox{\hyperlink{classGradient_a7831fa94135c818481ef7c85f792e1ca}{stops}}, \mbox{\hyperlink{classGradient_a8da859d1b12459800e763c31f18d0d41}{points}}, \mbox{\hyperlink{classGradient_a592dda454dc4df897263212191d6e3cb}{units}}) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classLinearGradient_aa434164a18fa29e778cdb7fc96770b9a}\label{classLinearGradient_aa434164a18fa29e778cdb7fc96770b9a}} -\index{LinearGradient@{LinearGradient}!getClass@{getClass}} -\index{getClass@{getClass}!LinearGradient@{LinearGradient}} -\doxysubsubsection{\texorpdfstring{getClass()}{getClass()}} -{\footnotesize\ttfamily std\+::string Linear\+Gradient\+::get\+Class (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the type of the gradient. - -\begin{DoxyReturn}{Returns} -The string \char`\"{}\+Linear\+Gradient\char`\"{}. -\end{DoxyReturn} -\begin{DoxyNote}{Note} -This function is used for determining the type of the gradient. -\end{DoxyNote} - - -Implements \mbox{\hyperlink{classGradient_adb86ee7c9171cb7294d1bb8956e97891}{Gradient}}. - - - -Definition at line 8 of file Linear\+Gradient.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{8 \{ \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}LinearGradient"{}}; \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Linear\+Gradient.\+hpp\item -src/graphics/Linear\+Gradient.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classLinearGradient__coll__graph.md5 b/latex/classLinearGradient__coll__graph.md5 deleted file mode 100644 index a438f8a..0000000 --- a/latex/classLinearGradient__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -cabc8d3fdc25ebafe5948e9a9d3ae6f0 \ No newline at end of file diff --git a/latex/classLinearGradient__coll__graph.pdf b/latex/classLinearGradient__coll__graph.pdf deleted file mode 100644 index de42a23..0000000 Binary files a/latex/classLinearGradient__coll__graph.pdf and /dev/null differ diff --git a/latex/classLinearGradient__inherit__graph.md5 b/latex/classLinearGradient__inherit__graph.md5 deleted file mode 100644 index a438f8a..0000000 --- a/latex/classLinearGradient__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -cabc8d3fdc25ebafe5948e9a9d3ae6f0 \ No newline at end of file diff --git a/latex/classLinearGradient__inherit__graph.pdf b/latex/classLinearGradient__inherit__graph.pdf deleted file mode 100644 index de42a23..0000000 Binary files a/latex/classLinearGradient__inherit__graph.pdf and /dev/null differ diff --git a/latex/classParser.tex b/latex/classParser.tex deleted file mode 100644 index c8c89f1..0000000 --- a/latex/classParser.tex +++ /dev/null @@ -1,1439 +0,0 @@ -\hypertarget{classParser}{}\doxysection{Parser Class Reference} -\label{classParser}\index{Parser@{Parser}} - - -To manipulate and parse an SVG file. - - - - -{\ttfamily \#include $<$Parser.\+hpp$>$} - - - -Collaboration diagram for Parser\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{classParser__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classParser_a48044a8caa14a251cb4dad9fb363658e}\label{classParser_a48044a8caa14a251cb4dad9fb363658e}} -\mbox{\hyperlink{classParser_a48044a8caa14a251cb4dad9fb363658e}{Parser}} (const \mbox{\hyperlink{classParser}{Parser}} \&)=delete -\begin{DoxyCompactList}\small\item\em Deleted copy constructor to enforce the singleton pattern. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classParser_a3e658b5917a93a3ef648050d060e3a93}\label{classParser_a3e658b5917a93a3ef648050d060e3a93}} -\mbox{\hyperlink{classParser_a3e658b5917a93a3ef648050d060e3a93}{$\sim$\+Parser}} () -\begin{DoxyCompactList}\small\item\em Destructor for the \mbox{\hyperlink{classParser}{Parser}} class. \end{DoxyCompactList}\item -\mbox{\hyperlink{classGroup}{Group}} $\ast$ \mbox{\hyperlink{classParser_a59ed4455eaec306cde11939785c4e71a}{get\+Root}} () -\begin{DoxyCompactList}\small\item\em Gets the root of the tree of SVGElements. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classParser_a3d8927f2e26abf6a63bd850c154b23c6}{print\+Shapes\+Data}} () -\begin{DoxyCompactList}\small\item\em Prints the data of the shapes. \end{DoxyCompactList}\item -std\+::pair$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$ \mbox{\hyperlink{classParser_a4efa2342d694eff2ab6ba1d150c7bb69}{get\+View\+Box}} () const -\begin{DoxyCompactList}\small\item\em Gets the viewbox of the SVG file. \end{DoxyCompactList}\item -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classParser_a009fbe10a1b9b58a65be44634335a062}{get\+View\+Port}} () const -\begin{DoxyCompactList}\small\item\em Gets the viewport of the SVG file. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Static Public Member Functions} -\begin{DoxyCompactItemize} -\item -static \mbox{\hyperlink{classParser}{Parser}} $\ast$ \mbox{\hyperlink{classParser_a06952fa44f19fdb573c1355ac26454c5}{get\+Instance}} (const std\+::string \&file\+\_\+name) -\begin{DoxyCompactList}\small\item\em Gets the singleton instance of the \mbox{\hyperlink{classParser}{Parser}} class. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classParser_a350fc3e35535c5891cd9e36e79ee546a}{Parser}} (const std\+::string \&file\+\_\+name) -\begin{DoxyCompactList}\small\item\em Construct a new \mbox{\hyperlink{classParser}{Parser}} object. \end{DoxyCompactList}\item -\mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$ \mbox{\hyperlink{classParser_aaf9f19591ff93f0c0c2fd68955e4a4af}{parse\+Elements}} (std\+::string file\+\_\+name) -\begin{DoxyCompactList}\small\item\em Parses the SVG file and creates a tree of SVGElements. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{get\+Attribute}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node, std\+::string name) -\begin{DoxyCompactList}\small\item\em Gets the attributes of a node. \end{DoxyCompactList}\item -float \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{get\+Float\+Attribute}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node, std\+::string name) -\begin{DoxyCompactList}\small\item\em Gets the floating point attributes of a node. \end{DoxyCompactList}\item -std\+::vector$<$ \mbox{\hyperlink{classStop}{Stop}} $>$ \mbox{\hyperlink{classParser_aca2ed5f466436a9e9f78618bb1e356fd}{get\+Gradient\+Stops}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node) -\begin{DoxyCompactList}\small\item\em Gets the gradient stops of a node. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classParser_ac00eac6bf37c45c9160fa47700d2466f}{Get\+Gradients}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node) -\begin{DoxyCompactList}\small\item\em Gets the gradients of a node. \end{DoxyCompactList}\item -\mbox{\hyperlink{classGradient}{Gradient}} $\ast$ \mbox{\hyperlink{classParser_ac1e519500fce1b4192362ed1aa5ccbc3}{parse\+Gradient}} (std\+::string id) -\begin{DoxyCompactList}\small\item\em Gets the gradient of a node. \end{DoxyCompactList}\item -\mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classParser_a18d5a9aa35bd124023a060940486e183}{parse\+Color}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node, std\+::string color, std\+::string \&id) -\begin{DoxyCompactList}\small\item\em Gets the color attributes of a node. \end{DoxyCompactList}\item -std\+::vector$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$ \mbox{\hyperlink{classParser_af408a2ef7b27ceed0547093d73e6b2eb}{parse\+Points}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node) -\begin{DoxyCompactList}\small\item\em Gets the points of the element. \end{DoxyCompactList}\item -std\+::vector$<$ \mbox{\hyperlink{structPathPoint}{Path\+Point}} $>$ \mbox{\hyperlink{classParser_aecea54d6bc1ff225a6ac450ccbb560c3}{parse\+Path\+Points}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node) -\begin{DoxyCompactList}\small\item\em Gets the points of the path element. \end{DoxyCompactList}\item -std\+::vector$<$ std\+::string $>$ \mbox{\hyperlink{classParser_a99df58e649089762bf434502173716d6}{get\+Transform\+Order}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node) -\begin{DoxyCompactList}\small\item\em Gets the transform order of the element. \end{DoxyCompactList}\item -\mbox{\hyperlink{classLine}{Line}} $\ast$ \mbox{\hyperlink{classParser_a95e84ae219109769fae08702381acf78}{parse\+Line}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node, const \mbox{\hyperlink{classmColor}{m\+Color}} \&stroke\+\_\+color, float stroke\+\_\+width) -\begin{DoxyCompactList}\small\item\em Parses the line element. \end{DoxyCompactList}\item -\mbox{\hyperlink{classRect}{Rect}} $\ast$ \mbox{\hyperlink{classParser_a20352ab58a59e61f6da1b4d20861907d}{parse\+Rect}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node, const \mbox{\hyperlink{classmColor}{m\+Color}} \&fill\+\_\+color, const \mbox{\hyperlink{classmColor}{m\+Color}} \&stroke\+\_\+color, float stroke\+\_\+width) -\begin{DoxyCompactList}\small\item\em Parses the rect element. \end{DoxyCompactList}\item -class \mbox{\hyperlink{classPlyline}{Plyline}} $\ast$ \mbox{\hyperlink{classParser_a03766f0f9f6ebdead0474973d3ac50aa}{parse\+Polyline}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node, const \mbox{\hyperlink{classmColor}{m\+Color}} \&fill\+\_\+color, const \mbox{\hyperlink{classmColor}{m\+Color}} \&stroke\+\_\+color, float stroke\+\_\+width) -\begin{DoxyCompactList}\small\item\em Parses the polyline element. \end{DoxyCompactList}\item -class \mbox{\hyperlink{classPlygon}{Plygon}} $\ast$ \mbox{\hyperlink{classParser_a7afd52c648dc5983e596edfa7eb6bbb5}{parse\+Polygon}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node, const \mbox{\hyperlink{classmColor}{m\+Color}} \&fill\+\_\+color, const \mbox{\hyperlink{classmColor}{m\+Color}} \&stroke\+\_\+color, float stroke\+\_\+width) -\begin{DoxyCompactList}\small\item\em Parses the polygon element. \end{DoxyCompactList}\item -\mbox{\hyperlink{classCircle}{Circle}} $\ast$ \mbox{\hyperlink{classParser_ab7776f740b7d63c388a086c8b8ecccd0}{parse\+Circle}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node, const \mbox{\hyperlink{classmColor}{m\+Color}} \&fill\+\_\+color, const \mbox{\hyperlink{classmColor}{m\+Color}} \&stroke\+\_\+color, float stroke\+\_\+width) -\begin{DoxyCompactList}\small\item\em Parses the circle element. \end{DoxyCompactList}\item -class \mbox{\hyperlink{classEll}{Ell}} $\ast$ \mbox{\hyperlink{classParser_a0af0085ee5e20739bdf23a5b685642b6}{parse\+Ellipse}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node, const \mbox{\hyperlink{classmColor}{m\+Color}} \&fill\+\_\+color, const \mbox{\hyperlink{classmColor}{m\+Color}} \&stroke\+\_\+color, float stroke\+\_\+width) -\begin{DoxyCompactList}\small\item\em Parses the ellipse element. \end{DoxyCompactList}\item -\mbox{\hyperlink{classPath}{Path}} $\ast$ \mbox{\hyperlink{classParser_a6f80728e7a771d2653baf1b453b655d9}{parse\+Path}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node, const \mbox{\hyperlink{classmColor}{m\+Color}} \&fill\+\_\+color, const \mbox{\hyperlink{classmColor}{m\+Color}} \&stroke\+\_\+color, float stroke\+\_\+width) -\begin{DoxyCompactList}\small\item\em Parses the path element. \end{DoxyCompactList}\item -\mbox{\hyperlink{classText}{Text}} $\ast$ \mbox{\hyperlink{classParser_a539bda46a2832a22741105c9299c12cb}{parse\+Text}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node, const \mbox{\hyperlink{classmColor}{m\+Color}} \&fill\+\_\+color, const \mbox{\hyperlink{classmColor}{m\+Color}} \&stroke\+\_\+color, float stroke\+\_\+width) -\begin{DoxyCompactList}\small\item\em Parses the text element. \end{DoxyCompactList}\item -\mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$ \mbox{\hyperlink{classParser_abfd09c5dd46fb0dc9bcd9106857dbf5e}{parse\+Shape}} (rapidxml\+::xml\+\_\+node$<$$>$ $\ast$node) -\begin{DoxyCompactList}\small\item\em Parses the group of elements. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classParser_a13a5e2fdac62670c1584de1edbba77f2}\label{classParser_a13a5e2fdac62670c1584de1edbba77f2}} -\mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$ \mbox{\hyperlink{classParser_a13a5e2fdac62670c1584de1edbba77f2}{root}} -\begin{DoxyCompactList}\small\item\em The root of the SVG file. \end{DoxyCompactList}\item -std\+::map$<$ std\+::string, \mbox{\hyperlink{classGradient}{Gradient}} $\ast$ $>$ \mbox{\hyperlink{classParser_a7f085da78317baf2cc61e6e92b4b29c8}{gradients}} -\item -\mbox{\Hypertarget{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}\label{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}} -std\+::pair$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$ \mbox{\hyperlink{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}{viewbox}} -\begin{DoxyCompactList}\small\item\em The viewbox of the SVG file. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classParser_a2872aff3bfb15fdb1df2dcdce2bd632a}\label{classParser_a2872aff3bfb15fdb1df2dcdce2bd632a}} -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classParser_a2872aff3bfb15fdb1df2dcdce2bd632a}{viewport}} -\begin{DoxyCompactList}\small\item\em The viewport of the SVG file. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Static Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classParser_ae3a28c02c18171f4e83fae54b9f21a90}\label{classParser_ae3a28c02c18171f4e83fae54b9f21a90}} -static \mbox{\hyperlink{classParser}{Parser}} $\ast$ \mbox{\hyperlink{classParser_ae3a28c02c18171f4e83fae54b9f21a90}{instance}} = nullptr -\begin{DoxyCompactList}\small\item\em The instance of the \mbox{\hyperlink{classParser}{Parser}}. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\doxysubsection{Detailed Description} -To manipulate and parse an SVG file. - -The \mbox{\hyperlink{classParser}{Parser}} class is a singleton class that is used to parse an SVG file and create a tree of SVGElements. - -Definition at line 24 of file Parser.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classParser_a350fc3e35535c5891cd9e36e79ee546a}\label{classParser_a350fc3e35535c5891cd9e36e79ee546a}} -\index{Parser@{Parser}!Parser@{Parser}} -\index{Parser@{Parser}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{Parser()}{Parser()}} -{\footnotesize\ttfamily Parser\+::\+Parser (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{file\+\_\+name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Construct a new \mbox{\hyperlink{classParser}{Parser}} object. - - -\begin{DoxyParams}{Parameters} -{\em file\+\_\+name} & The name of the file to be parsed. \\ -\hline -\end{DoxyParams} - - -Definition at line 165 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{165 \{} -\DoxyCodeLine{166 \mbox{\hyperlink{classParser_a13a5e2fdac62670c1584de1edbba77f2}{root}} = \mbox{\hyperlink{classParser_aaf9f19591ff93f0c0c2fd68955e4a4af}{parseElements}}(file\_name);} -\DoxyCodeLine{167 \}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classParser_a63329a7accdf332feb3fba1bcc4deec6}\label{classParser_a63329a7accdf332feb3fba1bcc4deec6}} -\index{Parser@{Parser}!getAttribute@{getAttribute}} -\index{getAttribute@{getAttribute}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{getAttribute()}{getAttribute()}} -{\footnotesize\ttfamily std\+::string Parser\+::get\+Attribute (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node, }\item[{std\+::string}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Gets the attributes of a node. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -{\em name} & The name of tag to be parsed.\\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The attributes of the node. -\end{DoxyReturn} - - -Definition at line 296 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{296 \{} -\DoxyCodeLine{297 \textcolor{keywordflow}{if} (name == \textcolor{stringliteral}{"{}text"{}}) \textcolor{keywordflow}{return} removeExtraSpaces(node-\/>value());} -\DoxyCodeLine{298 std::string result;} -\DoxyCodeLine{299 \textcolor{keywordflow}{if} (node-\/>first\_attribute(name.c\_str()) == NULL) \{} -\DoxyCodeLine{300 \textcolor{keywordflow}{if} (name == \textcolor{stringliteral}{"{}fill"{}} || name == \textcolor{stringliteral}{"{}stop-\/color"{}})} -\DoxyCodeLine{301 result = \textcolor{stringliteral}{"{}black"{}};} -\DoxyCodeLine{302 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (name == \textcolor{stringliteral}{"{}stroke"{}} || name == \textcolor{stringliteral}{"{}transform"{}} || name == \textcolor{stringliteral}{"{}rotate"{}} ||} -\DoxyCodeLine{303 name == \textcolor{stringliteral}{"{}font-\/style"{}})} -\DoxyCodeLine{304 result = \textcolor{stringliteral}{"{}none"{}};} -\DoxyCodeLine{305 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (name == \textcolor{stringliteral}{"{}text-\/anchor"{}})} -\DoxyCodeLine{306 result = \textcolor{stringliteral}{"{}start"{}};} -\DoxyCodeLine{307 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (name == \textcolor{stringliteral}{"{}fill-\/rule"{}})} -\DoxyCodeLine{308 result = \textcolor{stringliteral}{"{}nonzero"{}};} -\DoxyCodeLine{309 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (name == \textcolor{stringliteral}{"{}gradientUnits"{}})} -\DoxyCodeLine{310 result = \textcolor{stringliteral}{"{}objectBoundingBox"{}};} -\DoxyCodeLine{311 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{312 result = node-\/>first\_attribute(name.c\_str())-\/>value();} -\DoxyCodeLine{313 \}} -\DoxyCodeLine{314 \textcolor{keywordflow}{return} result;} -\DoxyCodeLine{315 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_ab2b1df7c69830fafcbe36de5199dcd30}\label{classParser_ab2b1df7c69830fafcbe36de5199dcd30}} -\index{Parser@{Parser}!getFloatAttribute@{getFloatAttribute}} -\index{getFloatAttribute@{getFloatAttribute}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{getFloatAttribute()}{getFloatAttribute()}} -{\footnotesize\ttfamily float Parser\+::get\+Float\+Attribute (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node, }\item[{std\+::string}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Gets the floating point attributes of a node. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -{\em name} & The name of tag to be parsed.\\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The floating point attributes of the node. -\end{DoxyReturn} - - -Definition at line 317 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{317 \{} -\DoxyCodeLine{318 \textcolor{keywordtype}{float} result;} -\DoxyCodeLine{319 \textcolor{keywordflow}{if} (node-\/>first\_attribute(name.c\_str()) == NULL) \{} -\DoxyCodeLine{320 \textcolor{keywordflow}{if} (std::string(node-\/>name()).find(\textcolor{stringliteral}{"{}Gradient"{}}) != std::string::npos) \{} -\DoxyCodeLine{321 \textcolor{keywordflow}{if} (name == \textcolor{stringliteral}{"{}x1"{}} || name == \textcolor{stringliteral}{"{}y1"{}} || name == \textcolor{stringliteral}{"{}fr"{}})} -\DoxyCodeLine{322 result = 0;} -\DoxyCodeLine{323 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (name == \textcolor{stringliteral}{"{}cx"{}} || name == \textcolor{stringliteral}{"{}cy"{}})} -\DoxyCodeLine{324 result = name == \textcolor{stringliteral}{"{}cx"{}} ? 0.5 * this-\/>\mbox{\hyperlink{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}{viewbox}}.second.x} -\DoxyCodeLine{325 : 0.5 * this-\/>\mbox{\hyperlink{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}{viewbox}}.second.y;} -\DoxyCodeLine{326 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (name == \textcolor{stringliteral}{"{}r"{}}) \{} -\DoxyCodeLine{327 result = sqrt((pow(this-\/>\mbox{\hyperlink{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}{viewbox}}.second.x, 2) +} -\DoxyCodeLine{328 pow(this-\/>\mbox{\hyperlink{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}{viewbox}}.second.y, 2)) /} -\DoxyCodeLine{329 2) /} -\DoxyCodeLine{330 2;} -\DoxyCodeLine{331 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (name == \textcolor{stringliteral}{"{}fx"{}} || name == \textcolor{stringliteral}{"{}fy"{}})} -\DoxyCodeLine{332 result = name == \textcolor{stringliteral}{"{}fx"{}} ? \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}cx"{}})} -\DoxyCodeLine{333 : \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}cy"{}});} -\DoxyCodeLine{334 \textcolor{keywordflow}{else}} -\DoxyCodeLine{335 result = name == \textcolor{stringliteral}{"{}x2"{}} ? this-\/>\mbox{\hyperlink{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}{viewbox}}.second.x} -\DoxyCodeLine{336 : this-\/>\mbox{\hyperlink{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}{viewbox}}.second.y;} -\DoxyCodeLine{337 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{338 \textcolor{keywordflow}{if} (name == \textcolor{stringliteral}{"{}stroke-\/width"{}} || name == \textcolor{stringliteral}{"{}stroke-\/opacity"{}} ||} -\DoxyCodeLine{339 name == \textcolor{stringliteral}{"{}fill-\/opacity"{}} || name == \textcolor{stringliteral}{"{}opacity"{}} ||} -\DoxyCodeLine{340 name == \textcolor{stringliteral}{"{}stop-\/opacity"{}})} -\DoxyCodeLine{341 result = 1;} -\DoxyCodeLine{342 \textcolor{keywordflow}{else}} -\DoxyCodeLine{343 result = 0;} -\DoxyCodeLine{344 \}} -\DoxyCodeLine{345 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{346 \textcolor{keywordflow}{if} (name == \textcolor{stringliteral}{"{}width"{}} || name == \textcolor{stringliteral}{"{}height"{}}) \{} -\DoxyCodeLine{347 std::string value = node-\/>first\_attribute(name.c\_str())-\/>value();} -\DoxyCodeLine{348 \textcolor{keywordflow}{if} (value.find(\textcolor{stringliteral}{"{}\%"{}}) != std::string::npos) \{} -\DoxyCodeLine{349 result = std::stof(value.substr(0, value.find(\textcolor{stringliteral}{"{}\%"{}}))) *} -\DoxyCodeLine{350 this-\/>\mbox{\hyperlink{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}{viewbox}}.second.x / 100;} -\DoxyCodeLine{351 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (value.find(\textcolor{stringliteral}{"{}pt"{}}) != std::string::npos) \{} -\DoxyCodeLine{352 result = std::stof(value.substr(0, value.find(\textcolor{stringliteral}{"{}pt"{}}))) * 1.33;} -\DoxyCodeLine{353 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{354 result = std::stof(value);} -\DoxyCodeLine{355 \}} -\DoxyCodeLine{356 \} \textcolor{keywordflow}{else}} -\DoxyCodeLine{357 result = std::stof(node-\/>first\_attribute(name.c\_str())-\/>value());} -\DoxyCodeLine{358 \}} -\DoxyCodeLine{359 \textcolor{keywordflow}{return} result;} -\DoxyCodeLine{360 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_ac00eac6bf37c45c9160fa47700d2466f}\label{classParser_ac00eac6bf37c45c9160fa47700d2466f}} -\index{Parser@{Parser}!GetGradients@{GetGradients}} -\index{GetGradients@{GetGradients}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{GetGradients()}{GetGradients()}} -{\footnotesize\ttfamily void Parser\+::\+Get\+Gradients (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Gets the gradients of a node. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -\end{DoxyParams} - - -Definition at line 428 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{428 \{} -\DoxyCodeLine{429 rapidxml::xml\_node<> *gradient\_node = node-\/>first\_node();} -\DoxyCodeLine{430 \textcolor{keywordflow}{while} (gradient\_node) \{} -\DoxyCodeLine{431 \textcolor{keywordflow}{if} (std::string(gradient\_node-\/>name()).find(\textcolor{stringliteral}{"{}Gradient"{}}) !=} -\DoxyCodeLine{432 std::string::npos) \{} -\DoxyCodeLine{433 \mbox{\hyperlink{classGradient}{Gradient}} *gradient;} -\DoxyCodeLine{434 std::string \textcolor{keywordtype}{id} = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(gradient\_node, \textcolor{stringliteral}{"{}id"{}});} -\DoxyCodeLine{435 std::string units = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(gradient\_node, \textcolor{stringliteral}{"{}gradientUnits"{}});} -\DoxyCodeLine{436 std::vector< Stop > stops = \mbox{\hyperlink{classParser_aca2ed5f466436a9e9f78618bb1e356fd}{getGradientStops}}(gradient\_node);} -\DoxyCodeLine{437 std::string href = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(gradient\_node, \textcolor{stringliteral}{"{}xlink:href"{}});} -\DoxyCodeLine{438 \textcolor{keywordtype}{int} pos = href.find(\textcolor{stringliteral}{"{}\#"{}});} -\DoxyCodeLine{439 \textcolor{keywordflow}{if} (pos != std::string::npos) \{} -\DoxyCodeLine{440 href = href.substr(pos + 1);} -\DoxyCodeLine{441 \}} -\DoxyCodeLine{442 \textcolor{keywordflow}{if} (std::string(gradient\_node-\/>name()).find(\textcolor{stringliteral}{"{}linear"{}}) !=} -\DoxyCodeLine{443 std::string::npos) \{} -\DoxyCodeLine{444 \textcolor{keywordtype}{float} x1 = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(gradient\_node, \textcolor{stringliteral}{"{}x1"{}});} -\DoxyCodeLine{445 \textcolor{keywordtype}{float} y1 = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(gradient\_node, \textcolor{stringliteral}{"{}y1"{}});} -\DoxyCodeLine{446 \textcolor{keywordtype}{float} x2 = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(gradient\_node, \textcolor{stringliteral}{"{}x2"{}});} -\DoxyCodeLine{447 \textcolor{keywordtype}{float} y2 = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(gradient\_node, \textcolor{stringliteral}{"{}y2"{}});} -\DoxyCodeLine{448 std::pair< Vector2Df, Vector2Df > points = \{\{x1, y1\}, \{x2, y2\}\};} -\DoxyCodeLine{449 gradient = \textcolor{keyword}{new} \mbox{\hyperlink{classLinearGradient}{LinearGradient}}(stops, points, units);} -\DoxyCodeLine{450 \textcolor{keywordflow}{if} (this-\/>\mbox{\hyperlink{classParser_a7f085da78317baf2cc61e6e92b4b29c8}{gradients}}.find(\textcolor{keywordtype}{id}) == this-\/>gradients.end())} -\DoxyCodeLine{451 this-\/>\mbox{\hyperlink{classParser_a7f085da78317baf2cc61e6e92b4b29c8}{gradients}}[id] = gradient;} -\DoxyCodeLine{452 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (std::string(gradient\_node-\/>name()).find(\textcolor{stringliteral}{"{}radial"{}}) !=} -\DoxyCodeLine{453 std::string::npos) \{} -\DoxyCodeLine{454 \textcolor{keywordtype}{float} cx = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(gradient\_node, \textcolor{stringliteral}{"{}cx"{}});} -\DoxyCodeLine{455 \textcolor{keywordtype}{float} cy = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(gradient\_node, \textcolor{stringliteral}{"{}cy"{}});} -\DoxyCodeLine{456 \textcolor{keywordtype}{float} fx = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(gradient\_node, \textcolor{stringliteral}{"{}fx"{}});} -\DoxyCodeLine{457 \textcolor{keywordtype}{float} fy = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(gradient\_node, \textcolor{stringliteral}{"{}fy"{}});} -\DoxyCodeLine{458 \textcolor{keywordtype}{float} r = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(gradient\_node, \textcolor{stringliteral}{"{}r"{}});} -\DoxyCodeLine{459 \textcolor{keywordtype}{float} fr = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(gradient\_node, \textcolor{stringliteral}{"{}fr"{}});} -\DoxyCodeLine{460 std::pair< Vector2Df, Vector2Df > points = \{\{cx, cy\}, \{fx, fy\}\};} -\DoxyCodeLine{461 \mbox{\hyperlink{classVector2D}{Vector2Df}} radius(r, fr);} -\DoxyCodeLine{462 gradient = \textcolor{keyword}{new} \mbox{\hyperlink{classRadialGradient}{RadialGradient}}(stops, points, radius, units);} -\DoxyCodeLine{463 \textcolor{keywordflow}{if} (this-\/>\mbox{\hyperlink{classParser_a7f085da78317baf2cc61e6e92b4b29c8}{gradients}}.find(\textcolor{keywordtype}{id}) == this-\/>gradients.end())} -\DoxyCodeLine{464 this-\/>\mbox{\hyperlink{classParser_a7f085da78317baf2cc61e6e92b4b29c8}{gradients}}[id] = gradient;} -\DoxyCodeLine{465 \}} -\DoxyCodeLine{466 \textcolor{keywordflow}{if} (href != \textcolor{stringliteral}{"{}"{}}) \{} -\DoxyCodeLine{467 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} stop : \mbox{\hyperlink{classParser_ac1e519500fce1b4192362ed1aa5ccbc3}{parseGradient}}(href)-\/>getStops()) \{} -\DoxyCodeLine{468 gradient-\/>\mbox{\hyperlink{classGradient_a44218bd3fb347f4c269f1f2795fb77d5}{addStop}}(stop);} -\DoxyCodeLine{469 \}} -\DoxyCodeLine{470 \}} -\DoxyCodeLine{471 \textcolor{keywordflow}{if} (gradient != NULL)} -\DoxyCodeLine{472 gradient-\/>\mbox{\hyperlink{classGradient_ae2afa93bd9b6759f5fe625065301d3d9}{setTransforms}}(\mbox{\hyperlink{classParser_a99df58e649089762bf434502173716d6}{getTransformOrder}}(gradient\_node));} -\DoxyCodeLine{473 \}} -\DoxyCodeLine{474 gradient\_node = gradient\_node-\/>next\_sibling();} -\DoxyCodeLine{475 \}} -\DoxyCodeLine{476 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_aca2ed5f466436a9e9f78618bb1e356fd}\label{classParser_aca2ed5f466436a9e9f78618bb1e356fd}} -\index{Parser@{Parser}!getGradientStops@{getGradientStops}} -\index{getGradientStops@{getGradientStops}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{getGradientStops()}{getGradientStops()}} -{\footnotesize\ttfamily std\+::vector$<$ \mbox{\hyperlink{classStop}{Stop}} $>$ Parser\+::get\+Gradient\+Stops (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Gets the gradient stops of a node. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The gradient stops of the node. -\end{DoxyReturn} - - -Definition at line 412 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{412 \{} -\DoxyCodeLine{413 std::vector< Stop > stops;} -\DoxyCodeLine{414 rapidxml::xml\_node<> *stop\_node = node-\/>first\_node();} -\DoxyCodeLine{415 \textcolor{keywordflow}{while} (stop\_node) \{} -\DoxyCodeLine{416 \textcolor{keywordflow}{if} (std::string(stop\_node-\/>name()) == \textcolor{stringliteral}{"{}stop"{}}) \{} -\DoxyCodeLine{417 std::string \textcolor{keywordtype}{id} = \textcolor{stringliteral}{"{}"{}};} -\DoxyCodeLine{418 \mbox{\hyperlink{classmColor}{mColor}} color = \mbox{\hyperlink{classParser_a18d5a9aa35bd124023a060940486e183}{parseColor}}(stop\_node, \textcolor{stringliteral}{"{}stop-\/color"{}}, \textcolor{keywordtype}{id});} -\DoxyCodeLine{419 \textcolor{keywordtype}{float} offset = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(stop\_node, \textcolor{stringliteral}{"{}offset"{}});} -\DoxyCodeLine{420 \textcolor{keywordflow}{if} (offset > 1) offset /= 100;} -\DoxyCodeLine{421 stops.push\_back(\mbox{\hyperlink{classStop}{Stop}}(color, offset));} -\DoxyCodeLine{422 \}} -\DoxyCodeLine{423 stop\_node = stop\_node-\/>next\_sibling();} -\DoxyCodeLine{424 \}} -\DoxyCodeLine{425 \textcolor{keywordflow}{return} stops;} -\DoxyCodeLine{426 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_a06952fa44f19fdb573c1355ac26454c5}\label{classParser_a06952fa44f19fdb573c1355ac26454c5}} -\index{Parser@{Parser}!getInstance@{getInstance}} -\index{getInstance@{getInstance}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{getInstance()}{getInstance()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classParser}{Parser}} $\ast$ Parser\+::get\+Instance (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{file\+\_\+name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} - - - -Gets the singleton instance of the \mbox{\hyperlink{classParser}{Parser}} class. - - -\begin{DoxyParams}{Parameters} -{\em file\+\_\+name} & The name of the file to be parsed.\\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The singleton instance of the \mbox{\hyperlink{classParser}{Parser}} class. -\end{DoxyReturn} - - -Definition at line 158 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{158 \{} -\DoxyCodeLine{159 \textcolor{keywordflow}{if} (\mbox{\hyperlink{classParser_ae3a28c02c18171f4e83fae54b9f21a90}{instance}} == \textcolor{keyword}{nullptr}) \{} -\DoxyCodeLine{160 \mbox{\hyperlink{classParser_ae3a28c02c18171f4e83fae54b9f21a90}{instance}} = \textcolor{keyword}{new} \mbox{\hyperlink{classParser_a48044a8caa14a251cb4dad9fb363658e}{Parser}}(file\_name);} -\DoxyCodeLine{161 \}} -\DoxyCodeLine{162 \textcolor{keywordflow}{return} \mbox{\hyperlink{classParser_ae3a28c02c18171f4e83fae54b9f21a90}{instance}};} -\DoxyCodeLine{163 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_a59ed4455eaec306cde11939785c4e71a}\label{classParser_a59ed4455eaec306cde11939785c4e71a}} -\index{Parser@{Parser}!getRoot@{getRoot}} -\index{getRoot@{getRoot}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{getRoot()}{getRoot()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classGroup}{Group}} $\ast$ Parser\+::get\+Root (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} - - - -Gets the root of the tree of SVGElements. - -\begin{DoxyReturn}{Returns} -The root of the tree of SVGElements. -\end{DoxyReturn} - - -Definition at line 169 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{169 \{ \textcolor{keywordflow}{return} \textcolor{keyword}{dynamic\_cast<} \mbox{\hyperlink{classGroup}{Group}} * \textcolor{keyword}{>}(\mbox{\hyperlink{classParser_a13a5e2fdac62670c1584de1edbba77f2}{root}}); \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_a99df58e649089762bf434502173716d6}\label{classParser_a99df58e649089762bf434502173716d6}} -\index{Parser@{Parser}!getTransformOrder@{getTransformOrder}} -\index{getTransformOrder@{getTransformOrder}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{getTransformOrder()}{getTransformOrder()}} -{\footnotesize\ttfamily std\+::vector$<$ std\+::string $>$ Parser\+::get\+Transform\+Order (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Gets the transform order of the element. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The transform order of the element -\end{DoxyReturn} - - -Definition at line 637 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{638 \{} -\DoxyCodeLine{639 std::string transform\_tag;} -\DoxyCodeLine{640 \textcolor{keywordflow}{if} (std::string(node-\/>name()).find(\textcolor{stringliteral}{"{}Gradient"{}}) != std::string::npos)} -\DoxyCodeLine{641 transform\_tag = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(node, \textcolor{stringliteral}{"{}gradientTransform"{}});} -\DoxyCodeLine{642 \textcolor{keywordflow}{else}} -\DoxyCodeLine{643 transform\_tag = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(node, \textcolor{stringliteral}{"{}transform"{}});} -\DoxyCodeLine{644 std::vector< std::string > order;} -\DoxyCodeLine{645 std::stringstream ss(transform\_tag);} -\DoxyCodeLine{646 std::string type;} -\DoxyCodeLine{647 \textcolor{keywordflow}{while} (ss >> type) \{} -\DoxyCodeLine{648 \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{}translate"{}}) != std::string::npos ||} -\DoxyCodeLine{649 type.find(\textcolor{stringliteral}{"{}scale"{}}) != std::string::npos ||} -\DoxyCodeLine{650 type.find(\textcolor{stringliteral}{"{}rotate"{}}) != std::string::npos ||} -\DoxyCodeLine{651 type.find(\textcolor{stringliteral}{"{}matrix"{}}) != std::string::npos) \{} -\DoxyCodeLine{652 \textcolor{keywordflow}{while} (type.find(\textcolor{stringliteral}{"{})"{}}) == std::string::npos) \{} -\DoxyCodeLine{653 std::string temp;} -\DoxyCodeLine{654 ss >> temp;} -\DoxyCodeLine{655 type += \textcolor{stringliteral}{"{} "{}} + temp;} -\DoxyCodeLine{656 \}} -\DoxyCodeLine{657 std::string temp = type.substr(0, type.find(\textcolor{stringliteral}{"{}("{}}) + 1);} -\DoxyCodeLine{658 temp.erase(std::remove(temp.begin(), temp.end(), \textcolor{charliteral}{' '}), temp.end());} -\DoxyCodeLine{659 type.erase(0, type.find(\textcolor{stringliteral}{"{}("{}}) + 1);} -\DoxyCodeLine{660 type = temp + type;} -\DoxyCodeLine{661 order.push\_back(type);} -\DoxyCodeLine{662 \}} -\DoxyCodeLine{663 \}} -\DoxyCodeLine{664 \textcolor{keywordflow}{return} order;} -\DoxyCodeLine{665 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_a4efa2342d694eff2ab6ba1d150c7bb69}\label{classParser_a4efa2342d694eff2ab6ba1d150c7bb69}} -\index{Parser@{Parser}!getViewBox@{getViewBox}} -\index{getViewBox@{getViewBox}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{getViewBox()}{getViewBox()}} -{\footnotesize\ttfamily std\+::pair$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$ Parser\+::get\+View\+Box (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the viewbox of the SVG file. - -\begin{DoxyReturn}{Returns} -The viewbox of the SVG file. -\end{DoxyReturn} - - -Definition at line 830 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{830 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}{viewbox}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_a009fbe10a1b9b58a65be44634335a062}\label{classParser_a009fbe10a1b9b58a65be44634335a062}} -\index{Parser@{Parser}!getViewPort@{getViewPort}} -\index{getViewPort@{getViewPort}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{getViewPort()}{getViewPort()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classVector2D}{Vector2\+Df}} Parser\+::get\+View\+Port (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the viewport of the SVG file. - -\begin{DoxyReturn}{Returns} -The viewport of the SVG file. -\end{DoxyReturn} - - -Definition at line 832 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{832 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classParser_a2872aff3bfb15fdb1df2dcdce2bd632a}{viewport}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_ab7776f740b7d63c388a086c8b8ecccd0}\label{classParser_ab7776f740b7d63c388a086c8b8ecccd0}} -\index{Parser@{Parser}!parseCircle@{parseCircle}} -\index{parseCircle@{parseCircle}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{parseCircle()}{parseCircle()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classCircle}{Circle}} $\ast$ Parser\+::parse\+Circle (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{fill\+\_\+color, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke\+\_\+color, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Parses the circle element. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -{\em fill\+\_\+color} & The color of the fill \\ -\hline -{\em stroke\+\_\+color} & The color of the stroke \\ -\hline -{\em stroke\+\_\+width} & The width of the stroke \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The circle element -\end{DoxyReturn} - - -Definition at line 732 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{734 \{} -\DoxyCodeLine{735 \textcolor{keywordtype}{float} cx = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}cx"{}});} -\DoxyCodeLine{736 \textcolor{keywordtype}{float} cy = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}cy"{}});} -\DoxyCodeLine{737 \textcolor{keywordtype}{float} radius = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}r"{}});} -\DoxyCodeLine{738 \mbox{\hyperlink{classCircle}{Circle}} *shape = \textcolor{keyword}{new} \mbox{\hyperlink{classCircle}{Circle}}(radius, \mbox{\hyperlink{classVector2D}{Vector2Df}}(cx, cy), fill\_color,} -\DoxyCodeLine{739 stroke\_color, stroke\_width);} -\DoxyCodeLine{740 \textcolor{keywordflow}{return} shape;} -\DoxyCodeLine{741 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_a18d5a9aa35bd124023a060940486e183}\label{classParser_a18d5a9aa35bd124023a060940486e183}} -\index{Parser@{Parser}!parseColor@{parseColor}} -\index{parseColor@{parseColor}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{parseColor()}{parseColor()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classmColor}{m\+Color}} Parser\+::parse\+Color (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node, }\item[{std\+::string}]{color, }\item[{std\+::string \&}]{id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Gets the color attributes of a node. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -{\em color} & The name of the color tag to be parsed. \\ -\hline -{\em id} & The id to check if the color is a reference. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The color attributes of the node. -\end{DoxyReturn} - - -Definition at line 362 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{363 \{} -\DoxyCodeLine{364 std::string color = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(node, name);} -\DoxyCodeLine{365 color.erase(std::remove(color.begin(), color.end(), \textcolor{charliteral}{' '}), color.end());} -\DoxyCodeLine{366 \textcolor{keywordflow}{if} (color.find(\textcolor{stringliteral}{"{}url"{}}) == std::string::npos) \{} -\DoxyCodeLine{367 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} \&c : color) c = tolower(c);} -\DoxyCodeLine{368 \}} -\DoxyCodeLine{369 \textcolor{keywordflow}{if} (color == \textcolor{stringliteral}{"{}none"{}})} -\DoxyCodeLine{370 \textcolor{keywordflow}{return} \mbox{\hyperlink{classmColor_ac4f0afaa513bbe9e68c16156136d4ada}{mColor::Transparent}};} -\DoxyCodeLine{371 \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{372 \mbox{\hyperlink{classmColor}{mColor}} result;} -\DoxyCodeLine{373 \textcolor{keywordflow}{if} (color.find(\textcolor{stringliteral}{"{}url"{}}) != std::string::npos) \{} -\DoxyCodeLine{374 \textcolor{keywordflow}{if} (color.find(\textcolor{stringliteral}{"{}'"{}}) != std::string::npos) \{} -\DoxyCodeLine{375 \textcolor{keywordtype}{id} = color.substr(color.find(\textcolor{stringliteral}{"{}'"{}}) + 1);} -\DoxyCodeLine{376 \textcolor{keywordtype}{id}.erase(\textcolor{keywordtype}{id}.find(\textcolor{stringliteral}{"{}'"{}}));} -\DoxyCodeLine{377 \textcolor{keywordtype}{id}.erase(\textcolor{keywordtype}{id}.find(\textcolor{stringliteral}{"{}\#"{}}), 1);} -\DoxyCodeLine{378 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{379 \textcolor{keywordtype}{id} = color.substr(color.find(\textcolor{stringliteral}{"{}\#"{}}) + 1);} -\DoxyCodeLine{380 \textcolor{keywordtype}{id}.erase(\textcolor{keywordtype}{id}.find(\textcolor{stringliteral}{"{})"{}}));} -\DoxyCodeLine{381 \}} -\DoxyCodeLine{382 result = \mbox{\hyperlink{classmColor_ac4f0afaa513bbe9e68c16156136d4ada}{mColor::Transparent}};} -\DoxyCodeLine{383 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (color.find(\textcolor{stringliteral}{"{}\#"{}}) != std::string::npos) \{} -\DoxyCodeLine{384 result = getHexColor(color);} -\DoxyCodeLine{385 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (color.find(\textcolor{stringliteral}{"{}rgb"{}}) != std::string::npos) \{} -\DoxyCodeLine{386 result = getRgbColor(color);} -\DoxyCodeLine{387 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{388 \textcolor{keyword}{auto} color\_code = color\_map.find(color);} -\DoxyCodeLine{389 \textcolor{keywordflow}{if} (color\_code == color\_map.end()) \{} -\DoxyCodeLine{390 std::cout << \textcolor{stringliteral}{"{}Color "{}} << color << \textcolor{stringliteral}{"{} not found"{}} << std::endl;} -\DoxyCodeLine{391 exit(-\/1);} -\DoxyCodeLine{392 \}} -\DoxyCodeLine{393 result = color\_code-\/>second;} -\DoxyCodeLine{394 \}} -\DoxyCodeLine{395 \textcolor{keywordflow}{if} (name == \textcolor{stringliteral}{"{}stop-\/color"{}})} -\DoxyCodeLine{396 result.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}} = result.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}} * \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}stop-\/opacity"{}});} -\DoxyCodeLine{397 \textcolor{keywordflow}{else}} -\DoxyCodeLine{398 result.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}} = result.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}} * \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, name + \textcolor{stringliteral}{"{}-\/opacity"{}}) *} -\DoxyCodeLine{399 \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}opacity"{}});} -\DoxyCodeLine{400 \textcolor{keywordflow}{return} result;} -\DoxyCodeLine{401 \}} -\DoxyCodeLine{402 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_aaf9f19591ff93f0c0c2fd68955e4a4af}\label{classParser_aaf9f19591ff93f0c0c2fd68955e4a4af}} -\index{Parser@{Parser}!parseElements@{parseElements}} -\index{parseElements@{parseElements}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{parseElements()}{parseElements()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$ Parser\+::parse\+Elements (\begin{DoxyParamCaption}\item[{std\+::string}]{file\+\_\+name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Parses the SVG file and creates a tree of SVGElements. - - -\begin{DoxyParams}{Parameters} -{\em file\+\_\+name} & The name of the file to be parsed.\\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The root of the tree of SVGElements. -\end{DoxyReturn} - - -Definition at line 181 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{181 \{} -\DoxyCodeLine{182 rapidxml::xml\_document<> doc;} -\DoxyCodeLine{183 std::ifstream file(file\_name);} -\DoxyCodeLine{184 std::vector< char > buffer((std::istreambuf\_iterator< char >(file)),} -\DoxyCodeLine{185 std::istreambuf\_iterator< char >());} -\DoxyCodeLine{186 buffer.push\_back(\textcolor{charliteral}{'\(\backslash\)0'});} -\DoxyCodeLine{187 doc.parse< 0 >(\&buffer[0]);} -\DoxyCodeLine{188 } -\DoxyCodeLine{189 rapidxml::xml\_node<> *svg = doc.first\_node();} -\DoxyCodeLine{190 \mbox{\hyperlink{classParser_a2872aff3bfb15fdb1df2dcdce2bd632a}{viewport}}.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(svg, \textcolor{stringliteral}{"{}width"{}});} -\DoxyCodeLine{191 \mbox{\hyperlink{classParser_a2872aff3bfb15fdb1df2dcdce2bd632a}{viewport}}.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(svg, \textcolor{stringliteral}{"{}height"{}});} -\DoxyCodeLine{192 std::string \mbox{\hyperlink{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}{viewbox}} = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(svg, \textcolor{stringliteral}{"{}viewBox"{}});} -\DoxyCodeLine{193 \textcolor{keywordflow}{if} (\mbox{\hyperlink{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}{viewbox}} != \textcolor{stringliteral}{"{}"{}}) \{} -\DoxyCodeLine{194 std::stringstream ss(\mbox{\hyperlink{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}{viewbox}});} -\DoxyCodeLine{195 ss >> this-\/>viewbox.first.x >> this-\/>viewbox.first.y >>} -\DoxyCodeLine{196 this-\/>viewbox.second.x >> this-\/>viewbox.second.y;} -\DoxyCodeLine{197 \}} -\DoxyCodeLine{198 rapidxml::xml\_node<> *node = svg-\/>first\_node();} -\DoxyCodeLine{199 rapidxml::xml\_node<> *prev = NULL;} -\DoxyCodeLine{200 } -\DoxyCodeLine{201 \mbox{\hyperlink{classSVGElement}{SVGElement}} *\mbox{\hyperlink{classParser_a13a5e2fdac62670c1584de1edbba77f2}{root}} = \textcolor{keyword}{new} \mbox{\hyperlink{classGroup}{Group}}();} -\DoxyCodeLine{202 \mbox{\hyperlink{classSVGElement}{SVGElement}} *current = \mbox{\hyperlink{classParser_a13a5e2fdac62670c1584de1edbba77f2}{root}};} -\DoxyCodeLine{203 } -\DoxyCodeLine{204 \textcolor{keywordflow}{while} (node) \{} -\DoxyCodeLine{205 \textcolor{keywordflow}{if} (std::string(node-\/>name()) == \textcolor{stringliteral}{"{}defs"{}}) \{} -\DoxyCodeLine{206 \mbox{\hyperlink{classParser_ac00eac6bf37c45c9160fa47700d2466f}{GetGradients}}(node);} -\DoxyCodeLine{207 prev = node;} -\DoxyCodeLine{208 node = node-\/>next\_sibling();} -\DoxyCodeLine{209 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (std::string(node-\/>name()) == \textcolor{stringliteral}{"{}g"{}}) \{} -\DoxyCodeLine{210 \mbox{\hyperlink{classGroup}{Group}} *group = \textcolor{keyword}{dynamic\_cast<} \mbox{\hyperlink{classGroup}{Group}} * \textcolor{keyword}{>}(current);} -\DoxyCodeLine{211 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} group\_attribute : group-\/>\mbox{\hyperlink{classGroup_a317fcd42fd61b83c0d932bd1eb2c753f}{getAttributes}}()) \{} -\DoxyCodeLine{212 \textcolor{keywordtype}{bool} found = \textcolor{keyword}{false};} -\DoxyCodeLine{213 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} attribute = node-\/>first\_attribute(); attribute;} -\DoxyCodeLine{214 attribute = attribute-\/>next\_attribute()) \{} -\DoxyCodeLine{215 \textcolor{keywordflow}{if} (std::string(attribute-\/>name()) ==} -\DoxyCodeLine{216 group\_attribute.first) \{} -\DoxyCodeLine{217 \textcolor{keywordflow}{if} (group\_attribute.first == \textcolor{stringliteral}{"{}opacity"{}}) \{} -\DoxyCodeLine{218 std::string opacity = std::to\_string(} -\DoxyCodeLine{219 std::stof(attribute-\/>value()) *} -\DoxyCodeLine{220 std::stof(group\_attribute.second));} -\DoxyCodeLine{221 \textcolor{keywordtype}{char} *value = doc.allocate\_string(opacity.c\_str());} -\DoxyCodeLine{222 attribute-\/>value(value);} -\DoxyCodeLine{223 \}} -\DoxyCodeLine{224 found = \textcolor{keyword}{true};} -\DoxyCodeLine{225 \textcolor{keywordflow}{break};} -\DoxyCodeLine{226 \}} -\DoxyCodeLine{227 \}} -\DoxyCodeLine{228 \textcolor{keywordflow}{if} (!found \&\& group\_attribute.first != \textcolor{stringliteral}{"{}transform"{}}) \{} -\DoxyCodeLine{229 \textcolor{keywordtype}{char} *name =} -\DoxyCodeLine{230 doc.allocate\_string(group\_attribute.first.c\_str());} -\DoxyCodeLine{231 \textcolor{keywordtype}{char} *value =} -\DoxyCodeLine{232 doc.allocate\_string(group\_attribute.second.c\_str());} -\DoxyCodeLine{233 rapidxml::xml\_attribute<> *new\_attribute =} -\DoxyCodeLine{234 doc.allocate\_attribute(name, value);} -\DoxyCodeLine{235 node-\/>append\_attribute(new\_attribute);} -\DoxyCodeLine{236 \}} -\DoxyCodeLine{237 \}} -\DoxyCodeLine{238 \mbox{\hyperlink{classGroup}{Group}} *new\_group = \textcolor{keyword}{new} \mbox{\hyperlink{classGroup}{Group}}(xmlToString(node-\/>first\_attribute()));} -\DoxyCodeLine{239 new\_group-\/>\mbox{\hyperlink{classSVGElement_a00fef2ebc5df4838b3f9bd7111b117c5}{setTransforms}}(\mbox{\hyperlink{classParser_a99df58e649089762bf434502173716d6}{getTransformOrder}}(node));} -\DoxyCodeLine{240 current-\/>\mbox{\hyperlink{classSVGElement_af699f9aa795572c2873e520849579881}{addElement}}(new\_group);} -\DoxyCodeLine{241 current = new\_group;} -\DoxyCodeLine{242 prev = node;} -\DoxyCodeLine{243 node = node-\/>first\_node();} -\DoxyCodeLine{244 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{245 \mbox{\hyperlink{classGroup}{Group}} *group = \textcolor{keyword}{dynamic\_cast<} \mbox{\hyperlink{classGroup}{Group}} * \textcolor{keyword}{>}(current);} -\DoxyCodeLine{246 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} group\_attribute : group-\/>\mbox{\hyperlink{classGroup_a317fcd42fd61b83c0d932bd1eb2c753f}{getAttributes}}()) \{} -\DoxyCodeLine{247 \textcolor{keywordtype}{bool} found = \textcolor{keyword}{false};} -\DoxyCodeLine{248 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} attribute = node-\/>first\_attribute(); attribute;} -\DoxyCodeLine{249 attribute = attribute-\/>next\_attribute()) \{} -\DoxyCodeLine{250 \textcolor{keywordflow}{if} (std::string(attribute-\/>name()) ==} -\DoxyCodeLine{251 group\_attribute.first) \{} -\DoxyCodeLine{252 \textcolor{keywordflow}{if} (group\_attribute.first == \textcolor{stringliteral}{"{}opacity"{}}) \{} -\DoxyCodeLine{253 std::string opacity = std::to\_string(} -\DoxyCodeLine{254 std::stof(attribute-\/>value()) *} -\DoxyCodeLine{255 std::stof(group\_attribute.second));} -\DoxyCodeLine{256 \textcolor{keywordtype}{char} *value = doc.allocate\_string(opacity.c\_str());} -\DoxyCodeLine{257 attribute-\/>value(value);} -\DoxyCodeLine{258 \}} -\DoxyCodeLine{259 found = \textcolor{keyword}{true};} -\DoxyCodeLine{260 \textcolor{keywordflow}{break};} -\DoxyCodeLine{261 \}} -\DoxyCodeLine{262 \}} -\DoxyCodeLine{263 \textcolor{keywordflow}{if} (!found \&\& group\_attribute.first != \textcolor{stringliteral}{"{}transform"{}}) \{} -\DoxyCodeLine{264 \textcolor{keywordtype}{char} *name =} -\DoxyCodeLine{265 doc.allocate\_string(group\_attribute.first.c\_str());} -\DoxyCodeLine{266 \textcolor{keywordtype}{char} *value =} -\DoxyCodeLine{267 doc.allocate\_string(group\_attribute.second.c\_str());} -\DoxyCodeLine{268 rapidxml::xml\_attribute<> *new\_attribute =} -\DoxyCodeLine{269 doc.allocate\_attribute(name, value);} -\DoxyCodeLine{270 node-\/>append\_attribute(new\_attribute);} -\DoxyCodeLine{271 \}} -\DoxyCodeLine{272 \}} -\DoxyCodeLine{273 \mbox{\hyperlink{classSVGElement}{SVGElement}} *shape = \mbox{\hyperlink{classParser_abfd09c5dd46fb0dc9bcd9106857dbf5e}{parseShape}}(node);} -\DoxyCodeLine{274 \textcolor{keywordflow}{if} (shape != NULL) current-\/>\mbox{\hyperlink{classSVGElement_af699f9aa795572c2873e520849579881}{addElement}}(shape);} -\DoxyCodeLine{275 prev = node;} -\DoxyCodeLine{276 node = node-\/>next\_sibling();} -\DoxyCodeLine{277 \}} -\DoxyCodeLine{278 \textcolor{keywordflow}{if} (node == NULL \&\& current != \mbox{\hyperlink{classParser_a13a5e2fdac62670c1584de1edbba77f2}{root}}) \{} -\DoxyCodeLine{279 \textcolor{keywordflow}{while} (prev-\/>parent()-\/>next\_sibling() == NULL) \{} -\DoxyCodeLine{280 current = current-\/>\mbox{\hyperlink{classSVGElement_a1b075314d4cda4fa895688979fe462fd}{getParent}}();} -\DoxyCodeLine{281 prev = prev-\/>\mbox{\hyperlink{classSVGElement_adee748c3014de1c1ebd20411a52e824a}{parent}}();} -\DoxyCodeLine{282 \textcolor{keywordflow}{if} (prev == svg) \{} -\DoxyCodeLine{283 \textcolor{keywordflow}{break};} -\DoxyCodeLine{284 \}} -\DoxyCodeLine{285 \}} -\DoxyCodeLine{286 \textcolor{keywordflow}{if} (prev == svg) \{} -\DoxyCodeLine{287 \textcolor{keywordflow}{break};} -\DoxyCodeLine{288 \}} -\DoxyCodeLine{289 current = current-\/>\mbox{\hyperlink{classSVGElement_a1b075314d4cda4fa895688979fe462fd}{getParent}}();} -\DoxyCodeLine{290 node = prev-\/>\mbox{\hyperlink{classSVGElement_adee748c3014de1c1ebd20411a52e824a}{parent}}()-\/>next\_sibling();} -\DoxyCodeLine{291 \}} -\DoxyCodeLine{292 \}} -\DoxyCodeLine{293 \textcolor{keywordflow}{return} \mbox{\hyperlink{classParser_a13a5e2fdac62670c1584de1edbba77f2}{root}};} -\DoxyCodeLine{294 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_a0af0085ee5e20739bdf23a5b685642b6}\label{classParser_a0af0085ee5e20739bdf23a5b685642b6}} -\index{Parser@{Parser}!parseEllipse@{parseEllipse}} -\index{parseEllipse@{parseEllipse}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{parseEllipse()}{parseEllipse()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classEll}{Ell}} $\ast$ Parser\+::parse\+Ellipse (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{fill\+\_\+color, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke\+\_\+color, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Parses the ellipse element. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -{\em fill\+\_\+color} & The color of the fill \\ -\hline -{\em stroke\+\_\+color} & The color of the stroke \\ -\hline -{\em stroke\+\_\+width} & The width of the stroke \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The ellipse element -\end{DoxyReturn} - - -Definition at line 743 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{744 \{} -\DoxyCodeLine{745 \textcolor{keywordtype}{float} radius\_x = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}rx"{}});} -\DoxyCodeLine{746 \textcolor{keywordtype}{float} radius\_y = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}ry"{}});} -\DoxyCodeLine{747 \textcolor{keywordtype}{float} cx = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}cx"{}});} -\DoxyCodeLine{748 \textcolor{keywordtype}{float} cy = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}cy"{}});} -\DoxyCodeLine{749 \mbox{\hyperlink{classEll}{Ell}} *shape = \textcolor{keyword}{new} \mbox{\hyperlink{classEll}{Ell}}(\mbox{\hyperlink{classVector2D}{Vector2Df}}(radius\_x, radius\_y), \mbox{\hyperlink{classVector2D}{Vector2Df}}(cx, cy),} -\DoxyCodeLine{750 fill\_color, stroke\_color, stroke\_width);} -\DoxyCodeLine{751 \textcolor{keywordflow}{return} shape;} -\DoxyCodeLine{752 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_ac1e519500fce1b4192362ed1aa5ccbc3}\label{classParser_ac1e519500fce1b4192362ed1aa5ccbc3}} -\index{Parser@{Parser}!parseGradient@{parseGradient}} -\index{parseGradient@{parseGradient}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{parseGradient()}{parseGradient()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classGradient}{Gradient}} $\ast$ Parser\+::parse\+Gradient (\begin{DoxyParamCaption}\item[{std\+::string}]{id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Gets the gradient of a node. - - -\begin{DoxyParams}{Parameters} -{\em id} & The id of the gradient to be parsed. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The gradient of the node. -\end{DoxyReturn} - - -Definition at line 404 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{404 \{} -\DoxyCodeLine{405 \textcolor{keywordflow}{if} (\mbox{\hyperlink{classParser_a7f085da78317baf2cc61e6e92b4b29c8}{gradients}}.find(\textcolor{keywordtype}{id}) == \mbox{\hyperlink{classParser_a7f085da78317baf2cc61e6e92b4b29c8}{gradients}}.end()) \{} -\DoxyCodeLine{406 std::cout << \textcolor{stringliteral}{"{}Gradient "{}} << \textcolor{keywordtype}{id} << \textcolor{stringliteral}{"{} not found"{}} << std::endl;} -\DoxyCodeLine{407 exit(-\/1);} -\DoxyCodeLine{408 \}} -\DoxyCodeLine{409 \textcolor{keywordflow}{return} \mbox{\hyperlink{classParser_a7f085da78317baf2cc61e6e92b4b29c8}{gradients}}.at(\textcolor{keywordtype}{id});} -\DoxyCodeLine{410 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_a95e84ae219109769fae08702381acf78}\label{classParser_a95e84ae219109769fae08702381acf78}} -\index{Parser@{Parser}!parseLine@{parseLine}} -\index{parseLine@{parseLine}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{parseLine()}{parseLine()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classLine}{Line}} $\ast$ Parser\+::parse\+Line (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke\+\_\+color, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Parses the line element. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -{\em stroke\+\_\+color} & The color of the stroke \\ -\hline -{\em stroke\+\_\+width} & The width of the stroke \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The line element -\end{DoxyReturn} - - -Definition at line 710 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{711 \{} -\DoxyCodeLine{712 \mbox{\hyperlink{classLine}{Line}} *shape = \textcolor{keyword}{new} \mbox{\hyperlink{classLine}{Line}}(} -\DoxyCodeLine{713 \mbox{\hyperlink{classVector2D}{Vector2Df}}(\mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}x1"{}}), \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}y1"{}})),} -\DoxyCodeLine{714 \mbox{\hyperlink{classVector2D}{Vector2Df}}(\mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}x2"{}}), \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}y2"{}})),} -\DoxyCodeLine{715 stroke\_color, stroke\_width);} -\DoxyCodeLine{716 \textcolor{keywordflow}{return} shape;} -\DoxyCodeLine{717 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_a6f80728e7a771d2653baf1b453b655d9}\label{classParser_a6f80728e7a771d2653baf1b453b655d9}} -\index{Parser@{Parser}!parsePath@{parsePath}} -\index{parsePath@{parsePath}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{parsePath()}{parsePath()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classPath}{Path}} $\ast$ Parser\+::parse\+Path (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{fill\+\_\+color, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke\+\_\+color, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Parses the path element. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -{\em fill\+\_\+color} & The color of the fill \\ -\hline -{\em stroke\+\_\+color} & The color of the stroke \\ -\hline -{\em stroke\+\_\+width} & The width of the stroke \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The path element -\end{DoxyReturn} - - -Definition at line 807 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{808 \{} -\DoxyCodeLine{809 \mbox{\hyperlink{classPath}{Path}} *shape = \textcolor{keyword}{new} \mbox{\hyperlink{classPath}{Path}}(fill\_color, stroke\_color, stroke\_width);} -\DoxyCodeLine{810 std::vector< PathPoint > points = \mbox{\hyperlink{classParser_aecea54d6bc1ff225a6ac450ccbb560c3}{parsePathPoints}}(node);} -\DoxyCodeLine{811 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} point : points) \{} -\DoxyCodeLine{812 shape-\/>\mbox{\hyperlink{classPath_ad4273c2a1b288fe43dd86375afc16f66}{addPoint}}(point);} -\DoxyCodeLine{813 \}} -\DoxyCodeLine{814 std::string fill\_rule = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(node, \textcolor{stringliteral}{"{}fill-\/rule"{}});} -\DoxyCodeLine{815 fill\_rule.erase(std::remove(fill\_rule.begin(), fill\_rule.end(), \textcolor{charliteral}{' '}),} -\DoxyCodeLine{816 fill\_rule.end());} -\DoxyCodeLine{817 shape-\/>\mbox{\hyperlink{classPath_ad2ba583a2dd567c3295ea62817b541e9}{setFillRule}}(fill\_rule);} -\DoxyCodeLine{818 \textcolor{keywordflow}{return} shape;} -\DoxyCodeLine{819 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_aecea54d6bc1ff225a6ac450ccbb560c3}\label{classParser_aecea54d6bc1ff225a6ac450ccbb560c3}} -\index{Parser@{Parser}!parsePathPoints@{parsePathPoints}} -\index{parsePathPoints@{parsePathPoints}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{parsePathPoints()}{parsePathPoints()}} -{\footnotesize\ttfamily std\+::vector$<$ \mbox{\hyperlink{structPathPoint}{Path\+Point}} $>$ Parser\+::parse\+Path\+Points (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Gets the points of the path element. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The points of the path element -\end{DoxyReturn} - - -Definition at line 494 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{494 \{} -\DoxyCodeLine{495 std::vector< PathPoint > points;} -\DoxyCodeLine{496 std::string path\_string = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(node, \textcolor{stringliteral}{"{}d"{}});} -\DoxyCodeLine{497 } -\DoxyCodeLine{498 formatSvgPathString(path\_string);} -\DoxyCodeLine{499 } -\DoxyCodeLine{500 std::stringstream ss(path\_string);} -\DoxyCodeLine{501 std::string element;} -\DoxyCodeLine{502 \mbox{\hyperlink{structPathPoint}{PathPoint}} pPoint\{\{0, 0\}, \textcolor{charliteral}{'M'}\};} -\DoxyCodeLine{503 \textcolor{keywordflow}{while} (ss >> element) \{} -\DoxyCodeLine{504 \textcolor{keywordflow}{if} (std::isalpha(element[0])) \{} -\DoxyCodeLine{505 pPoint.tc = element[0];} -\DoxyCodeLine{506 \textcolor{keywordflow}{if} (tolower(pPoint.tc) == \textcolor{charliteral}{'m'} || tolower(pPoint.tc) == \textcolor{charliteral}{'l'} ||} -\DoxyCodeLine{507 tolower(pPoint.tc) == \textcolor{charliteral}{'c'} || tolower(pPoint.tc) == \textcolor{charliteral}{'s'} ||} -\DoxyCodeLine{508 tolower(pPoint.tc) == \textcolor{charliteral}{'q'} || tolower(pPoint.tc) == \textcolor{charliteral}{'t'})} -\DoxyCodeLine{509 ss >> pPoint.point.x >> pPoint.point.y;} -\DoxyCodeLine{510 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (tolower(pPoint.tc) == \textcolor{charliteral}{'h'}) \{} -\DoxyCodeLine{511 ss >> pPoint.point.x;} -\DoxyCodeLine{512 pPoint.point.y = 0;} -\DoxyCodeLine{513 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (tolower(pPoint.tc) == \textcolor{charliteral}{'v'}) \{} -\DoxyCodeLine{514 ss >> pPoint.point.y;} -\DoxyCodeLine{515 pPoint.point.x = 0;} -\DoxyCodeLine{516 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (tolower(pPoint.tc) == \textcolor{charliteral}{'a'}) \{} -\DoxyCodeLine{517 ss >> pPoint.radius.x >> pPoint.radius.y;} -\DoxyCodeLine{518 ss >> pPoint.x\_axis\_rotation;} -\DoxyCodeLine{519 ss >> pPoint.large\_arc\_flag >> pPoint.sweep\_flag;} -\DoxyCodeLine{520 ss >> pPoint.point.x >> pPoint.point.y;} -\DoxyCodeLine{521 \}} -\DoxyCodeLine{522 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{523 \textcolor{keywordflow}{if} (tolower(pPoint.tc) == \textcolor{charliteral}{'m'} || tolower(pPoint.tc) == \textcolor{charliteral}{'l'} ||} -\DoxyCodeLine{524 tolower(pPoint.tc) == \textcolor{charliteral}{'c'} || tolower(pPoint.tc) == \textcolor{charliteral}{'s'} ||} -\DoxyCodeLine{525 tolower(pPoint.tc) == \textcolor{charliteral}{'q'} || tolower(pPoint.tc) == \textcolor{charliteral}{'t'}) \{} -\DoxyCodeLine{526 \textcolor{keywordflow}{if} (tolower(pPoint.tc) == \textcolor{charliteral}{'m'}) pPoint.tc = \textcolor{charliteral}{'L'};} -\DoxyCodeLine{527 pPoint.point.x = std::stof(element);} -\DoxyCodeLine{528 ss >> pPoint.point.y;} -\DoxyCodeLine{529 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (tolower(pPoint.tc) == \textcolor{charliteral}{'h'}) \{} -\DoxyCodeLine{530 pPoint.point.x = std::stof(element);} -\DoxyCodeLine{531 pPoint.point.y = 0;} -\DoxyCodeLine{532 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (tolower(pPoint.tc) == \textcolor{charliteral}{'v'}) \{} -\DoxyCodeLine{533 pPoint.point.y = std::stof(element);} -\DoxyCodeLine{534 pPoint.point.x = 0;} -\DoxyCodeLine{535 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (tolower(pPoint.tc) == \textcolor{charliteral}{'a'}) \{} -\DoxyCodeLine{536 pPoint.radius.x = std::stof(element);} -\DoxyCodeLine{537 ss >> pPoint.radius.y;} -\DoxyCodeLine{538 ss >> pPoint.x\_axis\_rotation;} -\DoxyCodeLine{539 ss >> pPoint.large\_arc\_flag >> pPoint.sweep\_flag;} -\DoxyCodeLine{540 ss >> pPoint.point.x >> pPoint.point.y;} -\DoxyCodeLine{541 \}} -\DoxyCodeLine{542 \}} -\DoxyCodeLine{543 points.push\_back(pPoint);} -\DoxyCodeLine{544 \}} -\DoxyCodeLine{545 } -\DoxyCodeLine{546 std::vector< PathPoint > handle\_points;} -\DoxyCodeLine{547 } -\DoxyCodeLine{548 \mbox{\hyperlink{classVector2D}{Vector2Df}} first\_point\{0, 0\}, cur\_point\{0, 0\};} -\DoxyCodeLine{549 \textcolor{keywordtype}{int} n = points.size();} -\DoxyCodeLine{550 \textcolor{keywordflow}{for} (\textcolor{keywordtype}{int} i = 0; i < n; i++) \{} -\DoxyCodeLine{551 \textcolor{keywordflow}{if} (tolower(points[i].tc) == \textcolor{charliteral}{'m'}) \{} -\DoxyCodeLine{552 first\_point = points[i].point;} -\DoxyCodeLine{553 \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'m'}) \{} -\DoxyCodeLine{554 first\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} = cur\_point.x + points[i].point.x;} -\DoxyCodeLine{555 first\_point.y = cur\_point.y + points[i].point.y;} -\DoxyCodeLine{556 \}} -\DoxyCodeLine{557 cur\_point = first\_point;} -\DoxyCodeLine{558 handle\_points.push\_back(\{first\_point, \textcolor{charliteral}{'m'}\});} -\DoxyCodeLine{559 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (tolower(points[i].tc) == \textcolor{charliteral}{'l'} ||} -\DoxyCodeLine{560 tolower(points[i].tc) == \textcolor{charliteral}{'t'}) \{} -\DoxyCodeLine{561 \mbox{\hyperlink{classVector2D}{Vector2Df}} end\_point\{cur\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} + points[i].point.x,} -\DoxyCodeLine{562 cur\_point.y + points[i].point.y\};} -\DoxyCodeLine{563 \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'L'} || points[i].tc == \textcolor{charliteral}{'T'})} -\DoxyCodeLine{564 end\_point = points[i].point;} -\DoxyCodeLine{565 cur\_point = end\_point;} -\DoxyCodeLine{566 \textcolor{keywordtype}{char} TC = tolower(points[i].tc);} -\DoxyCodeLine{567 handle\_points.push\_back(\{end\_point, TC\});} -\DoxyCodeLine{568 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (tolower(points[i].tc) == \textcolor{charliteral}{'h'}) \{} -\DoxyCodeLine{569 \mbox{\hyperlink{classVector2D}{Vector2Df}} end\_point\{cur\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} + points[i].point.x, cur\_point.y\};} -\DoxyCodeLine{570 \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'H'})} -\DoxyCodeLine{571 end\_point = \mbox{\hyperlink{classVector2D}{Vector2Df}}\{points[i].point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, cur\_point.y\};} -\DoxyCodeLine{572 cur\_point = end\_point;} -\DoxyCodeLine{573 handle\_points.push\_back(\{end\_point, \textcolor{charliteral}{'h'}\});} -\DoxyCodeLine{574 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (tolower(points[i].tc) == \textcolor{charliteral}{'v'}) \{} -\DoxyCodeLine{575 \mbox{\hyperlink{classVector2D}{Vector2Df}} end\_point\{cur\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, cur\_point.y + points[i].point.y\};} -\DoxyCodeLine{576 \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'V'})} -\DoxyCodeLine{577 end\_point = \mbox{\hyperlink{classVector2D}{Vector2Df}}\{cur\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, points[i].point.y\};} -\DoxyCodeLine{578 cur\_point = end\_point;} -\DoxyCodeLine{579 handle\_points.push\_back(\{end\_point, \textcolor{charliteral}{'v'}\});} -\DoxyCodeLine{580 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (tolower(points[i].tc) == \textcolor{charliteral}{'c'}) \{} -\DoxyCodeLine{581 \textcolor{keywordflow}{if} (i + 2 < n) \{} -\DoxyCodeLine{582 \mbox{\hyperlink{classVector2D}{Vector2Df}} control\_point1 =} -\DoxyCodeLine{583 \mbox{\hyperlink{classVector2D}{Vector2Df}}\{cur\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} + points[i].point.x,} -\DoxyCodeLine{584 cur\_point.y + points[i].point.y\};} -\DoxyCodeLine{585 \mbox{\hyperlink{classVector2D}{Vector2Df}} control\_point2 =} -\DoxyCodeLine{586 \mbox{\hyperlink{classVector2D}{Vector2Df}}\{cur\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} + points[i + 1].point.x,} -\DoxyCodeLine{587 cur\_point.y + points[i + 1].point.y\};} -\DoxyCodeLine{588 \mbox{\hyperlink{classVector2D}{Vector2Df}} control\_point3 =} -\DoxyCodeLine{589 \mbox{\hyperlink{classVector2D}{Vector2Df}}\{cur\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} + points[i + 2].point.x,} -\DoxyCodeLine{590 cur\_point.y + points[i + 2].point.y\};} -\DoxyCodeLine{591 \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'C'}) \{} -\DoxyCodeLine{592 control\_point1 = points[i].point;} -\DoxyCodeLine{593 control\_point2 = points[i + 1].point;} -\DoxyCodeLine{594 control\_point3 = points[i + 2].point;} -\DoxyCodeLine{595 \}} -\DoxyCodeLine{596 i += 2;} -\DoxyCodeLine{597 cur\_point = control\_point3;} -\DoxyCodeLine{598 handle\_points.push\_back(\{control\_point1, \textcolor{charliteral}{'c'}\});} -\DoxyCodeLine{599 handle\_points.push\_back(\{control\_point2, \textcolor{charliteral}{'c'}\});} -\DoxyCodeLine{600 handle\_points.push\_back(\{control\_point3, \textcolor{charliteral}{'c'}\});} -\DoxyCodeLine{601 \}} -\DoxyCodeLine{602 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (tolower(points[i].tc) == \textcolor{charliteral}{'z'}) \{} -\DoxyCodeLine{603 cur\_point = first\_point;} -\DoxyCodeLine{604 handle\_points.push\_back(\{first\_point, \textcolor{charliteral}{'z'}\});} -\DoxyCodeLine{605 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (tolower(points[i].tc) == \textcolor{charliteral}{'s'} ||} -\DoxyCodeLine{606 tolower(points[i].tc) == \textcolor{charliteral}{'q'}) \{} -\DoxyCodeLine{607 \textcolor{keywordflow}{if} (i + 1 < n) \{} -\DoxyCodeLine{608 \mbox{\hyperlink{classVector2D}{Vector2Df}} control\_point1 =} -\DoxyCodeLine{609 \mbox{\hyperlink{classVector2D}{Vector2Df}}\{cur\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} + points[i].point.x,} -\DoxyCodeLine{610 cur\_point.y + points[i].point.y\};} -\DoxyCodeLine{611 \mbox{\hyperlink{classVector2D}{Vector2Df}} control\_point2 =} -\DoxyCodeLine{612 \mbox{\hyperlink{classVector2D}{Vector2Df}}\{cur\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} + points[i + 1].point.x,} -\DoxyCodeLine{613 cur\_point.y + points[i + 1].point.y\};} -\DoxyCodeLine{614 \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'S'} || points[i].tc == \textcolor{charliteral}{'Q'}) \{} -\DoxyCodeLine{615 control\_point1 = points[i].point;} -\DoxyCodeLine{616 control\_point2 = points[i + 1].point;} -\DoxyCodeLine{617 \}} -\DoxyCodeLine{618 i += 1;} -\DoxyCodeLine{619 cur\_point = control\_point2;} -\DoxyCodeLine{620 \textcolor{keywordtype}{char} TC = tolower(points[i].tc);} -\DoxyCodeLine{621 handle\_points.push\_back(\{control\_point1, TC\});} -\DoxyCodeLine{622 handle\_points.push\_back(\{control\_point2, TC\});} -\DoxyCodeLine{623 \}} -\DoxyCodeLine{624 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (tolower(points[i].tc) == \textcolor{charliteral}{'a'}) \{} -\DoxyCodeLine{625 \mbox{\hyperlink{classVector2D}{Vector2Df}} end\_point\{cur\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} + points[i].point.x,} -\DoxyCodeLine{626 cur\_point.y + points[i].point.y\};} -\DoxyCodeLine{627 \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'A'}) end\_point = points[i].point;} -\DoxyCodeLine{628 handle\_points.push\_back(} -\DoxyCodeLine{629 \{end\_point, \textcolor{charliteral}{'a'}, points[i].radius, points[i].x\_axis\_rotation,} -\DoxyCodeLine{630 points[i].large\_arc\_flag, points[i].sweep\_flag\});} -\DoxyCodeLine{631 cur\_point = end\_point;} -\DoxyCodeLine{632 \}} -\DoxyCodeLine{633 \}} -\DoxyCodeLine{634 \textcolor{keywordflow}{return} handle\_points;} -\DoxyCodeLine{635 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_af408a2ef7b27ceed0547093d73e6b2eb}\label{classParser_af408a2ef7b27ceed0547093d73e6b2eb}} -\index{Parser@{Parser}!parsePoints@{parsePoints}} -\index{parsePoints@{parsePoints}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{parsePoints()}{parsePoints()}} -{\footnotesize\ttfamily std\+::vector$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$ Parser\+::parse\+Points (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Gets the points of the element. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The points of the element -\end{DoxyReturn} - - -Definition at line 478 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{478 \{} -\DoxyCodeLine{479 std::vector< Vector2Df > points;} -\DoxyCodeLine{480 std::string points\_string = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(node, \textcolor{stringliteral}{"{}points"{}});} -\DoxyCodeLine{481 } -\DoxyCodeLine{482 std::stringstream ss(points\_string);} -\DoxyCodeLine{483 \textcolor{keywordtype}{float} x, y;} -\DoxyCodeLine{484 } -\DoxyCodeLine{485 \textcolor{keywordflow}{while} (ss >> x) \{} -\DoxyCodeLine{486 \textcolor{keywordflow}{if} (ss.peek() == \textcolor{charliteral}{','}) ss.ignore();} -\DoxyCodeLine{487 ss >> y;} -\DoxyCodeLine{488 points.push\_back(\mbox{\hyperlink{classVector2D}{Vector2Df}}(x, y));} -\DoxyCodeLine{489 \}} -\DoxyCodeLine{490 } -\DoxyCodeLine{491 \textcolor{keywordflow}{return} points;} -\DoxyCodeLine{492 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_a7afd52c648dc5983e596edfa7eb6bbb5}\label{classParser_a7afd52c648dc5983e596edfa7eb6bbb5}} -\index{Parser@{Parser}!parsePolygon@{parsePolygon}} -\index{parsePolygon@{parsePolygon}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{parsePolygon()}{parsePolygon()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classPlygon}{Plygon}} $\ast$ Parser\+::parse\+Polygon (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{fill\+\_\+color, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke\+\_\+color, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Parses the polygon element. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -{\em fill\+\_\+color} & The color of the fill \\ -\hline -{\em stroke\+\_\+color} & The color of the stroke \\ -\hline -{\em stroke\+\_\+width} & The width of the stroke \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The polygon element -\end{DoxyReturn} - - -Definition at line 754 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{756 \{} -\DoxyCodeLine{757 \mbox{\hyperlink{classPlygon}{Plygon}} *shape = \textcolor{keyword}{new} \mbox{\hyperlink{classPlygon}{Plygon}}(fill\_color, stroke\_color, stroke\_width);} -\DoxyCodeLine{758 std::vector< Vector2Df > points = \mbox{\hyperlink{classParser_af408a2ef7b27ceed0547093d73e6b2eb}{parsePoints}}(node);} -\DoxyCodeLine{759 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} point : points) \{} -\DoxyCodeLine{760 shape-\/>\mbox{\hyperlink{classPolyShape_a3a5e4952aff469f241ee1c9b92833f55}{addPoint}}(point);} -\DoxyCodeLine{761 \}} -\DoxyCodeLine{762 std::string fill\_rule = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(node, \textcolor{stringliteral}{"{}fill-\/rule"{}});} -\DoxyCodeLine{763 fill\_rule.erase(std::remove(fill\_rule.begin(), fill\_rule.end(), \textcolor{charliteral}{' '}),} -\DoxyCodeLine{764 fill\_rule.end());} -\DoxyCodeLine{765 shape-\/>\mbox{\hyperlink{classPolyShape_a0c918fe8d9df68573a1c0d6e18bc6c9a}{setFillRule}}(fill\_rule);} -\DoxyCodeLine{766 \textcolor{keywordflow}{return} shape;} -\DoxyCodeLine{767 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_a03766f0f9f6ebdead0474973d3ac50aa}\label{classParser_a03766f0f9f6ebdead0474973d3ac50aa}} -\index{Parser@{Parser}!parsePolyline@{parsePolyline}} -\index{parsePolyline@{parsePolyline}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{parsePolyline()}{parsePolyline()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classPlyline}{Plyline}} $\ast$ Parser\+::parse\+Polyline (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{fill\+\_\+color, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke\+\_\+color, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Parses the polyline element. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -{\em fill\+\_\+color} & The color of the fill \\ -\hline -{\em stroke\+\_\+color} & The color of the stroke \\ -\hline -{\em stroke\+\_\+width} & The width of the stroke \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The polyline element -\end{DoxyReturn} - - -Definition at line 769 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{771 \{} -\DoxyCodeLine{772 \mbox{\hyperlink{classPlyline}{Plyline}} *shape = \textcolor{keyword}{new} \mbox{\hyperlink{classPlyline}{Plyline}}(fill\_color, stroke\_color, stroke\_width);} -\DoxyCodeLine{773 std::vector< Vector2Df > points = \mbox{\hyperlink{classParser_af408a2ef7b27ceed0547093d73e6b2eb}{parsePoints}}(node);} -\DoxyCodeLine{774 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} point : points) \{} -\DoxyCodeLine{775 shape-\/>\mbox{\hyperlink{classPolyShape_a3a5e4952aff469f241ee1c9b92833f55}{addPoint}}(point);} -\DoxyCodeLine{776 \}} -\DoxyCodeLine{777 std::string fill\_rule = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(node, \textcolor{stringliteral}{"{}fill-\/rule"{}});} -\DoxyCodeLine{778 fill\_rule.erase(std::remove(fill\_rule.begin(), fill\_rule.end(), \textcolor{charliteral}{' '}),} -\DoxyCodeLine{779 fill\_rule.end());} -\DoxyCodeLine{780 shape-\/>\mbox{\hyperlink{classPolyShape_a0c918fe8d9df68573a1c0d6e18bc6c9a}{setFillRule}}(fill\_rule);} -\DoxyCodeLine{781 \textcolor{keywordflow}{return} shape;} -\DoxyCodeLine{782 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_a20352ab58a59e61f6da1b4d20861907d}\label{classParser_a20352ab58a59e61f6da1b4d20861907d}} -\index{Parser@{Parser}!parseRect@{parseRect}} -\index{parseRect@{parseRect}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{parseRect()}{parseRect()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classRect}{Rect}} $\ast$ Parser\+::parse\+Rect (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{fill\+\_\+color, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke\+\_\+color, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Parses the rect element. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -{\em fill\+\_\+color} & The color of the fill \\ -\hline -{\em stroke\+\_\+color} & The color of the stroke \\ -\hline -{\em stroke\+\_\+width} & The width of the stroke \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The rect element -\end{DoxyReturn} - - -Definition at line 719 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{720 \{} -\DoxyCodeLine{721 \textcolor{keywordtype}{float} x = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}x"{}});} -\DoxyCodeLine{722 \textcolor{keywordtype}{float} y = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}y"{}});} -\DoxyCodeLine{723 \textcolor{keywordtype}{float} rx = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}rx"{}});} -\DoxyCodeLine{724 \textcolor{keywordtype}{float} ry = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}ry"{}});} -\DoxyCodeLine{725 \mbox{\hyperlink{classRect}{Rect}} *shape =} -\DoxyCodeLine{726 \textcolor{keyword}{new} \mbox{\hyperlink{classRect}{Rect}}(\mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}width"{}}),} -\DoxyCodeLine{727 \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}height"{}}), \mbox{\hyperlink{classVector2D}{Vector2Df}}(x, y),} -\DoxyCodeLine{728 \mbox{\hyperlink{classVector2D}{Vector2Df}}(rx, ry), fill\_color, stroke\_color, stroke\_width);} -\DoxyCodeLine{729 \textcolor{keywordflow}{return} shape;} -\DoxyCodeLine{730 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_abfd09c5dd46fb0dc9bcd9106857dbf5e}\label{classParser_abfd09c5dd46fb0dc9bcd9106857dbf5e}} -\index{Parser@{Parser}!parseShape@{parseShape}} -\index{parseShape@{parseShape}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{parseShape()}{parseShape()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$ Parser\+::parse\+Shape (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Parses the group of elements. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The group of elements -\end{DoxyReturn} - - -Definition at line 667 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{667 \{} -\DoxyCodeLine{668 \mbox{\hyperlink{classSVGElement}{SVGElement}} *shape = NULL;} -\DoxyCodeLine{669 std::string type = node-\/>name();} -\DoxyCodeLine{670 std::string \textcolor{keywordtype}{id} = \textcolor{stringliteral}{"{}"{}};} -\DoxyCodeLine{671 \mbox{\hyperlink{classmColor}{mColor}} stroke\_color = \mbox{\hyperlink{classParser_a18d5a9aa35bd124023a060940486e183}{parseColor}}(node, \textcolor{stringliteral}{"{}stroke"{}}, \textcolor{keywordtype}{id});} -\DoxyCodeLine{672 \mbox{\hyperlink{classmColor}{mColor}} fill\_color = \mbox{\hyperlink{classParser_a18d5a9aa35bd124023a060940486e183}{parseColor}}(node, \textcolor{stringliteral}{"{}fill"{}}, \textcolor{keywordtype}{id});} -\DoxyCodeLine{673 \textcolor{keywordtype}{float} stroke\_width = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}stroke-\/width"{}});} -\DoxyCodeLine{674 \textcolor{keywordflow}{if} (type == \textcolor{stringliteral}{"{}line"{}}) \{} -\DoxyCodeLine{675 shape = \mbox{\hyperlink{classParser_a95e84ae219109769fae08702381acf78}{parseLine}}(node, stroke\_color, stroke\_width);} -\DoxyCodeLine{676 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type == \textcolor{stringliteral}{"{}rect"{}}) \{} -\DoxyCodeLine{677 shape = \mbox{\hyperlink{classParser_a20352ab58a59e61f6da1b4d20861907d}{parseRect}}(node, fill\_color, stroke\_color, stroke\_width);} -\DoxyCodeLine{678 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type == \textcolor{stringliteral}{"{}circle"{}}) \{} -\DoxyCodeLine{679 shape = \mbox{\hyperlink{classParser_ab7776f740b7d63c388a086c8b8ecccd0}{parseCircle}}(node, fill\_color, stroke\_color, stroke\_width);} -\DoxyCodeLine{680 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type == \textcolor{stringliteral}{"{}ellipse"{}}) \{} -\DoxyCodeLine{681 shape = \mbox{\hyperlink{classParser_a0af0085ee5e20739bdf23a5b685642b6}{parseEllipse}}(node, fill\_color, stroke\_color, stroke\_width);} -\DoxyCodeLine{682 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type == \textcolor{stringliteral}{"{}polygon"{}}) \{} -\DoxyCodeLine{683 shape = \mbox{\hyperlink{classParser_a7afd52c648dc5983e596edfa7eb6bbb5}{parsePolygon}}(node, fill\_color, stroke\_color, stroke\_width);} -\DoxyCodeLine{684 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type == \textcolor{stringliteral}{"{}polyline"{}}) \{} -\DoxyCodeLine{685 shape = \mbox{\hyperlink{classParser_a03766f0f9f6ebdead0474973d3ac50aa}{parsePolyline}}(node, fill\_color, stroke\_color, stroke\_width);} -\DoxyCodeLine{686 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type == \textcolor{stringliteral}{"{}path"{}}) \{} -\DoxyCodeLine{687 shape = \mbox{\hyperlink{classParser_a6f80728e7a771d2653baf1b453b655d9}{parsePath}}(node, fill\_color, stroke\_color, stroke\_width);} -\DoxyCodeLine{688 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type == \textcolor{stringliteral}{"{}text"{}}) \{} -\DoxyCodeLine{689 shape = \mbox{\hyperlink{classParser_a539bda46a2832a22741105c9299c12cb}{parseText}}(node, fill\_color, stroke\_color, stroke\_width);} -\DoxyCodeLine{690 \}} -\DoxyCodeLine{691 \textcolor{keywordflow}{if} (shape != NULL) \{} -\DoxyCodeLine{692 \textcolor{keywordflow}{if} (type == \textcolor{stringliteral}{"{}text"{}}) \{} -\DoxyCodeLine{693 \textcolor{keywordtype}{float} dx = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}dx"{}});} -\DoxyCodeLine{694 \textcolor{keywordtype}{float} dy = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}dy"{}});} -\DoxyCodeLine{695 std::string transform = \textcolor{stringliteral}{"{}translate("{}} + std::to\_string(dx) + \textcolor{stringliteral}{"{} "{}} +} -\DoxyCodeLine{696 std::to\_string(dy) + \textcolor{stringliteral}{"{})"{}};} -\DoxyCodeLine{697 std::vector< std::string > transform\_order =} -\DoxyCodeLine{698 \mbox{\hyperlink{classParser_a99df58e649089762bf434502173716d6}{getTransformOrder}}(node);} -\DoxyCodeLine{699 transform\_order.push\_back(transform);} -\DoxyCodeLine{700 shape-\/>\mbox{\hyperlink{classSVGElement_a00fef2ebc5df4838b3f9bd7111b117c5}{setTransforms}}(transform\_order);} -\DoxyCodeLine{701 \} \textcolor{keywordflow}{else}} -\DoxyCodeLine{702 shape-\/>\mbox{\hyperlink{classSVGElement_a00fef2ebc5df4838b3f9bd7111b117c5}{setTransforms}}(\mbox{\hyperlink{classParser_a99df58e649089762bf434502173716d6}{getTransformOrder}}(node));} -\DoxyCodeLine{703 \textcolor{keywordflow}{if} (\textcolor{keywordtype}{id} != \textcolor{stringliteral}{"{}"{}}) \{} -\DoxyCodeLine{704 shape-\/>\mbox{\hyperlink{classSVGElement_a312b6aa934488672585c7e9d858300f8}{setGradient}}(\mbox{\hyperlink{classParser_ac1e519500fce1b4192362ed1aa5ccbc3}{parseGradient}}(\textcolor{keywordtype}{id}));} -\DoxyCodeLine{705 \}} -\DoxyCodeLine{706 \}} -\DoxyCodeLine{707 \textcolor{keywordflow}{return} shape;} -\DoxyCodeLine{708 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_a539bda46a2832a22741105c9299c12cb}\label{classParser_a539bda46a2832a22741105c9299c12cb}} -\index{Parser@{Parser}!parseText@{parseText}} -\index{parseText@{parseText}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{parseText()}{parseText()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classText}{Text}} $\ast$ Parser\+::parse\+Text (\begin{DoxyParamCaption}\item[{rapidxml\+::xml\+\_\+node$<$$>$ $\ast$}]{node, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{fill\+\_\+color, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke\+\_\+color, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Parses the text element. - - -\begin{DoxyParams}{Parameters} -{\em node} & The node to be parsed. \\ -\hline -{\em fill\+\_\+color} & The color of the fill \\ -\hline -{\em stroke\+\_\+color} & The color of the stroke \\ -\hline -{\em stroke\+\_\+width} & The width of the stroke \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The text element -\end{DoxyReturn} - - -Definition at line 784 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{785 \{} -\DoxyCodeLine{786 \textcolor{keywordtype}{float} x = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}x"{}});} -\DoxyCodeLine{787 \textcolor{keywordtype}{float} y = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}y"{}});} -\DoxyCodeLine{788 \textcolor{keywordtype}{float} font\_size = \mbox{\hyperlink{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{getFloatAttribute}}(node, \textcolor{stringliteral}{"{}font-\/size"{}});} -\DoxyCodeLine{789 std::string text = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(node, \textcolor{stringliteral}{"{}text"{}});} -\DoxyCodeLine{790 } -\DoxyCodeLine{791 \mbox{\hyperlink{classText}{Text}} *shape =} -\DoxyCodeLine{792 \textcolor{keyword}{new} \mbox{\hyperlink{classText}{Text}}(\mbox{\hyperlink{classVector2D}{Vector2Df}}(x -\/ (font\_size * 6.6 / 40),} -\DoxyCodeLine{793 y -\/ font\_size + (font\_size * 4.4 / 40)),} -\DoxyCodeLine{794 text, font\_size, fill\_color, stroke\_color, stroke\_width);} -\DoxyCodeLine{795 } -\DoxyCodeLine{796 std::string anchor = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(node, \textcolor{stringliteral}{"{}text-\/anchor"{}});} -\DoxyCodeLine{797 anchor.erase(std::remove(anchor.begin(), anchor.end(), \textcolor{charliteral}{' '}), anchor.end());} -\DoxyCodeLine{798 shape-\/>\mbox{\hyperlink{classText_aa503905beb9dddf11c9c579424d0a84f}{setAnchor}}(anchor);} -\DoxyCodeLine{799 } -\DoxyCodeLine{800 std::string style = \mbox{\hyperlink{classParser_a63329a7accdf332feb3fba1bcc4deec6}{getAttribute}}(node, \textcolor{stringliteral}{"{}font-\/style"{}});} -\DoxyCodeLine{801 style.erase(std::remove(style.begin(), style.end(), \textcolor{charliteral}{' '}), style.end());} -\DoxyCodeLine{802 shape-\/>\mbox{\hyperlink{classText_a4f24f78f8a962e758b70c5d9fd85b7cb}{setFontStyle}}(style);} -\DoxyCodeLine{803 } -\DoxyCodeLine{804 \textcolor{keywordflow}{return} shape;} -\DoxyCodeLine{805 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classParser_a3d8927f2e26abf6a63bd850c154b23c6}\label{classParser_a3d8927f2e26abf6a63bd850c154b23c6}} -\index{Parser@{Parser}!printShapesData@{printShapesData}} -\index{printShapesData@{printShapesData}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{printShapesData()}{printShapesData()}} -{\footnotesize\ttfamily void Parser\+::print\+Shapes\+Data (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} - - - -Prints the data of the shapes. - -\begin{DoxyNote}{Note} -This function is used for debugging. -\end{DoxyNote} - - -Definition at line 828 of file Parser.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{828 \{ \mbox{\hyperlink{classParser_a13a5e2fdac62670c1584de1edbba77f2}{root}}-\/>\mbox{\hyperlink{classSVGElement_ad4bcd981ae7431161013811024b452e1}{printData}}(); \}} - -\end{DoxyCode} - - -\doxysubsection{Member Data Documentation} -\mbox{\Hypertarget{classParser_a7f085da78317baf2cc61e6e92b4b29c8}\label{classParser_a7f085da78317baf2cc61e6e92b4b29c8}} -\index{Parser@{Parser}!gradients@{gradients}} -\index{gradients@{gradients}!Parser@{Parser}} -\doxysubsubsection{\texorpdfstring{gradients}{gradients}} -{\footnotesize\ttfamily std\+::map$<$ std\+::string, \mbox{\hyperlink{classGradient}{Gradient}}$\ast$ $>$ Parser\+::gradients\hspace{0.3cm}{\ttfamily [private]}} - -The gradients of the SVG file. - -Definition at line 277 of file Parser.\+hpp. - - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/Parser.\+hpp\item -src/Parser.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classParser__coll__graph.md5 b/latex/classParser__coll__graph.md5 deleted file mode 100644 index 3846725..0000000 --- a/latex/classParser__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -cfb799f3790bb6e28083e9b190724ef4 \ No newline at end of file diff --git a/latex/classParser__coll__graph.pdf b/latex/classParser__coll__graph.pdf deleted file mode 100644 index 1d32f42..0000000 Binary files a/latex/classParser__coll__graph.pdf and /dev/null differ diff --git a/latex/classPath.tex b/latex/classPath.tex deleted file mode 100644 index 2d3d601..0000000 --- a/latex/classPath.tex +++ /dev/null @@ -1,271 +0,0 @@ -\hypertarget{classPath}{}\doxysection{Path Class Reference} -\label{classPath}\index{Path@{Path}} - - -Represents a path element in 2D space. - - - - -{\ttfamily \#include $<$Path.\+hpp$>$} - - - -Inheritance diagram for Path\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=157pt]{classPath__inherit__graph} -\end{center} -\end{figure} - - -Collaboration diagram for Path\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{classPath__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classPath_a089f2f59cc5574ce9e93826891044378}{Path}} (const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, float \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\+\_\+width}}) -\begin{DoxyCompactList}\small\item\em Constructs a \mbox{\hyperlink{classPath}{Path}} object. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classPath_ac99ffb44f19586a10ee39aa70fd4a260}{get\+Class}} () const override -\begin{DoxyCompactList}\small\item\em Gets the type of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classPath_ad4273c2a1b288fe43dd86375afc16f66}{add\+Point}} (\mbox{\hyperlink{structPathPoint}{Path\+Point}} point) -\begin{DoxyCompactList}\small\item\em Adds a point to the path. \end{DoxyCompactList}\item -std\+::vector$<$ \mbox{\hyperlink{structPathPoint}{Path\+Point}} $>$ \mbox{\hyperlink{classPath_a9d701e9231022249523970101bbc749c}{get\+Points}} () const -\begin{DoxyCompactList}\small\item\em Gets the vector of points in the path. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classPath_ad2ba583a2dd567c3295ea62817b541e9}{set\+Fill\+Rule}} (std\+::string \mbox{\hyperlink{classPath_ac5abd8d5994a75cca56205c7e55a5b4f}{fill\+\_\+rule}}) -\begin{DoxyCompactList}\small\item\em Sets the fill rule of the path. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classPath_a9395325e65f86fd2a4be2dc24408753a}{get\+Fill\+Rule}} () const -\begin{DoxyCompactList}\small\item\em Gets the current fill rule of the path. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classPath_a3d2df8f3367db525772586065e16151e}{print\+Data}} () const override -\begin{DoxyCompactList}\small\item\em Prints the data of the shape. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classPath_a1880b844baafdeca91a7cf5d155cf9f1}\label{classPath_a1880b844baafdeca91a7cf5d155cf9f1}} -std\+::vector$<$ \mbox{\hyperlink{structPathPoint}{Path\+Point}} $>$ \mbox{\hyperlink{classPath_a1880b844baafdeca91a7cf5d155cf9f1}{points}} -\begin{DoxyCompactList}\small\item\em Vector of points in the path. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classPath_ac5abd8d5994a75cca56205c7e55a5b4f}\label{classPath_ac5abd8d5994a75cca56205c7e55a5b4f}} -std\+::string \mbox{\hyperlink{classPath_ac5abd8d5994a75cca56205c7e55a5b4f}{fill\+\_\+rule}} -\begin{DoxyCompactList}\small\item\em Fill rule of the path. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Additional Inherited Members} - - -\doxysubsection{Detailed Description} -Represents a path element in 2D space. - -The \mbox{\hyperlink{classPath}{Path}} class is derived from the \mbox{\hyperlink{classSVGElement}{SVGElement}} class and represents a path element in 2D space. The \mbox{\hyperlink{classPath}{Path}} class is used to draw lines, curves, arcs, and other shapes. The \mbox{\hyperlink{classPath}{Path}} class contains a vector of Path\+Points that represent the points in the path. - -Definition at line 28 of file Path.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classPath_a089f2f59cc5574ce9e93826891044378}\label{classPath_a089f2f59cc5574ce9e93826891044378}} -\index{Path@{Path}!Path@{Path}} -\index{Path@{Path}!Path@{Path}} -\doxysubsubsection{\texorpdfstring{Path()}{Path()}} -{\footnotesize\ttfamily Path\+::\+Path (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{fill, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})} - - - -Constructs a \mbox{\hyperlink{classPath}{Path}} object. - - -\begin{DoxyParams}{Parameters} -{\em fill} & Fill color of the path. \\ -\hline -{\em stroke} & Outline color of the path. \\ -\hline -{\em stroke\+\_\+width} & Thickness of the path outline. \\ -\hline -\end{DoxyParams} - - -Definition at line 3 of file Path.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{4 : \mbox{\hyperlink{classSVGElement_ad30205005009d2ba4820d3ce372e81ea}{SVGElement}}(\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}}) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classPath_ad4273c2a1b288fe43dd86375afc16f66}\label{classPath_ad4273c2a1b288fe43dd86375afc16f66}} -\index{Path@{Path}!addPoint@{addPoint}} -\index{addPoint@{addPoint}!Path@{Path}} -\doxysubsubsection{\texorpdfstring{addPoint()}{addPoint()}} -{\footnotesize\ttfamily void Path\+::add\+Point (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structPathPoint}{Path\+Point}}}]{point }\end{DoxyParamCaption})} - - - -Adds a point to the path. - - -\begin{DoxyParams}{Parameters} -{\em point} & The point to be added to the path.\\ -\hline -\end{DoxyParams} -\begin{DoxyNote}{Note} -This function is used for adding points to the path. -\end{DoxyNote} - - -Definition at line 8 of file Path.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{8 \{ \mbox{\hyperlink{classPath_a1880b844baafdeca91a7cf5d155cf9f1}{points}}.push\_back(point); \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classPath_ac99ffb44f19586a10ee39aa70fd4a260}\label{classPath_ac99ffb44f19586a10ee39aa70fd4a260}} -\index{Path@{Path}!getClass@{getClass}} -\index{getClass@{getClass}!Path@{Path}} -\doxysubsubsection{\texorpdfstring{getClass()}{getClass()}} -{\footnotesize\ttfamily std\+::string Path\+::get\+Class (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the type of the shape. - -\begin{DoxyReturn}{Returns} -The string \char`\"{}\+Path\char`\"{}. -\end{DoxyReturn} - - -Implements \mbox{\hyperlink{classSVGElement_adc98ebac66965dd303283cbf7ff28f38}{SVGElement}}. - - - -Definition at line 6 of file Path.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{6 \{ \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Path"{}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classPath_a9395325e65f86fd2a4be2dc24408753a}\label{classPath_a9395325e65f86fd2a4be2dc24408753a}} -\index{Path@{Path}!getFillRule@{getFillRule}} -\index{getFillRule@{getFillRule}!Path@{Path}} -\doxysubsubsection{\texorpdfstring{getFillRule()}{getFillRule()}} -{\footnotesize\ttfamily std\+::string Path\+::get\+Fill\+Rule (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the current fill rule of the path. - -\begin{DoxyReturn}{Returns} -The current fill rule of the path. -\end{DoxyReturn} -\begin{DoxyNote}{Note} -The fill rule can be either \char`\"{}nonzero\char`\"{} or \char`\"{}evenodd\char`\"{}. - -The default fill rule is \char`\"{}nonzero\char`\"{}. -\end{DoxyNote} - - -Definition at line 14 of file Path.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{14 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classPath_ac5abd8d5994a75cca56205c7e55a5b4f}{fill\_rule}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classPath_a9d701e9231022249523970101bbc749c}\label{classPath_a9d701e9231022249523970101bbc749c}} -\index{Path@{Path}!getPoints@{getPoints}} -\index{getPoints@{getPoints}!Path@{Path}} -\doxysubsubsection{\texorpdfstring{getPoints()}{getPoints()}} -{\footnotesize\ttfamily std\+::vector$<$ \mbox{\hyperlink{structPathPoint}{Path\+Point}} $>$ Path\+::get\+Points (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the vector of points in the path. - -\begin{DoxyReturn}{Returns} -The vector of points in the path. -\end{DoxyReturn} - - -Definition at line 10 of file Path.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{10 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classPath_a1880b844baafdeca91a7cf5d155cf9f1}{points}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classPath_a3d2df8f3367db525772586065e16151e}\label{classPath_a3d2df8f3367db525772586065e16151e}} -\index{Path@{Path}!printData@{printData}} -\index{printData@{printData}!Path@{Path}} -\doxysubsubsection{\texorpdfstring{printData()}{printData()}} -{\footnotesize\ttfamily void Path\+::print\+Data (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Prints the data of the shape. - -\begin{DoxyNote}{Note} -This function is used for debugging purposes. -\end{DoxyNote} - - -Reimplemented from \mbox{\hyperlink{classSVGElement_ad4bcd981ae7431161013811024b452e1}{SVGElement}}. - - - -Definition at line 16 of file Path.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{16 \{} -\DoxyCodeLine{17 \mbox{\hyperlink{classSVGElement_ad4bcd981ae7431161013811024b452e1}{SVGElement::printData}}();} -\DoxyCodeLine{18 std::cout << \textcolor{stringliteral}{"{}Points: "{}};} -\DoxyCodeLine{19 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} point : \mbox{\hyperlink{classPath_a1880b844baafdeca91a7cf5d155cf9f1}{points}}) \{} -\DoxyCodeLine{20 std::cout << point.tc << \textcolor{stringliteral}{"{} "{}} << point.point.x << \textcolor{stringliteral}{"{} "{}} << point.point.y} -\DoxyCodeLine{21 << \textcolor{stringliteral}{"{} "{}};} -\DoxyCodeLine{22 \}} -\DoxyCodeLine{23 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classPath_ad2ba583a2dd567c3295ea62817b541e9}\label{classPath_ad2ba583a2dd567c3295ea62817b541e9}} -\index{Path@{Path}!setFillRule@{setFillRule}} -\index{setFillRule@{setFillRule}!Path@{Path}} -\doxysubsubsection{\texorpdfstring{setFillRule()}{setFillRule()}} -{\footnotesize\ttfamily void Path\+::set\+Fill\+Rule (\begin{DoxyParamCaption}\item[{std\+::string}]{fill\+\_\+rule }\end{DoxyParamCaption})} - - - -Sets the fill rule of the path. - - -\begin{DoxyParams}{Parameters} -{\em fill\+\_\+rule} & The new fill rule of the path.\\ -\hline -\end{DoxyParams} -\begin{DoxyNote}{Note} -This function is used for setting the fill rule of the path. - -The fill rule can be either \char`\"{}nonzero\char`\"{} or \char`\"{}evenodd\char`\"{}. -\end{DoxyNote} - - -Definition at line 12 of file Path.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{12 \{ this-\/>\mbox{\hyperlink{classPath_ac5abd8d5994a75cca56205c7e55a5b4f}{fill\_rule}} = \mbox{\hyperlink{classPath_ac5abd8d5994a75cca56205c7e55a5b4f}{fill\_rule}}; \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Path.\+hpp\item -src/graphics/Path.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classPath__coll__graph.md5 b/latex/classPath__coll__graph.md5 deleted file mode 100644 index 7d8b17a..0000000 --- a/latex/classPath__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -962cda9e11a89af7d782388d1039611d \ No newline at end of file diff --git a/latex/classPath__coll__graph.pdf b/latex/classPath__coll__graph.pdf deleted file mode 100644 index b8497f9..0000000 Binary files a/latex/classPath__coll__graph.pdf and /dev/null differ diff --git a/latex/classPath__inherit__graph.md5 b/latex/classPath__inherit__graph.md5 deleted file mode 100644 index d54e3b4..0000000 --- a/latex/classPath__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -f3a64e1a8d2aed9823a8fa627dec57be \ No newline at end of file diff --git a/latex/classPath__inherit__graph.pdf b/latex/classPath__inherit__graph.pdf deleted file mode 100644 index 51bc35f..0000000 Binary files a/latex/classPath__inherit__graph.pdf and /dev/null differ diff --git a/latex/classPlygon.tex b/latex/classPlygon.tex deleted file mode 100644 index 463ae22..0000000 --- a/latex/classPlygon.tex +++ /dev/null @@ -1,114 +0,0 @@ -\hypertarget{classPlygon}{}\doxysection{Plygon Class Reference} -\label{classPlygon}\index{Plygon@{Plygon}} - - -Represents a polygon in 2D space. - - - - -{\ttfamily \#include $<$Polygon.\+hpp$>$} - - - -Inheritance diagram for Plygon\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=157pt]{classPlygon__inherit__graph} -\end{center} -\end{figure} - - -Collaboration diagram for Plygon\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{classPlygon__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classPlygon_ac3f4fb224f4f84c3bd6e41093cd847cd}{Plygon}} (\mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, float \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\+\_\+width}}) -\begin{DoxyCompactList}\small\item\em Constructs a Polygon object. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classPlygon_aab00a0d0230ea320271e96c326c6b919}{get\+Class}} () const override -\begin{DoxyCompactList}\small\item\em Gets the type of the shape. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Additional Inherited Members} - - -\doxysubsection{Detailed Description} -Represents a polygon in 2D space. - -The Polygon class is derived from the \mbox{\hyperlink{classPolyShape}{Poly\+Shape}} class and defines a polygon with a variable number of vertices. - -Definition at line 12 of file Polygon.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classPlygon_ac3f4fb224f4f84c3bd6e41093cd847cd}\label{classPlygon_ac3f4fb224f4f84c3bd6e41093cd847cd}} -\index{Plygon@{Plygon}!Plygon@{Plygon}} -\index{Plygon@{Plygon}!Plygon@{Plygon}} -\doxysubsubsection{\texorpdfstring{Plygon()}{Plygon()}} -{\footnotesize\ttfamily Plygon\+::\+Plygon (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmColor}{m\+Color}}}]{fill, }\item[{\mbox{\hyperlink{classmColor}{m\+Color}}}]{stroke, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})} - - - -Constructs a Polygon object. - - -\begin{DoxyParams}{Parameters} -{\em fill} & Fill color of the polygon (default is sf\+::\+Color\+::\+Transparent). \\ -\hline -{\em stroke} & Outline color of the polygon (default is sf\+::\+Color\+::\+White). \\ -\hline -{\em stroke\+\_\+width} & Thickness of the polygon outline (default is 0). \\ -\hline -\end{DoxyParams} - - -Definition at line 3 of file Polygon.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{4 : \mbox{\hyperlink{classPolyShape_a6fd054647bea080272ed79bbea7080ac}{PolyShape}}(\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}}) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classPlygon_aab00a0d0230ea320271e96c326c6b919}\label{classPlygon_aab00a0d0230ea320271e96c326c6b919}} -\index{Plygon@{Plygon}!getClass@{getClass}} -\index{getClass@{getClass}!Plygon@{Plygon}} -\doxysubsubsection{\texorpdfstring{getClass()}{getClass()}} -{\footnotesize\ttfamily std\+::string Plygon\+::get\+Class (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the type of the shape. - -\begin{DoxyReturn}{Returns} -The string \char`\"{}\+Polygon\char`\"{}. -\end{DoxyReturn} - - -Implements \mbox{\hyperlink{classPolyShape_afc263d5407ca7ea50e30d641d779b73b}{Poly\+Shape}}. - - - -Definition at line 6 of file Polygon.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{6 \{ \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Polygon"{}}; \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Polygon.\+hpp\item -src/graphics/Polygon.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classPlygon__coll__graph.md5 b/latex/classPlygon__coll__graph.md5 deleted file mode 100644 index ee703c4..0000000 --- a/latex/classPlygon__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -4b909ee1e628452f86e05fab78420a0b \ No newline at end of file diff --git a/latex/classPlygon__coll__graph.pdf b/latex/classPlygon__coll__graph.pdf deleted file mode 100644 index 236e422..0000000 Binary files a/latex/classPlygon__coll__graph.pdf and /dev/null differ diff --git a/latex/classPlygon__inherit__graph.md5 b/latex/classPlygon__inherit__graph.md5 deleted file mode 100644 index a9e6ccd..0000000 --- a/latex/classPlygon__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a3d933c157e1fb29311dec87b805585d \ No newline at end of file diff --git a/latex/classPlygon__inherit__graph.pdf b/latex/classPlygon__inherit__graph.pdf deleted file mode 100644 index 712c9d6..0000000 Binary files a/latex/classPlygon__inherit__graph.pdf and /dev/null differ diff --git a/latex/classPlyline.tex b/latex/classPlyline.tex deleted file mode 100644 index b74abcd..0000000 --- a/latex/classPlyline.tex +++ /dev/null @@ -1,114 +0,0 @@ -\hypertarget{classPlyline}{}\doxysection{Plyline Class Reference} -\label{classPlyline}\index{Plyline@{Plyline}} - - -Represents a polyline in 2D space. - - - - -{\ttfamily \#include $<$Polyline.\+hpp$>$} - - - -Inheritance diagram for Plyline\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=157pt]{classPlyline__inherit__graph} -\end{center} -\end{figure} - - -Collaboration diagram for Plyline\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{classPlyline__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classPlyline_a8bf7677d7adb76f146607ef1aaa49bd3}{Plyline}} (const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, float \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\+\_\+width}}) -\begin{DoxyCompactList}\small\item\em Constructs a Polyline object. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classPlyline_a5b9d86c75604d329037cd47e8ba3d5b9}{get\+Class}} () const override -\begin{DoxyCompactList}\small\item\em Gets the type of the shape. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Additional Inherited Members} - - -\doxysubsection{Detailed Description} -Represents a polyline in 2D space. - -The Polyline class is derived from the \mbox{\hyperlink{classPolyShape}{Poly\+Shape}} class and defines a polyline with a variable number of vertices. - -Definition at line 12 of file Polyline.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classPlyline_a8bf7677d7adb76f146607ef1aaa49bd3}\label{classPlyline_a8bf7677d7adb76f146607ef1aaa49bd3}} -\index{Plyline@{Plyline}!Plyline@{Plyline}} -\index{Plyline@{Plyline}!Plyline@{Plyline}} -\doxysubsubsection{\texorpdfstring{Plyline()}{Plyline()}} -{\footnotesize\ttfamily Plyline\+::\+Plyline (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{fill, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})} - - - -Constructs a Polyline object. - - -\begin{DoxyParams}{Parameters} -{\em stroke\+\_\+width} & The stroke width of the polyline (default is 0). \\ -\hline -{\em stroke} & The stroke color of the polyline (default is sf\+::\+Color\+::\+White). \\ -\hline -{\em fill} & The fill color of the polyline (default is sf\+::\+Color\+::\+Transparent). \\ -\hline -\end{DoxyParams} - - -Definition at line 3 of file Polyline.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{4 : \mbox{\hyperlink{classPolyShape_a6fd054647bea080272ed79bbea7080ac}{PolyShape}}(\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}}) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classPlyline_a5b9d86c75604d329037cd47e8ba3d5b9}\label{classPlyline_a5b9d86c75604d329037cd47e8ba3d5b9}} -\index{Plyline@{Plyline}!getClass@{getClass}} -\index{getClass@{getClass}!Plyline@{Plyline}} -\doxysubsubsection{\texorpdfstring{getClass()}{getClass()}} -{\footnotesize\ttfamily std\+::string Plyline\+::get\+Class (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the type of the shape. - -\begin{DoxyReturn}{Returns} -The string \char`\"{}\+Polyline\char`\"{}. -\end{DoxyReturn} - - -Implements \mbox{\hyperlink{classPolyShape_afc263d5407ca7ea50e30d641d779b73b}{Poly\+Shape}}. - - - -Definition at line 6 of file Polyline.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{6 \{ \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Polyline"{}}; \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Polyline.\+hpp\item -src/graphics/Polyline.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classPlyline__coll__graph.md5 b/latex/classPlyline__coll__graph.md5 deleted file mode 100644 index a829d54..0000000 --- a/latex/classPlyline__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -034ef65d91d12980c2a5e02b7c36e5a2 \ No newline at end of file diff --git a/latex/classPlyline__coll__graph.pdf b/latex/classPlyline__coll__graph.pdf deleted file mode 100644 index 0be37f2..0000000 Binary files a/latex/classPlyline__coll__graph.pdf and /dev/null differ diff --git a/latex/classPlyline__inherit__graph.md5 b/latex/classPlyline__inherit__graph.md5 deleted file mode 100644 index afb1568..0000000 --- a/latex/classPlyline__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -e1a0727a9fbba26535e08ab29c9a4251 \ No newline at end of file diff --git a/latex/classPlyline__inherit__graph.pdf b/latex/classPlyline__inherit__graph.pdf deleted file mode 100644 index 449d4f4..0000000 Binary files a/latex/classPlyline__inherit__graph.pdf and /dev/null differ diff --git a/latex/classPolyShape.tex b/latex/classPolyShape.tex deleted file mode 100644 index 60573b9..0000000 --- a/latex/classPolyShape.tex +++ /dev/null @@ -1,329 +0,0 @@ -\hypertarget{classPolyShape}{}\doxysection{Poly\+Shape Class Reference} -\label{classPolyShape}\index{PolyShape@{PolyShape}} - - -Abstract base class for polygon and polyline shapes in 2D space. - - - - -{\ttfamily \#include $<$Poly\+Shape.\+hpp$>$} - - - -Inheritance diagram for Poly\+Shape\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=198pt]{classPolyShape__inherit__graph} -\end{center} -\end{figure} - - -Collaboration diagram for Poly\+Shape\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{classPolyShape__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -std\+::string \mbox{\hyperlink{classPolyShape_afc263d5407ca7ea50e30d641d779b73b}{get\+Class}} () const =0 -\begin{DoxyCompactList}\small\item\em Gets the type of the shape. \end{DoxyCompactList}\item -virtual void \mbox{\hyperlink{classPolyShape_a3a5e4952aff469f241ee1c9b92833f55}{add\+Point}} (const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&point) -\begin{DoxyCompactList}\small\item\em Adds a vertex to the shape. \end{DoxyCompactList}\item -const std\+::vector$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$ \& \mbox{\hyperlink{classPolyShape_a27704ef9fd50c041d1d233e9d99a4fd4}{get\+Points}} () const -\begin{DoxyCompactList}\small\item\em Gets the total number of vertices representing the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classPolyShape_a0c918fe8d9df68573a1c0d6e18bc6c9a}{set\+Fill\+Rule}} (std\+::string \mbox{\hyperlink{classPolyShape_abd758b76bbc30e790602b1f37a814fe1}{fill\+\_\+rule}}) -\begin{DoxyCompactList}\small\item\em Sets the fill rule of the polyshape. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classPolyShape_acac99a28e69ee5020eed782175a5a355}{get\+Fill\+Rule}} () const -\begin{DoxyCompactList}\small\item\em Gets the fill rule of the polyshape. \end{DoxyCompactList}\item -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classPolyShape_a0ad83e0129196572f99302830e0c9049}{get\+Min\+Bound}} () const override -\begin{DoxyCompactList}\small\item\em Gets the minimum bounding box of the shape. \end{DoxyCompactList}\item -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classPolyShape_a6ddda72dc27d7aade0ed444a52d7689f}{get\+Max\+Bound}} () const override -\begin{DoxyCompactList}\small\item\em Gets the maximum bounding box of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classPolyShape_a40a83ac567156de6da65adb1a4380c7c}{print\+Data}} () const override -\begin{DoxyCompactList}\small\item\em Prints the data of the shape. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Protected Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classPolyShape_a6fd054647bea080272ed79bbea7080ac}{Poly\+Shape}} (const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, float \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\+\_\+width}}) -\begin{DoxyCompactList}\small\item\em Constructs a \mbox{\hyperlink{classPolyShape}{Poly\+Shape}} object. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Protected Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classPolyShape_acbd1d536ad25e34b160e849a0fc12697}\label{classPolyShape_acbd1d536ad25e34b160e849a0fc12697}} -std\+::vector$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$ \mbox{\hyperlink{classPolyShape_acbd1d536ad25e34b160e849a0fc12697}{points}} -\begin{DoxyCompactList}\small\item\em Vertices of the polyshape. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classPolyShape_abd758b76bbc30e790602b1f37a814fe1}\label{classPolyShape_abd758b76bbc30e790602b1f37a814fe1}} -std\+::string \mbox{\hyperlink{classPolyShape_abd758b76bbc30e790602b1f37a814fe1}{fill\+\_\+rule}} -\begin{DoxyCompactList}\small\item\em Fill rule of the polyshape. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\doxysubsection{Detailed Description} -Abstract base class for polygon and polyline shapes in 2D space. - -The \mbox{\hyperlink{classPolyShape}{Poly\+Shape}} class is derived from the \mbox{\hyperlink{classSVGElement}{SVGElement}} class and defines a common interface for polyline and polygon shapes. - -Definition at line 12 of file Poly\+Shape.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classPolyShape_a6fd054647bea080272ed79bbea7080ac}\label{classPolyShape_a6fd054647bea080272ed79bbea7080ac}} -\index{PolyShape@{PolyShape}!PolyShape@{PolyShape}} -\index{PolyShape@{PolyShape}!PolyShape@{PolyShape}} -\doxysubsubsection{\texorpdfstring{PolyShape()}{PolyShape()}} -{\footnotesize\ttfamily Poly\+Shape\+::\+Poly\+Shape (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{fill, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} - - - -Constructs a \mbox{\hyperlink{classPolyShape}{Poly\+Shape}} object. - - -\begin{DoxyParams}{Parameters} -{\em fill} & Fill color of the polyshape (default is sf\+::\+Color\+::\+Transparent). \\ -\hline -{\em stroke} & Outline color of the polyshape (default is sf\+::\+Color\+::\+White). \\ -\hline -{\em stroke\+\_\+width} & Thickness of the polyshape outline (default is 0). \\ -\hline -\end{DoxyParams} - - -Definition at line 3 of file Poly\+Shape.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{5 : \mbox{\hyperlink{classSVGElement_ad30205005009d2ba4820d3ce372e81ea}{SVGElement}}(\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}}) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classPolyShape_a3a5e4952aff469f241ee1c9b92833f55}\label{classPolyShape_a3a5e4952aff469f241ee1c9b92833f55}} -\index{PolyShape@{PolyShape}!addPoint@{addPoint}} -\index{addPoint@{addPoint}!PolyShape@{PolyShape}} -\doxysubsubsection{\texorpdfstring{addPoint()}{addPoint()}} -{\footnotesize\ttfamily void Poly\+Shape\+::add\+Point (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&}]{point }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} - - - -Adds a vertex to the shape. - - -\begin{DoxyParams}{Parameters} -{\em point} & The position of the vertex to be added. \\ -\hline -\end{DoxyParams} - - -Definition at line 7 of file Poly\+Shape.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{7 \{ \mbox{\hyperlink{classPolyShape_acbd1d536ad25e34b160e849a0fc12697}{points}}.push\_back(point); \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classPolyShape_afc263d5407ca7ea50e30d641d779b73b}\label{classPolyShape_afc263d5407ca7ea50e30d641d779b73b}} -\index{PolyShape@{PolyShape}!getClass@{getClass}} -\index{getClass@{getClass}!PolyShape@{PolyShape}} -\doxysubsubsection{\texorpdfstring{getClass()}{getClass()}} -{\footnotesize\ttfamily std\+::string Poly\+Shape\+::get\+Class (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}} - - - -Gets the type of the shape. - -\begin{DoxyNote}{Note} -This function is pure virtual and must be implemented by derived classes. -\end{DoxyNote} - - -Implements \mbox{\hyperlink{classSVGElement_adc98ebac66965dd303283cbf7ff28f38}{SVGElement}}. - - - -Implemented in \mbox{\hyperlink{classPlyline_a5b9d86c75604d329037cd47e8ba3d5b9}{Plyline}}, and \mbox{\hyperlink{classPlygon_aab00a0d0230ea320271e96c326c6b919}{Plygon}}. - -\mbox{\Hypertarget{classPolyShape_acac99a28e69ee5020eed782175a5a355}\label{classPolyShape_acac99a28e69ee5020eed782175a5a355}} -\index{PolyShape@{PolyShape}!getFillRule@{getFillRule}} -\index{getFillRule@{getFillRule}!PolyShape@{PolyShape}} -\doxysubsubsection{\texorpdfstring{getFillRule()}{getFillRule()}} -{\footnotesize\ttfamily std\+::string Poly\+Shape\+::get\+Fill\+Rule (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the fill rule of the polyshape. - -\begin{DoxyReturn}{Returns} -The fill rule of the polyshape. -\end{DoxyReturn} - - -Definition at line 15 of file Poly\+Shape.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{15 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classPolyShape_abd758b76bbc30e790602b1f37a814fe1}{fill\_rule}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classPolyShape_a6ddda72dc27d7aade0ed444a52d7689f}\label{classPolyShape_a6ddda72dc27d7aade0ed444a52d7689f}} -\index{PolyShape@{PolyShape}!getMaxBound@{getMaxBound}} -\index{getMaxBound@{getMaxBound}!PolyShape@{PolyShape}} -\doxysubsubsection{\texorpdfstring{getMaxBound()}{getMaxBound()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classVector2D}{Vector2\+Df}} Poly\+Shape\+::get\+Max\+Bound (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the maximum bounding box of the shape. - -\begin{DoxyReturn}{Returns} -The maximum bounding box of the shape. -\end{DoxyReturn} - - -Reimplemented from \mbox{\hyperlink{classSVGElement_a03ac231161d1d5062951fa3fca33a39b}{SVGElement}}. - - - -Definition at line 27 of file Poly\+Shape.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{27 \{} -\DoxyCodeLine{28 \textcolor{keywordtype}{float} max\_x = \mbox{\hyperlink{classPolyShape_acbd1d536ad25e34b160e849a0fc12697}{points}}[0].x;} -\DoxyCodeLine{29 \textcolor{keywordtype}{float} max\_y = \mbox{\hyperlink{classPolyShape_acbd1d536ad25e34b160e849a0fc12697}{points}}[0].y;} -\DoxyCodeLine{30 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto}\& point : \mbox{\hyperlink{classPolyShape_acbd1d536ad25e34b160e849a0fc12697}{points}}) \{} -\DoxyCodeLine{31 max\_x = std::max(max\_x, point.x);} -\DoxyCodeLine{32 max\_y = std::max(max\_y, point.y);} -\DoxyCodeLine{33 \}} -\DoxyCodeLine{34 \textcolor{keywordflow}{return} \mbox{\hyperlink{classVector2D}{Vector2Df}}(max\_x, max\_y);} -\DoxyCodeLine{35 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classPolyShape_a0ad83e0129196572f99302830e0c9049}\label{classPolyShape_a0ad83e0129196572f99302830e0c9049}} -\index{PolyShape@{PolyShape}!getMinBound@{getMinBound}} -\index{getMinBound@{getMinBound}!PolyShape@{PolyShape}} -\doxysubsubsection{\texorpdfstring{getMinBound()}{getMinBound()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classVector2D}{Vector2\+Df}} Poly\+Shape\+::get\+Min\+Bound (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the minimum bounding box of the shape. - -\begin{DoxyReturn}{Returns} -The minimum bounding box of the shape. -\end{DoxyReturn} - - -Reimplemented from \mbox{\hyperlink{classSVGElement_a0cce88c48233f4da470daad2edab0d06}{SVGElement}}. - - - -Definition at line 17 of file Poly\+Shape.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{17 \{} -\DoxyCodeLine{18 \textcolor{keywordtype}{float} min\_x = \mbox{\hyperlink{classPolyShape_acbd1d536ad25e34b160e849a0fc12697}{points}}[0].x;} -\DoxyCodeLine{19 \textcolor{keywordtype}{float} min\_y = \mbox{\hyperlink{classPolyShape_acbd1d536ad25e34b160e849a0fc12697}{points}}[0].y;} -\DoxyCodeLine{20 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto}\& point : \mbox{\hyperlink{classPolyShape_acbd1d536ad25e34b160e849a0fc12697}{points}}) \{} -\DoxyCodeLine{21 min\_x = std::min(min\_x, point.x);} -\DoxyCodeLine{22 min\_y = std::min(min\_y, point.y);} -\DoxyCodeLine{23 \}} -\DoxyCodeLine{24 \textcolor{keywordflow}{return} \mbox{\hyperlink{classVector2D}{Vector2Df}}(min\_x, min\_y);} -\DoxyCodeLine{25 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classPolyShape_a27704ef9fd50c041d1d233e9d99a4fd4}\label{classPolyShape_a27704ef9fd50c041d1d233e9d99a4fd4}} -\index{PolyShape@{PolyShape}!getPoints@{getPoints}} -\index{getPoints@{getPoints}!PolyShape@{PolyShape}} -\doxysubsubsection{\texorpdfstring{getPoints()}{getPoints()}} -{\footnotesize\ttfamily const std\+::vector$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$ \& Poly\+Shape\+::get\+Points (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the total number of vertices representing the shape. - -\begin{DoxyReturn}{Returns} -The number of vertices representing the shape. -\end{DoxyReturn} - - -Definition at line 9 of file Poly\+Shape.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{9 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classPolyShape_acbd1d536ad25e34b160e849a0fc12697}{points}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classPolyShape_a40a83ac567156de6da65adb1a4380c7c}\label{classPolyShape_a40a83ac567156de6da65adb1a4380c7c}} -\index{PolyShape@{PolyShape}!printData@{printData}} -\index{printData@{printData}!PolyShape@{PolyShape}} -\doxysubsubsection{\texorpdfstring{printData()}{printData()}} -{\footnotesize\ttfamily void Poly\+Shape\+::print\+Data (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Prints the data of the shape. - -\begin{DoxyNote}{Note} -This function is used for debugging purposes. -\end{DoxyNote} - - -Reimplemented from \mbox{\hyperlink{classSVGElement_ad4bcd981ae7431161013811024b452e1}{SVGElement}}. - - - -Definition at line 37 of file Poly\+Shape.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{37 \{} -\DoxyCodeLine{38 \mbox{\hyperlink{classSVGElement_ad4bcd981ae7431161013811024b452e1}{SVGElement::printData}}();} -\DoxyCodeLine{39 std::cout << \textcolor{stringliteral}{"{}Points: "{}};} -\DoxyCodeLine{40 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto}\& point : \mbox{\hyperlink{classPolyShape_a27704ef9fd50c041d1d233e9d99a4fd4}{getPoints}}()) \{} -\DoxyCodeLine{41 std::cout << point.x << \textcolor{stringliteral}{"{},"{}} << point.y << \textcolor{stringliteral}{"{} "{}};} -\DoxyCodeLine{42 \}} -\DoxyCodeLine{43 std::cout << std::endl;} -\DoxyCodeLine{44 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classPolyShape_a0c918fe8d9df68573a1c0d6e18bc6c9a}\label{classPolyShape_a0c918fe8d9df68573a1c0d6e18bc6c9a}} -\index{PolyShape@{PolyShape}!setFillRule@{setFillRule}} -\index{setFillRule@{setFillRule}!PolyShape@{PolyShape}} -\doxysubsubsection{\texorpdfstring{setFillRule()}{setFillRule()}} -{\footnotesize\ttfamily void Poly\+Shape\+::set\+Fill\+Rule (\begin{DoxyParamCaption}\item[{std\+::string}]{fill\+\_\+rule }\end{DoxyParamCaption})} - - - -Sets the fill rule of the polyshape. - - -\begin{DoxyParams}{Parameters} -{\em fill\+\_\+rule} & The new fill rule of the polyshape. \\ -\hline -\end{DoxyParams} - - -Definition at line 11 of file Poly\+Shape.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{11 \{} -\DoxyCodeLine{12 this-\/>\mbox{\hyperlink{classPolyShape_abd758b76bbc30e790602b1f37a814fe1}{fill\_rule}} = \mbox{\hyperlink{classPolyShape_abd758b76bbc30e790602b1f37a814fe1}{fill\_rule}};} -\DoxyCodeLine{13 \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Poly\+Shape.\+hpp\item -src/graphics/Poly\+Shape.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classPolyShape__coll__graph.md5 b/latex/classPolyShape__coll__graph.md5 deleted file mode 100644 index f2b8625..0000000 --- a/latex/classPolyShape__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -6b985ed6fe97af3179614769d8e9738b \ No newline at end of file diff --git a/latex/classPolyShape__coll__graph.pdf b/latex/classPolyShape__coll__graph.pdf deleted file mode 100644 index 5e1aca5..0000000 Binary files a/latex/classPolyShape__coll__graph.pdf and /dev/null differ diff --git a/latex/classPolyShape__inherit__graph.md5 b/latex/classPolyShape__inherit__graph.md5 deleted file mode 100644 index b843653..0000000 --- a/latex/classPolyShape__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -0bd52408168446b62c393e1e770ffaf7 \ No newline at end of file diff --git a/latex/classPolyShape__inherit__graph.pdf b/latex/classPolyShape__inherit__graph.pdf deleted file mode 100644 index 92a8b0b..0000000 Binary files a/latex/classPolyShape__inherit__graph.pdf and /dev/null differ diff --git a/latex/classRadialGradient.tex b/latex/classRadialGradient.tex deleted file mode 100644 index 3d355c1..0000000 --- a/latex/classRadialGradient.tex +++ /dev/null @@ -1,150 +0,0 @@ -\hypertarget{classRadialGradient}{}\doxysection{Radial\+Gradient Class Reference} -\label{classRadialGradient}\index{RadialGradient@{RadialGradient}} - - -A class that represents a radial gradient. - - - - -{\ttfamily \#include $<$Radial\+Gradient.\+hpp$>$} - - - -Inheritance diagram for Radial\+Gradient\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=169pt]{classRadialGradient__inherit__graph} -\end{center} -\end{figure} - - -Collaboration diagram for Radial\+Gradient\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=262pt]{classRadialGradient__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classRadialGradient_a656e8c8a107f28a06c356a3ad1a4827c}{Radial\+Gradient}} (std\+::vector$<$ \mbox{\hyperlink{classStop}{Stop}} $>$ \mbox{\hyperlink{classGradient_a7831fa94135c818481ef7c85f792e1ca}{stops}}, std\+::pair$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$ \mbox{\hyperlink{classGradient_a8da859d1b12459800e763c31f18d0d41}{points}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classRadialGradient_abad9345ee5091075d8fc1b7a3511dbd7}{radius}}, std\+::string \mbox{\hyperlink{classGradient_a592dda454dc4df897263212191d6e3cb}{units}}) -\begin{DoxyCompactList}\small\item\em Constructs a \mbox{\hyperlink{classRadialGradient}{Radial\+Gradient}} object. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classRadialGradient_a132c35f92ecceb604cdddf098c36824c}{get\+Class}} () const override -\begin{DoxyCompactList}\small\item\em Gets the type of the gradient. \end{DoxyCompactList}\item -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classRadialGradient_acfa8223581f3caf2db33c310cfa48d1d}{get\+Radius}} () const -\begin{DoxyCompactList}\small\item\em Gets the radius of the gradient. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classRadialGradient_abad9345ee5091075d8fc1b7a3511dbd7}\label{classRadialGradient_abad9345ee5091075d8fc1b7a3511dbd7}} -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classRadialGradient_abad9345ee5091075d8fc1b7a3511dbd7}{radius}} -\begin{DoxyCompactList}\small\item\em The radius of the gradient. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\doxysubsection{Detailed Description} -A class that represents a radial gradient. - -The \mbox{\hyperlink{classRadialGradient}{Radial\+Gradient}} class is derived from the \mbox{\hyperlink{classGradient}{Gradient}} class and represents a radial gradient. It contains a vector of \mbox{\hyperlink{classStop}{Stop}} objects that represent the the stops of the gradient. It also contains a pair of \mbox{\hyperlink{classVector2D}{Vector2D}} objects that represent the start and end points of the gradient. - -Definition at line 14 of file Radial\+Gradient.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classRadialGradient_a656e8c8a107f28a06c356a3ad1a4827c}\label{classRadialGradient_a656e8c8a107f28a06c356a3ad1a4827c}} -\index{RadialGradient@{RadialGradient}!RadialGradient@{RadialGradient}} -\index{RadialGradient@{RadialGradient}!RadialGradient@{RadialGradient}} -\doxysubsubsection{\texorpdfstring{RadialGradient()}{RadialGradient()}} -{\footnotesize\ttfamily Radial\+Gradient\+::\+Radial\+Gradient (\begin{DoxyParamCaption}\item[{std\+::vector$<$ \mbox{\hyperlink{classStop}{Stop}} $>$}]{stops, }\item[{std\+::pair$<$ \mbox{\hyperlink{classVector2D}{Vector2\+Df}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} $>$}]{points, }\item[{\mbox{\hyperlink{classVector2D}{Vector2\+Df}}}]{radius, }\item[{std\+::string}]{units }\end{DoxyParamCaption})} - - - -Constructs a \mbox{\hyperlink{classRadialGradient}{Radial\+Gradient}} object. - - -\begin{DoxyParams}{Parameters} -{\em stops} & The stops of the gradient. \\ -\hline -{\em points} & The start and end points of the gradient. \\ -\hline -{\em radius} & The radius of the gradient. \\ -\hline -{\em units} & The units of the gradient. \\ -\hline -\end{DoxyParams} - - -Definition at line 3 of file Radial\+Gradient.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{6 : \mbox{\hyperlink{classGradient_aa27206a9cc0adb5309a6db6dbd9d0257}{Gradient}}(\mbox{\hyperlink{classGradient_a7831fa94135c818481ef7c85f792e1ca}{stops}}, \mbox{\hyperlink{classGradient_a8da859d1b12459800e763c31f18d0d41}{points}}, \mbox{\hyperlink{classGradient_a592dda454dc4df897263212191d6e3cb}{units}}) \{} -\DoxyCodeLine{7 this-\/>radius = \mbox{\hyperlink{classRadialGradient_abad9345ee5091075d8fc1b7a3511dbd7}{radius}};} -\DoxyCodeLine{8 \}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classRadialGradient_a132c35f92ecceb604cdddf098c36824c}\label{classRadialGradient_a132c35f92ecceb604cdddf098c36824c}} -\index{RadialGradient@{RadialGradient}!getClass@{getClass}} -\index{getClass@{getClass}!RadialGradient@{RadialGradient}} -\doxysubsubsection{\texorpdfstring{getClass()}{getClass()}} -{\footnotesize\ttfamily std\+::string Radial\+Gradient\+::get\+Class (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the type of the gradient. - -\begin{DoxyReturn}{Returns} -The string \char`\"{}\+Radial\+Gradient\char`\"{}. -\end{DoxyReturn} -\begin{DoxyNote}{Note} -This function is used for determining the type of the gradient. -\end{DoxyNote} - - -Implements \mbox{\hyperlink{classGradient_adb86ee7c9171cb7294d1bb8956e97891}{Gradient}}. - - - -Definition at line 10 of file Radial\+Gradient.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{10 \{ \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}RadialGradient"{}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRadialGradient_acfa8223581f3caf2db33c310cfa48d1d}\label{classRadialGradient_acfa8223581f3caf2db33c310cfa48d1d}} -\index{RadialGradient@{RadialGradient}!getRadius@{getRadius}} -\index{getRadius@{getRadius}!RadialGradient@{RadialGradient}} -\doxysubsubsection{\texorpdfstring{getRadius()}{getRadius()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classVector2D}{Vector2\+Df}} Radial\+Gradient\+::get\+Radius (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the radius of the gradient. - -\begin{DoxyReturn}{Returns} -The radius of the gradient. -\end{DoxyReturn} - - -Definition at line 12 of file Radial\+Gradient.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{12 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classRadialGradient_abad9345ee5091075d8fc1b7a3511dbd7}{radius}}; \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Radial\+Gradient.\+hpp\item -src/graphics/Radial\+Gradient.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classRadialGradient__coll__graph.md5 b/latex/classRadialGradient__coll__graph.md5 deleted file mode 100644 index 4d61e0c..0000000 --- a/latex/classRadialGradient__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -e916cec752f8bb2ec9188f1d1ef1a98e \ No newline at end of file diff --git a/latex/classRadialGradient__coll__graph.pdf b/latex/classRadialGradient__coll__graph.pdf deleted file mode 100644 index 3d7614e..0000000 Binary files a/latex/classRadialGradient__coll__graph.pdf and /dev/null differ diff --git a/latex/classRadialGradient__inherit__graph.md5 b/latex/classRadialGradient__inherit__graph.md5 deleted file mode 100644 index f8a23eb..0000000 --- a/latex/classRadialGradient__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c178eec839a193877e941f0731e0d2ad \ No newline at end of file diff --git a/latex/classRadialGradient__inherit__graph.pdf b/latex/classRadialGradient__inherit__graph.pdf deleted file mode 100644 index 360422d..0000000 Binary files a/latex/classRadialGradient__inherit__graph.pdf and /dev/null differ diff --git a/latex/classRect.tex b/latex/classRect.tex deleted file mode 100644 index 5fd1e0d..0000000 --- a/latex/classRect.tex +++ /dev/null @@ -1,319 +0,0 @@ -\hypertarget{classRect}{}\doxysection{Rect Class Reference} -\label{classRect}\index{Rect@{Rect}} - - -Represents a rectangle in 2D space. - - - - -{\ttfamily \#include $<$Rect.\+hpp$>$} - - - -Inheritance diagram for Rect\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=157pt]{classRect__inherit__graph} -\end{center} -\end{figure} - - -Collaboration diagram for Rect\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{classRect__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classRect_ad52d66e844d848d0e95f744b697e7beb}{Rect}} (float \mbox{\hyperlink{classRect_a800053c390ccb818add47e627e535a5e}{width}}, float \mbox{\hyperlink{classRect_a31428cce67b56b6daf168131c7dbe1e8}{height}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}{position}}, \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classRect_a7857e3568d2a2a35bf0c6b28028005b5}{radius}}, const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, float \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\+\_\+width}}) -\begin{DoxyCompactList}\small\item\em Constructs a \mbox{\hyperlink{classRect}{Rect}} object. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classRect_a4f6ba1c3eef4054847a89da472f392cd}{get\+Class}} () const override -\begin{DoxyCompactList}\small\item\em Gets the type of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRect_ae11a39d12f7a766f773e662b0830848d}{set\+Width}} (float \mbox{\hyperlink{classRect_a800053c390ccb818add47e627e535a5e}{width}}) -\begin{DoxyCompactList}\small\item\em Sets the width of the rectangle. \end{DoxyCompactList}\item -float \mbox{\hyperlink{classRect_a9c1dd853ea5df8e7c96a11bba72cc67a}{get\+Width}} () const -\begin{DoxyCompactList}\small\item\em Gets the width of the rectangle. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRect_a964a6107f787f612798bda5c0423fb5b}{set\+Height}} (float \mbox{\hyperlink{classRect_a31428cce67b56b6daf168131c7dbe1e8}{height}}) -\begin{DoxyCompactList}\small\item\em Sets the height of the rectangle. \end{DoxyCompactList}\item -float \mbox{\hyperlink{classRect_a418fffe5bb9368f4e158b63e13faba16}{get\+Height}} () const -\begin{DoxyCompactList}\small\item\em Gets the height of the rectangle. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRect_a28b51c4f99cfa0208a2a5cef350c2a5e}{set\+Radius}} (const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&\mbox{\hyperlink{classRect_a7857e3568d2a2a35bf0c6b28028005b5}{radius}}) -\begin{DoxyCompactList}\small\item\em Sets the radii of the rectangle. \end{DoxyCompactList}\item -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classRect_a31ca84cc8755233b5e61d22189f637b0}{get\+Radius}} () const -\begin{DoxyCompactList}\small\item\em Gets the radii of the rectangle. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRect_a66351fe7a171c2b3ed5f4bdf8d6661ba}{print\+Data}} () const override -\begin{DoxyCompactList}\small\item\em Prints the data of the rectangle. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classRect_a800053c390ccb818add47e627e535a5e}\label{classRect_a800053c390ccb818add47e627e535a5e}} -float \mbox{\hyperlink{classRect_a800053c390ccb818add47e627e535a5e}{width}} -\begin{DoxyCompactList}\small\item\em Width of the rectangle. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classRect_a31428cce67b56b6daf168131c7dbe1e8}\label{classRect_a31428cce67b56b6daf168131c7dbe1e8}} -float \mbox{\hyperlink{classRect_a31428cce67b56b6daf168131c7dbe1e8}{height}} -\begin{DoxyCompactList}\small\item\em Height of the rectangle. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classRect_a7857e3568d2a2a35bf0c6b28028005b5}\label{classRect_a7857e3568d2a2a35bf0c6b28028005b5}} -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classRect_a7857e3568d2a2a35bf0c6b28028005b5}{radius}} -\begin{DoxyCompactList}\small\item\em Radii of the rectangle in the x and y directions. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Additional Inherited Members} - - -\doxysubsection{Detailed Description} -Represents a rectangle in 2D space. - -The \mbox{\hyperlink{classRect}{Rect}} class is derived from the \mbox{\hyperlink{classSVGElement}{SVGElement}} class and defines a rectangle with a specified width, height, position, fill color, stroke color, and stroke thickness. - -Definition at line 13 of file Rect.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classRect_ad52d66e844d848d0e95f744b697e7beb}\label{classRect_ad52d66e844d848d0e95f744b697e7beb}} -\index{Rect@{Rect}!Rect@{Rect}} -\index{Rect@{Rect}!Rect@{Rect}} -\doxysubsubsection{\texorpdfstring{Rect()}{Rect()}} -{\footnotesize\ttfamily Rect\+::\+Rect (\begin{DoxyParamCaption}\item[{float}]{width, }\item[{float}]{height, }\item[{\mbox{\hyperlink{classVector2D}{Vector2\+Df}}}]{position, }\item[{\mbox{\hyperlink{classVector2D}{Vector2\+Df}}}]{radius, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{fill, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})} - - - -Constructs a \mbox{\hyperlink{classRect}{Rect}} object. - - -\begin{DoxyParams}{Parameters} -{\em width} & The width of the rectangle. \\ -\hline -{\em height} & The height of the rectangle. \\ -\hline -{\em position} & The position of the rectangle. \\ -\hline -{\em radius} & The radii of the rectangle in the x and y directions. \\ -\hline -{\em fill} & Fill color of the rectangle. \\ -\hline -{\em stroke} & Outline color of the rectangle. \\ -\hline -{\em stroke\+\_\+width} & Thickness of the rectangle outline. \\ -\hline -\end{DoxyParams} - - -Definition at line 3 of file Rect.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{5 : \mbox{\hyperlink{classSVGElement_ad30205005009d2ba4820d3ce372e81ea}{SVGElement}}(\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}}, \mbox{\hyperlink{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}{position}}), \mbox{\hyperlink{classRect_a800053c390ccb818add47e627e535a5e}{width}}(\mbox{\hyperlink{classRect_a800053c390ccb818add47e627e535a5e}{width}}),} -\DoxyCodeLine{6 \mbox{\hyperlink{classRect_a31428cce67b56b6daf168131c7dbe1e8}{height}}(\mbox{\hyperlink{classRect_a31428cce67b56b6daf168131c7dbe1e8}{height}}), \mbox{\hyperlink{classRect_a7857e3568d2a2a35bf0c6b28028005b5}{radius}}(\mbox{\hyperlink{classRect_a7857e3568d2a2a35bf0c6b28028005b5}{radius}}) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classRect_a4f6ba1c3eef4054847a89da472f392cd}\label{classRect_a4f6ba1c3eef4054847a89da472f392cd}} -\index{Rect@{Rect}!getClass@{getClass}} -\index{getClass@{getClass}!Rect@{Rect}} -\doxysubsubsection{\texorpdfstring{getClass()}{getClass()}} -{\footnotesize\ttfamily std\+::string Rect\+::get\+Class (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the type of the shape. - -\begin{DoxyReturn}{Returns} -The string \char`\"{}\+Rect\char`\"{}. -\end{DoxyReturn} - - -Implements \mbox{\hyperlink{classSVGElement_adc98ebac66965dd303283cbf7ff28f38}{SVGElement}}. - - - -Definition at line 8 of file Rect.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{8 \{ \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Rect"{}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRect_a418fffe5bb9368f4e158b63e13faba16}\label{classRect_a418fffe5bb9368f4e158b63e13faba16}} -\index{Rect@{Rect}!getHeight@{getHeight}} -\index{getHeight@{getHeight}!Rect@{Rect}} -\doxysubsubsection{\texorpdfstring{getHeight()}{getHeight()}} -{\footnotesize\ttfamily float Rect\+::get\+Height (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the height of the rectangle. - -\begin{DoxyReturn}{Returns} -The height of the rectangle. -\end{DoxyReturn} - - -Definition at line 16 of file Rect.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{16 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classRect_a31428cce67b56b6daf168131c7dbe1e8}{height}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRect_a31ca84cc8755233b5e61d22189f637b0}\label{classRect_a31ca84cc8755233b5e61d22189f637b0}} -\index{Rect@{Rect}!getRadius@{getRadius}} -\index{getRadius@{getRadius}!Rect@{Rect}} -\doxysubsubsection{\texorpdfstring{getRadius()}{getRadius()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classVector2D}{Vector2\+Df}} Rect\+::get\+Radius (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the radii of the rectangle. - -\begin{DoxyReturn}{Returns} -The radii of the rectangle. -\end{DoxyReturn} - - -Definition at line 20 of file Rect.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{20 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classRect_a7857e3568d2a2a35bf0c6b28028005b5}{radius}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRect_a9c1dd853ea5df8e7c96a11bba72cc67a}\label{classRect_a9c1dd853ea5df8e7c96a11bba72cc67a}} -\index{Rect@{Rect}!getWidth@{getWidth}} -\index{getWidth@{getWidth}!Rect@{Rect}} -\doxysubsubsection{\texorpdfstring{getWidth()}{getWidth()}} -{\footnotesize\ttfamily float Rect\+::get\+Width (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the width of the rectangle. - -\begin{DoxyReturn}{Returns} -The width of the rectangle. -\end{DoxyReturn} - - -Definition at line 12 of file Rect.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{12 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classRect_a800053c390ccb818add47e627e535a5e}{width}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRect_a66351fe7a171c2b3ed5f4bdf8d6661ba}\label{classRect_a66351fe7a171c2b3ed5f4bdf8d6661ba}} -\index{Rect@{Rect}!printData@{printData}} -\index{printData@{printData}!Rect@{Rect}} -\doxysubsubsection{\texorpdfstring{printData()}{printData()}} -{\footnotesize\ttfamily void Rect\+::print\+Data (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Prints the data of the rectangle. - -\begin{DoxyNote}{Note} -This function is used for debugging purposes. -\end{DoxyNote} - - -Reimplemented from \mbox{\hyperlink{classSVGElement_ad4bcd981ae7431161013811024b452e1}{SVGElement}}. - - - -Definition at line 22 of file Rect.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{22 \{} -\DoxyCodeLine{23 \mbox{\hyperlink{classSVGElement_ad4bcd981ae7431161013811024b452e1}{SVGElement::printData}}();} -\DoxyCodeLine{24 std::cout << \textcolor{stringliteral}{"{}Width: "{}} << \mbox{\hyperlink{classRect_a9c1dd853ea5df8e7c96a11bba72cc67a}{getWidth}}() << std::endl;} -\DoxyCodeLine{25 std::cout << \textcolor{stringliteral}{"{}Height: "{}} << \mbox{\hyperlink{classRect_a418fffe5bb9368f4e158b63e13faba16}{getHeight}}() << std::endl;} -\DoxyCodeLine{26 std::cout << \textcolor{stringliteral}{"{}Radius: "{}} << \mbox{\hyperlink{classRect_a31ca84cc8755233b5e61d22189f637b0}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} << \textcolor{stringliteral}{"{} "{}} << \mbox{\hyperlink{classRect_a31ca84cc8755233b5e61d22189f637b0}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}} -\DoxyCodeLine{27 << std::endl;} -\DoxyCodeLine{28 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRect_a964a6107f787f612798bda5c0423fb5b}\label{classRect_a964a6107f787f612798bda5c0423fb5b}} -\index{Rect@{Rect}!setHeight@{setHeight}} -\index{setHeight@{setHeight}!Rect@{Rect}} -\doxysubsubsection{\texorpdfstring{setHeight()}{setHeight()}} -{\footnotesize\ttfamily void Rect\+::set\+Height (\begin{DoxyParamCaption}\item[{float}]{height }\end{DoxyParamCaption})} - - - -Sets the height of the rectangle. - - -\begin{DoxyParams}{Parameters} -{\em height} & The new height of the rectangle. \\ -\hline -\end{DoxyParams} - - -Definition at line 14 of file Rect.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{14 \{ this-\/>\mbox{\hyperlink{classRect_a31428cce67b56b6daf168131c7dbe1e8}{height}} = \mbox{\hyperlink{classRect_a31428cce67b56b6daf168131c7dbe1e8}{height}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRect_a28b51c4f99cfa0208a2a5cef350c2a5e}\label{classRect_a28b51c4f99cfa0208a2a5cef350c2a5e}} -\index{Rect@{Rect}!setRadius@{setRadius}} -\index{setRadius@{setRadius}!Rect@{Rect}} -\doxysubsubsection{\texorpdfstring{setRadius()}{setRadius()}} -{\footnotesize\ttfamily void Rect\+::set\+Radius (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&}]{radius }\end{DoxyParamCaption})} - - - -Sets the radii of the rectangle. - - -\begin{DoxyParams}{Parameters} -{\em radius} & The new radii of the rectangle. \\ -\hline -\end{DoxyParams} - - -Definition at line 18 of file Rect.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{18 \{ this-\/>radius = \mbox{\hyperlink{classRect_a7857e3568d2a2a35bf0c6b28028005b5}{radius}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRect_ae11a39d12f7a766f773e662b0830848d}\label{classRect_ae11a39d12f7a766f773e662b0830848d}} -\index{Rect@{Rect}!setWidth@{setWidth}} -\index{setWidth@{setWidth}!Rect@{Rect}} -\doxysubsubsection{\texorpdfstring{setWidth()}{setWidth()}} -{\footnotesize\ttfamily void Rect\+::set\+Width (\begin{DoxyParamCaption}\item[{float}]{width }\end{DoxyParamCaption})} - - - -Sets the width of the rectangle. - - -\begin{DoxyParams}{Parameters} -{\em width} & The new width of the rectangle. \\ -\hline -\end{DoxyParams} - - -Definition at line 10 of file Rect.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{10 \{ this-\/>\mbox{\hyperlink{classRect_a800053c390ccb818add47e627e535a5e}{width}} = \mbox{\hyperlink{classRect_a800053c390ccb818add47e627e535a5e}{width}}; \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Rect.\+hpp\item -src/graphics/Rect.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classRect__coll__graph.md5 b/latex/classRect__coll__graph.md5 deleted file mode 100644 index a7b0912..0000000 --- a/latex/classRect__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -4261ddc9928f2a7e2272d1d2018714e9 \ No newline at end of file diff --git a/latex/classRect__coll__graph.pdf b/latex/classRect__coll__graph.pdf deleted file mode 100644 index ed210d3..0000000 Binary files a/latex/classRect__coll__graph.pdf and /dev/null differ diff --git a/latex/classRect__inherit__graph.md5 b/latex/classRect__inherit__graph.md5 deleted file mode 100644 index 15e4c66..0000000 --- a/latex/classRect__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3bcc4e67b7edeb1e6cb9489ad02922ac \ No newline at end of file diff --git a/latex/classRect__inherit__graph.pdf b/latex/classRect__inherit__graph.pdf deleted file mode 100644 index d62ef04..0000000 Binary files a/latex/classRect__inherit__graph.pdf and /dev/null differ diff --git a/latex/classRenderer.tex b/latex/classRenderer.tex deleted file mode 100644 index 39ef05e..0000000 --- a/latex/classRenderer.tex +++ /dev/null @@ -1,1116 +0,0 @@ -\hypertarget{classRenderer}{}\doxysection{Renderer Class Reference} -\label{classRenderer}\index{Renderer@{Renderer}} - - -Singleton class responsible for rendering shapes using GDI+. - - - - -{\ttfamily \#include $<$Renderer.\+hpp$>$} - - - -Collaboration diagram for Renderer\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=204pt]{classRenderer__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classRenderer_a8c6e15f666cb188a936004add75e6c6b}\label{classRenderer_a8c6e15f666cb188a936004add75e6c6b}} -\mbox{\hyperlink{classRenderer_a8c6e15f666cb188a936004add75e6c6b}{Renderer}} (const \mbox{\hyperlink{classRenderer}{Renderer}} \&)=delete -\begin{DoxyCompactList}\small\item\em Deleted copy constructor to enforce the singleton pattern. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classRenderer_aa42607899757d0a1c5e8fe0aa4cb5a7f}\label{classRenderer_aa42607899757d0a1c5e8fe0aa4cb5a7f}} -void \mbox{\hyperlink{classRenderer_aa42607899757d0a1c5e8fe0aa4cb5a7f}{operator=}} (const \mbox{\hyperlink{classRenderer}{Renderer}} \&)=delete -\begin{DoxyCompactList}\small\item\em Deleted copy assignment operator to enforce the singleton pattern. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRenderer_a1fac47f9b1c4c3fb1151f2b6ecb282f6}{draw}} (Gdiplus\+::\+Graphics \&graphics, \mbox{\hyperlink{classGroup}{Group}} $\ast$group) const -\begin{DoxyCompactList}\small\item\em Draws a shape using Gdiplus\+::\+Graphics based on its type. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Static Public Member Functions} -\begin{DoxyCompactItemize} -\item -static \mbox{\hyperlink{classRenderer}{Renderer}} $\ast$ \mbox{\hyperlink{classRenderer_ac1bf10ff8b4f967f0d416a26d482abd6}{get\+Instance}} () -\begin{DoxyCompactList}\small\item\em Gets the singleton instance of the \mbox{\hyperlink{classRenderer}{Renderer}} class. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Member Functions} -\begin{DoxyCompactItemize} -\item -void \mbox{\hyperlink{classRenderer_a8d159bc1ea8f4152339d6c5eead27e45}{apply\+Transform}} (std\+::vector$<$ std\+::string $>$ transform\+\_\+order, Gdiplus\+::\+Graphics \&graphics) const -\begin{DoxyCompactList}\small\item\em Utility function to apply a series of transformations to the graphics context. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRenderer_ab68c9e02c7eadf1f18286c9ecf0d90ca}{draw\+Line}} (Gdiplus\+::\+Graphics \&graphics, \mbox{\hyperlink{classLine}{Line}} $\ast$line) const -\begin{DoxyCompactList}\small\item\em Draws a line shape using Gdiplus\+::\+Graphics. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRenderer_abf163a7895594e0a4ee5662805b1b572}{draw\+Rectangle}} (Gdiplus\+::\+Graphics \&graphics, \mbox{\hyperlink{classRect}{Rect}} $\ast$rectangle) const -\begin{DoxyCompactList}\small\item\em Draws a rectangle shape using Gdiplus\+::\+Graphics. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRenderer_a9b5ca422ec7f1328d854cc4bff269858}{draw\+Circle}} (Gdiplus\+::\+Graphics \&graphics, \mbox{\hyperlink{classCircle}{Circle}} $\ast$circle) const -\begin{DoxyCompactList}\small\item\em Draws a circle shape using Gdiplus\+::\+Graphics. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRenderer_af4d92e92abb79e4431f7331f792194d9}{draw\+Ellipse}} (Gdiplus\+::\+Graphics \&graphics, \mbox{\hyperlink{classEll}{Ell}} $\ast$ellipse) const -\begin{DoxyCompactList}\small\item\em Draws an ellipse shape using Gdiplus\+::\+Graphics. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRenderer_a27b883787b8f38afd04924edc97b5a04}{draw\+Polygon}} (Gdiplus\+::\+Graphics \&graphics, \mbox{\hyperlink{classPlygon}{Plygon}} $\ast$polygon) const -\begin{DoxyCompactList}\small\item\em Draws a polygon shape using Gdiplus\+::\+Graphics. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRenderer_a87ce996c3ed0f963de9ef6c293ee3aec}{draw\+Text}} (Gdiplus\+::\+Graphics \&graphics, \mbox{\hyperlink{classText}{Text}} $\ast$text) const -\begin{DoxyCompactList}\small\item\em Draws text using Gdiplus\+::\+Graphics. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRenderer_a4e73148b7da0f585084520d12c514344}{draw\+Polyline}} (Gdiplus\+::\+Graphics \&graphics, \mbox{\hyperlink{classPlyline}{Plyline}} $\ast$polyline) const -\begin{DoxyCompactList}\small\item\em Draws a polyline shape using Gdiplus\+::\+Graphics. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRenderer_a6cbcbb11e386c26eacef0b97342fee77}{draw\+Path}} (Gdiplus\+::\+Graphics \&graphics, \mbox{\hyperlink{classPath}{Path}} $\ast$path) const -\begin{DoxyCompactList}\small\item\em Draws a path shape using Gdiplus\+::\+Graphics. \end{DoxyCompactList}\item -Gdiplus\+::\+Brush $\ast$ \mbox{\hyperlink{classRenderer_a7539832835d19ee365dcbabf490d642c}{get\+Brush}} (\mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$shape, Gdiplus\+::\+RectF bound) const -\begin{DoxyCompactList}\small\item\em Gets the Gdiplus\+::brush object for the shape fill. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRenderer_a33a87db2173a7509be2d60fcffff9058}{apply\+Transforms\+On\+Brush}} (std\+::vector$<$ std\+::string $>$ transform\+\_\+order, Gdiplus\+::\+Linear\+Gradient\+Brush $\ast$\&brush) const -\begin{DoxyCompactList}\small\item\em Utility function to apply a series of transformations to the brush object. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classRenderer_a578e046986da5ec2585ce106562c3de3}{apply\+Transforms\+On\+Brush}} (std\+::vector$<$ std\+::string $>$ transform\+\_\+order, Gdiplus\+::\+Path\+Gradient\+Brush $\ast$\&brush) const -\begin{DoxyCompactList}\small\item\em Utility function to apply a series of transformations to the brush object. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classRenderer_a7ebf46f54dab9905f79b80f7fddb76a6}\label{classRenderer_a7ebf46f54dab9905f79b80f7fddb76a6}} -\mbox{\hyperlink{classRenderer_a7ebf46f54dab9905f79b80f7fddb76a6}{Renderer}} () -\begin{DoxyCompactList}\small\item\em Private constructor for the \mbox{\hyperlink{classRenderer}{Renderer}} class. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Static Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classRenderer_a7431a2f9b03f35752e034410ffebfbe1}\label{classRenderer_a7431a2f9b03f35752e034410ffebfbe1}} -static \mbox{\hyperlink{classRenderer}{Renderer}} $\ast$ \mbox{\hyperlink{classRenderer_a7431a2f9b03f35752e034410ffebfbe1}{instance}} = nullptr -\begin{DoxyCompactList}\small\item\em Singleton instance of the \mbox{\hyperlink{classRenderer}{Renderer}} class. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\doxysubsection{Detailed Description} -Singleton class responsible for rendering shapes using GDI+. - -The \mbox{\hyperlink{classRenderer}{Renderer}} class provides a singleton instance for drawing SVGElement-\/based shapes using Gdiplus\+::\+Graphics. It supports various shapes such as lines, rectangles, circles, ellipses, text, polygons, polylines, and paths. The shapes are drawn in a polymorphic manner using the draw function, which takes a Gdiplus\+::\+Graphics context and an \mbox{\hyperlink{classSVGElement}{SVGElement}}. The draw function dynamically determines the type of the shape and invokes the corresponding draw method to render the shape with all necessary details. The detailed information for each shape is obtained from an SVG file and processed through the draw function in a polymorphic way. - -Definition at line 24 of file Renderer.\+hpp. - - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classRenderer_a8d159bc1ea8f4152339d6c5eead27e45}\label{classRenderer_a8d159bc1ea8f4152339d6c5eead27e45}} -\index{Renderer@{Renderer}!applyTransform@{applyTransform}} -\index{applyTransform@{applyTransform}!Renderer@{Renderer}} -\doxysubsubsection{\texorpdfstring{applyTransform()}{applyTransform()}} -{\footnotesize\ttfamily void Renderer\+::apply\+Transform (\begin{DoxyParamCaption}\item[{std\+::vector$<$ std\+::string $>$}]{transform\+\_\+order, }\item[{Gdiplus\+::\+Graphics \&}]{graphics }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [private]}} - - - -Utility function to apply a series of transformations to the graphics context. - - -\begin{DoxyParams}{Parameters} -{\em transform\+\_\+order} & The order in which transformations should be applied. \\ -\hline -{\em graphics} & The Gdiplus\+::\+Graphics context to apply transformations to. \\ -\hline -\end{DoxyParams} - - -Definition at line 50 of file Renderer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{51 \{} -\DoxyCodeLine{52 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} type : transform\_order) \{} -\DoxyCodeLine{53 \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{}translate"{}}) != std::string::npos) \{} -\DoxyCodeLine{54 \textcolor{keywordtype}{float} trans\_x = getTranslate(type).first,} -\DoxyCodeLine{55 trans\_y = getTranslate(type).second;} -\DoxyCodeLine{56 graphics.TranslateTransform(trans\_x, trans\_y);} -\DoxyCodeLine{57 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{}rotate"{}}) != std::string::npos) \{} -\DoxyCodeLine{58 \textcolor{keywordtype}{float} degree = getRotate(type);} -\DoxyCodeLine{59 graphics.RotateTransform(degree);} -\DoxyCodeLine{60 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{}scale"{}}) != std::string::npos) \{} -\DoxyCodeLine{61 \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{},"{}}) != std::string::npos) \{} -\DoxyCodeLine{62 \textcolor{keywordtype}{float} scale\_x = getScaleXY(type).first,} -\DoxyCodeLine{63 scale\_y = getScaleXY(type).second;} -\DoxyCodeLine{64 graphics.ScaleTransform(scale\_x, scale\_y);} -\DoxyCodeLine{65 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{66 \textcolor{keywordtype}{float} scale = getScale(type);} -\DoxyCodeLine{67 graphics.ScaleTransform(scale, scale);} -\DoxyCodeLine{68 \}} -\DoxyCodeLine{69 \}} -\DoxyCodeLine{70 \}} -\DoxyCodeLine{71 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRenderer_a33a87db2173a7509be2d60fcffff9058}\label{classRenderer_a33a87db2173a7509be2d60fcffff9058}} -\index{Renderer@{Renderer}!applyTransformsOnBrush@{applyTransformsOnBrush}} -\index{applyTransformsOnBrush@{applyTransformsOnBrush}!Renderer@{Renderer}} -\doxysubsubsection{\texorpdfstring{applyTransformsOnBrush()}{applyTransformsOnBrush()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} -{\footnotesize\ttfamily void Renderer\+::apply\+Transforms\+On\+Brush (\begin{DoxyParamCaption}\item[{std\+::vector$<$ std\+::string $>$}]{transform\+\_\+order, }\item[{Gdiplus\+::\+Linear\+Gradient\+Brush $\ast$\&}]{brush }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [private]}} - - - -Utility function to apply a series of transformations to the brush object. - - -\begin{DoxyParams}{Parameters} -{\em transform\+\_\+order} & The order in which transformations should be applied. \\ -\hline -{\em brush} & The Gdiplus\+::\+Linear\+Gradient\+Brush object for the shape fill. \\ -\hline -\end{DoxyParams} - - -Definition at line 673 of file Renderer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{675 \{} -\DoxyCodeLine{676 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} type : transform\_order) \{} -\DoxyCodeLine{677 \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{}translate"{}}) != std::string::npos) \{} -\DoxyCodeLine{678 \textcolor{keywordtype}{float} trans\_x = getTranslate(type).first,} -\DoxyCodeLine{679 trans\_y = getTranslate(type).second;} -\DoxyCodeLine{680 brush-\/>TranslateTransform(trans\_x, trans\_y);} -\DoxyCodeLine{681 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{}rotate"{}}) != std::string::npos) \{} -\DoxyCodeLine{682 \textcolor{keywordtype}{float} degree = getRotate(type);} -\DoxyCodeLine{683 brush-\/>RotateTranform(degree);} -\DoxyCodeLine{684 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{}scale"{}}) != std::string::npos) \{} -\DoxyCodeLine{685 \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{},"{}}) != std::string::npos) \{} -\DoxyCodeLine{686 \textcolor{keywordtype}{float} scale\_x = getScaleXY(type).first,} -\DoxyCodeLine{687 scale\_y = getScaleXY(type).second;} -\DoxyCodeLine{688 brush-\/>ScaleTransform(scale\_x, scale\_y);} -\DoxyCodeLine{689 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{690 \textcolor{keywordtype}{float} scale = getScale(type);} -\DoxyCodeLine{691 brush-\/>ScaleTransform(scale, scale);} -\DoxyCodeLine{692 \}} -\DoxyCodeLine{693 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{}matrix"{}}) != std::string::npos) \{} -\DoxyCodeLine{694 \textcolor{keywordtype}{float} a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;} -\DoxyCodeLine{695 \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{},"{}}) != std::string::npos) \{} -\DoxyCodeLine{696 type.erase(std::remove(type.begin(), type.end(), \textcolor{charliteral}{','}),} -\DoxyCodeLine{697 type.end());} -\DoxyCodeLine{698 \}} -\DoxyCodeLine{699 sscanf(type.c\_str(), \textcolor{stringliteral}{"{}matrix(\%f \%f \%f \%f \%f \%f)"{}}, \&a, \&b, \&c, \&d,} -\DoxyCodeLine{700 \&e, \&f);} -\DoxyCodeLine{701 Gdiplus::Matrix matrix(a, b, c, d, e, f);} -\DoxyCodeLine{702 brush-\/>SetTransform(\&matrix);} -\DoxyCodeLine{703 \}} -\DoxyCodeLine{704 \}} -\DoxyCodeLine{705 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRenderer_a578e046986da5ec2585ce106562c3de3}\label{classRenderer_a578e046986da5ec2585ce106562c3de3}} -\index{Renderer@{Renderer}!applyTransformsOnBrush@{applyTransformsOnBrush}} -\index{applyTransformsOnBrush@{applyTransformsOnBrush}!Renderer@{Renderer}} -\doxysubsubsection{\texorpdfstring{applyTransformsOnBrush()}{applyTransformsOnBrush()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} -{\footnotesize\ttfamily void Renderer\+::apply\+Transforms\+On\+Brush (\begin{DoxyParamCaption}\item[{std\+::vector$<$ std\+::string $>$}]{transform\+\_\+order, }\item[{Gdiplus\+::\+Path\+Gradient\+Brush $\ast$\&}]{brush }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [private]}} - - - -Utility function to apply a series of transformations to the brush object. - - -\begin{DoxyParams}{Parameters} -{\em transform\+\_\+order} & The order in which transformations should be applied. \\ -\hline -{\em brush} & The Gdiplus\+::\+Path\+Gradient\+Brush object for the shape fill. \\ -\hline -\end{DoxyParams} - - -Definition at line 707 of file Renderer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{709 \{} -\DoxyCodeLine{710 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} type : transform\_order) \{} -\DoxyCodeLine{711 \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{}translate"{}}) != std::string::npos) \{} -\DoxyCodeLine{712 \textcolor{keywordtype}{float} trans\_x = getTranslate(type).first,} -\DoxyCodeLine{713 trans\_y = getTranslate(type).second;} -\DoxyCodeLine{714 brush-\/>TranslateTransform(trans\_x, trans\_y);} -\DoxyCodeLine{715 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{}rotate"{}}) != std::string::npos) \{} -\DoxyCodeLine{716 \textcolor{keywordtype}{float} degree = getRotate(type);} -\DoxyCodeLine{717 brush-\/>RotateTransform(degree);} -\DoxyCodeLine{718 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{}scale"{}}) != std::string::npos) \{} -\DoxyCodeLine{719 \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{},"{}}) != std::string::npos) \{} -\DoxyCodeLine{720 \textcolor{keywordtype}{float} scale\_x = getScaleXY(type).first,} -\DoxyCodeLine{721 scale\_y = getScaleXY(type).second;} -\DoxyCodeLine{722 brush-\/>ScaleTransform(scale\_x, scale\_y);} -\DoxyCodeLine{723 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{724 \textcolor{keywordtype}{float} scale = getScale(type);} -\DoxyCodeLine{725 brush-\/>ScaleTransform(scale, scale);} -\DoxyCodeLine{726 \}} -\DoxyCodeLine{727 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{}matrix"{}}) != std::string::npos) \{} -\DoxyCodeLine{728 \textcolor{keywordtype}{float} a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;} -\DoxyCodeLine{729 \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{},"{}}) != std::string::npos) \{} -\DoxyCodeLine{730 type.erase(std::remove(type.begin(), type.end(), \textcolor{charliteral}{','}),} -\DoxyCodeLine{731 type.end());} -\DoxyCodeLine{732 \}} -\DoxyCodeLine{733 sscanf(type.c\_str(), \textcolor{stringliteral}{"{}matrix(\%f \%f \%f \%f \%f \%f)"{}}, \&a, \&b, \&c, \&d,} -\DoxyCodeLine{734 \&e, \&f);} -\DoxyCodeLine{735 Gdiplus::Matrix matrix(a, b, c, d, e, f);} -\DoxyCodeLine{736 brush-\/>SetTransform(\&matrix);} -\DoxyCodeLine{737 \}} -\DoxyCodeLine{738 \}} -\DoxyCodeLine{739 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRenderer_a1fac47f9b1c4c3fb1151f2b6ecb282f6}\label{classRenderer_a1fac47f9b1c4c3fb1151f2b6ecb282f6}} -\index{Renderer@{Renderer}!draw@{draw}} -\index{draw@{draw}!Renderer@{Renderer}} -\doxysubsubsection{\texorpdfstring{draw()}{draw()}} -{\footnotesize\ttfamily void Renderer\+::draw (\begin{DoxyParamCaption}\item[{Gdiplus\+::\+Graphics \&}]{graphics, }\item[{\mbox{\hyperlink{classGroup}{Group}} $\ast$}]{group }\end{DoxyParamCaption}) const} - - - -Draws a shape using Gdiplus\+::\+Graphics based on its type. - - -\begin{DoxyParams}{Parameters} -{\em graphics} & The Gdiplus\+::\+Graphics context for drawing. \\ -\hline -{\em shape} & The \mbox{\hyperlink{classSVGElement}{SVGElement}} representing the shape to be drawn. \\ -\hline -\end{DoxyParams} - - -Definition at line 73 of file Renderer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{73 \{} -\DoxyCodeLine{74 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} shape : group-\/>\mbox{\hyperlink{classGroup_a310fa83ccb20841373c11b6b4ac1d336}{getElements}}()) \{} -\DoxyCodeLine{75 Gdiplus::Matrix original;} -\DoxyCodeLine{76 graphics.GetTransform(\&original);} -\DoxyCodeLine{77 \mbox{\hyperlink{classRenderer_a8d159bc1ea8f4152339d6c5eead27e45}{applyTransform}}(shape-\/>getTransforms(), graphics);} -\DoxyCodeLine{78 \textcolor{keywordflow}{if} (shape-\/>getClass() == \textcolor{stringliteral}{"{}Group"{}}) \{} -\DoxyCodeLine{79 \mbox{\hyperlink{classGroup}{Group}}* group = \textcolor{keyword}{dynamic\_cast<} \mbox{\hyperlink{classGroup}{Group}}* \textcolor{keyword}{>}(shape);} -\DoxyCodeLine{80 \mbox{\hyperlink{classRenderer_a1fac47f9b1c4c3fb1151f2b6ecb282f6}{draw}}(graphics, group);} -\DoxyCodeLine{81 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (shape-\/>getClass() == \textcolor{stringliteral}{"{}Polyline"{}}) \{} -\DoxyCodeLine{82 \mbox{\hyperlink{classPlyline}{Plyline}}* polyline = \textcolor{keyword}{dynamic\_cast<} \mbox{\hyperlink{classPlyline}{Plyline}}* \textcolor{keyword}{>}(shape);} -\DoxyCodeLine{83 \mbox{\hyperlink{classRenderer_a4e73148b7da0f585084520d12c514344}{drawPolyline}}(graphics, polyline);} -\DoxyCodeLine{84 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (shape-\/>getClass() == \textcolor{stringliteral}{"{}Text"{}}) \{} -\DoxyCodeLine{85 \mbox{\hyperlink{classText}{Text}}* text = \textcolor{keyword}{dynamic\_cast<} \mbox{\hyperlink{classText}{Text}}* \textcolor{keyword}{>}(shape);} -\DoxyCodeLine{86 \mbox{\hyperlink{classRenderer_a87ce996c3ed0f963de9ef6c293ee3aec}{drawText}}(graphics, text);} -\DoxyCodeLine{87 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (shape-\/>getClass() == \textcolor{stringliteral}{"{}Rect"{}}) \{} -\DoxyCodeLine{88 \mbox{\hyperlink{classRect}{Rect}}* rectangle = \textcolor{keyword}{dynamic\_cast<} \mbox{\hyperlink{classRect}{Rect}}* \textcolor{keyword}{>}(shape);} -\DoxyCodeLine{89 \mbox{\hyperlink{classRenderer_abf163a7895594e0a4ee5662805b1b572}{drawRectangle}}(graphics, rectangle);} -\DoxyCodeLine{90 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (shape-\/>getClass() == \textcolor{stringliteral}{"{}Circle"{}}) \{} -\DoxyCodeLine{91 \mbox{\hyperlink{classCircle}{Circle}}* circle = \textcolor{keyword}{dynamic\_cast<} \mbox{\hyperlink{classCircle}{Circle}}* \textcolor{keyword}{>}(shape);} -\DoxyCodeLine{92 \mbox{\hyperlink{classRenderer_a9b5ca422ec7f1328d854cc4bff269858}{drawCircle}}(graphics, circle);} -\DoxyCodeLine{93 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (shape-\/>getClass() == \textcolor{stringliteral}{"{}Ellipse"{}}) \{} -\DoxyCodeLine{94 \mbox{\hyperlink{classEll}{Ell}}* ellipse = \textcolor{keyword}{dynamic\_cast<} \mbox{\hyperlink{classEll}{Ell}}* \textcolor{keyword}{>}(shape);} -\DoxyCodeLine{95 \mbox{\hyperlink{classRenderer_af4d92e92abb79e4431f7331f792194d9}{drawEllipse}}(graphics, ellipse);} -\DoxyCodeLine{96 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (shape-\/>getClass() == \textcolor{stringliteral}{"{}Line"{}}) \{} -\DoxyCodeLine{97 \mbox{\hyperlink{classLine}{Line}}* line = \textcolor{keyword}{dynamic\_cast<} \mbox{\hyperlink{classLine}{Line}}* \textcolor{keyword}{>}(shape);} -\DoxyCodeLine{98 \mbox{\hyperlink{classRenderer_ab68c9e02c7eadf1f18286c9ecf0d90ca}{drawLine}}(graphics, line);} -\DoxyCodeLine{99 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (shape-\/>getClass() == \textcolor{stringliteral}{"{}Polygon"{}}) \{} -\DoxyCodeLine{100 \mbox{\hyperlink{classPlygon}{Plygon}}* polygon = \textcolor{keyword}{dynamic\_cast<} \mbox{\hyperlink{classPlygon}{Plygon}}* \textcolor{keyword}{>}(shape);} -\DoxyCodeLine{101 \mbox{\hyperlink{classRenderer_a27b883787b8f38afd04924edc97b5a04}{drawPolygon}}(graphics, polygon);} -\DoxyCodeLine{102 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (shape-\/>getClass() == \textcolor{stringliteral}{"{}Path"{}}) \{} -\DoxyCodeLine{103 \mbox{\hyperlink{classPath}{Path}}* path = \textcolor{keyword}{dynamic\_cast<} \mbox{\hyperlink{classPath}{Path}}* \textcolor{keyword}{>}(shape);} -\DoxyCodeLine{104 \mbox{\hyperlink{classRenderer_a6cbcbb11e386c26eacef0b97342fee77}{drawPath}}(graphics, path);} -\DoxyCodeLine{105 \}} -\DoxyCodeLine{106 graphics.SetTransform(\&original);} -\DoxyCodeLine{107 \}} -\DoxyCodeLine{108 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRenderer_a9b5ca422ec7f1328d854cc4bff269858}\label{classRenderer_a9b5ca422ec7f1328d854cc4bff269858}} -\index{Renderer@{Renderer}!drawCircle@{drawCircle}} -\index{drawCircle@{drawCircle}!Renderer@{Renderer}} -\doxysubsubsection{\texorpdfstring{drawCircle()}{drawCircle()}} -{\footnotesize\ttfamily void Renderer\+::draw\+Circle (\begin{DoxyParamCaption}\item[{Gdiplus\+::\+Graphics \&}]{graphics, }\item[{\mbox{\hyperlink{classCircle}{Circle}} $\ast$}]{circle }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [private]}} - - - -Draws a circle shape using Gdiplus\+::\+Graphics. - - -\begin{DoxyParams}{Parameters} -{\em graphics} & The Gdiplus\+::\+Graphics context for drawing. \\ -\hline -{\em circle} & The \mbox{\hyperlink{classCircle}{Circle}} object representing the circle to be drawn. \\ -\hline -\end{DoxyParams} - - -Definition at line 165 of file Renderer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{165 \{} -\DoxyCodeLine{166 \mbox{\hyperlink{classmColor}{mColor}} outline\_color = circle-\/>\mbox{\hyperlink{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}{getOutlineColor}}();} -\DoxyCodeLine{167 Gdiplus::Pen circle\_outline(} -\DoxyCodeLine{168 Gdiplus::Color(outline\_color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, outline\_color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, outline\_color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}},} -\DoxyCodeLine{169 outline\_color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}),} -\DoxyCodeLine{170 circle-\/>\mbox{\hyperlink{classSVGElement_a2e4b1a48bfbc34a6a9f17bfd4b89eb51}{getOutlineThickness}}());} -\DoxyCodeLine{171 \mbox{\hyperlink{classVector2D}{Vector2Df}} min\_bound = circle-\/>\mbox{\hyperlink{classEll_ab79368df57ee08382916fc52b69afb85}{getMinBound}}();} -\DoxyCodeLine{172 \mbox{\hyperlink{classVector2D}{Vector2Df}} max\_bound = circle-\/>\mbox{\hyperlink{classEll_a8a8dd2acc8c7be5580dd8e549d247525}{getMaxBound}}();} -\DoxyCodeLine{173 Gdiplus::RectF bound(min\_bound.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, min\_bound.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}, max\_bound.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\/ min\_bound.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}},} -\DoxyCodeLine{174 max\_bound.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} -\/ min\_bound.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}});} -\DoxyCodeLine{175 Gdiplus::Brush* circle\_fill = \mbox{\hyperlink{classRenderer_a7539832835d19ee365dcbabf490d642c}{getBrush}}(circle, bound);} -\DoxyCodeLine{176 \textcolor{keywordflow}{if} (Gdiplus::PathGradientBrush* brush =} -\DoxyCodeLine{177 \textcolor{keyword}{dynamic\_cast<} Gdiplus::PathGradientBrush* \textcolor{keyword}{>}(circle\_fill)) \{} -\DoxyCodeLine{178 \mbox{\hyperlink{classmColor}{mColor}} color = circle-\/>\mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{getGradient}}()-\/>\mbox{\hyperlink{classGradient_a1125c4e5294389bb6698bf4fcb4f928d}{getStops}}().back().getColor();} -\DoxyCodeLine{179 Gdiplus::SolidBrush corner\_fill(} -\DoxyCodeLine{180 Gdiplus::Color(color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}));} -\DoxyCodeLine{181 graphics.FillEllipse(} -\DoxyCodeLine{182 \&corner\_fill, circle-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\/ circle-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}},} -\DoxyCodeLine{183 circle-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} -\/ circle-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}},} -\DoxyCodeLine{184 circle-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} * 2, circle-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} * 2);} -\DoxyCodeLine{185 \}} -\DoxyCodeLine{186 graphics.FillEllipse(circle\_fill,} -\DoxyCodeLine{187 circle-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\/ circle-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}},} -\DoxyCodeLine{188 circle-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} -\/ circle-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}},} -\DoxyCodeLine{189 circle-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} * 2, circle-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} * 2);} -\DoxyCodeLine{190 graphics.DrawEllipse(\&circle\_outline,} -\DoxyCodeLine{191 circle-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\/ circle-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}},} -\DoxyCodeLine{192 circle-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} -\/ circle-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}},} -\DoxyCodeLine{193 circle-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} * 2, circle-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} * 2);} -\DoxyCodeLine{194 \textcolor{keyword}{delete} circle\_fill;} -\DoxyCodeLine{195 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRenderer_af4d92e92abb79e4431f7331f792194d9}\label{classRenderer_af4d92e92abb79e4431f7331f792194d9}} -\index{Renderer@{Renderer}!drawEllipse@{drawEllipse}} -\index{drawEllipse@{drawEllipse}!Renderer@{Renderer}} -\doxysubsubsection{\texorpdfstring{drawEllipse()}{drawEllipse()}} -{\footnotesize\ttfamily void Renderer\+::draw\+Ellipse (\begin{DoxyParamCaption}\item[{Gdiplus\+::\+Graphics \&}]{graphics, }\item[{\mbox{\hyperlink{classEll}{Ell}} $\ast$}]{ellipse }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [private]}} - - - -Draws an ellipse shape using Gdiplus\+::\+Graphics. - - -\begin{DoxyParams}{Parameters} -{\em graphics} & The Gdiplus\+::\+Graphics context for drawing. \\ -\hline -{\em ellipse} & The \mbox{\hyperlink{classEll}{Ell}} object representing the ellipse to be drawn. \\ -\hline -\end{DoxyParams} - - -Definition at line 197 of file Renderer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{197 \{} -\DoxyCodeLine{198 \mbox{\hyperlink{classmColor}{mColor}} outline\_color = ellipse-\/>\mbox{\hyperlink{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}{getOutlineColor}}();} -\DoxyCodeLine{199 Gdiplus::Pen ellipse\_outline(} -\DoxyCodeLine{200 Gdiplus::Color(outline\_color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, outline\_color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, outline\_color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}},} -\DoxyCodeLine{201 outline\_color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}),} -\DoxyCodeLine{202 ellipse-\/>\mbox{\hyperlink{classSVGElement_a2e4b1a48bfbc34a6a9f17bfd4b89eb51}{getOutlineThickness}}());} -\DoxyCodeLine{203 \mbox{\hyperlink{classVector2D}{Vector2Df}} min\_bound = ellipse-\/>\mbox{\hyperlink{classEll_ab79368df57ee08382916fc52b69afb85}{getMinBound}}();} -\DoxyCodeLine{204 \mbox{\hyperlink{classVector2D}{Vector2Df}} max\_bound = ellipse-\/>\mbox{\hyperlink{classEll_a8a8dd2acc8c7be5580dd8e549d247525}{getMaxBound}}();} -\DoxyCodeLine{205 Gdiplus::RectF bound(min\_bound.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, min\_bound.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}, max\_bound.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\/ min\_bound.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}},} -\DoxyCodeLine{206 max\_bound.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} -\/ min\_bound.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}});} -\DoxyCodeLine{207 Gdiplus::Brush* ellipse\_fill = \mbox{\hyperlink{classRenderer_a7539832835d19ee365dcbabf490d642c}{getBrush}}(ellipse, bound);} -\DoxyCodeLine{208 \textcolor{keywordflow}{if} (Gdiplus::PathGradientBrush* brush =} -\DoxyCodeLine{209 \textcolor{keyword}{dynamic\_cast<} Gdiplus::PathGradientBrush* \textcolor{keyword}{>}(ellipse\_fill)) \{} -\DoxyCodeLine{210 \mbox{\hyperlink{classmColor}{mColor}} color = ellipse-\/>\mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{getGradient}}()-\/>\mbox{\hyperlink{classGradient_a1125c4e5294389bb6698bf4fcb4f928d}{getStops}}().back().getColor();} -\DoxyCodeLine{211 Gdiplus::SolidBrush corner\_fill(} -\DoxyCodeLine{212 Gdiplus::Color(color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}));} -\DoxyCodeLine{213 graphics.FillEllipse(} -\DoxyCodeLine{214 \&corner\_fill, ellipse-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\/ ellipse-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}},} -\DoxyCodeLine{215 ellipse-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} -\/ ellipse-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}},} -\DoxyCodeLine{216 ellipse-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} * 2, ellipse-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} * 2);} -\DoxyCodeLine{217 \}} -\DoxyCodeLine{218 graphics.FillEllipse(} -\DoxyCodeLine{219 ellipse\_fill, ellipse-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\/ ellipse-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}},} -\DoxyCodeLine{220 ellipse-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} -\/ ellipse-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}},} -\DoxyCodeLine{221 ellipse-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} * 2, ellipse-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} * 2);} -\DoxyCodeLine{222 graphics.DrawEllipse(} -\DoxyCodeLine{223 \&ellipse\_outline, ellipse-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\/ ellipse-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}},} -\DoxyCodeLine{224 ellipse-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} -\/ ellipse-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}},} -\DoxyCodeLine{225 ellipse-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} * 2, ellipse-\/>\mbox{\hyperlink{classEll_a00d607a5238705b552ec61b4409b76c1}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} * 2);} -\DoxyCodeLine{226 \textcolor{keyword}{delete} ellipse\_fill;} -\DoxyCodeLine{227 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRenderer_ab68c9e02c7eadf1f18286c9ecf0d90ca}\label{classRenderer_ab68c9e02c7eadf1f18286c9ecf0d90ca}} -\index{Renderer@{Renderer}!drawLine@{drawLine}} -\index{drawLine@{drawLine}!Renderer@{Renderer}} -\doxysubsubsection{\texorpdfstring{drawLine()}{drawLine()}} -{\footnotesize\ttfamily void Renderer\+::draw\+Line (\begin{DoxyParamCaption}\item[{Gdiplus\+::\+Graphics \&}]{graphics, }\item[{\mbox{\hyperlink{classLine}{Line}} $\ast$}]{line }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [private]}} - - - -Draws a line shape using Gdiplus\+::\+Graphics. - - -\begin{DoxyParams}{Parameters} -{\em graphics} & The Gdiplus\+::\+Graphics context for drawing. \\ -\hline -{\em line} & The \mbox{\hyperlink{classLine}{Line}} object representing the line to be drawn. \\ -\hline -\end{DoxyParams} - - -Definition at line 110 of file Renderer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{110 \{} -\DoxyCodeLine{111 \mbox{\hyperlink{classmColor}{mColor}} color = line-\/>\mbox{\hyperlink{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}{getOutlineColor}}();} -\DoxyCodeLine{112 Gdiplus::Pen linePen(Gdiplus::Color(color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}),} -\DoxyCodeLine{113 line-\/>\mbox{\hyperlink{classSVGElement_a2e4b1a48bfbc34a6a9f17bfd4b89eb51}{getOutlineThickness}}());} -\DoxyCodeLine{114 Gdiplus::PointF startPoint(line-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, line-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}});} -\DoxyCodeLine{115 Gdiplus::PointF endPoint(line-\/>\mbox{\hyperlink{classLine_adb348ce7ddf4b500c3593b7126aa4451}{getDirection}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, line-\/>\mbox{\hyperlink{classLine_adb348ce7ddf4b500c3593b7126aa4451}{getDirection}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}});} -\DoxyCodeLine{116 graphics.DrawLine(\&linePen, startPoint, endPoint);} -\DoxyCodeLine{117 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRenderer_a6cbcbb11e386c26eacef0b97342fee77}\label{classRenderer_a6cbcbb11e386c26eacef0b97342fee77}} -\index{Renderer@{Renderer}!drawPath@{drawPath}} -\index{drawPath@{drawPath}!Renderer@{Renderer}} -\doxysubsubsection{\texorpdfstring{drawPath()}{drawPath()}} -{\footnotesize\ttfamily void Renderer\+::draw\+Path (\begin{DoxyParamCaption}\item[{Gdiplus\+::\+Graphics \&}]{graphics, }\item[{\mbox{\hyperlink{classPath}{Path}} $\ast$}]{path }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [private]}} - - - -Draws a path shape using Gdiplus\+::\+Graphics. - - -\begin{DoxyParams}{Parameters} -{\em graphics} & The Gdiplus\+::\+Graphics context for drawing. \\ -\hline -{\em path} & The \mbox{\hyperlink{classPath}{Path}} object representing the path to be drawn. \\ -\hline -\end{DoxyParams} - - -Definition at line 365 of file Renderer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{365 \{} -\DoxyCodeLine{366 \mbox{\hyperlink{classmColor}{mColor}} outline\_color = path-\/>\mbox{\hyperlink{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}{getOutlineColor}}();} -\DoxyCodeLine{367 Gdiplus::Pen path\_outline(Gdiplus::Color(outline\_color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, outline\_color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}},} -\DoxyCodeLine{368 outline\_color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, outline\_color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}),} -\DoxyCodeLine{369 path-\/>\mbox{\hyperlink{classSVGElement_a2e4b1a48bfbc34a6a9f17bfd4b89eb51}{getOutlineThickness}}());} -\DoxyCodeLine{370 } -\DoxyCodeLine{371 Gdiplus::FillMode fill\_mode;} -\DoxyCodeLine{372 \textcolor{keywordflow}{if} (path-\/>\mbox{\hyperlink{classPath_a9395325e65f86fd2a4be2dc24408753a}{getFillRule}}() == \textcolor{stringliteral}{"{}evenodd"{}}) \{} -\DoxyCodeLine{373 fill\_mode = Gdiplus::FillModeAlternate;} -\DoxyCodeLine{374 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (path-\/>\mbox{\hyperlink{classPath_a9395325e65f86fd2a4be2dc24408753a}{getFillRule}}() == \textcolor{stringliteral}{"{}nonzero"{}}) \{} -\DoxyCodeLine{375 fill\_mode = Gdiplus::FillModeWinding;} -\DoxyCodeLine{376 \}} -\DoxyCodeLine{377 Gdiplus::GraphicsPath gdi\_path(fill\_mode);} -\DoxyCodeLine{378 } -\DoxyCodeLine{379 \textcolor{keyword}{const} std::vector< PathPoint >\& points = path-\/>\mbox{\hyperlink{classPath_a9d701e9231022249523970101bbc749c}{getPoints}}();} -\DoxyCodeLine{380 \textcolor{keywordtype}{int} n = points.size();} -\DoxyCodeLine{381 \mbox{\hyperlink{classVector2D}{Vector2Df}} first\_point\{0, 0\}, cur\_point\{0, 0\};} -\DoxyCodeLine{382 } -\DoxyCodeLine{383 \textcolor{keywordflow}{for} (\textcolor{keywordtype}{int} i = 0; i < n; ++i) \{} -\DoxyCodeLine{384 \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'m'}) \{} -\DoxyCodeLine{385 first\_point = points[i].point;} -\DoxyCodeLine{386 gdi\_path.StartFigure();} -\DoxyCodeLine{387 cur\_point = first\_point;} -\DoxyCodeLine{388 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'l'} || points[i].tc == \textcolor{charliteral}{'h'} ||} -\DoxyCodeLine{389 points[i].tc == \textcolor{charliteral}{'v'}) \{} -\DoxyCodeLine{390 gdi\_path.AddLine(cur\_point.x, cur\_point.y, points[i].point.x,} -\DoxyCodeLine{391 points[i].point.y);} -\DoxyCodeLine{392 cur\_point = points[i].point;} -\DoxyCodeLine{393 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'c'}) \{} -\DoxyCodeLine{394 \textcolor{keywordflow}{if} (i + 2 < n) \{} -\DoxyCodeLine{395 \mbox{\hyperlink{classVector2D}{Vector2Df}} control\_point1 = points[i].point;} -\DoxyCodeLine{396 \mbox{\hyperlink{classVector2D}{Vector2Df}} control\_point2 = points[i + 1].point;} -\DoxyCodeLine{397 \mbox{\hyperlink{classVector2D}{Vector2Df}} control\_point3 = points[i + 2].point;} -\DoxyCodeLine{398 gdi\_path.AddBezier(cur\_point.x, cur\_point.y, control\_point1.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}},} -\DoxyCodeLine{399 control\_point1.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}, control\_point2.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}},} -\DoxyCodeLine{400 control\_point2.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}, control\_point3.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}},} -\DoxyCodeLine{401 control\_point3.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}});} -\DoxyCodeLine{402 i += 2;} -\DoxyCodeLine{403 cur\_point = control\_point3;} -\DoxyCodeLine{404 \}} -\DoxyCodeLine{405 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'z'}) \{} -\DoxyCodeLine{406 gdi\_path.CloseFigure();} -\DoxyCodeLine{407 cur\_point = first\_point;} -\DoxyCodeLine{408 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'s'}) \{} -\DoxyCodeLine{409 \textcolor{keywordflow}{if} (i + 1 < n) \{} -\DoxyCodeLine{410 \mbox{\hyperlink{classVector2D}{Vector2Df}} auto\_control\_point;} -\DoxyCodeLine{411 \textcolor{keywordflow}{if} (i > 0 \&\&} -\DoxyCodeLine{412 (points[i -\/ 1].tc == \textcolor{charliteral}{'c'} || points[i -\/ 1].tc == \textcolor{charliteral}{'s'})) \{} -\DoxyCodeLine{413 auto\_control\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} =} -\DoxyCodeLine{414 cur\_point.x * 2 -\/ points[i -\/ 2].point.x;} -\DoxyCodeLine{415 auto\_control\_point.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} =} -\DoxyCodeLine{416 cur\_point.y * 2 -\/ points[i -\/ 2].point.y;} -\DoxyCodeLine{417 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{418 auto\_control\_point = cur\_point;} -\DoxyCodeLine{419 \}} -\DoxyCodeLine{420 \mbox{\hyperlink{classVector2D}{Vector2Df}} control\_point2 = points[i].point;} -\DoxyCodeLine{421 \mbox{\hyperlink{classVector2D}{Vector2Df}} control\_point3 = points[i + 1].point;} -\DoxyCodeLine{422 gdi\_path.AddBezier(cur\_point.x, cur\_point.y,} -\DoxyCodeLine{423 auto\_control\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, auto\_control\_point.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}},} -\DoxyCodeLine{424 control\_point2.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, control\_point2.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}},} -\DoxyCodeLine{425 control\_point3.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, control\_point3.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}});} -\DoxyCodeLine{426 i += 1;} -\DoxyCodeLine{427 cur\_point = control\_point3;} -\DoxyCodeLine{428 \}} -\DoxyCodeLine{429 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'q'}) \{} -\DoxyCodeLine{430 \textcolor{keywordflow}{if} (i + 1 < n) \{} -\DoxyCodeLine{431 \mbox{\hyperlink{classVector2D}{Vector2Df}} control\_point = points[i].point;} -\DoxyCodeLine{432 \mbox{\hyperlink{classVector2D}{Vector2Df}} end\_point = points[i + 1].point;} -\DoxyCodeLine{433 } -\DoxyCodeLine{434 Gdiplus::PointF q\_points[3];} -\DoxyCodeLine{435 q\_points[0] = Gdiplus::PointF\{cur\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, cur\_point.y\};} -\DoxyCodeLine{436 q\_points[1] = Gdiplus::PointF\{control\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, control\_point.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}\};} -\DoxyCodeLine{437 q\_points[2] = Gdiplus::PointF\{end\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, end\_point.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}\};} -\DoxyCodeLine{438 gdi\_path.AddCurve(q\_points, 3);} -\DoxyCodeLine{439 cur\_point = points[i + 1].point;} -\DoxyCodeLine{440 i += 1;} -\DoxyCodeLine{441 \}} -\DoxyCodeLine{442 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'t'}) \{} -\DoxyCodeLine{443 \mbox{\hyperlink{classVector2D}{Vector2Df}} auto\_control\_point;} -\DoxyCodeLine{444 \textcolor{keywordflow}{if} (i > 0 \&\& (points[i -\/ 1].tc == \textcolor{charliteral}{'q'} || points[i -\/ 1].tc == \textcolor{charliteral}{'t'})) \{} -\DoxyCodeLine{445 auto\_control\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} = cur\_point.x * 2 -\/ points[i -\/ 2].point.x;} -\DoxyCodeLine{446 auto\_control\_point.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} = cur\_point.y * 2 -\/ points[i -\/ 2].point.y;} -\DoxyCodeLine{447 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{448 auto\_control\_point = cur\_point;} -\DoxyCodeLine{449 \}} -\DoxyCodeLine{450 \mbox{\hyperlink{classVector2D}{Vector2Df}} end\_point = points[i].point;} -\DoxyCodeLine{451 Gdiplus::PointF t\_points[3];} -\DoxyCodeLine{452 t\_points[0] = Gdiplus::PointF\{cur\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, cur\_point.y\};} -\DoxyCodeLine{453 t\_points[1] =} -\DoxyCodeLine{454 Gdiplus::PointF\{auto\_control\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, auto\_control\_point.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}\};} -\DoxyCodeLine{455 t\_points[2] = Gdiplus::PointF\{end\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, end\_point.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}\};} -\DoxyCodeLine{456 gdi\_path.AddCurve(t\_points, 3);} -\DoxyCodeLine{457 cur\_point = points[i].point;} -\DoxyCodeLine{458 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (points[i].tc == \textcolor{charliteral}{'a'}) \{} -\DoxyCodeLine{459 \textcolor{keywordtype}{float} rx = points[i].radius.x;} -\DoxyCodeLine{460 \textcolor{keywordtype}{float} ry = points[i].radius.y;} -\DoxyCodeLine{461 \textcolor{keywordflow}{if} (rx == 0 || ry == 0) \{} -\DoxyCodeLine{462 gdi\_path.AddLine(cur\_point.x, cur\_point.y, points[i].point.x,} -\DoxyCodeLine{463 points[i].point.y);} -\DoxyCodeLine{464 cur\_point = points[i].point;} -\DoxyCodeLine{465 \textcolor{keywordflow}{continue};} -\DoxyCodeLine{466 \}} -\DoxyCodeLine{467 \textcolor{keywordflow}{if} (rx < 0) \{} -\DoxyCodeLine{468 rx = std::fabs(rx);} -\DoxyCodeLine{469 \}} -\DoxyCodeLine{470 \textcolor{keywordflow}{if} (ry < 0) \{} -\DoxyCodeLine{471 ry = std::fabs(ry);} -\DoxyCodeLine{472 \}} -\DoxyCodeLine{473 } -\DoxyCodeLine{474 \textcolor{keywordtype}{float} x\_axis\_rotation = points[i].x\_axis\_rotation;} -\DoxyCodeLine{475 \textcolor{keywordtype}{bool} large\_arc\_flag = points[i].large\_arc\_flag;} -\DoxyCodeLine{476 \textcolor{keywordtype}{bool} sweep\_flag = points[i].sweep\_flag;} -\DoxyCodeLine{477 \mbox{\hyperlink{classVector2D}{Vector2Df}} end\_point\{points[i].point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, points[i].point.y\};} -\DoxyCodeLine{478 } -\DoxyCodeLine{479 \textcolor{keywordtype}{float} angle = x\_axis\_rotation * acos(-\/1) / 180.0;} -\DoxyCodeLine{480 \textcolor{keywordtype}{float} cosAngle = cos(angle);} -\DoxyCodeLine{481 \textcolor{keywordtype}{float} sinAngle = sin(angle);} -\DoxyCodeLine{482 } -\DoxyCodeLine{483 \mbox{\hyperlink{classVector2D}{Vector2Df}} point1;} -\DoxyCodeLine{484 \textcolor{keywordtype}{float} X = (cur\_point.x -\/ end\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}) / 2.0;} -\DoxyCodeLine{485 \textcolor{keywordtype}{float} Y = (cur\_point.y -\/ end\_point.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}) / 2.0;} -\DoxyCodeLine{486 point1.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} = (cosAngle * cosAngle + sinAngle * sinAngle) * X;} -\DoxyCodeLine{487 point1.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} = (cosAngle * cosAngle + sinAngle * sinAngle) * Y;} -\DoxyCodeLine{488 } -\DoxyCodeLine{489 \textcolor{keywordtype}{float} radii\_check = (point1.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} * point1.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}) / (rx * rx) +} -\DoxyCodeLine{490 (point1.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} * point1.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}) / (ry * ry);} -\DoxyCodeLine{491 \textcolor{keywordflow}{if} (radii\_check > 1.0) \{} -\DoxyCodeLine{492 rx = std::sqrt(radii\_check) * rx;} -\DoxyCodeLine{493 ry = std::sqrt(radii\_check) * ry;} -\DoxyCodeLine{494 \}} -\DoxyCodeLine{495 } -\DoxyCodeLine{496 \textcolor{keywordtype}{float} sign = (large\_arc\_flag == sweep\_flag ? -\/1.0 : 1.0);} -\DoxyCodeLine{497 \mbox{\hyperlink{classVector2D}{Vector2Df}} point2;} -\DoxyCodeLine{498 \textcolor{keywordtype}{float} numo = (rx * rx) * (ry * ry) -\/} -\DoxyCodeLine{499 (rx * rx) * (point1.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} * point1.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}) -\/} -\DoxyCodeLine{500 (ry * ry) * (point1.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} * point1.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}});} -\DoxyCodeLine{501 \textcolor{keywordtype}{float} deno = (rx * rx) * (point1.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} * point1.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}) +} -\DoxyCodeLine{502 (ry * ry) * (point1.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} * point1.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}});} -\DoxyCodeLine{503 } -\DoxyCodeLine{504 \textcolor{keywordflow}{if} (numo < 0) \{} -\DoxyCodeLine{505 numo = std::fabs(numo);} -\DoxyCodeLine{506 \}} -\DoxyCodeLine{507 } -\DoxyCodeLine{508 point2.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} = sign * std::sqrt(numo / deno) * ((rx * point1.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}) / ry);} -\DoxyCodeLine{509 point2.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} = sign * std::sqrt(numo / deno) * ((-\/ry * point1.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}) / rx);} -\DoxyCodeLine{510 } -\DoxyCodeLine{511 \mbox{\hyperlink{classVector2D}{Vector2Df}} center;} -\DoxyCodeLine{512 X = (cur\_point.x + end\_point.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}) / 2.0;} -\DoxyCodeLine{513 Y = (cur\_point.y + end\_point.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}) / 2.0;} -\DoxyCodeLine{514 center.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} =} -\DoxyCodeLine{515 (cosAngle * cosAngle + sinAngle * sinAngle) * point2.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} + X;} -\DoxyCodeLine{516 center.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} =} -\DoxyCodeLine{517 (cosAngle * cosAngle + sinAngle * sinAngle) * point2.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} + Y;} -\DoxyCodeLine{518 } -\DoxyCodeLine{519 \textcolor{keywordtype}{float} start\_angle =} -\DoxyCodeLine{520 atan2((point1.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} -\/ point2.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}) / ry, (point1.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\/ point2.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}) / rx);} -\DoxyCodeLine{521 \textcolor{keywordtype}{float} end\_angle =} -\DoxyCodeLine{522 atan2((-\/point1.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} -\/ point2.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}) / ry, (-\/point1.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\/ point2.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}) / rx);} -\DoxyCodeLine{523 } -\DoxyCodeLine{524 \textcolor{keywordtype}{float} delta\_angle = end\_angle -\/ start\_angle;} -\DoxyCodeLine{525 } -\DoxyCodeLine{526 \textcolor{keywordflow}{if} (sweep\_flag \&\& delta\_angle < 0) \{} -\DoxyCodeLine{527 delta\_angle += 2.0 * acos(-\/1);} -\DoxyCodeLine{528 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!sweep\_flag \&\& delta\_angle > 0) \{} -\DoxyCodeLine{529 delta\_angle -\/= 2.0 * acos(-\/1);} -\DoxyCodeLine{530 \}} -\DoxyCodeLine{531 } -\DoxyCodeLine{532 \textcolor{keywordtype}{float} start\_angle\_degree =} -\DoxyCodeLine{533 std::fmod((start\_angle * 180.0) / acos(-\/1), 360);} -\DoxyCodeLine{534 \textcolor{keywordtype}{float} delta\_angle\_degree =} -\DoxyCodeLine{535 std::fmod((delta\_angle * 180.0) / acos(-\/1), 360);} -\DoxyCodeLine{536 } -\DoxyCodeLine{537 gdi\_path.AddArc(center.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\/ rx, center.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} -\/ ry, 2.0 * rx, 2.0 * ry,} -\DoxyCodeLine{538 start\_angle\_degree, delta\_angle\_degree);} -\DoxyCodeLine{539 } -\DoxyCodeLine{540 cur\_point = end\_point;} -\DoxyCodeLine{541 \}} -\DoxyCodeLine{542 \}} -\DoxyCodeLine{543 } -\DoxyCodeLine{544 Gdiplus::RectF bound;} -\DoxyCodeLine{545 gdi\_path.GetBounds(\&bound);} -\DoxyCodeLine{546 Gdiplus::Brush* path\_fill = \mbox{\hyperlink{classRenderer_a7539832835d19ee365dcbabf490d642c}{getBrush}}(path, bound);} -\DoxyCodeLine{547 Gdiplus::Region region(\&gdi\_path);} -\DoxyCodeLine{548 \textcolor{keywordflow}{if} (Gdiplus::PathGradientBrush* brush =} -\DoxyCodeLine{549 \textcolor{keyword}{dynamic\_cast<} Gdiplus::PathGradientBrush* \textcolor{keyword}{>}(path\_fill)) \{} -\DoxyCodeLine{550 \mbox{\hyperlink{classmColor}{mColor}} color = path-\/>\mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{getGradient}}()-\/>\mbox{\hyperlink{classGradient_a1125c4e5294389bb6698bf4fcb4f928d}{getStops}}().back().getColor();} -\DoxyCodeLine{551 Gdiplus::SolidBrush corner\_fill(} -\DoxyCodeLine{552 Gdiplus::Color(color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}));} -\DoxyCodeLine{553 \textcolor{keywordflow}{if} (path-\/>\mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{getGradient}}()-\/>\mbox{\hyperlink{classGradient_a54cc5770c2dce46f1d56bcfb63285173}{getUnits}}() == \textcolor{stringliteral}{"{}userSpaceOnUse"{}}) \{} -\DoxyCodeLine{554 \textcolor{keywordtype}{float} cx = path-\/>\mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{getGradient}}()-\/>\mbox{\hyperlink{classGradient_aced479d6a10d2aa53e6d363e1df5dc08}{getPoints}}().first.x;} -\DoxyCodeLine{555 \textcolor{keywordtype}{float} cy = path-\/>\mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{getGradient}}()-\/>\mbox{\hyperlink{classGradient_aced479d6a10d2aa53e6d363e1df5dc08}{getPoints}}().first.y;} -\DoxyCodeLine{556 \textcolor{keywordtype}{float} r = \textcolor{keyword}{dynamic\_cast<} \mbox{\hyperlink{classRadialGradient}{RadialGradient}}* \textcolor{keyword}{>}(path-\/>\mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{getGradient}}())} -\DoxyCodeLine{557 -\/>getRadius()} -\DoxyCodeLine{558 .x;} -\DoxyCodeLine{559 Gdiplus::GraphicsPath fill\_path(fill\_mode);} -\DoxyCodeLine{560 fill\_path.AddEllipse(cx -\/ r, cy -\/ r, 2 * r, 2 * r);} -\DoxyCodeLine{561 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} type : path-\/>\mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{getGradient}}()-\/>\mbox{\hyperlink{classGradient_adf0e8b360f2b8e6edc1059002f85b1c1}{getTransforms}}()) \{} -\DoxyCodeLine{562 \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{}matrix"{}}) != std::string::npos) \{} -\DoxyCodeLine{563 \textcolor{keywordtype}{float} a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;} -\DoxyCodeLine{564 \textcolor{keywordflow}{if} (type.find(\textcolor{stringliteral}{"{},"{}}) != std::string::npos) \{} -\DoxyCodeLine{565 type.erase(std::remove(type.begin(), type.end(), \textcolor{charliteral}{','}),} -\DoxyCodeLine{566 type.end());} -\DoxyCodeLine{567 \}} -\DoxyCodeLine{568 sscanf(type.c\_str(), \textcolor{stringliteral}{"{}matrix(\%f \%f \%f \%f \%f \%f)"{}}, \&a, \&b,} -\DoxyCodeLine{569 \&c, \&d, \&e, \&f);} -\DoxyCodeLine{570 Gdiplus::Matrix matrix(a, b, c, d, e, f);} -\DoxyCodeLine{571 fill\_path.Transform(\&matrix);} -\DoxyCodeLine{572 \}} -\DoxyCodeLine{573 \}} -\DoxyCodeLine{574 region.Exclude(\&fill\_path);} -\DoxyCodeLine{575 \}} -\DoxyCodeLine{576 graphics.FillRegion(\&corner\_fill, \®ion);} -\DoxyCodeLine{577 \}} -\DoxyCodeLine{578 graphics.FillPath(path\_fill, \&gdi\_path);} -\DoxyCodeLine{579 graphics.DrawPath(\&path\_outline, \&gdi\_path);} -\DoxyCodeLine{580 \textcolor{keyword}{delete} path\_fill;} -\DoxyCodeLine{581 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRenderer_a27b883787b8f38afd04924edc97b5a04}\label{classRenderer_a27b883787b8f38afd04924edc97b5a04}} -\index{Renderer@{Renderer}!drawPolygon@{drawPolygon}} -\index{drawPolygon@{drawPolygon}!Renderer@{Renderer}} -\doxysubsubsection{\texorpdfstring{drawPolygon()}{drawPolygon()}} -{\footnotesize\ttfamily void Renderer\+::draw\+Polygon (\begin{DoxyParamCaption}\item[{Gdiplus\+::\+Graphics \&}]{graphics, }\item[{\mbox{\hyperlink{classPlygon}{Plygon}} $\ast$}]{polygon }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [private]}} - - - -Draws a polygon shape using Gdiplus\+::\+Graphics. - - -\begin{DoxyParams}{Parameters} -{\em graphics} & The Gdiplus\+::\+Graphics context for drawing. \\ -\hline -{\em polygon} & The \mbox{\hyperlink{classPlygon}{Plygon}} object representing the polygon to be drawn. \\ -\hline -\end{DoxyParams} - - -Definition at line 229 of file Renderer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{229 \{} -\DoxyCodeLine{230 \mbox{\hyperlink{classmColor}{mColor}} outline\_color = polygon-\/>\mbox{\hyperlink{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}{getOutlineColor}}();} -\DoxyCodeLine{231 Gdiplus::Pen polygon\_outline(} -\DoxyCodeLine{232 Gdiplus::Color(outline\_color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, outline\_color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, outline\_color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}},} -\DoxyCodeLine{233 outline\_color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}),} -\DoxyCodeLine{234 polygon-\/>\mbox{\hyperlink{classSVGElement_a2e4b1a48bfbc34a6a9f17bfd4b89eb51}{getOutlineThickness}}());} -\DoxyCodeLine{235 } -\DoxyCodeLine{236 Gdiplus::PointF* points = \textcolor{keyword}{new} Gdiplus::PointF[polygon-\/>\mbox{\hyperlink{classPolyShape_a27704ef9fd50c041d1d233e9d99a4fd4}{getPoints}}().size()];} -\DoxyCodeLine{237 \textcolor{keywordtype}{int} idx = 0;} -\DoxyCodeLine{238 \textcolor{keyword}{const} std::vector< Vector2Df >\& vertices = polygon-\/>\mbox{\hyperlink{classPolyShape_a27704ef9fd50c041d1d233e9d99a4fd4}{getPoints}}();} -\DoxyCodeLine{239 \textcolor{keywordflow}{for} (\textcolor{keyword}{const} \mbox{\hyperlink{classVector2D}{Vector2Df}} vertex : vertices) \{} -\DoxyCodeLine{240 points[idx++] = Gdiplus::PointF(vertex.x, vertex.y);} -\DoxyCodeLine{241 \}} -\DoxyCodeLine{242 } -\DoxyCodeLine{243 Gdiplus::FillMode fill\_mode;} -\DoxyCodeLine{244 \textcolor{keywordflow}{if} (polygon-\/>\mbox{\hyperlink{classPolyShape_acac99a28e69ee5020eed782175a5a355}{getFillRule}}() == \textcolor{stringliteral}{"{}evenodd"{}}) \{} -\DoxyCodeLine{245 fill\_mode = Gdiplus::FillModeAlternate;} -\DoxyCodeLine{246 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (polygon-\/>\mbox{\hyperlink{classPolyShape_acac99a28e69ee5020eed782175a5a355}{getFillRule}}() == \textcolor{stringliteral}{"{}nonzero"{}}) \{} -\DoxyCodeLine{247 fill\_mode = Gdiplus::FillModeWinding;} -\DoxyCodeLine{248 \}} -\DoxyCodeLine{249 \mbox{\hyperlink{classVector2D}{Vector2Df}} min\_bound = polygon-\/>\mbox{\hyperlink{classPolyShape_a0ad83e0129196572f99302830e0c9049}{getMinBound}}();} -\DoxyCodeLine{250 \mbox{\hyperlink{classVector2D}{Vector2Df}} max\_bound = polygon-\/>\mbox{\hyperlink{classPolyShape_a6ddda72dc27d7aade0ed444a52d7689f}{getMaxBound}}();} -\DoxyCodeLine{251 Gdiplus::RectF bound(min\_bound.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, min\_bound.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}, max\_bound.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\/ min\_bound.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}},} -\DoxyCodeLine{252 max\_bound.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} -\/ min\_bound.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}});} -\DoxyCodeLine{253 Gdiplus::Brush* polygon\_fill = \mbox{\hyperlink{classRenderer_a7539832835d19ee365dcbabf490d642c}{getBrush}}(polygon, bound);} -\DoxyCodeLine{254 \textcolor{keywordflow}{if} (Gdiplus::PathGradientBrush* brush =} -\DoxyCodeLine{255 \textcolor{keyword}{dynamic\_cast<} Gdiplus::PathGradientBrush* \textcolor{keyword}{>}(polygon\_fill)) \{} -\DoxyCodeLine{256 \mbox{\hyperlink{classmColor}{mColor}} color = polygon-\/>\mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{getGradient}}()-\/>\mbox{\hyperlink{classGradient_a1125c4e5294389bb6698bf4fcb4f928d}{getStops}}().back().getColor();} -\DoxyCodeLine{257 Gdiplus::SolidBrush corner\_fill(} -\DoxyCodeLine{258 Gdiplus::Color(color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}));} -\DoxyCodeLine{259 graphics.FillPolygon(\&corner\_fill, points, idx, fill\_mode);} -\DoxyCodeLine{260 \}} -\DoxyCodeLine{261 graphics.FillPolygon(polygon\_fill, points, idx, fill\_mode);} -\DoxyCodeLine{262 graphics.DrawPolygon(\&polygon\_outline, points, idx);} -\DoxyCodeLine{263 \textcolor{keyword}{delete}[] points;} -\DoxyCodeLine{264 \textcolor{keyword}{delete} polygon\_fill;} -\DoxyCodeLine{265 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRenderer_a4e73148b7da0f585084520d12c514344}\label{classRenderer_a4e73148b7da0f585084520d12c514344}} -\index{Renderer@{Renderer}!drawPolyline@{drawPolyline}} -\index{drawPolyline@{drawPolyline}!Renderer@{Renderer}} -\doxysubsubsection{\texorpdfstring{drawPolyline()}{drawPolyline()}} -{\footnotesize\ttfamily void Renderer\+::draw\+Polyline (\begin{DoxyParamCaption}\item[{Gdiplus\+::\+Graphics \&}]{graphics, }\item[{\mbox{\hyperlink{classPlyline}{Plyline}} $\ast$}]{polyline }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [private]}} - - - -Draws a polyline shape using Gdiplus\+::\+Graphics. - - -\begin{DoxyParams}{Parameters} -{\em graphics} & The Gdiplus\+::\+Graphics context for drawing. \\ -\hline -{\em polyline} & The \mbox{\hyperlink{classPlyline}{Plyline}} object representing the polyline to be drawn. \\ -\hline -\end{DoxyParams} - - -Definition at line 322 of file Renderer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{323 \{} -\DoxyCodeLine{324 \mbox{\hyperlink{classmColor}{mColor}} outline\_color = polyline-\/>\mbox{\hyperlink{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}{getOutlineColor}}();} -\DoxyCodeLine{325 Gdiplus::Pen polyline\_outline(} -\DoxyCodeLine{326 Gdiplus::Color(outline\_color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, outline\_color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, outline\_color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}},} -\DoxyCodeLine{327 outline\_color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}),} -\DoxyCodeLine{328 polyline-\/>\mbox{\hyperlink{classSVGElement_a2e4b1a48bfbc34a6a9f17bfd4b89eb51}{getOutlineThickness}}());} -\DoxyCodeLine{329 } -\DoxyCodeLine{330 Gdiplus::FillMode fill\_mode;} -\DoxyCodeLine{331 \textcolor{keywordflow}{if} (polyline-\/>\mbox{\hyperlink{classPolyShape_acac99a28e69ee5020eed782175a5a355}{getFillRule}}() == \textcolor{stringliteral}{"{}evenodd"{}}) \{} -\DoxyCodeLine{332 fill\_mode = Gdiplus::FillModeAlternate;} -\DoxyCodeLine{333 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (polyline-\/>\mbox{\hyperlink{classPolyShape_acac99a28e69ee5020eed782175a5a355}{getFillRule}}() == \textcolor{stringliteral}{"{}nonzero"{}}) \{} -\DoxyCodeLine{334 fill\_mode = Gdiplus::FillModeWinding;} -\DoxyCodeLine{335 \}} -\DoxyCodeLine{336 Gdiplus::GraphicsPath path(fill\_mode);} -\DoxyCodeLine{337 \textcolor{keyword}{const} std::vector< Vector2Df >\& points = polyline-\/>\mbox{\hyperlink{classPolyShape_a27704ef9fd50c041d1d233e9d99a4fd4}{getPoints}}();} -\DoxyCodeLine{338 \textcolor{keywordflow}{if} (points.size() < 2) \{} -\DoxyCodeLine{339 \textcolor{keywordflow}{return};} -\DoxyCodeLine{340 \}} -\DoxyCodeLine{341 } -\DoxyCodeLine{342 path.StartFigure();} -\DoxyCodeLine{343 path.AddLine(points[0].x, points[0].y, points[1].x, points[1].y);} -\DoxyCodeLine{344 \textcolor{keywordflow}{for} (\textcolor{keywordtype}{size\_t} i = 2; i < points.size(); ++i) \{} -\DoxyCodeLine{345 path.AddLine(points[i -\/ 1].x, points[i -\/ 1].y, points[i].x,} -\DoxyCodeLine{346 points[i].y);} -\DoxyCodeLine{347 \}} -\DoxyCodeLine{348 \mbox{\hyperlink{classVector2D}{Vector2Df}} min\_bound = polyline-\/>\mbox{\hyperlink{classPolyShape_a0ad83e0129196572f99302830e0c9049}{getMinBound}}();} -\DoxyCodeLine{349 \mbox{\hyperlink{classVector2D}{Vector2Df}} max\_bound = polyline-\/>\mbox{\hyperlink{classPolyShape_a6ddda72dc27d7aade0ed444a52d7689f}{getMaxBound}}();} -\DoxyCodeLine{350 Gdiplus::RectF bound(min\_bound.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, min\_bound.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}, max\_bound.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\/ min\_bound.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}},} -\DoxyCodeLine{351 max\_bound.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} -\/ min\_bound.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}});} -\DoxyCodeLine{352 Gdiplus::Brush* polyline\_fill = \mbox{\hyperlink{classRenderer_a7539832835d19ee365dcbabf490d642c}{getBrush}}(polyline, bound);} -\DoxyCodeLine{353 \textcolor{keywordflow}{if} (Gdiplus::PathGradientBrush* brush =} -\DoxyCodeLine{354 \textcolor{keyword}{dynamic\_cast<} Gdiplus::PathGradientBrush* \textcolor{keyword}{>}(polyline\_fill)) \{} -\DoxyCodeLine{355 \mbox{\hyperlink{classmColor}{mColor}} color = polyline-\/>\mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{getGradient}}()-\/>\mbox{\hyperlink{classGradient_a1125c4e5294389bb6698bf4fcb4f928d}{getStops}}().back().getColor();} -\DoxyCodeLine{356 Gdiplus::SolidBrush corner\_fill(} -\DoxyCodeLine{357 Gdiplus::Color(color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}));} -\DoxyCodeLine{358 graphics.FillPath(\&corner\_fill, \&path);} -\DoxyCodeLine{359 \}} -\DoxyCodeLine{360 graphics.FillPath(polyline\_fill, \&path);} -\DoxyCodeLine{361 graphics.DrawPath(\&polyline\_outline, \&path);} -\DoxyCodeLine{362 \textcolor{keyword}{delete} polyline\_fill;} -\DoxyCodeLine{363 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRenderer_abf163a7895594e0a4ee5662805b1b572}\label{classRenderer_abf163a7895594e0a4ee5662805b1b572}} -\index{Renderer@{Renderer}!drawRectangle@{drawRectangle}} -\index{drawRectangle@{drawRectangle}!Renderer@{Renderer}} -\doxysubsubsection{\texorpdfstring{drawRectangle()}{drawRectangle()}} -{\footnotesize\ttfamily void Renderer\+::draw\+Rectangle (\begin{DoxyParamCaption}\item[{Gdiplus\+::\+Graphics \&}]{graphics, }\item[{\mbox{\hyperlink{classRect}{Rect}} $\ast$}]{rectangle }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [private]}} - - - -Draws a rectangle shape using Gdiplus\+::\+Graphics. - - -\begin{DoxyParams}{Parameters} -{\em graphics} & The Gdiplus\+::\+Graphics context for drawing. \\ -\hline -{\em rectangle} & The \mbox{\hyperlink{classRect}{Rect}} object representing the rectangle to be drawn. \\ -\hline -\end{DoxyParams} - - -Definition at line 119 of file Renderer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{120 \{} -\DoxyCodeLine{121 \textcolor{keywordtype}{float} x = rectangle-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}};} -\DoxyCodeLine{122 \textcolor{keywordtype}{float} y = rectangle-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}};} -\DoxyCodeLine{123 \textcolor{keywordtype}{float} width = rectangle-\/>\mbox{\hyperlink{classRect_a9c1dd853ea5df8e7c96a11bba72cc67a}{getWidth}}();} -\DoxyCodeLine{124 \textcolor{keywordtype}{float} height = rectangle-\/>\mbox{\hyperlink{classRect_a418fffe5bb9368f4e158b63e13faba16}{getHeight}}();} -\DoxyCodeLine{125 \mbox{\hyperlink{classmColor}{mColor}} outline\_color = rectangle-\/>\mbox{\hyperlink{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}{getOutlineColor}}();} -\DoxyCodeLine{126 Gdiplus::Pen rect\_outline(Gdiplus::Color(outline\_color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, outline\_color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}},} -\DoxyCodeLine{127 outline\_color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, outline\_color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}),} -\DoxyCodeLine{128 rectangle-\/>\mbox{\hyperlink{classSVGElement_a2e4b1a48bfbc34a6a9f17bfd4b89eb51}{getOutlineThickness}}());} -\DoxyCodeLine{129 Gdiplus::RectF bound(x, y, width, height);} -\DoxyCodeLine{130 Gdiplus::Brush* rect\_fill = \mbox{\hyperlink{classRenderer_a7539832835d19ee365dcbabf490d642c}{getBrush}}(rectangle, bound);} -\DoxyCodeLine{131 \textcolor{keywordflow}{if} (rectangle-\/>\mbox{\hyperlink{classRect_a31ca84cc8755233b5e61d22189f637b0}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} != 0 || rectangle-\/>\mbox{\hyperlink{classRect_a31ca84cc8755233b5e61d22189f637b0}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} != 0) \{} -\DoxyCodeLine{132 \textcolor{keywordtype}{float} dx = rectangle-\/>\mbox{\hyperlink{classRect_a31ca84cc8755233b5e61d22189f637b0}{getRadius}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} * 2;} -\DoxyCodeLine{133 \textcolor{keywordtype}{float} dy = rectangle-\/>\mbox{\hyperlink{classRect_a31ca84cc8755233b5e61d22189f637b0}{getRadius}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} * 2;} -\DoxyCodeLine{134 Gdiplus::GraphicsPath path;} -\DoxyCodeLine{135 path.AddArc(x, y, dx, dy, 180, 90);} -\DoxyCodeLine{136 path.AddArc(x + width -\/ dx, y, dx, dy, 270, 90);} -\DoxyCodeLine{137 path.AddArc(x + width -\/ dx, y + height -\/ dy, dx, dy, 0, 90);} -\DoxyCodeLine{138 path.AddArc(x, y + height -\/ dy, dx, dy, 90, 90);} -\DoxyCodeLine{139 path.CloseFigure();} -\DoxyCodeLine{140 \textcolor{keywordflow}{if} (Gdiplus::PathGradientBrush* brush =} -\DoxyCodeLine{141 \textcolor{keyword}{dynamic\_cast<} Gdiplus::PathGradientBrush* \textcolor{keyword}{>}(rect\_fill)) \{} -\DoxyCodeLine{142 \mbox{\hyperlink{classmColor}{mColor}} color =} -\DoxyCodeLine{143 rectangle-\/>\mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{getGradient}}()-\/>\mbox{\hyperlink{classGradient_a1125c4e5294389bb6698bf4fcb4f928d}{getStops}}().back().getColor();} -\DoxyCodeLine{144 Gdiplus::SolidBrush corner\_fill(} -\DoxyCodeLine{145 Gdiplus::Color(color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}));} -\DoxyCodeLine{146 graphics.FillPath(\&corner\_fill, \&path);} -\DoxyCodeLine{147 \}} -\DoxyCodeLine{148 graphics.FillPath(rect\_fill, \&path);} -\DoxyCodeLine{149 graphics.DrawPath(\&rect\_outline, \&path);} -\DoxyCodeLine{150 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{151 \textcolor{keywordflow}{if} (Gdiplus::PathGradientBrush* brush =} -\DoxyCodeLine{152 \textcolor{keyword}{dynamic\_cast<} Gdiplus::PathGradientBrush* \textcolor{keyword}{>}(rect\_fill)) \{} -\DoxyCodeLine{153 \mbox{\hyperlink{classmColor}{mColor}} color =} -\DoxyCodeLine{154 rectangle-\/>\mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{getGradient}}()-\/>\mbox{\hyperlink{classGradient_a1125c4e5294389bb6698bf4fcb4f928d}{getStops}}().back().getColor();} -\DoxyCodeLine{155 Gdiplus::SolidBrush corner\_fill(} -\DoxyCodeLine{156 Gdiplus::Color(color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}));} -\DoxyCodeLine{157 graphics.FillRectangle(\&corner\_fill, x, y, width, height);} -\DoxyCodeLine{158 \}} -\DoxyCodeLine{159 graphics.FillRectangle(rect\_fill, x, y, width, height);} -\DoxyCodeLine{160 graphics.DrawRectangle(\&rect\_outline, x, y, width, height);} -\DoxyCodeLine{161 \}} -\DoxyCodeLine{162 \textcolor{keyword}{delete} rect\_fill;} -\DoxyCodeLine{163 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRenderer_a87ce996c3ed0f963de9ef6c293ee3aec}\label{classRenderer_a87ce996c3ed0f963de9ef6c293ee3aec}} -\index{Renderer@{Renderer}!drawText@{drawText}} -\index{drawText@{drawText}!Renderer@{Renderer}} -\doxysubsubsection{\texorpdfstring{drawText()}{drawText()}} -{\footnotesize\ttfamily void Renderer\+::draw\+Text (\begin{DoxyParamCaption}\item[{Gdiplus\+::\+Graphics \&}]{graphics, }\item[{\mbox{\hyperlink{classText}{Text}} $\ast$}]{text }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [private]}} - - - -Draws text using Gdiplus\+::\+Graphics. - - -\begin{DoxyParams}{Parameters} -{\em graphics} & The Gdiplus\+::\+Graphics context for drawing. \\ -\hline -{\em text} & The \mbox{\hyperlink{classText}{Text}} object representing the text to be drawn. \\ -\hline -\end{DoxyParams} - - -Definition at line 267 of file Renderer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{267 \{} -\DoxyCodeLine{268 \mbox{\hyperlink{classmColor}{mColor}} outline\_color = text-\/>\mbox{\hyperlink{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}{getOutlineColor}}();} -\DoxyCodeLine{269 graphics.SetTextRenderingHint(Gdiplus::TextRenderingHintAntiAliasGridFit);} -\DoxyCodeLine{270 } -\DoxyCodeLine{271 Gdiplus::Pen text\_outline(Gdiplus::Color(outline\_color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, outline\_color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}},} -\DoxyCodeLine{272 outline\_color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, outline\_color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}),} -\DoxyCodeLine{273 text-\/>\mbox{\hyperlink{classSVGElement_a2e4b1a48bfbc34a6a9f17bfd4b89eb51}{getOutlineThickness}}());} -\DoxyCodeLine{274 } -\DoxyCodeLine{275 Gdiplus::FontFamily font\_family(L\textcolor{stringliteral}{"{}Times New Roman"{}});} -\DoxyCodeLine{276 } -\DoxyCodeLine{277 Gdiplus::PointF position(text-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, text-\/>\mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}});} -\DoxyCodeLine{278 Gdiplus::GraphicsPath path;} -\DoxyCodeLine{279 } -\DoxyCodeLine{280 std::wstring\_convert< std::codecvt\_utf8\_utf16< wchar\_t > > converter;} -\DoxyCodeLine{281 std::wstring wide\_content = converter.from\_bytes(text-\/>\mbox{\hyperlink{classText_ac593599637e5e7f0f929c59b440f1b94}{getContent}}());} -\DoxyCodeLine{282 Gdiplus::StringFormat string\_format;} -\DoxyCodeLine{283 \textcolor{keywordflow}{if} (text-\/>\mbox{\hyperlink{classText_a445117756f52b37ae8bce225e254bea6}{getAnchor}}() == \textcolor{stringliteral}{"{}middle"{}}) \{} -\DoxyCodeLine{284 string\_format.SetAlignment(Gdiplus::StringAlignmentCenter);} -\DoxyCodeLine{285 position.X += 7;} -\DoxyCodeLine{286 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (text-\/>\mbox{\hyperlink{classText_a445117756f52b37ae8bce225e254bea6}{getAnchor}}() == \textcolor{stringliteral}{"{}end"{}}) \{} -\DoxyCodeLine{287 string\_format.SetAlignment(Gdiplus::StringAlignmentFar);} -\DoxyCodeLine{288 position.X += 14;} -\DoxyCodeLine{289 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{290 string\_format.SetAlignment(Gdiplus::StringAlignmentNear);} -\DoxyCodeLine{291 \}} -\DoxyCodeLine{292 Gdiplus::FontStyle font\_style = Gdiplus::FontStyleRegular;} -\DoxyCodeLine{293 \textcolor{keywordflow}{if} (text-\/>\mbox{\hyperlink{classText_a86fd1927b692d6691c8dd3901b6f6e48}{getFontStyle}}() == \textcolor{stringliteral}{"{}italic"{}} || text-\/>\mbox{\hyperlink{classText_a86fd1927b692d6691c8dd3901b6f6e48}{getFontStyle}}() == \textcolor{stringliteral}{"{}oblique"{}}) \{} -\DoxyCodeLine{294 font\_style = Gdiplus::FontStyleItalic;} -\DoxyCodeLine{295 position.Y -\/= 1;} -\DoxyCodeLine{296 \}} -\DoxyCodeLine{297 } -\DoxyCodeLine{298 path.AddString(wide\_content.c\_str(), wide\_content.size(), \&font\_family,} -\DoxyCodeLine{299 font\_style, text-\/>\mbox{\hyperlink{classText_a6e799a9b0ba6f88e704eea12599d3d5c}{getFontSize}}(), position, \&string\_format);} -\DoxyCodeLine{300 Gdiplus::RectF bound;} -\DoxyCodeLine{301 path.GetBounds(\&bound);} -\DoxyCodeLine{302 Gdiplus::Brush* text\_fill = \mbox{\hyperlink{classRenderer_a7539832835d19ee365dcbabf490d642c}{getBrush}}(text, bound);} -\DoxyCodeLine{303 \textcolor{keywordflow}{if} (Gdiplus::PathGradientBrush* brush =} -\DoxyCodeLine{304 \textcolor{keyword}{dynamic\_cast<} Gdiplus::PathGradientBrush* \textcolor{keyword}{>}(text\_fill)) \{} -\DoxyCodeLine{305 \mbox{\hyperlink{classmColor}{mColor}} color = text-\/>\mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{getGradient}}()-\/>\mbox{\hyperlink{classGradient_a1125c4e5294389bb6698bf4fcb4f928d}{getStops}}().back().getColor();} -\DoxyCodeLine{306 Gdiplus::SolidBrush corner\_fill(} -\DoxyCodeLine{307 Gdiplus::Color(color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}));} -\DoxyCodeLine{308 graphics.FillPath(\&corner\_fill, \&path);} -\DoxyCodeLine{309 \}} -\DoxyCodeLine{310 graphics.FillPath(text\_fill, \&path);} -\DoxyCodeLine{311 \textcolor{keywordflow}{if} (text-\/>\mbox{\hyperlink{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}{getOutlineColor}}().\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}} != 0 \&\&} -\DoxyCodeLine{312 text-\/>\mbox{\hyperlink{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}{getOutlineColor}}().\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}} == text-\/>\mbox{\hyperlink{classSVGElement_abb012cad5d6e9ee7a413f46042f99429}{getFillColor}}().\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}) \{} -\DoxyCodeLine{313 text\_outline.SetColor(Gdiplus::Color(255, 255, 255, 255));} -\DoxyCodeLine{314 graphics.DrawPath(\&text\_outline, \&path);} -\DoxyCodeLine{315 text\_outline.SetColor(Gdiplus::Color(outline\_color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, outline\_color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}},} -\DoxyCodeLine{316 outline\_color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, outline\_color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}));} -\DoxyCodeLine{317 \}} -\DoxyCodeLine{318 graphics.DrawPath(\&text\_outline, \&path);} -\DoxyCodeLine{319 \textcolor{keyword}{delete} text\_fill;} -\DoxyCodeLine{320 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRenderer_a7539832835d19ee365dcbabf490d642c}\label{classRenderer_a7539832835d19ee365dcbabf490d642c}} -\index{Renderer@{Renderer}!getBrush@{getBrush}} -\index{getBrush@{getBrush}!Renderer@{Renderer}} -\doxysubsubsection{\texorpdfstring{getBrush()}{getBrush()}} -{\footnotesize\ttfamily Gdiplus\+::\+Brush $\ast$ Renderer\+::get\+Brush (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$}]{shape, }\item[{Gdiplus\+::\+RectF}]{bound }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [private]}} - - - -Gets the Gdiplus\+::brush object for the shape fill. - - -\begin{DoxyParams}{Parameters} -{\em shape} & The \mbox{\hyperlink{classSVGElement}{SVGElement}} representing the shape. \\ -\hline -{\em bound} & The bounding box of the shape. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -The Gdiplus\+::brush object for the shape fill. -\end{DoxyReturn} - - -Definition at line 583 of file Renderer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{584 \{} -\DoxyCodeLine{585 \mbox{\hyperlink{classGradient}{Gradient}}* gradient = shape-\/>\mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{getGradient}}();} -\DoxyCodeLine{586 \textcolor{keywordflow}{if} (gradient != NULL) \{} -\DoxyCodeLine{587 std::pair< Vector2Df, Vector2Df > points = gradient-\/>\mbox{\hyperlink{classGradient_aced479d6a10d2aa53e6d363e1df5dc08}{getPoints}}();} -\DoxyCodeLine{588 std::vector< Stop > stops = gradient-\/>\mbox{\hyperlink{classGradient_a1125c4e5294389bb6698bf4fcb4f928d}{getStops}}();} -\DoxyCodeLine{589 \textcolor{keywordtype}{int} stop\_size = stops.size() + 2;} -\DoxyCodeLine{590 Gdiplus::Color* colors = \textcolor{keyword}{new} Gdiplus::Color[stop\_size];} -\DoxyCodeLine{591 \textcolor{keywordtype}{float}* offsets = \textcolor{keyword}{new} \textcolor{keywordtype}{float}[stop\_size];} -\DoxyCodeLine{592 \textcolor{keywordflow}{if} (gradient-\/>\mbox{\hyperlink{classGradient_adb86ee7c9171cb7294d1bb8956e97891}{getClass}}() == \textcolor{stringliteral}{"{}LinearGradient"{}}) \{} -\DoxyCodeLine{593 \textcolor{keywordflow}{if} (gradient-\/>\mbox{\hyperlink{classGradient_a54cc5770c2dce46f1d56bcfb63285173}{getUnits}}() == \textcolor{stringliteral}{"{}objectBoundingBox"{}}) \{} -\DoxyCodeLine{594 points.first.x = bound.X;} -\DoxyCodeLine{595 points.first.y = bound.Y;} -\DoxyCodeLine{596 points.second.x = bound.X + bound.Width;} -\DoxyCodeLine{597 points.second.y = bound.Y + bound.Height;} -\DoxyCodeLine{598 \}} -\DoxyCodeLine{599 offsets[0] = 0;} -\DoxyCodeLine{600 offsets[stop\_size -\/ 1] = 1;} -\DoxyCodeLine{601 colors[0] =} -\DoxyCodeLine{602 Gdiplus::Color(stops[0].getColor().a, stops[0].getColor().r,} -\DoxyCodeLine{603 stops[0].getColor().g, stops[0].getColor().b);} -\DoxyCodeLine{604 colors[stop\_size -\/ 1] =} -\DoxyCodeLine{605 Gdiplus::Color(stops[stop\_size -\/ 3].getColor().a,} -\DoxyCodeLine{606 stops[stop\_size -\/ 3].getColor().r,} -\DoxyCodeLine{607 stops[stop\_size -\/ 3].getColor().g,} -\DoxyCodeLine{608 stops[stop\_size -\/ 3].getColor().b);} -\DoxyCodeLine{609 \textcolor{keywordflow}{for} (\textcolor{keywordtype}{size\_t} i = 1; i < stop\_size -\/ 1; ++i) \{} -\DoxyCodeLine{610 colors[i] = Gdiplus::Color(} -\DoxyCodeLine{611 stops[i -\/ 1].getColor().a, stops[i -\/ 1].getColor().r,} -\DoxyCodeLine{612 stops[i -\/ 1].getColor().g, stops[i -\/ 1].getColor().b);} -\DoxyCodeLine{613 offsets[i] = stops[i -\/ 1].getOffset();} -\DoxyCodeLine{614 \}} -\DoxyCodeLine{615 Gdiplus::LinearGradientBrush* fill =} -\DoxyCodeLine{616 \textcolor{keyword}{new} Gdiplus::LinearGradientBrush(} -\DoxyCodeLine{617 Gdiplus::PointF(points.first.x, points.first.y),} -\DoxyCodeLine{618 Gdiplus::PointF(points.second.x, points.second.y),} -\DoxyCodeLine{619 colors[0], colors[stop\_size -\/ 1]);} -\DoxyCodeLine{620 fill-\/>SetWrapMode(Gdiplus::WrapModeTileFlipX);} -\DoxyCodeLine{621 fill-\/>SetInterpolationColors(colors, offsets, stop\_size);} -\DoxyCodeLine{622 \mbox{\hyperlink{classRenderer_a33a87db2173a7509be2d60fcffff9058}{applyTransformsOnBrush}}(gradient-\/>\mbox{\hyperlink{classGradient_adf0e8b360f2b8e6edc1059002f85b1c1}{getTransforms}}(), fill);} -\DoxyCodeLine{623 \textcolor{keyword}{delete}[] colors;} -\DoxyCodeLine{624 \textcolor{keyword}{delete}[] offsets;} -\DoxyCodeLine{625 \textcolor{keywordflow}{return} fill;} -\DoxyCodeLine{626 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (gradient-\/>\mbox{\hyperlink{classGradient_adb86ee7c9171cb7294d1bb8956e97891}{getClass}}() == \textcolor{stringliteral}{"{}RadialGradient"{}}) \{} -\DoxyCodeLine{627 \mbox{\hyperlink{classRadialGradient}{RadialGradient}}* radial\_gradient =} -\DoxyCodeLine{628 \textcolor{keyword}{dynamic\_cast<} \mbox{\hyperlink{classRadialGradient}{RadialGradient}}* \textcolor{keyword}{>}(gradient);} -\DoxyCodeLine{629 \mbox{\hyperlink{classVector2D}{Vector2Df}} radius = radial\_gradient-\/>\mbox{\hyperlink{classRadialGradient_acfa8223581f3caf2db33c310cfa48d1d}{getRadius}}();} -\DoxyCodeLine{630 \textcolor{keywordflow}{if} (gradient-\/>\mbox{\hyperlink{classGradient_a54cc5770c2dce46f1d56bcfb63285173}{getUnits}}() == \textcolor{stringliteral}{"{}userSpaceOnUse"{}}) \{} -\DoxyCodeLine{631 bound.X = points.first.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\/ radius.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}};} -\DoxyCodeLine{632 bound.Y = points.first.y -\/ radius.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}};} -\DoxyCodeLine{633 bound.Width = radius.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} * 2;} -\DoxyCodeLine{634 bound.Height = radius.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} * 2;} -\DoxyCodeLine{635 \}} -\DoxyCodeLine{636 Gdiplus::GraphicsPath path;} -\DoxyCodeLine{637 path.AddEllipse(bound);} -\DoxyCodeLine{638 Gdiplus::PathGradientBrush* fill =} -\DoxyCodeLine{639 \textcolor{keyword}{new} Gdiplus::PathGradientBrush(\&path);} -\DoxyCodeLine{640 offsets[0] = 0;} -\DoxyCodeLine{641 offsets[stop\_size -\/ 1] = 1;} -\DoxyCodeLine{642 colors[0] = Gdiplus::Color(stops[stop\_size -\/ 3].getColor().a,} -\DoxyCodeLine{643 stops[stop\_size -\/ 3].getColor().r,} -\DoxyCodeLine{644 stops[stop\_size -\/ 3].getColor().g,} -\DoxyCodeLine{645 stops[stop\_size -\/ 3].getColor().b);} -\DoxyCodeLine{646 colors[stop\_size -\/ 1] =} -\DoxyCodeLine{647 Gdiplus::Color(stops[0].getColor().a, stops[0].getColor().r,} -\DoxyCodeLine{648 stops[0].getColor().g, stops[0].getColor().b);} -\DoxyCodeLine{649 } -\DoxyCodeLine{650 \textcolor{keywordflow}{for} (\textcolor{keywordtype}{size\_t} i = 1; i < stop\_size -\/ 1; ++i) \{} -\DoxyCodeLine{651 colors[i] =} -\DoxyCodeLine{652 Gdiplus::Color(stops[stop\_size -\/ 2 -\/ i].getColor().a,} -\DoxyCodeLine{653 stops[stop\_size -\/ 2 -\/ i].getColor().r,} -\DoxyCodeLine{654 stops[stop\_size -\/ 2 -\/ i].getColor().g,} -\DoxyCodeLine{655 stops[stop\_size -\/ 2 -\/ i].getColor().b);} -\DoxyCodeLine{656 offsets[i] = 1 -\/ stops[stop\_size -\/ 2 -\/ i].getOffset();} -\DoxyCodeLine{657 \}} -\DoxyCodeLine{658 fill-\/>SetInterpolationColors(colors, offsets, stop\_size);} -\DoxyCodeLine{659 \mbox{\hyperlink{classRenderer_a33a87db2173a7509be2d60fcffff9058}{applyTransformsOnBrush}}(gradient-\/>\mbox{\hyperlink{classGradient_adf0e8b360f2b8e6edc1059002f85b1c1}{getTransforms}}(), fill);} -\DoxyCodeLine{660 \textcolor{keyword}{delete}[] colors;} -\DoxyCodeLine{661 \textcolor{keyword}{delete}[] offsets;} -\DoxyCodeLine{662 \textcolor{keywordflow}{return} fill;} -\DoxyCodeLine{663 \}} -\DoxyCodeLine{664 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{665 \mbox{\hyperlink{classmColor}{mColor}} color = shape-\/>\mbox{\hyperlink{classSVGElement_abb012cad5d6e9ee7a413f46042f99429}{getFillColor}}();} -\DoxyCodeLine{666 Gdiplus::SolidBrush* fill = \textcolor{keyword}{new} Gdiplus::SolidBrush(} -\DoxyCodeLine{667 Gdiplus::Color(color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}));} -\DoxyCodeLine{668 \textcolor{keywordflow}{return} fill;} -\DoxyCodeLine{669 \}} -\DoxyCodeLine{670 \textcolor{keywordflow}{return} \textcolor{keyword}{nullptr};} -\DoxyCodeLine{671 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classRenderer_ac1bf10ff8b4f967f0d416a26d482abd6}\label{classRenderer_ac1bf10ff8b4f967f0d416a26d482abd6}} -\index{Renderer@{Renderer}!getInstance@{getInstance}} -\index{getInstance@{getInstance}!Renderer@{Renderer}} -\doxysubsubsection{\texorpdfstring{getInstance()}{getInstance()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classRenderer}{Renderer}} $\ast$ Renderer\+::get\+Instance (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} - - - -Gets the singleton instance of the \mbox{\hyperlink{classRenderer}{Renderer}} class. - -\begin{DoxyReturn}{Returns} -The singleton instance of the \mbox{\hyperlink{classRenderer}{Renderer}} class. -\end{DoxyReturn} - - -Definition at line 11 of file Renderer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{11 \{} -\DoxyCodeLine{12 \textcolor{keywordflow}{if} (\mbox{\hyperlink{classRenderer_a7431a2f9b03f35752e034410ffebfbe1}{instance}} == \textcolor{keyword}{nullptr}) \{} -\DoxyCodeLine{13 \mbox{\hyperlink{classRenderer_a7431a2f9b03f35752e034410ffebfbe1}{instance}} = \textcolor{keyword}{new} \mbox{\hyperlink{classRenderer_a7ebf46f54dab9905f79b80f7fddb76a6}{Renderer}}();} -\DoxyCodeLine{14 \}} -\DoxyCodeLine{15 \textcolor{keywordflow}{return} \mbox{\hyperlink{classRenderer_a7431a2f9b03f35752e034410ffebfbe1}{instance}};} -\DoxyCodeLine{16 \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/Renderer.\+hpp\item -src/Renderer.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classRenderer__coll__graph.md5 b/latex/classRenderer__coll__graph.md5 deleted file mode 100644 index da29490..0000000 --- a/latex/classRenderer__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -07b5395fd6ee1baaabc56f5fbe82412f \ No newline at end of file diff --git a/latex/classRenderer__coll__graph.pdf b/latex/classRenderer__coll__graph.pdf deleted file mode 100644 index 7f977f8..0000000 Binary files a/latex/classRenderer__coll__graph.pdf and /dev/null differ diff --git a/latex/classSVGElement.tex b/latex/classSVGElement.tex deleted file mode 100644 index 64e9549..0000000 --- a/latex/classSVGElement.tex +++ /dev/null @@ -1,792 +0,0 @@ -\hypertarget{classSVGElement}{}\doxysection{SVGElement Class Reference} -\label{classSVGElement}\index{SVGElement@{SVGElement}} - - -Represents an element in an SVG file. - - - - -{\ttfamily \#include $<$SVGElement.\+hpp$>$} - - - -Inheritance diagram for SVGElement\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{classSVGElement__inherit__graph} -\end{center} -\end{figure} - - -Collaboration diagram for SVGElement\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{classSVGElement__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classSVGElement_a5087280fd4bbb637c3cde64e44e974f1}\label{classSVGElement_a5087280fd4bbb637c3cde64e44e974f1}} -virtual \mbox{\hyperlink{classSVGElement_a5087280fd4bbb637c3cde64e44e974f1}{$\sim$\+SVGElement}} ()=default -\begin{DoxyCompactList}\small\item\em Virtual constructor. \end{DoxyCompactList}\item -virtual std\+::string \mbox{\hyperlink{classSVGElement_adc98ebac66965dd303283cbf7ff28f38}{get\+Class}} () const =0 -\begin{DoxyCompactList}\small\item\em Gets the type of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classSVGElement_abf7eef6d09fedba0d0f50a0f1a4be2fb}{set\+Fill\+Color}} (const \mbox{\hyperlink{classmColor}{m\+Color}} \&color) -\begin{DoxyCompactList}\small\item\em Sets the fill color of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classSVGElement_ac0cc2f6d2e01d364a695bebaa7db18d2}{set\+Outline\+Color}} (const \mbox{\hyperlink{classmColor}{m\+Color}} \&color) -\begin{DoxyCompactList}\small\item\em Sets the outline color of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classSVGElement_a88653ebe8b92ec881ab436ea968375a8}{set\+Outline\+Thickness}} (float thickness) -\begin{DoxyCompactList}\small\item\em Sets the outline thickness of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classSVGElement_a77aefe4b7e9dbf180cc531c969d0116d}{set\+Position}} (float x, float y) -\begin{DoxyCompactList}\small\item\em Sets the position of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classSVGElement_aec8a2f582f21a559c05d791e017efbd5}{set\+Position}} (const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&\mbox{\hyperlink{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}{position}}) -\begin{DoxyCompactList}\small\item\em Sets the position of the shape. \end{DoxyCompactList}\item -const \mbox{\hyperlink{classmColor}{m\+Color}} \& \mbox{\hyperlink{classSVGElement_abb012cad5d6e9ee7a413f46042f99429}{get\+Fill\+Color}} () const -\begin{DoxyCompactList}\small\item\em Gets the fill color of the shape. \end{DoxyCompactList}\item -const \mbox{\hyperlink{classmColor}{m\+Color}} \& \mbox{\hyperlink{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}{get\+Outline\+Color}} () const -\begin{DoxyCompactList}\small\item\em Gets the outline color of the shape. \end{DoxyCompactList}\item -float \mbox{\hyperlink{classSVGElement_a2e4b1a48bfbc34a6a9f17bfd4b89eb51}{get\+Outline\+Thickness}} () const -\begin{DoxyCompactList}\small\item\em Gets the outline thickness of the shape. \end{DoxyCompactList}\item -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{get\+Position}} () const -\begin{DoxyCompactList}\small\item\em Get the current position of the shape. \end{DoxyCompactList}\item -virtual \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classSVGElement_a0cce88c48233f4da470daad2edab0d06}{get\+Min\+Bound}} () const -\begin{DoxyCompactList}\small\item\em Gets the minimum bound of the shape. \end{DoxyCompactList}\item -virtual \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classSVGElement_a03ac231161d1d5062951fa3fca33a39b}{get\+Max\+Bound}} () const -\begin{DoxyCompactList}\small\item\em Gets the maximum bound of the shape. \end{DoxyCompactList}\item -virtual void \mbox{\hyperlink{classSVGElement_ad4bcd981ae7431161013811024b452e1}{print\+Data}} () const -\begin{DoxyCompactList}\small\item\em Prints the data of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classSVGElement_a00fef2ebc5df4838b3f9bd7111b117c5}{set\+Transforms}} (const std\+::vector$<$ std\+::string $>$ \&\mbox{\hyperlink{classSVGElement_aefeee5c1de3e802d9f5f0a54078170e6}{transforms}}) -\begin{DoxyCompactList}\small\item\em Sets the transformations of the shape. \end{DoxyCompactList}\item -std\+::vector$<$ std\+::string $>$ \mbox{\hyperlink{classSVGElement_a5f111964efd20e98eafafb3d168a1e87}{get\+Transforms}} () const -\begin{DoxyCompactList}\small\item\em Gets the transformations of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classSVGElement_a43b3bf06fae88a1634a189272088d11d}{set\+Parent}} (\mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$\mbox{\hyperlink{classSVGElement_adee748c3014de1c1ebd20411a52e824a}{parent}}) -\begin{DoxyCompactList}\small\item\em Parent pointer setter to make the composite design pattern. \end{DoxyCompactList}\item -\mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$ \mbox{\hyperlink{classSVGElement_a1b075314d4cda4fa895688979fe462fd}{get\+Parent}} () const -\begin{DoxyCompactList}\small\item\em Parent pointer getter. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classSVGElement_a312b6aa934488672585c7e9d858300f8}{set\+Gradient}} (\mbox{\hyperlink{classGradient}{Gradient}} $\ast$\mbox{\hyperlink{classSVGElement_aab61149df9916892540627a0d7c4480c}{gradient}}) -\begin{DoxyCompactList}\small\item\em Sets the gradient of the shape. \end{DoxyCompactList}\item -\mbox{\hyperlink{classGradient}{Gradient}} $\ast$ \mbox{\hyperlink{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{get\+Gradient}} () const -\begin{DoxyCompactList}\small\item\em Gets the gradient of the shape. \end{DoxyCompactList}\item -virtual void \mbox{\hyperlink{classSVGElement_af699f9aa795572c2873e520849579881}{add\+Element}} (\mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$element) -\begin{DoxyCompactList}\small\item\em Adds a shape to the composite group. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Protected Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classSVGElement_ad30205005009d2ba4820d3ce372e81ea}{SVGElement}} () -\begin{DoxyCompactList}\small\item\em Constructs a Shape object. \end{DoxyCompactList}\item -\mbox{\hyperlink{classSVGElement_a1a43e7717c20d50fd1990b592499fdba}{SVGElement}} (const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, float \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\+\_\+width}}) -\begin{DoxyCompactList}\small\item\em Constructs a Shape object. \end{DoxyCompactList}\item -\mbox{\hyperlink{classSVGElement_a6ed48bcc78dd62e3da256ddbd103ccd1}{SVGElement}} (const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, float \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\+\_\+width}}, const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&\mbox{\hyperlink{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}{position}}) -\begin{DoxyCompactList}\small\item\em Constructs a Shape object. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Protected Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classSVGElement_adee748c3014de1c1ebd20411a52e824a}\label{classSVGElement_adee748c3014de1c1ebd20411a52e824a}} -\mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$ \mbox{\hyperlink{classSVGElement_adee748c3014de1c1ebd20411a52e824a}{parent}} -\begin{DoxyCompactList}\small\item\em Pointer to the group that contains the shape. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}\label{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}} -\mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}} -\begin{DoxyCompactList}\small\item\em Fill color. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}\label{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}} -\mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}} -\begin{DoxyCompactList}\small\item\em Outline color. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classSVGElement_a88449b487a890e3765ae20e96ee95c06}\label{classSVGElement_a88449b487a890e3765ae20e96ee95c06}} -float \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\+\_\+width}} -\begin{DoxyCompactList}\small\item\em Thickness of the shape\textquotesingle{}s outline. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}\label{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}} -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}{position}} -\begin{DoxyCompactList}\small\item\em Position of the shape. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classSVGElement_aefeee5c1de3e802d9f5f0a54078170e6}\label{classSVGElement_aefeee5c1de3e802d9f5f0a54078170e6}} -std\+::vector$<$ std\+::string $>$ \mbox{\hyperlink{classSVGElement_aefeee5c1de3e802d9f5f0a54078170e6}{transforms}} -\begin{DoxyCompactList}\small\item\em List of transformations. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classSVGElement_aab61149df9916892540627a0d7c4480c}\label{classSVGElement_aab61149df9916892540627a0d7c4480c}} -\mbox{\hyperlink{classGradient}{Gradient}} $\ast$ \mbox{\hyperlink{classSVGElement_aab61149df9916892540627a0d7c4480c}{gradient}} -\begin{DoxyCompactList}\small\item\em Pointer to the gradient that contains the shape. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\doxysubsection{Detailed Description} -Represents an element in an SVG file. - -\begin{DoxyNote}{Note} -This class is abstract and cannot be instantiated. - -This class is applied Abstract Factory design pattern and used as interface for other shapes. - -This class is applied Composite design pattern and used as base class for other shapes. -\end{DoxyNote} - - -Definition at line 18 of file SVGElement.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classSVGElement_ad30205005009d2ba4820d3ce372e81ea}\label{classSVGElement_ad30205005009d2ba4820d3ce372e81ea}} -\index{SVGElement@{SVGElement}!SVGElement@{SVGElement}} -\index{SVGElement@{SVGElement}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{SVGElement()}{SVGElement()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} -{\footnotesize\ttfamily SVGElement\+::\+SVGElement (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} - - - -Constructs a Shape object. - -\begin{DoxyNote}{Note} -This constructor is protected because Shape is an abstract class that cannot be instantiated. -\end{DoxyNote} - - -Definition at line 5 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{6 : \mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}(\mbox{\hyperlink{classmColor_aa3910d2b82d32c8aa4e50127874a6d03}{mColor::Black}}), \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}(\mbox{\hyperlink{classmColor_ac4f0afaa513bbe9e68c16156136d4ada}{mColor::Transparent}}), \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}}(1),} -\DoxyCodeLine{7 \mbox{\hyperlink{classSVGElement_aab61149df9916892540627a0d7c4480c}{gradient}}(NULL) \{\}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a1a43e7717c20d50fd1990b592499fdba}\label{classSVGElement_a1a43e7717c20d50fd1990b592499fdba}} -\index{SVGElement@{SVGElement}!SVGElement@{SVGElement}} -\index{SVGElement@{SVGElement}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{SVGElement()}{SVGElement()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} -{\footnotesize\ttfamily SVGElement\+::\+SVGElement (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{fill, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} - - - -Constructs a Shape object. - - -\begin{DoxyParams}{Parameters} -{\em fill} & The fill color of the shape \\ -\hline -{\em stroke} & The outline color of the shape \\ -\hline -{\em stroke\+\_\+width} & The outline thickness of the shape \\ -\hline -\end{DoxyParams} -\begin{DoxyNote}{Note} -This constructor is protected because Shape is an abstract class that cannot be instantiated. -\end{DoxyNote} - - -Definition at line 9 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{11 : \mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}(\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}), \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}(\mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}), \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}}(\mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}}), \mbox{\hyperlink{classSVGElement_aab61149df9916892540627a0d7c4480c}{gradient}}(NULL) \{\}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a6ed48bcc78dd62e3da256ddbd103ccd1}\label{classSVGElement_a6ed48bcc78dd62e3da256ddbd103ccd1}} -\index{SVGElement@{SVGElement}!SVGElement@{SVGElement}} -\index{SVGElement@{SVGElement}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{SVGElement()}{SVGElement()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} -{\footnotesize\ttfamily SVGElement\+::\+SVGElement (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{fill, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke, }\item[{float}]{stroke\+\_\+width, }\item[{const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&}]{position }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} - - - -Constructs a Shape object. - - -\begin{DoxyParams}{Parameters} -{\em fill} & The fill color of the shape \\ -\hline -{\em stroke} & The outline color of the shape \\ -\hline -{\em stroke\+\_\+width} & The outline thickness of the shape \\ -\hline -{\em position} & The position of the shape \\ -\hline -\end{DoxyParams} -\begin{DoxyNote}{Note} -This constructor is protected because Shape is an abstract class that cannot be instantiated. -\end{DoxyNote} - - -Definition at line 13 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{15 : \mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}(\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}), \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}(\mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}), \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}}(\mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}}),} -\DoxyCodeLine{16 \mbox{\hyperlink{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}{position}}(\mbox{\hyperlink{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}{position}}), \mbox{\hyperlink{classSVGElement_aab61149df9916892540627a0d7c4480c}{gradient}}(NULL) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classSVGElement_af699f9aa795572c2873e520849579881}\label{classSVGElement_af699f9aa795572c2873e520849579881}} -\index{SVGElement@{SVGElement}!addElement@{addElement}} -\index{addElement@{addElement}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{addElement()}{addElement()}} -{\footnotesize\ttfamily void SVGElement\+::add\+Element (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$}]{element }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} - - - -Adds a shape to the composite group. - - -\begin{DoxyParams}{Parameters} -{\em element} & The shape to be added to the composite group. \\ -\hline -\end{DoxyParams} -\begin{DoxyNote}{Note} -This function is used for composite design pattern - -This function is virtual and can be overridden by derived classes. -\end{DoxyNote} - - -Reimplemented in \mbox{\hyperlink{classGroup_af4dafed0506ca5e9ea9e1028b1504919}{Group}}. - - - -Definition at line 83 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{83 \{\}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_adc98ebac66965dd303283cbf7ff28f38}\label{classSVGElement_adc98ebac66965dd303283cbf7ff28f38}} -\index{SVGElement@{SVGElement}!getClass@{getClass}} -\index{getClass@{getClass}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{getClass()}{getClass()}} -{\footnotesize\ttfamily virtual std\+::string SVGElement\+::get\+Class (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}} - - - -Gets the type of the shape. - -\begin{DoxyReturn}{Returns} -The type of the shape -\end{DoxyReturn} -\begin{DoxyNote}{Note} -This function is used for determining the type of the shape. - -This function is pure virtual and must be implemented by derived classes. -\end{DoxyNote} - - -Implemented in \mbox{\hyperlink{classText_a405fac6f66711e0063e18e9e211e3a62}{Text}}, \mbox{\hyperlink{classRect_a4f6ba1c3eef4054847a89da472f392cd}{Rect}}, \mbox{\hyperlink{classPlyline_a5b9d86c75604d329037cd47e8ba3d5b9}{Plyline}}, \mbox{\hyperlink{classPlygon_aab00a0d0230ea320271e96c326c6b919}{Plygon}}, \mbox{\hyperlink{classPath_ac99ffb44f19586a10ee39aa70fd4a260}{Path}}, \mbox{\hyperlink{classLine_a745f295541d412b49dac89423bd957a6}{Line}}, \mbox{\hyperlink{classGroup_a070e010084eaac6131e1bf814d10d234}{Group}}, \mbox{\hyperlink{classEll_a0d0a2a70c06878c5769bd7d092277892}{Ell}}, \mbox{\hyperlink{classCircle_a09523e46318092d42a5969a1da5613bb}{Circle}}, and \mbox{\hyperlink{classPolyShape_afc263d5407ca7ea50e30d641d779b73b}{Poly\+Shape}}. - -\mbox{\Hypertarget{classSVGElement_abb012cad5d6e9ee7a413f46042f99429}\label{classSVGElement_abb012cad5d6e9ee7a413f46042f99429}} -\index{SVGElement@{SVGElement}!getFillColor@{getFillColor}} -\index{getFillColor@{getFillColor}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{getFillColor()}{getFillColor()}} -{\footnotesize\ttfamily const \mbox{\hyperlink{classmColor}{m\+Color}} \& SVGElement\+::get\+Fill\+Color (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the fill color of the shape. - -\begin{DoxyReturn}{Returns} -The fill color of the shape. -\end{DoxyReturn} -\begin{DoxyNote}{Note} -The default fill color is white. -\end{DoxyNote} - - -Definition at line 20 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{20 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}\label{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}} -\index{SVGElement@{SVGElement}!getGradient@{getGradient}} -\index{getGradient@{getGradient}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{getGradient()}{getGradient()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classGradient}{Gradient}} $\ast$ SVGElement\+::get\+Gradient (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the gradient of the shape. - -\begin{DoxyReturn}{Returns} -The gradient of the shape. -\end{DoxyReturn} -\begin{DoxyNote}{Note} -The default gradient of the shape is NULL. -\end{DoxyNote} - - -Definition at line 81 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{81 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classSVGElement_aab61149df9916892540627a0d7c4480c}{gradient}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a03ac231161d1d5062951fa3fca33a39b}\label{classSVGElement_a03ac231161d1d5062951fa3fca33a39b}} -\index{SVGElement@{SVGElement}!getMaxBound@{getMaxBound}} -\index{getMaxBound@{getMaxBound}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{getMaxBound()}{getMaxBound()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classVector2D}{Vector2\+Df}} SVGElement\+::get\+Max\+Bound (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}} - - - -Gets the maximum bound of the shape. - -\begin{DoxyReturn}{Returns} -The maximum bound of the shape. -\end{DoxyReturn} - - -Reimplemented in \mbox{\hyperlink{classPolyShape_a6ddda72dc27d7aade0ed444a52d7689f}{Poly\+Shape}}, and \mbox{\hyperlink{classEll_a8a8dd2acc8c7be5580dd8e549d247525}{Ell}}. - - - -Definition at line 45 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{45 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classVector2D}{Vector2Df}}(); \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a0cce88c48233f4da470daad2edab0d06}\label{classSVGElement_a0cce88c48233f4da470daad2edab0d06}} -\index{SVGElement@{SVGElement}!getMinBound@{getMinBound}} -\index{getMinBound@{getMinBound}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{getMinBound()}{getMinBound()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classVector2D}{Vector2\+Df}} SVGElement\+::get\+Min\+Bound (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}} - - - -Gets the minimum bound of the shape. - -\begin{DoxyReturn}{Returns} -The minimum bound of the shape. -\end{DoxyReturn} - - -Reimplemented in \mbox{\hyperlink{classPolyShape_a0ad83e0129196572f99302830e0c9049}{Poly\+Shape}}, and \mbox{\hyperlink{classEll_ab79368df57ee08382916fc52b69afb85}{Ell}}. - - - -Definition at line 43 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{43 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classVector2D}{Vector2Df}}(); \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}\label{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}} -\index{SVGElement@{SVGElement}!getOutlineColor@{getOutlineColor}} -\index{getOutlineColor@{getOutlineColor}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{getOutlineColor()}{getOutlineColor()}} -{\footnotesize\ttfamily const \mbox{\hyperlink{classmColor}{m\+Color}} \& SVGElement\+::get\+Outline\+Color (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the outline color of the shape. - -\begin{DoxyReturn}{Returns} -The outline color of the shape. -\end{DoxyReturn} -\begin{DoxyNote}{Note} -The default outline color is white. -\end{DoxyNote} - - -Definition at line 24 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{24 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a2e4b1a48bfbc34a6a9f17bfd4b89eb51}\label{classSVGElement_a2e4b1a48bfbc34a6a9f17bfd4b89eb51}} -\index{SVGElement@{SVGElement}!getOutlineThickness@{getOutlineThickness}} -\index{getOutlineThickness@{getOutlineThickness}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{getOutlineThickness()}{getOutlineThickness()}} -{\footnotesize\ttfamily float SVGElement\+::get\+Outline\+Thickness (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the outline thickness of the shape. - -\begin{DoxyReturn}{Returns} -The outline thickness of the shape. -\end{DoxyReturn} -\begin{DoxyNote}{Note} -The default outline thickness is 0. -\end{DoxyNote} - - -Definition at line 30 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{30 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a1b075314d4cda4fa895688979fe462fd}\label{classSVGElement_a1b075314d4cda4fa895688979fe462fd}} -\index{SVGElement@{SVGElement}!getParent@{getParent}} -\index{getParent@{getParent}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{getParent()}{getParent()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$ SVGElement\+::get\+Parent (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Parent pointer getter. - -\begin{DoxyReturn}{Returns} -The parent pointer -\end{DoxyReturn} -\begin{DoxyNote}{Note} -This function is used for composite design pattern -\end{DoxyNote} - - -Definition at line 77 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{77 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classSVGElement_adee748c3014de1c1ebd20411a52e824a}{parent}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}\label{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}} -\index{SVGElement@{SVGElement}!getPosition@{getPosition}} -\index{getPosition@{getPosition}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{getPosition()}{getPosition()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classVector2D}{Vector2\+Df}} SVGElement\+::get\+Position (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Get the current position of the shape. - -\begin{DoxyReturn}{Returns} -The current position of the shape -\end{DoxyReturn} -\begin{DoxyNote}{Note} -The default position of the shape is (0, 0). -\end{DoxyNote} - - -Definition at line 41 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{41 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}{position}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a5f111964efd20e98eafafb3d168a1e87}\label{classSVGElement_a5f111964efd20e98eafafb3d168a1e87}} -\index{SVGElement@{SVGElement}!getTransforms@{getTransforms}} -\index{getTransforms@{getTransforms}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{getTransforms()}{getTransforms()}} -{\footnotesize\ttfamily std\+::vector$<$ std\+::string $>$ SVGElement\+::get\+Transforms (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the transformations of the shape. - -\begin{DoxyReturn}{Returns} -The transformations of the shape. -\end{DoxyReturn} -\begin{DoxyNote}{Note} -The default transformations of the shape is empty. - -The transformations can be either \char`\"{}translate\char`\"{}, \char`\"{}rotate\char`\"{}, \char`\"{}scale\char`\"{}, -\end{DoxyNote} - - -Definition at line 71 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{71 \{} -\DoxyCodeLine{72 \textcolor{keywordflow}{return} \mbox{\hyperlink{classSVGElement_aefeee5c1de3e802d9f5f0a54078170e6}{transforms}};} -\DoxyCodeLine{73 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_ad4bcd981ae7431161013811024b452e1}\label{classSVGElement_ad4bcd981ae7431161013811024b452e1}} -\index{SVGElement@{SVGElement}!printData@{printData}} -\index{printData@{printData}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{printData()}{printData()}} -{\footnotesize\ttfamily void SVGElement\+::print\+Data (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}} - - - -Prints the data of the shape. - -\begin{DoxyNote}{Note} -This function is used for debugging purposes. - -This function is virtual and can be overridden by derived classes. -\end{DoxyNote} - - -Reimplemented in \mbox{\hyperlink{classText_a40e38d59ba9b34df9900375409f6f03f}{Text}}, \mbox{\hyperlink{classRect_a66351fe7a171c2b3ed5f4bdf8d6661ba}{Rect}}, \mbox{\hyperlink{classPolyShape_a40a83ac567156de6da65adb1a4380c7c}{Poly\+Shape}}, \mbox{\hyperlink{classPath_a3d2df8f3367db525772586065e16151e}{Path}}, \mbox{\hyperlink{classGroup_a42fa18c4215ad3669db32b78e22303fa}{Group}}, and \mbox{\hyperlink{classEll_a1d6d60039d2405f2b7aa117206d128fb}{Ell}}. - - - -Definition at line 47 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{47 \{} -\DoxyCodeLine{48 std::cout << \textcolor{stringliteral}{"{}Shape: "{}} << \mbox{\hyperlink{classSVGElement_adc98ebac66965dd303283cbf7ff28f38}{getClass}}() << std::endl;} -\DoxyCodeLine{49 std::cout << \textcolor{stringliteral}{"{}Fill: "{}} << \mbox{\hyperlink{classSVGElement_abb012cad5d6e9ee7a413f46042f99429}{getFillColor}}() << std::endl;} -\DoxyCodeLine{50 std::cout << \textcolor{stringliteral}{"{}Stroke: "{}} << \mbox{\hyperlink{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}{getOutlineColor}}() << std::endl;} -\DoxyCodeLine{51 std::cout << \textcolor{stringliteral}{"{}Stroke width: "{}} << \mbox{\hyperlink{classSVGElement_a2e4b1a48bfbc34a6a9f17bfd4b89eb51}{getOutlineThickness}}() << std::endl;} -\DoxyCodeLine{52 std::cout << \textcolor{stringliteral}{"{}Position: "{}} << \mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} << \textcolor{stringliteral}{"{} "{}} << \mbox{\hyperlink{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{getPosition}}().\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}} -\DoxyCodeLine{53 << std::endl;} -\DoxyCodeLine{54 std::cout << \textcolor{stringliteral}{"{}Transforms: "{}};} -\DoxyCodeLine{55 \textcolor{keywordflow}{for} (\textcolor{keyword}{auto} transform : \mbox{\hyperlink{classSVGElement_aefeee5c1de3e802d9f5f0a54078170e6}{transforms}}) \{} -\DoxyCodeLine{56 std::cout << transform << \textcolor{stringliteral}{"{} "{}};} -\DoxyCodeLine{57 \}} -\DoxyCodeLine{58 std::cout << std::endl;} -\DoxyCodeLine{59 \textcolor{keywordflow}{if} (\mbox{\hyperlink{classSVGElement_aab61149df9916892540627a0d7c4480c}{gradient}} != NULL)} -\DoxyCodeLine{60 std::cout << \textcolor{stringliteral}{"{}Gradient: "{}} << \mbox{\hyperlink{classSVGElement_aab61149df9916892540627a0d7c4480c}{gradient}}-\/>\mbox{\hyperlink{classGradient_adb86ee7c9171cb7294d1bb8956e97891}{getClass}}() << \textcolor{stringliteral}{"{} "{}}} -\DoxyCodeLine{61 << \mbox{\hyperlink{classSVGElement_aab61149df9916892540627a0d7c4480c}{gradient}}-\/>\mbox{\hyperlink{classGradient_aced479d6a10d2aa53e6d363e1df5dc08}{getPoints}}().first.x << \textcolor{stringliteral}{"{} "{}}} -\DoxyCodeLine{62 << \mbox{\hyperlink{classSVGElement_aab61149df9916892540627a0d7c4480c}{gradient}}-\/>\mbox{\hyperlink{classGradient_aced479d6a10d2aa53e6d363e1df5dc08}{getPoints}}().first.y << \textcolor{stringliteral}{"{} "{}}} -\DoxyCodeLine{63 << \mbox{\hyperlink{classSVGElement_aab61149df9916892540627a0d7c4480c}{gradient}}-\/>\mbox{\hyperlink{classGradient_aced479d6a10d2aa53e6d363e1df5dc08}{getPoints}}().second.x << \textcolor{stringliteral}{"{} "{}}} -\DoxyCodeLine{64 << \mbox{\hyperlink{classSVGElement_aab61149df9916892540627a0d7c4480c}{gradient}}-\/>\mbox{\hyperlink{classGradient_aced479d6a10d2aa53e6d363e1df5dc08}{getPoints}}().second.y << std::endl;} -\DoxyCodeLine{65 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_abf7eef6d09fedba0d0f50a0f1a4be2fb}\label{classSVGElement_abf7eef6d09fedba0d0f50a0f1a4be2fb}} -\index{SVGElement@{SVGElement}!setFillColor@{setFillColor}} -\index{setFillColor@{setFillColor}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{setFillColor()}{setFillColor()}} -{\footnotesize\ttfamily void SVGElement\+::set\+Fill\+Color (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{color }\end{DoxyParamCaption})} - - - -Sets the fill color of the shape. - - -\begin{DoxyParams}{Parameters} -{\em color} & The new fill color of the shape. \\ -\hline -\end{DoxyParams} - - -Definition at line 18 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{18 \{ \mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}} = color; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a312b6aa934488672585c7e9d858300f8}\label{classSVGElement_a312b6aa934488672585c7e9d858300f8}} -\index{SVGElement@{SVGElement}!setGradient@{setGradient}} -\index{setGradient@{setGradient}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{setGradient()}{setGradient()}} -{\footnotesize\ttfamily void SVGElement\+::set\+Gradient (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classGradient}{Gradient}} $\ast$}]{gradient }\end{DoxyParamCaption})} - - - -Sets the gradient of the shape. - - -\begin{DoxyParams}{Parameters} -{\em gradient} & The new gradient of the shape. \\ -\hline -\end{DoxyParams} -\begin{DoxyNote}{Note} -The default gradient of the shape is NULL. -\end{DoxyNote} - - -Definition at line 79 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{79 \{ this-\/>gradient = \mbox{\hyperlink{classSVGElement_aab61149df9916892540627a0d7c4480c}{gradient}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_ac0cc2f6d2e01d364a695bebaa7db18d2}\label{classSVGElement_ac0cc2f6d2e01d364a695bebaa7db18d2}} -\index{SVGElement@{SVGElement}!setOutlineColor@{setOutlineColor}} -\index{setOutlineColor@{setOutlineColor}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{setOutlineColor()}{setOutlineColor()}} -{\footnotesize\ttfamily void SVGElement\+::set\+Outline\+Color (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{color }\end{DoxyParamCaption})} - - - -Sets the outline color of the shape. - - -\begin{DoxyParams}{Parameters} -{\em color} & The new outline color of the shape. \\ -\hline -\end{DoxyParams} - - -Definition at line 22 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{22 \{ \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}} = color; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a88653ebe8b92ec881ab436ea968375a8}\label{classSVGElement_a88653ebe8b92ec881ab436ea968375a8}} -\index{SVGElement@{SVGElement}!setOutlineThickness@{setOutlineThickness}} -\index{setOutlineThickness@{setOutlineThickness}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{setOutlineThickness()}{setOutlineThickness()}} -{\footnotesize\ttfamily void SVGElement\+::set\+Outline\+Thickness (\begin{DoxyParamCaption}\item[{float}]{thickness }\end{DoxyParamCaption})} - - - -Sets the outline thickness of the shape. - - -\begin{DoxyParams}{Parameters} -{\em thickness} & The new outline thickness of the shape. \\ -\hline -\end{DoxyParams} -\begin{DoxyNote}{Note} -If the thickness is negative, the outline will be inside the shape. If the thickness is positive, the outline will be outside the shape. If the thickness is zero, no outline will be drawn. - -The default outline thickness is 0. - -The outline thickness cannot be greater than the radius of the shape. -\end{DoxyNote} - - -Definition at line 26 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{26 \{} -\DoxyCodeLine{27 \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}} = thickness;} -\DoxyCodeLine{28 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a43b3bf06fae88a1634a189272088d11d}\label{classSVGElement_a43b3bf06fae88a1634a189272088d11d}} -\index{SVGElement@{SVGElement}!setParent@{setParent}} -\index{setParent@{setParent}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{setParent()}{setParent()}} -{\footnotesize\ttfamily void SVGElement\+::set\+Parent (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classSVGElement}{SVGElement}} $\ast$}]{parent }\end{DoxyParamCaption})} - - - -Parent pointer setter to make the composite design pattern. - - -\begin{DoxyParams}{Parameters} -{\em parent} & The parent pointer \\ -\hline -\end{DoxyParams} -\begin{DoxyNote}{Note} -This function is used for composite design pattern -\end{DoxyNote} - - -Definition at line 75 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{75 \{ this-\/>parent = \mbox{\hyperlink{classSVGElement_adee748c3014de1c1ebd20411a52e824a}{parent}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_aec8a2f582f21a559c05d791e017efbd5}\label{classSVGElement_aec8a2f582f21a559c05d791e017efbd5}} -\index{SVGElement@{SVGElement}!setPosition@{setPosition}} -\index{setPosition@{setPosition}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{setPosition()}{setPosition()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} -{\footnotesize\ttfamily void SVGElement\+::set\+Position (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classVector2D}{Vector2\+Df}} \&}]{position }\end{DoxyParamCaption})} - - - -Sets the position of the shape. - - -\begin{DoxyParams}{Parameters} -{\em position} & The new position of the shape (Vector2f is a typedef of coordination vector) \\ -\hline -\end{DoxyParams} -\begin{DoxyNote}{Note} -The default position of the shape is (0, 0). - -The position of the shape is relative to its origin. -\end{DoxyNote} - - -Definition at line 37 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{37 \{} -\DoxyCodeLine{38 \mbox{\hyperlink{classSVGElement_a77aefe4b7e9dbf180cc531c969d0116d}{setPosition}}(\mbox{\hyperlink{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}{position}}.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}, \mbox{\hyperlink{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}{position}}.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}});} -\DoxyCodeLine{39 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a77aefe4b7e9dbf180cc531c969d0116d}\label{classSVGElement_a77aefe4b7e9dbf180cc531c969d0116d}} -\index{SVGElement@{SVGElement}!setPosition@{setPosition}} -\index{setPosition@{setPosition}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{setPosition()}{setPosition()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} -{\footnotesize\ttfamily void SVGElement\+::set\+Position (\begin{DoxyParamCaption}\item[{float}]{x, }\item[{float}]{y }\end{DoxyParamCaption})} - - - -Sets the position of the shape. - - -\begin{DoxyParams}{Parameters} -{\em x} & The x coordinate of the new position \\ -\hline -{\em y} & The y coordinate of the new position \\ -\hline -\end{DoxyParams} -\begin{DoxyNote}{Note} -The default position of the shape is (0, 0). - -The position of the shape is relative to its origin. -\end{DoxyNote} - - -Definition at line 32 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{32 \{} -\DoxyCodeLine{33 \mbox{\hyperlink{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}{position}}.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} = x;} -\DoxyCodeLine{34 \mbox{\hyperlink{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}{position}}.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} = y;} -\DoxyCodeLine{35 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classSVGElement_a00fef2ebc5df4838b3f9bd7111b117c5}\label{classSVGElement_a00fef2ebc5df4838b3f9bd7111b117c5}} -\index{SVGElement@{SVGElement}!setTransforms@{setTransforms}} -\index{setTransforms@{setTransforms}!SVGElement@{SVGElement}} -\doxysubsubsection{\texorpdfstring{setTransforms()}{setTransforms()}} -{\footnotesize\ttfamily void SVGElement\+::set\+Transforms (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ std\+::string $>$ \&}]{transforms }\end{DoxyParamCaption})} - - - -Sets the transformations of the shape. - - -\begin{DoxyParams}{Parameters} -{\em transforms} & The new transformations of the shape. \\ -\hline -\end{DoxyParams} -\begin{DoxyNote}{Note} -The default transformations of the shape is empty. - -The transformations can be either \char`\"{}translate\char`\"{}, \char`\"{}rotate\char`\"{}, \char`\"{}scale\char`\"{}, -\end{DoxyNote} - - -Definition at line 67 of file SVGElement.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{67 \{} -\DoxyCodeLine{68 this-\/>\mbox{\hyperlink{classSVGElement_aefeee5c1de3e802d9f5f0a54078170e6}{transforms}} = \mbox{\hyperlink{classSVGElement_aefeee5c1de3e802d9f5f0a54078170e6}{transforms}};} -\DoxyCodeLine{69 \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/SVGElement.\+hpp\item -src/graphics/SVGElement.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classSVGElement__coll__graph.md5 b/latex/classSVGElement__coll__graph.md5 deleted file mode 100644 index e90620e..0000000 --- a/latex/classSVGElement__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -35708d19baea8bfdbcc574039fddc56a \ No newline at end of file diff --git a/latex/classSVGElement__coll__graph.pdf b/latex/classSVGElement__coll__graph.pdf deleted file mode 100644 index 1d29771..0000000 Binary files a/latex/classSVGElement__coll__graph.pdf and /dev/null differ diff --git a/latex/classSVGElement__inherit__graph.md5 b/latex/classSVGElement__inherit__graph.md5 deleted file mode 100644 index 23ec47c..0000000 --- a/latex/classSVGElement__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -77a6f6c81003e702c1874cd5350fa26a \ No newline at end of file diff --git a/latex/classSVGElement__inherit__graph.pdf b/latex/classSVGElement__inherit__graph.pdf deleted file mode 100644 index 8a471cb..0000000 Binary files a/latex/classSVGElement__inherit__graph.pdf and /dev/null differ diff --git a/latex/classStop.tex b/latex/classStop.tex deleted file mode 100644 index 58f17d9..0000000 --- a/latex/classStop.tex +++ /dev/null @@ -1,130 +0,0 @@ -\hypertarget{classStop}{}\doxysection{Stop Class Reference} -\label{classStop}\index{Stop@{Stop}} - - -A class that represents a stop. - - - - -{\ttfamily \#include $<$Stop.\+hpp$>$} - - - -Collaboration diagram for Stop\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=208pt]{classStop__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classStop_a3ad6054f4ecb97b3fc68595b744f8d54}{Stop}} (const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classStop_afb57d3535781a9e40efff24c43520a21}{color}}, float \mbox{\hyperlink{classStop_a2b6aaf0f14507df64c6bbd99043ad44b}{offset}}) -\begin{DoxyCompactList}\small\item\em Constructs a \mbox{\hyperlink{classStop}{Stop}} object. \end{DoxyCompactList}\item -\mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classStop_a0ee1f3e4c4298b8712cef19f24e07dff}{get\+Color}} () const -\begin{DoxyCompactList}\small\item\em Gets the color of the stop. \end{DoxyCompactList}\item -float \mbox{\hyperlink{classStop_a60a63002485122f30a80e80220d99748}{get\+Offset}} () const -\begin{DoxyCompactList}\small\item\em Gets the offset of the stop. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classStop_afb57d3535781a9e40efff24c43520a21}\label{classStop_afb57d3535781a9e40efff24c43520a21}} -\mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classStop_afb57d3535781a9e40efff24c43520a21}{color}} -\begin{DoxyCompactList}\small\item\em The color of the stop. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classStop_a2b6aaf0f14507df64c6bbd99043ad44b}\label{classStop_a2b6aaf0f14507df64c6bbd99043ad44b}} -float \mbox{\hyperlink{classStop_a2b6aaf0f14507df64c6bbd99043ad44b}{offset}} -\begin{DoxyCompactList}\small\item\em The offset of the stop. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\doxysubsection{Detailed Description} -A class that represents a stop. - -The \mbox{\hyperlink{classStop}{Stop}} class represents a stop. It contains a color and an offset. - -Definition at line 11 of file Stop.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classStop_a3ad6054f4ecb97b3fc68595b744f8d54}\label{classStop_a3ad6054f4ecb97b3fc68595b744f8d54}} -\index{Stop@{Stop}!Stop@{Stop}} -\index{Stop@{Stop}!Stop@{Stop}} -\doxysubsubsection{\texorpdfstring{Stop()}{Stop()}} -{\footnotesize\ttfamily Stop\+::\+Stop (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{color, }\item[{float}]{offset }\end{DoxyParamCaption})} - - - -Constructs a \mbox{\hyperlink{classStop}{Stop}} object. - - -\begin{DoxyParams}{Parameters} -{\em color} & The color of the stop. \\ -\hline -{\em offset} & The offset of the stop. \\ -\hline -\end{DoxyParams} - - -Definition at line 3 of file Stop.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{3 : \mbox{\hyperlink{classStop_afb57d3535781a9e40efff24c43520a21}{color}}(\mbox{\hyperlink{classStop_afb57d3535781a9e40efff24c43520a21}{color}}), \mbox{\hyperlink{classStop_a2b6aaf0f14507df64c6bbd99043ad44b}{offset}}(\mbox{\hyperlink{classStop_a2b6aaf0f14507df64c6bbd99043ad44b}{offset}}) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classStop_a0ee1f3e4c4298b8712cef19f24e07dff}\label{classStop_a0ee1f3e4c4298b8712cef19f24e07dff}} -\index{Stop@{Stop}!getColor@{getColor}} -\index{getColor@{getColor}!Stop@{Stop}} -\doxysubsubsection{\texorpdfstring{getColor()}{getColor()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classmColor}{m\+Color}} Stop\+::get\+Color (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the color of the stop. - -\begin{DoxyReturn}{Returns} -The color of the stop. -\end{DoxyReturn} - - -Definition at line 5 of file Stop.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{5 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classStop_afb57d3535781a9e40efff24c43520a21}{color}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classStop_a60a63002485122f30a80e80220d99748}\label{classStop_a60a63002485122f30a80e80220d99748}} -\index{Stop@{Stop}!getOffset@{getOffset}} -\index{getOffset@{getOffset}!Stop@{Stop}} -\doxysubsubsection{\texorpdfstring{getOffset()}{getOffset()}} -{\footnotesize\ttfamily float Stop\+::get\+Offset (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the offset of the stop. - -\begin{DoxyReturn}{Returns} -The offset of the stop. -\end{DoxyReturn} - - -Definition at line 7 of file Stop.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{7 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classStop_a2b6aaf0f14507df64c6bbd99043ad44b}{offset}}; \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Stop.\+hpp\item -src/graphics/Stop.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classStop__coll__graph.md5 b/latex/classStop__coll__graph.md5 deleted file mode 100644 index c4a49a7..0000000 --- a/latex/classStop__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -dfea969c2d0b8b9cfdbb2906f2991068 \ No newline at end of file diff --git a/latex/classStop__coll__graph.pdf b/latex/classStop__coll__graph.pdf deleted file mode 100644 index 21b2fa3..0000000 Binary files a/latex/classStop__coll__graph.pdf and /dev/null differ diff --git a/latex/classText.tex b/latex/classText.tex deleted file mode 100644 index 505ee96..0000000 --- a/latex/classText.tex +++ /dev/null @@ -1,335 +0,0 @@ -\hypertarget{classText}{}\doxysection{Text Class Reference} -\label{classText}\index{Text@{Text}} - - -Represents text in 2D space. - - - - -{\ttfamily \#include $<$Text.\+hpp$>$} - - - -Inheritance diagram for Text\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=157pt]{classText__inherit__graph} -\end{center} -\end{figure} - - -Collaboration diagram for Text\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{classText__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classText_a92c5df61031c3a9af813f9cc6978f34a}{Text}} (\mbox{\hyperlink{classVector2D}{Vector2\+Df}} pos, std\+::string text, float \mbox{\hyperlink{classText_a71158226b190f16477820e45b549133f}{font\+\_\+size}}, const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, const \mbox{\hyperlink{classmColor}{m\+Color}} \&\mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, float \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\+\_\+width}}) -\begin{DoxyCompactList}\small\item\em Constructs a \mbox{\hyperlink{classText}{Text}} object. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classText_a405fac6f66711e0063e18e9e211e3a62}{get\+Class}} () const override -\begin{DoxyCompactList}\small\item\em Gets the type of the shape. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classText_a12e8ae19a8e677eb6f1c2dc2716dcab0}{set\+Content}} (std\+::string \mbox{\hyperlink{classText_a9336f13d0d4a26d41c2fd2e103ac5dde}{content}}) -\begin{DoxyCompactList}\small\item\em Sets the string of the text. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classText_ac593599637e5e7f0f929c59b440f1b94}{get\+Content}} () const -\begin{DoxyCompactList}\small\item\em Gets the string of the text. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classText_a6a04680d93c625645278b1d1111420bb}{set\+Font\+Size}} (float \mbox{\hyperlink{classText_a71158226b190f16477820e45b549133f}{font\+\_\+size}}) -\begin{DoxyCompactList}\small\item\em Sets the font size of the text. \end{DoxyCompactList}\item -float \mbox{\hyperlink{classText_a6e799a9b0ba6f88e704eea12599d3d5c}{get\+Font\+Size}} () const -\begin{DoxyCompactList}\small\item\em Gets the font size of the text. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classText_aa503905beb9dddf11c9c579424d0a84f}{set\+Anchor}} (std\+::string \mbox{\hyperlink{classText_a33f5c94508241a960c139923c284491e}{anchor}}) -\begin{DoxyCompactList}\small\item\em Sets the anchor of the text. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classText_a445117756f52b37ae8bce225e254bea6}{get\+Anchor}} () const -\begin{DoxyCompactList}\small\item\em Gets the anchor of the text. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classText_a4f24f78f8a962e758b70c5d9fd85b7cb}{set\+Font\+Style}} (std\+::string \mbox{\hyperlink{classText_a12ee81ccf865a414867d4101c8dbbdb2}{style}}) -\begin{DoxyCompactList}\small\item\em Sets the style of the text. \end{DoxyCompactList}\item -std\+::string \mbox{\hyperlink{classText_a86fd1927b692d6691c8dd3901b6f6e48}{get\+Font\+Style}} () const -\begin{DoxyCompactList}\small\item\em Gets the style of the text. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classText_a40e38d59ba9b34df9900375409f6f03f}\label{classText_a40e38d59ba9b34df9900375409f6f03f}} -void \mbox{\hyperlink{classText_a40e38d59ba9b34df9900375409f6f03f}{print\+Data}} () const override -\begin{DoxyCompactList}\small\item\em Prints the data of the text. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classText_a9336f13d0d4a26d41c2fd2e103ac5dde}\label{classText_a9336f13d0d4a26d41c2fd2e103ac5dde}} -std\+::string \mbox{\hyperlink{classText_a9336f13d0d4a26d41c2fd2e103ac5dde}{content}} -\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{classText}{Text}} element. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classText_a71158226b190f16477820e45b549133f}\label{classText_a71158226b190f16477820e45b549133f}} -float \mbox{\hyperlink{classText_a71158226b190f16477820e45b549133f}{font\+\_\+size}} -\begin{DoxyCompactList}\small\item\em Font size of the text. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classText_a33f5c94508241a960c139923c284491e}\label{classText_a33f5c94508241a960c139923c284491e}} -std\+::string \mbox{\hyperlink{classText_a33f5c94508241a960c139923c284491e}{anchor}} -\begin{DoxyCompactList}\small\item\em Anchor of the text. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classText_a12ee81ccf865a414867d4101c8dbbdb2}\label{classText_a12ee81ccf865a414867d4101c8dbbdb2}} -std\+::string \mbox{\hyperlink{classText_a12ee81ccf865a414867d4101c8dbbdb2}{style}} -\begin{DoxyCompactList}\small\item\em Style of the text. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Additional Inherited Members} - - -\doxysubsection{Detailed Description} -Represents text in 2D space. - -The \mbox{\hyperlink{classText}{Text}} class is derived from the \mbox{\hyperlink{classSVGElement}{SVGElement}} class and defines a text element with a specified position, string, fill color, and font size. - -Definition at line 12 of file Text.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classText_a92c5df61031c3a9af813f9cc6978f34a}\label{classText_a92c5df61031c3a9af813f9cc6978f34a}} -\index{Text@{Text}!Text@{Text}} -\index{Text@{Text}!Text@{Text}} -\doxysubsubsection{\texorpdfstring{Text()}{Text()}} -{\footnotesize\ttfamily Text\+::\+Text (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classVector2D}{Vector2\+Df}}}]{pos, }\item[{std\+::string}]{text, }\item[{float}]{font\+\_\+size, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{fill, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{stroke, }\item[{float}]{stroke\+\_\+width }\end{DoxyParamCaption})} - - - -Constructs a \mbox{\hyperlink{classText}{Text}} object. - - -\begin{DoxyParams}{Parameters} -{\em pos} & The position of the text. \\ -\hline -{\em text} & The string of the text. \\ -\hline -{\em fill} & The fill color of the text \\ -\hline -{\em font\+\_\+size} & The font size of the text (default is 1). \\ -\hline -\end{DoxyParams} - - -Definition at line 3 of file Text.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{5 : \mbox{\hyperlink{classSVGElement_ad30205005009d2ba4820d3ce372e81ea}{SVGElement}}(\mbox{\hyperlink{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{fill}}, \mbox{\hyperlink{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{stroke}}, \mbox{\hyperlink{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{stroke\_width}}, pos), \mbox{\hyperlink{classText_a9336f13d0d4a26d41c2fd2e103ac5dde}{content}}(text),} -\DoxyCodeLine{6 \mbox{\hyperlink{classText_a71158226b190f16477820e45b549133f}{font\_size}}(\mbox{\hyperlink{classText_a71158226b190f16477820e45b549133f}{font\_size}}) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classText_a445117756f52b37ae8bce225e254bea6}\label{classText_a445117756f52b37ae8bce225e254bea6}} -\index{Text@{Text}!getAnchor@{getAnchor}} -\index{getAnchor@{getAnchor}!Text@{Text}} -\doxysubsubsection{\texorpdfstring{getAnchor()}{getAnchor()}} -{\footnotesize\ttfamily std\+::string Text\+::get\+Anchor (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the anchor of the text. - -\begin{DoxyReturn}{Returns} -The anchor of the text. -\end{DoxyReturn} - - -Definition at line 20 of file Text.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{20 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classText_a33f5c94508241a960c139923c284491e}{anchor}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classText_a405fac6f66711e0063e18e9e211e3a62}\label{classText_a405fac6f66711e0063e18e9e211e3a62}} -\index{Text@{Text}!getClass@{getClass}} -\index{getClass@{getClass}!Text@{Text}} -\doxysubsubsection{\texorpdfstring{getClass()}{getClass()}} -{\footnotesize\ttfamily std\+::string Text\+::get\+Class (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} - - - -Gets the type of the shape. - -\begin{DoxyReturn}{Returns} -The string \char`\"{}\+Text\char`\"{}. -\end{DoxyReturn} - - -Implements \mbox{\hyperlink{classSVGElement_adc98ebac66965dd303283cbf7ff28f38}{SVGElement}}. - - - -Definition at line 8 of file Text.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{8 \{ \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}Text"{}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classText_ac593599637e5e7f0f929c59b440f1b94}\label{classText_ac593599637e5e7f0f929c59b440f1b94}} -\index{Text@{Text}!getContent@{getContent}} -\index{getContent@{getContent}!Text@{Text}} -\doxysubsubsection{\texorpdfstring{getContent()}{getContent()}} -{\footnotesize\ttfamily std\+::string Text\+::get\+Content (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the string of the text. - -\begin{DoxyReturn}{Returns} -The string of the text. -\end{DoxyReturn} - - -Definition at line 16 of file Text.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{16 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classText_a9336f13d0d4a26d41c2fd2e103ac5dde}{content}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classText_a6e799a9b0ba6f88e704eea12599d3d5c}\label{classText_a6e799a9b0ba6f88e704eea12599d3d5c}} -\index{Text@{Text}!getFontSize@{getFontSize}} -\index{getFontSize@{getFontSize}!Text@{Text}} -\doxysubsubsection{\texorpdfstring{getFontSize()}{getFontSize()}} -{\footnotesize\ttfamily float Text\+::get\+Font\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the font size of the text. - -\begin{DoxyReturn}{Returns} -The font size of the text. -\end{DoxyReturn} - - -Definition at line 12 of file Text.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{12 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classText_a71158226b190f16477820e45b549133f}{font\_size}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classText_a86fd1927b692d6691c8dd3901b6f6e48}\label{classText_a86fd1927b692d6691c8dd3901b6f6e48}} -\index{Text@{Text}!getFontStyle@{getFontStyle}} -\index{getFontStyle@{getFontStyle}!Text@{Text}} -\doxysubsubsection{\texorpdfstring{getFontStyle()}{getFontStyle()}} -{\footnotesize\ttfamily std\+::string Text\+::get\+Font\+Style (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const} - - - -Gets the style of the text. - -\begin{DoxyReturn}{Returns} -The style of the text. -\end{DoxyReturn} - - -Definition at line 24 of file Text.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{24 \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{classText_a12ee81ccf865a414867d4101c8dbbdb2}{style}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classText_aa503905beb9dddf11c9c579424d0a84f}\label{classText_aa503905beb9dddf11c9c579424d0a84f}} -\index{Text@{Text}!setAnchor@{setAnchor}} -\index{setAnchor@{setAnchor}!Text@{Text}} -\doxysubsubsection{\texorpdfstring{setAnchor()}{setAnchor()}} -{\footnotesize\ttfamily void Text\+::set\+Anchor (\begin{DoxyParamCaption}\item[{std\+::string}]{anchor }\end{DoxyParamCaption})} - - - -Sets the anchor of the text. - - -\begin{DoxyParams}{Parameters} -{\em anchor} & The new anchor of the text. \\ -\hline -\end{DoxyParams} - - -Definition at line 18 of file Text.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{18 \{ this-\/>\mbox{\hyperlink{classText_a33f5c94508241a960c139923c284491e}{anchor}} = \mbox{\hyperlink{classText_a33f5c94508241a960c139923c284491e}{anchor}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classText_a12e8ae19a8e677eb6f1c2dc2716dcab0}\label{classText_a12e8ae19a8e677eb6f1c2dc2716dcab0}} -\index{Text@{Text}!setContent@{setContent}} -\index{setContent@{setContent}!Text@{Text}} -\doxysubsubsection{\texorpdfstring{setContent()}{setContent()}} -{\footnotesize\ttfamily void Text\+::set\+Content (\begin{DoxyParamCaption}\item[{std\+::string}]{content }\end{DoxyParamCaption})} - - - -Sets the string of the text. - - -\begin{DoxyParams}{Parameters} -{\em content} & The new string of the text. \\ -\hline -\end{DoxyParams} - - -Definition at line 14 of file Text.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{14 \{ this-\/>\mbox{\hyperlink{classText_a9336f13d0d4a26d41c2fd2e103ac5dde}{content}} = \mbox{\hyperlink{classText_a9336f13d0d4a26d41c2fd2e103ac5dde}{content}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classText_a6a04680d93c625645278b1d1111420bb}\label{classText_a6a04680d93c625645278b1d1111420bb}} -\index{Text@{Text}!setFontSize@{setFontSize}} -\index{setFontSize@{setFontSize}!Text@{Text}} -\doxysubsubsection{\texorpdfstring{setFontSize()}{setFontSize()}} -{\footnotesize\ttfamily void Text\+::set\+Font\+Size (\begin{DoxyParamCaption}\item[{float}]{font\+\_\+size }\end{DoxyParamCaption})} - - - -Sets the font size of the text. - - -\begin{DoxyParams}{Parameters} -{\em font\+\_\+size} & The new font size of the text. \\ -\hline -\end{DoxyParams} - - -Definition at line 10 of file Text.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{10 \{ this-\/>\mbox{\hyperlink{classText_a71158226b190f16477820e45b549133f}{font\_size}} = \mbox{\hyperlink{classText_a71158226b190f16477820e45b549133f}{font\_size}}; \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classText_a4f24f78f8a962e758b70c5d9fd85b7cb}\label{classText_a4f24f78f8a962e758b70c5d9fd85b7cb}} -\index{Text@{Text}!setFontStyle@{setFontStyle}} -\index{setFontStyle@{setFontStyle}!Text@{Text}} -\doxysubsubsection{\texorpdfstring{setFontStyle()}{setFontStyle()}} -{\footnotesize\ttfamily void Text\+::set\+Font\+Style (\begin{DoxyParamCaption}\item[{std\+::string}]{style }\end{DoxyParamCaption})} - - - -Sets the style of the text. - - -\begin{DoxyParams}{Parameters} -{\em style} & The new style of the text. \\ -\hline -\end{DoxyParams} - - -Definition at line 22 of file Text.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{22 \{ this-\/>\mbox{\hyperlink{classText_a12ee81ccf865a414867d4101c8dbbdb2}{style}} = font\_style; \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Text.\+hpp\item -src/graphics/Text.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classText__coll__graph.md5 b/latex/classText__coll__graph.md5 deleted file mode 100644 index 951f31c..0000000 --- a/latex/classText__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ae293c161fad7d7a0a1a2f3f1e97b7b0 \ No newline at end of file diff --git a/latex/classText__coll__graph.pdf b/latex/classText__coll__graph.pdf deleted file mode 100644 index d9a7a30..0000000 Binary files a/latex/classText__coll__graph.pdf and /dev/null differ diff --git a/latex/classText__inherit__graph.md5 b/latex/classText__inherit__graph.md5 deleted file mode 100644 index c815c3f..0000000 --- a/latex/classText__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -98856a4844d08db61aa061b53bf5400c \ No newline at end of file diff --git a/latex/classText__inherit__graph.pdf b/latex/classText__inherit__graph.pdf deleted file mode 100644 index 94c8ab0..0000000 Binary files a/latex/classText__inherit__graph.pdf and /dev/null differ diff --git a/latex/classVector2D.tex b/latex/classVector2D.tex deleted file mode 100644 index 45ce127..0000000 --- a/latex/classVector2D.tex +++ /dev/null @@ -1,119 +0,0 @@ -\hypertarget{classVector2D}{}\doxysection{Vector2D$<$ T $>$ Class Template Reference} -\label{classVector2D}\index{Vector2D$<$ T $>$@{Vector2D$<$ T $>$}} - - -Utility template class for manipulating 2-\/dimensional vectors. - - - - -{\ttfamily \#include $<$Vector2\+D.\+hpp$>$} - -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classVector2D_a96580267fed7cd6686cbbf8e11048023}{Vector2D}} () -\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item -\mbox{\hyperlink{classVector2D_a4f1bca1b63cd8b1323c85c9a5c597df4}{Vector2D}} (T X, T Y) -\begin{DoxyCompactList}\small\item\em Construct the vector from its coordinates. \end{DoxyCompactList}\item -{\footnotesize template$<$typename U $>$ }\\\mbox{\hyperlink{classVector2D_af9cb4a6f06903844162f4c9d80d16b85}{Vector2D}} (const \mbox{\hyperlink{classVector2D}{Vector2D}}$<$ U $>$ \&vector) -\begin{DoxyCompactList}\small\item\em Construct the vector from another type of vector. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Public Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classVector2D_a65e391ec61c185092a02cf6301d0fff7}\label{classVector2D_a65e391ec61c185092a02cf6301d0fff7}} -T \mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} -\begin{DoxyCompactList}\small\item\em X coordinate of the vector. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}\label{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}} -T \mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} -\begin{DoxyCompactList}\small\item\em Y coordinate of the vector. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\doxysubsection{Detailed Description} -\subsubsection*{template$<$typename T$>$\newline -class Vector2\+D$<$ T $>$} - -Utility template class for manipulating 2-\/dimensional vectors. - -\mbox{\hyperlink{classVector2D}{Vector2D}} is a simple class that defines a mathematical vector with two coordinates (x and y). It can be used to represent anything that has two dimensions\+: a size, a point, a velocity, etc. - -The template parameter T is the type of the coordinates. It can be any type that supports arithmetic operations (+, -\/, /, $\ast$) and comparisons (==, !=), for example int or float. - -Definition at line 17 of file Vector2\+D.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classVector2D_a96580267fed7cd6686cbbf8e11048023}\label{classVector2D_a96580267fed7cd6686cbbf8e11048023}} -\index{Vector2D$<$ T $>$@{Vector2D$<$ T $>$}!Vector2D@{Vector2D}} -\index{Vector2D@{Vector2D}!Vector2D$<$ T $>$@{Vector2D$<$ T $>$}} -\doxysubsubsection{\texorpdfstring{Vector2D()}{Vector2D()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} -{\footnotesize\ttfamily template$<$typename T $>$ \\ -\mbox{\hyperlink{classVector2D}{Vector2D}}$<$ T $>$\+::\mbox{\hyperlink{classVector2D}{Vector2D}}\hspace{0.3cm}{\ttfamily [inline]}} - - - -Default constructor. - -Creates a Vector2(0, 0). - -Definition at line 197 of file Vector2\+D.\+hpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{197 : \mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}(0), \mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}(0) \{\}} - -\end{DoxyCode} -\mbox{\Hypertarget{classVector2D_a4f1bca1b63cd8b1323c85c9a5c597df4}\label{classVector2D_a4f1bca1b63cd8b1323c85c9a5c597df4}} -\index{Vector2D$<$ T $>$@{Vector2D$<$ T $>$}!Vector2D@{Vector2D}} -\index{Vector2D@{Vector2D}!Vector2D$<$ T $>$@{Vector2D$<$ T $>$}} -\doxysubsubsection{\texorpdfstring{Vector2D()}{Vector2D()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} -{\footnotesize\ttfamily template$<$typename T $>$ \\ -\mbox{\hyperlink{classVector2D}{Vector2D}}$<$ T $>$\+::\mbox{\hyperlink{classVector2D}{Vector2D}} (\begin{DoxyParamCaption}\item[{T}]{X, }\item[{T}]{Y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} - - - -Construct the vector from its coordinates. - - -\begin{DoxyParams}{Parameters} -{\em X} & X coordinate \\ -\hline -{\em Y} & Y coordinate \\ -\hline -\end{DoxyParams} - - -Definition at line 200 of file Vector2\+D.\+hpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{200 : \mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}(X), \mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}(Y) \{\}} - -\end{DoxyCode} -\mbox{\Hypertarget{classVector2D_af9cb4a6f06903844162f4c9d80d16b85}\label{classVector2D_af9cb4a6f06903844162f4c9d80d16b85}} -\index{Vector2D$<$ T $>$@{Vector2D$<$ T $>$}!Vector2D@{Vector2D}} -\index{Vector2D@{Vector2D}!Vector2D$<$ T $>$@{Vector2D$<$ T $>$}} -\doxysubsubsection{\texorpdfstring{Vector2D()}{Vector2D()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} -{\footnotesize\ttfamily template$<$typename T $>$ \\ -template$<$typename U $>$ \\ -\mbox{\hyperlink{classVector2D}{Vector2D}}$<$ T $>$\+::\mbox{\hyperlink{classVector2D}{Vector2D}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classVector2D}{Vector2D}}$<$ U $>$ \&}]{vector }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}} - - - -Construct the vector from another type of vector. - -This constructor doesn\textquotesingle{}t replace the copy constructor, it\textquotesingle{}s called only when U != T. A call to this constructor will fail to compile if U is not convertible to T. - -Definition at line 204 of file Vector2\+D.\+hpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{205 : \mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}}(\textcolor{keyword}{static\_cast<} T \textcolor{keyword}{>}(vector.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}})), \mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}}(\textcolor{keyword}{static\_cast<} T \textcolor{keyword}{>}(vector.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}})) \{\}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} -\item -src/graphics/Vector2\+D.\+hpp\end{DoxyCompactItemize} diff --git a/latex/classViewer.tex b/latex/classViewer.tex deleted file mode 100644 index 1a408d5..0000000 --- a/latex/classViewer.tex +++ /dev/null @@ -1,392 +0,0 @@ -\hypertarget{classViewer}{}\doxysection{Viewer Class Reference} -\label{classViewer}\index{Viewer@{Viewer}} - - -Represents a viewer for rendering and interacting with a scene. - - - - -{\ttfamily \#include $<$Viewer.\+hpp$>$} - - - -Collaboration diagram for Viewer\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=221pt]{classViewer__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classViewer_a324e5a6a1532fe5eac3f3b0e4792b2da}\label{classViewer_a324e5a6a1532fe5eac3f3b0e4792b2da}} -\mbox{\hyperlink{classViewer_a324e5a6a1532fe5eac3f3b0e4792b2da}{$\sim$\+Viewer}} () -\begin{DoxyCompactList}\small\item\em Destructor for the \mbox{\hyperlink{classViewer}{Viewer}} class. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classViewer_acb15ba2e5d3bab2ba58da0db724b3bd1}{handle\+Mouse\+Event}} (UINT message, WPARAM w\+Param, LPARAM l\+Param) -\begin{DoxyCompactList}\small\item\em Handles mouse events, such as wheel, move, left button down, and left button up. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classViewer_a643c2fc659f06f4d4bfcefbad22ebd75}{handle\+Key\+Event}} (WPARAM w\+Param) -\begin{DoxyCompactList}\small\item\em Handles keyboard events. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classViewer_aa8d0481396e20f1a8d4f6691ff0a67c1}{get\+Window\+Size}} (HWND h\+Wnd) const -\begin{DoxyCompactList}\small\item\em Get the current window size. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Static Public Member Functions} -\begin{DoxyCompactItemize} -\item -static \mbox{\hyperlink{classViewer}{Viewer}} $\ast$ \mbox{\hyperlink{classViewer_a8235c9da7e144d7139c91901c0051cd8}{get\+Instance}} () -\begin{DoxyCompactList}\small\item\em Gets the singleton instance of the \mbox{\hyperlink{classViewer}{Viewer}} class. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Public Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classViewer_a3e16ebbf5c0ed98dc75fe2c4d46fe0d5}\label{classViewer_a3e16ebbf5c0ed98dc75fe2c4d46fe0d5}} -float \mbox{\hyperlink{classViewer_a3e16ebbf5c0ed98dc75fe2c4d46fe0d5}{offset\+\_\+x}} -\begin{DoxyCompactList}\small\item\em X-\/coordinate offset of the viewer. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classViewer_a30b0f57907c82de620339e105f9a3c5b}\label{classViewer_a30b0f57907c82de620339e105f9a3c5b}} -float \mbox{\hyperlink{classViewer_a30b0f57907c82de620339e105f9a3c5b}{offset\+\_\+y}} -\begin{DoxyCompactList}\small\item\em Y-\/coordinate offset of the viewer. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classViewer_a46377febc22fd7f2cc38a73ddb66b8ad}\label{classViewer_a46377febc22fd7f2cc38a73ddb66b8ad}} -float \mbox{\hyperlink{classViewer_a46377febc22fd7f2cc38a73ddb66b8ad}{zoom\+\_\+factor}} -\begin{DoxyCompactList}\small\item\em Zoom factor for scaling the view. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classViewer_a82dfd34668f986b72e51ee86d4029fc6}\label{classViewer_a82dfd34668f986b72e51ee86d4029fc6}} -float \mbox{\hyperlink{classViewer_a82dfd34668f986b72e51ee86d4029fc6}{rotate\+\_\+angle}} -\begin{DoxyCompactList}\small\item\em Rotation angle of the view. \end{DoxyCompactList}\item -bool \mbox{\hyperlink{classViewer_a59a507a835919e78114601d5bd1784e6}{needs\+\_\+repaint}} -\item -\mbox{\Hypertarget{classViewer_aa172f661daf24807148fb697f10e750a}\label{classViewer_aa172f661daf24807148fb697f10e750a}} -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} \mbox{\hyperlink{classViewer_aa172f661daf24807148fb697f10e750a}{window\+\_\+size}} -\begin{DoxyCompactList}\small\item\em Size of the window. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classViewer_aaedebacb31cba87de6e7d448ed8d6586}\label{classViewer_aaedebacb31cba87de6e7d448ed8d6586}} -\mbox{\hyperlink{classViewer_aaedebacb31cba87de6e7d448ed8d6586}{Viewer}} () -\begin{DoxyCompactList}\small\item\em Private constructor for the \mbox{\hyperlink{classViewer}{Viewer}} class. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classViewer_abb8e49e83e5c574411bb9995665fd7eb}\label{classViewer_abb8e49e83e5c574411bb9995665fd7eb}} -\mbox{\hyperlink{classViewer_abb8e49e83e5c574411bb9995665fd7eb}{Viewer}} (const \mbox{\hyperlink{classViewer}{Viewer}} \&)=delete -\begin{DoxyCompactList}\small\item\em Copy constructor for the \mbox{\hyperlink{classViewer}{Viewer}} class (deleted to enforce singleton pattern). \end{DoxyCompactList}\item -\mbox{\Hypertarget{classViewer_a3d14cceacd94622e6b9d5d71bfb5b64f}\label{classViewer_a3d14cceacd94622e6b9d5d71bfb5b64f}} -void \mbox{\hyperlink{classViewer_a3d14cceacd94622e6b9d5d71bfb5b64f}{operator=}} (const \mbox{\hyperlink{classViewer}{Viewer}} \&)=delete -\begin{DoxyCompactList}\small\item\em Copy assignment operator for the \mbox{\hyperlink{classViewer}{Viewer}} class (deleted to enforce singleton pattern). \end{DoxyCompactList}\item -void \mbox{\hyperlink{classViewer_a940c6147b33b273afdff6eef7309d500}{handle\+Mouse\+Wheel}} (WPARAM w\+Param) -\begin{DoxyCompactList}\small\item\em Handles the mouse wheel event for zooming. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classViewer_a81a24ea13ee1e7e8c83be60672a7a11e}{handle\+Mouse\+Move}} (LPARAM l\+Param) -\begin{DoxyCompactList}\small\item\em Handles the mouse move event for panning. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classViewer_a2b889c5d09c8577ad1580dd610ac5678}{handle\+Left\+Button\+Down}} (LPARAM l\+Param) -\begin{DoxyCompactList}\small\item\em Handles the left button down event for initiating dragging. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classViewer_ae0c94514f0897aa84732024855520e28}\label{classViewer_ae0c94514f0897aa84732024855520e28}} -void \mbox{\hyperlink{classViewer_ae0c94514f0897aa84732024855520e28}{handle\+Left\+Button\+Up}} () -\begin{DoxyCompactList}\small\item\em Handles the left button up event for ending dragging. \end{DoxyCompactList}\item -void \mbox{\hyperlink{classViewer_a8bcd4fdeb5c26092d65fc14474afeb38}{handle\+Key\+Down}} (WPARAM w\+Param) -\begin{DoxyCompactList}\small\item\em Handles the key down event for rotating. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classViewer_a452e9dd05638bf3da01d8f51dba009a5}\label{classViewer_a452e9dd05638bf3da01d8f51dba009a5}} -bool \mbox{\hyperlink{classViewer_a452e9dd05638bf3da01d8f51dba009a5}{is\+\_\+dragging}} -\begin{DoxyCompactList}\small\item\em Flag indicating whether the mouse is being dragged. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classViewer_a77bc329e7ae0aecaf60a4de4f8dcc037}\label{classViewer_a77bc329e7ae0aecaf60a4de4f8dcc037}} -POINT \mbox{\hyperlink{classViewer_a77bc329e7ae0aecaf60a4de4f8dcc037}{last\+\_\+mouse\+\_\+pos}} -\begin{DoxyCompactList}\small\item\em Last recorded mouse position. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Static Private Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classViewer_a53c3dca921442983d13f335d0e8a7e20}\label{classViewer_a53c3dca921442983d13f335d0e8a7e20}} -static \mbox{\hyperlink{classViewer}{Viewer}} $\ast$ \mbox{\hyperlink{classViewer_a53c3dca921442983d13f335d0e8a7e20}{instance}} = nullptr -\begin{DoxyCompactList}\small\item\em Singleton instance of the \mbox{\hyperlink{classViewer}{Viewer}} class. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\doxysubsection{Detailed Description} -Represents a viewer for rendering and interacting with a scene. - -The viewer supports the following interactions\+: -\begin{DoxyItemize} -\item Rotation\+: Press \textquotesingle{}Q\textquotesingle{} to rotate the view counterclockwise and \textquotesingle{}E\textquotesingle{} to rotate clockwise. -\item Zooming\+: Use the scroll wheel to zoom in and out of the scene. -\item Translation\+: Click and drag the left mouse button to translate the view. -\end{DoxyItemize} - -Definition at line 16 of file Viewer.\+hpp. - - - -\doxysubsection{Member Function Documentation} -\mbox{\Hypertarget{classViewer_a8235c9da7e144d7139c91901c0051cd8}\label{classViewer_a8235c9da7e144d7139c91901c0051cd8}} -\index{Viewer@{Viewer}!getInstance@{getInstance}} -\index{getInstance@{getInstance}!Viewer@{Viewer}} -\doxysubsubsection{\texorpdfstring{getInstance()}{getInstance()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classViewer}{Viewer}} $\ast$ Viewer\+::get\+Instance (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} - - - -Gets the singleton instance of the \mbox{\hyperlink{classViewer}{Viewer}} class. - -\begin{DoxyReturn}{Returns} -The singleton instance of the \mbox{\hyperlink{classViewer}{Viewer}} class. -\end{DoxyReturn} - - -Definition at line 4 of file Viewer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{4 \{} -\DoxyCodeLine{5 \textcolor{keywordflow}{if} (!\mbox{\hyperlink{classViewer_a53c3dca921442983d13f335d0e8a7e20}{instance}}) \{} -\DoxyCodeLine{6 \mbox{\hyperlink{classViewer_a53c3dca921442983d13f335d0e8a7e20}{instance}} = \textcolor{keyword}{new} \mbox{\hyperlink{classViewer_aaedebacb31cba87de6e7d448ed8d6586}{Viewer}}();} -\DoxyCodeLine{7 \}} -\DoxyCodeLine{8 \textcolor{keywordflow}{return} \mbox{\hyperlink{classViewer_a53c3dca921442983d13f335d0e8a7e20}{instance}};} -\DoxyCodeLine{9 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classViewer_aa8d0481396e20f1a8d4f6691ff0a67c1}\label{classViewer_aa8d0481396e20f1a8d4f6691ff0a67c1}} -\index{Viewer@{Viewer}!getWindowSize@{getWindowSize}} -\index{getWindowSize@{getWindowSize}!Viewer@{Viewer}} -\doxysubsubsection{\texorpdfstring{getWindowSize()}{getWindowSize()}} -{\footnotesize\ttfamily void Viewer\+::get\+Window\+Size (\begin{DoxyParamCaption}\item[{HWND}]{h\+Wnd }\end{DoxyParamCaption}) const} - - - -Get the current window size. - - -\begin{DoxyParams}{Parameters} -{\em h\+Wnd} & The handle to the window. \\ -\hline -\end{DoxyParams} - - -Definition at line 103 of file Viewer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{103 \{} -\DoxyCodeLine{104 RECT rect;} -\DoxyCodeLine{105 GetClientRect(hWnd, \&rect);} -\DoxyCodeLine{106 \mbox{\hyperlink{classViewer_a53c3dca921442983d13f335d0e8a7e20}{instance}}-\/>\mbox{\hyperlink{classViewer_aa172f661daf24807148fb697f10e750a}{window\_size}}.\mbox{\hyperlink{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{x}} = \textcolor{keyword}{static\_cast<} \textcolor{keywordtype}{float} \textcolor{keyword}{>}(rect.right -\/ rect.left);} -\DoxyCodeLine{107 \mbox{\hyperlink{classViewer_a53c3dca921442983d13f335d0e8a7e20}{instance}}-\/>\mbox{\hyperlink{classViewer_aa172f661daf24807148fb697f10e750a}{window\_size}}.\mbox{\hyperlink{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{y}} = \textcolor{keyword}{static\_cast<} \textcolor{keywordtype}{float} \textcolor{keyword}{>}(rect.bottom -\/ rect.top);} -\DoxyCodeLine{108 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classViewer_a8bcd4fdeb5c26092d65fc14474afeb38}\label{classViewer_a8bcd4fdeb5c26092d65fc14474afeb38}} -\index{Viewer@{Viewer}!handleKeyDown@{handleKeyDown}} -\index{handleKeyDown@{handleKeyDown}!Viewer@{Viewer}} -\doxysubsubsection{\texorpdfstring{handleKeyDown()}{handleKeyDown()}} -{\footnotesize\ttfamily void Viewer\+::handle\+Key\+Down (\begin{DoxyParamCaption}\item[{WPARAM}]{w\+Param }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Handles the key down event for rotating. - - -\begin{DoxyParams}{Parameters} -{\em w\+Param} & The WPARAM parameter of the message. \\ -\hline -\end{DoxyParams} - - -Definition at line 90 of file Viewer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{90 \{} -\DoxyCodeLine{91 \textcolor{keywordtype}{char} key = \textcolor{keyword}{static\_cast<} \textcolor{keywordtype}{char} \textcolor{keyword}{>}(wParam);} -\DoxyCodeLine{92 \textcolor{keywordflow}{switch} (tolower(key)) \{} -\DoxyCodeLine{93 \textcolor{keywordflow}{case} \textcolor{charliteral}{'q'}:} -\DoxyCodeLine{94 \mbox{\hyperlink{classViewer_a82dfd34668f986b72e51ee86d4029fc6}{rotate\_angle}} -\/= 1.0f;} -\DoxyCodeLine{95 \textcolor{keywordflow}{break};} -\DoxyCodeLine{96 } -\DoxyCodeLine{97 \textcolor{keywordflow}{case} \textcolor{charliteral}{'e'}:} -\DoxyCodeLine{98 \mbox{\hyperlink{classViewer_a82dfd34668f986b72e51ee86d4029fc6}{rotate\_angle}} += 1.0f;} -\DoxyCodeLine{99 \textcolor{keywordflow}{break};} -\DoxyCodeLine{100 \}} -\DoxyCodeLine{101 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classViewer_a643c2fc659f06f4d4bfcefbad22ebd75}\label{classViewer_a643c2fc659f06f4d4bfcefbad22ebd75}} -\index{Viewer@{Viewer}!handleKeyEvent@{handleKeyEvent}} -\index{handleKeyEvent@{handleKeyEvent}!Viewer@{Viewer}} -\doxysubsubsection{\texorpdfstring{handleKeyEvent()}{handleKeyEvent()}} -{\footnotesize\ttfamily void Viewer\+::handle\+Key\+Event (\begin{DoxyParamCaption}\item[{WPARAM}]{w\+Param }\end{DoxyParamCaption})} - - - -Handles keyboard events. - - -\begin{DoxyParams}{Parameters} -{\em w\+Param} & The WPARAM parameter of the message. \\ -\hline -\end{DoxyParams} - - -Definition at line 47 of file Viewer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{47 \{ \mbox{\hyperlink{classViewer_a8bcd4fdeb5c26092d65fc14474afeb38}{handleKeyDown}}(wParam); \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classViewer_a2b889c5d09c8577ad1580dd610ac5678}\label{classViewer_a2b889c5d09c8577ad1580dd610ac5678}} -\index{Viewer@{Viewer}!handleLeftButtonDown@{handleLeftButtonDown}} -\index{handleLeftButtonDown@{handleLeftButtonDown}!Viewer@{Viewer}} -\doxysubsubsection{\texorpdfstring{handleLeftButtonDown()}{handleLeftButtonDown()}} -{\footnotesize\ttfamily void Viewer\+::handle\+Left\+Button\+Down (\begin{DoxyParamCaption}\item[{LPARAM}]{l\+Param }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Handles the left button down event for initiating dragging. - - -\begin{DoxyParams}{Parameters} -{\em l\+Param} & The LPARAM parameter of the message. \\ -\hline -\end{DoxyParams} - - -Definition at line 74 of file Viewer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{74 \{} -\DoxyCodeLine{75 \mbox{\hyperlink{classViewer_a452e9dd05638bf3da01d8f51dba009a5}{is\_dragging}} = \textcolor{keyword}{true};} -\DoxyCodeLine{76 \mbox{\hyperlink{classViewer_a77bc329e7ae0aecaf60a4de4f8dcc037}{last\_mouse\_pos}}.x = \textcolor{keyword}{static\_cast<} \textcolor{keywordtype}{int} \textcolor{keyword}{>}(LOWORD(lParam));} -\DoxyCodeLine{77 \mbox{\hyperlink{classViewer_a77bc329e7ae0aecaf60a4de4f8dcc037}{last\_mouse\_pos}}.y = \textcolor{keyword}{static\_cast<} \textcolor{keywordtype}{int} \textcolor{keyword}{>}(HIWORD(lParam));} -\DoxyCodeLine{78 SetCapture(GetActiveWindow());} -\DoxyCodeLine{79 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classViewer_acb15ba2e5d3bab2ba58da0db724b3bd1}\label{classViewer_acb15ba2e5d3bab2ba58da0db724b3bd1}} -\index{Viewer@{Viewer}!handleMouseEvent@{handleMouseEvent}} -\index{handleMouseEvent@{handleMouseEvent}!Viewer@{Viewer}} -\doxysubsubsection{\texorpdfstring{handleMouseEvent()}{handleMouseEvent()}} -{\footnotesize\ttfamily void Viewer\+::handle\+Mouse\+Event (\begin{DoxyParamCaption}\item[{UINT}]{message, }\item[{WPARAM}]{w\+Param, }\item[{LPARAM}]{l\+Param }\end{DoxyParamCaption})} - - - -Handles mouse events, such as wheel, move, left button down, and left button up. - - -\begin{DoxyParams}{Parameters} -{\em message} & The Windows message identifier. \\ -\hline -{\em w\+Param} & The WPARAM parameter of the message. \\ -\hline -{\em l\+Param} & The LPARAM parameter of the message. \\ -\hline -\end{DoxyParams} - - -Definition at line 26 of file Viewer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{26 \{} -\DoxyCodeLine{27 \textcolor{keywordflow}{switch} (message) \{} -\DoxyCodeLine{28 \textcolor{keywordflow}{case} WM\_MOUSEWHEEL:} -\DoxyCodeLine{29 \mbox{\hyperlink{classViewer_a940c6147b33b273afdff6eef7309d500}{handleMouseWheel}}(wParam);} -\DoxyCodeLine{30 \textcolor{keywordflow}{break};} -\DoxyCodeLine{31 } -\DoxyCodeLine{32 \textcolor{keywordflow}{case} WM\_MOUSEMOVE:} -\DoxyCodeLine{33 \textcolor{keywordflow}{if} (wParam \& MK\_LBUTTON) \{} -\DoxyCodeLine{34 \mbox{\hyperlink{classViewer_a81a24ea13ee1e7e8c83be60672a7a11e}{handleMouseMove}}(lParam);} -\DoxyCodeLine{35 \}} -\DoxyCodeLine{36 } -\DoxyCodeLine{37 \textcolor{keywordflow}{case} WM\_LBUTTONDOWN:} -\DoxyCodeLine{38 \mbox{\hyperlink{classViewer_a2b889c5d09c8577ad1580dd610ac5678}{handleLeftButtonDown}}(lParam);} -\DoxyCodeLine{39 \textcolor{keywordflow}{break};} -\DoxyCodeLine{40 } -\DoxyCodeLine{41 \textcolor{keywordflow}{case} WM\_LBUTTONUP:} -\DoxyCodeLine{42 \mbox{\hyperlink{classViewer_ae0c94514f0897aa84732024855520e28}{handleLeftButtonUp}}();} -\DoxyCodeLine{43 \textcolor{keywordflow}{break};} -\DoxyCodeLine{44 \}} -\DoxyCodeLine{45 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classViewer_a81a24ea13ee1e7e8c83be60672a7a11e}\label{classViewer_a81a24ea13ee1e7e8c83be60672a7a11e}} -\index{Viewer@{Viewer}!handleMouseMove@{handleMouseMove}} -\index{handleMouseMove@{handleMouseMove}!Viewer@{Viewer}} -\doxysubsubsection{\texorpdfstring{handleMouseMove()}{handleMouseMove()}} -{\footnotesize\ttfamily void Viewer\+::handle\+Mouse\+Move (\begin{DoxyParamCaption}\item[{LPARAM}]{l\+Param }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Handles the mouse move event for panning. - - -\begin{DoxyParams}{Parameters} -{\em l\+Param} & The LPARAM parameter of the message. \\ -\hline -\end{DoxyParams} - - -Definition at line 59 of file Viewer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{59 \{} -\DoxyCodeLine{60 \textcolor{keywordflow}{if} (\mbox{\hyperlink{classViewer_a452e9dd05638bf3da01d8f51dba009a5}{is\_dragging}}) \{} -\DoxyCodeLine{61 \textcolor{keywordtype}{int} x = \textcolor{keyword}{static\_cast<} \textcolor{keywordtype}{int} \textcolor{keyword}{>}(LOWORD(lParam));} -\DoxyCodeLine{62 \textcolor{keywordtype}{int} y = \textcolor{keyword}{static\_cast<} \textcolor{keywordtype}{int} \textcolor{keyword}{>}(HIWORD(lParam));} -\DoxyCodeLine{63 } -\DoxyCodeLine{64 \textcolor{keywordflow}{if} (x != \mbox{\hyperlink{classViewer_a77bc329e7ae0aecaf60a4de4f8dcc037}{last\_mouse\_pos}}.x || y != \mbox{\hyperlink{classViewer_a77bc329e7ae0aecaf60a4de4f8dcc037}{last\_mouse\_pos}}.y) \{} -\DoxyCodeLine{65 \mbox{\hyperlink{classViewer_a3e16ebbf5c0ed98dc75fe2c4d46fe0d5}{offset\_x}} += (x -\/ \mbox{\hyperlink{classViewer_a77bc329e7ae0aecaf60a4de4f8dcc037}{last\_mouse\_pos}}.x) * \mbox{\hyperlink{classViewer_a46377febc22fd7f2cc38a73ddb66b8ad}{zoom\_factor}};} -\DoxyCodeLine{66 \mbox{\hyperlink{classViewer_a30b0f57907c82de620339e105f9a3c5b}{offset\_y}} += (y -\/ \mbox{\hyperlink{classViewer_a77bc329e7ae0aecaf60a4de4f8dcc037}{last\_mouse\_pos}}.y) * \mbox{\hyperlink{classViewer_a46377febc22fd7f2cc38a73ddb66b8ad}{zoom\_factor}};} -\DoxyCodeLine{67 \mbox{\hyperlink{classViewer_a77bc329e7ae0aecaf60a4de4f8dcc037}{last\_mouse\_pos}}.x = x;} -\DoxyCodeLine{68 \mbox{\hyperlink{classViewer_a77bc329e7ae0aecaf60a4de4f8dcc037}{last\_mouse\_pos}}.y = y;} -\DoxyCodeLine{69 \mbox{\hyperlink{classViewer_a59a507a835919e78114601d5bd1784e6}{needs\_repaint}} = \textcolor{keyword}{true};} -\DoxyCodeLine{70 \}} -\DoxyCodeLine{71 \}} -\DoxyCodeLine{72 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classViewer_a940c6147b33b273afdff6eef7309d500}\label{classViewer_a940c6147b33b273afdff6eef7309d500}} -\index{Viewer@{Viewer}!handleMouseWheel@{handleMouseWheel}} -\index{handleMouseWheel@{handleMouseWheel}!Viewer@{Viewer}} -\doxysubsubsection{\texorpdfstring{handleMouseWheel()}{handleMouseWheel()}} -{\footnotesize\ttfamily void Viewer\+::handle\+Mouse\+Wheel (\begin{DoxyParamCaption}\item[{WPARAM}]{w\+Param }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} - - - -Handles the mouse wheel event for zooming. - - -\begin{DoxyParams}{Parameters} -{\em w\+Param} & The WPARAM parameter of the message. \\ -\hline -\end{DoxyParams} - - -Definition at line 49 of file Viewer.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{49 \{} -\DoxyCodeLine{50 \textcolor{keywordflow}{if} (GET\_WHEEL\_DELTA\_WPARAM(wParam) > 0) \{} -\DoxyCodeLine{51 \mbox{\hyperlink{classViewer_a46377febc22fd7f2cc38a73ddb66b8ad}{zoom\_factor}} *= 1.1f;} -\DoxyCodeLine{52 \mbox{\hyperlink{classViewer_a59a507a835919e78114601d5bd1784e6}{needs\_repaint}} = \textcolor{keyword}{true};} -\DoxyCodeLine{53 \} \textcolor{keywordflow}{else} \{} -\DoxyCodeLine{54 \mbox{\hyperlink{classViewer_a46377febc22fd7f2cc38a73ddb66b8ad}{zoom\_factor}} /= 1.1f;} -\DoxyCodeLine{55 \mbox{\hyperlink{classViewer_a59a507a835919e78114601d5bd1784e6}{needs\_repaint}} = \textcolor{keyword}{true};} -\DoxyCodeLine{56 \}} -\DoxyCodeLine{57 \}} - -\end{DoxyCode} - - -\doxysubsection{Member Data Documentation} -\mbox{\Hypertarget{classViewer_a59a507a835919e78114601d5bd1784e6}\label{classViewer_a59a507a835919e78114601d5bd1784e6}} -\index{Viewer@{Viewer}!needs\_repaint@{needs\_repaint}} -\index{needs\_repaint@{needs\_repaint}!Viewer@{Viewer}} -\doxysubsubsection{\texorpdfstring{needs\_repaint}{needs\_repaint}} -{\footnotesize\ttfamily bool Viewer\+::needs\+\_\+repaint} - -Flag indicating whether the view needs to be repainted - -Definition at line 22 of file Viewer.\+hpp. - - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/Viewer.\+hpp\item -src/Viewer.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classViewer__coll__graph.md5 b/latex/classViewer__coll__graph.md5 deleted file mode 100644 index afba24e..0000000 --- a/latex/classViewer__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -bfaa955123fb44d1259ec63210145195 \ No newline at end of file diff --git a/latex/classViewer__coll__graph.pdf b/latex/classViewer__coll__graph.pdf deleted file mode 100644 index ba75a77..0000000 Binary files a/latex/classViewer__coll__graph.pdf and /dev/null differ diff --git a/latex/classmColor.tex b/latex/classmColor.tex deleted file mode 100644 index 317391b..0000000 --- a/latex/classmColor.tex +++ /dev/null @@ -1,215 +0,0 @@ -\hypertarget{classmColor}{}\doxysection{m\+Color Class Reference} -\label{classmColor}\index{mColor@{mColor}} - - -Utility class for manipulating RGBA m\+Colors. - - - - -{\ttfamily \#include $<$Color.\+hpp$>$} - - - -Collaboration diagram for m\+Color\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=208pt]{classmColor__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classmColor_a9b1702a679c1c5f649787fe15d8b016a}{m\+Color}} () -\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item -\mbox{\hyperlink{classmColor_a4376ef67b23a45be81daeecbfef1b2c3}{m\+Color}} (int red, int green, int blue, int alpha=255) -\begin{DoxyCompactList}\small\item\em Construct the \mbox{\hyperlink{classmColor}{m\+Color}} from its 4 RGBA components. \end{DoxyCompactList}\item -\mbox{\hyperlink{classmColor_a8df59e284c6211d66b05fab14d726a5e}{m\+Color}} (int color) -\begin{DoxyCompactList}\small\item\em Construct the color from 32-\/bit unsigned integer. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Public Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classmColor_a427453d377b30c62f7d25f47120959d6}\label{classmColor_a427453d377b30c62f7d25f47120959d6}} -int \mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}} -\begin{DoxyCompactList}\small\item\em Red component. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}\label{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}} -int \mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}} -\begin{DoxyCompactList}\small\item\em Green component. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classmColor_ad56f2424fa451364becdc4d1c4df657c}\label{classmColor_ad56f2424fa451364becdc4d1c4df657c}} -int \mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}} -\begin{DoxyCompactList}\small\item\em Blue component. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}\label{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}} -int \mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}} -\begin{DoxyCompactList}\small\item\em Alpha (opacity) component. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Static Public Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{classmColor_aa3910d2b82d32c8aa4e50127874a6d03}\label{classmColor_aa3910d2b82d32c8aa4e50127874a6d03}} -static const \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classmColor_aa3910d2b82d32c8aa4e50127874a6d03}{Black}} -\begin{DoxyCompactList}\small\item\em Black predefined color. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classmColor_a73b9b91ca8c79e6e3876e5d83980ebec}\label{classmColor_a73b9b91ca8c79e6e3876e5d83980ebec}} -static const \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classmColor_a73b9b91ca8c79e6e3876e5d83980ebec}{White}} -\begin{DoxyCompactList}\small\item\em White predefined color. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classmColor_aa0fc6fe3033f7ff2806c59e39c072dbc}\label{classmColor_aa0fc6fe3033f7ff2806c59e39c072dbc}} -static const \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classmColor_aa0fc6fe3033f7ff2806c59e39c072dbc}{Red}} -\begin{DoxyCompactList}\small\item\em Red predefined color. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classmColor_aa69dc1cb58cec64672952d1e84744f8c}\label{classmColor_aa69dc1cb58cec64672952d1e84744f8c}} -static const \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classmColor_aa69dc1cb58cec64672952d1e84744f8c}{Green}} -\begin{DoxyCompactList}\small\item\em Green predefined color. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classmColor_a59dc727125e9f3d4ed0c59433dfa0780}\label{classmColor_a59dc727125e9f3d4ed0c59433dfa0780}} -static const \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classmColor_a59dc727125e9f3d4ed0c59433dfa0780}{Blue}} -\begin{DoxyCompactList}\small\item\em Blue predefined color. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classmColor_a68265f053324eea11265c7f8d7fdb5ff}\label{classmColor_a68265f053324eea11265c7f8d7fdb5ff}} -static const \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classmColor_a68265f053324eea11265c7f8d7fdb5ff}{Yellow}} -\begin{DoxyCompactList}\small\item\em Yellow predefined color. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classmColor_a777df695011fdb21f6b5d3e6745389c4}\label{classmColor_a777df695011fdb21f6b5d3e6745389c4}} -static const \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classmColor_a777df695011fdb21f6b5d3e6745389c4}{Magenta}} -\begin{DoxyCompactList}\small\item\em Magenta predefined color. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classmColor_a04a0d2485c1106ccc94d065a0e62ecfb}\label{classmColor_a04a0d2485c1106ccc94d065a0e62ecfb}} -static const \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classmColor_a04a0d2485c1106ccc94d065a0e62ecfb}{Cyan}} -\begin{DoxyCompactList}\small\item\em Cyan predefined color. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classmColor_ac4f0afaa513bbe9e68c16156136d4ada}\label{classmColor_ac4f0afaa513bbe9e68c16156136d4ada}} -static const \mbox{\hyperlink{classmColor}{m\+Color}} \mbox{\hyperlink{classmColor_ac4f0afaa513bbe9e68c16156136d4ada}{Transparent}} -\begin{DoxyCompactList}\small\item\em Transparent (black) predefined color. \end{DoxyCompactList}\end{DoxyCompactItemize} -\doxysubsection*{Friends} -\begin{DoxyCompactItemize} -\item -std\+::ostream \& \mbox{\hyperlink{classmColor_a1887c93301ffe92701baf17d6af3418e}{operator$<$$<$}} (std\+::ostream \&os, const \mbox{\hyperlink{classmColor}{m\+Color}} \&color) -\begin{DoxyCompactList}\small\item\em Prints the color. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\doxysubsection{Detailed Description} -Utility class for manipulating RGBA m\+Colors. - -Definition at line 11 of file Color.\+hpp. - - - -\doxysubsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classmColor_a9b1702a679c1c5f649787fe15d8b016a}\label{classmColor_a9b1702a679c1c5f649787fe15d8b016a}} -\index{mColor@{mColor}!mColor@{mColor}} -\index{mColor@{mColor}!mColor@{mColor}} -\doxysubsubsection{\texorpdfstring{mColor()}{mColor()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} -{\footnotesize\ttfamily m\+Color\+::m\+Color (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} - - - -Default constructor. - -Constructs an opaque black \mbox{\hyperlink{classmColor}{m\+Color}}. It is equivalent to \mbox{\hyperlink{classmColor}{m\+Color(0, 0, 0, 255)}}. - -Definition at line 14 of file Color.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{14 : \mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}(0), \mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}(0), \mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}(0), \mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}(255) \{\}} - -\end{DoxyCode} -\mbox{\Hypertarget{classmColor_a4376ef67b23a45be81daeecbfef1b2c3}\label{classmColor_a4376ef67b23a45be81daeecbfef1b2c3}} -\index{mColor@{mColor}!mColor@{mColor}} -\index{mColor@{mColor}!mColor@{mColor}} -\doxysubsubsection{\texorpdfstring{mColor()}{mColor()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} -{\footnotesize\ttfamily m\+Color\+::m\+Color (\begin{DoxyParamCaption}\item[{int}]{red, }\item[{int}]{green, }\item[{int}]{blue, }\item[{int}]{alpha = {\ttfamily 255} }\end{DoxyParamCaption})} - - - -Construct the \mbox{\hyperlink{classmColor}{m\+Color}} from its 4 RGBA components. - - -\begin{DoxyParams}{Parameters} -{\em red} & Red component (in the range \mbox{[}0, 255\mbox{]}) \\ -\hline -{\em green} & Green component (in the range \mbox{[}0, 255\mbox{]}) \\ -\hline -{\em blue} & Blue component (in the range \mbox{[}0, 255\mbox{]}) \\ -\hline -{\em alpha} & Alpha (opacity) component (in the range \mbox{[}0, 255\mbox{]}) \\ -\hline -\end{DoxyParams} - - -Definition at line 16 of file Color.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{17 : \mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}(red), \mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}(green), \mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}(blue), \mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}(alpha) \{} -\DoxyCodeLine{18 \mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}} = std::clamp(\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}, 0, 255);} -\DoxyCodeLine{19 \mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}} = std::clamp(\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}, 0, 255);} -\DoxyCodeLine{20 \mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}} = std::clamp(\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}, 0, 255);} -\DoxyCodeLine{21 \mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}} = std::clamp(\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}, 0, 255);} -\DoxyCodeLine{22 \}} - -\end{DoxyCode} -\mbox{\Hypertarget{classmColor_a8df59e284c6211d66b05fab14d726a5e}\label{classmColor_a8df59e284c6211d66b05fab14d726a5e}} -\index{mColor@{mColor}!mColor@{mColor}} -\index{mColor@{mColor}!mColor@{mColor}} -\doxysubsubsection{\texorpdfstring{mColor()}{mColor()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} -{\footnotesize\ttfamily m\+Color\+::m\+Color (\begin{DoxyParamCaption}\item[{int}]{color }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}} - - - -Construct the color from 32-\/bit unsigned integer. - - -\begin{DoxyParams}{Parameters} -{\em color} & Number containing the RGBA components (in that order) \\ -\hline -\end{DoxyParams} - - -Definition at line 24 of file Color.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{25 : \mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}}(\textcolor{keyword}{static\_cast<} \textcolor{keywordtype}{int} \textcolor{keyword}{>}((color \& 0xff000000) >> 24)),} -\DoxyCodeLine{26 \mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}}(\textcolor{keyword}{static\_cast<} \textcolor{keywordtype}{int} \textcolor{keyword}{>}((color \& 0x00ff0000) >> 16)),} -\DoxyCodeLine{27 \mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}}((color \& 0x0000ff00) >> 8), \mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}}((color \& 0x000000ff) >> 0) \{\}} - -\end{DoxyCode} - - -\doxysubsection{Friends And Related Function Documentation} -\mbox{\Hypertarget{classmColor_a1887c93301ffe92701baf17d6af3418e}\label{classmColor_a1887c93301ffe92701baf17d6af3418e}} -\index{mColor@{mColor}!operator$<$$<$@{operator$<$$<$}} -\index{operator$<$$<$@{operator$<$$<$}!mColor@{mColor}} -\doxysubsubsection{\texorpdfstring{operator$<$$<$}{operator<<}} -{\footnotesize\ttfamily std\+::ostream\& operator$<$$<$ (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{os, }\item[{const \mbox{\hyperlink{classmColor}{m\+Color}} \&}]{color }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}} - - - -Prints the color. - - -\begin{DoxyParams}{Parameters} -{\em os} & output stream \\ -\hline -{\em color} & color to be printed\\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -output stream -\end{DoxyReturn} -\begin{DoxyNote}{Note} -This function is used for printing the color. -\end{DoxyNote} - - -Definition at line 29 of file Color.\+cpp. - - -\begin{DoxyCode}{0} -\DoxyCodeLine{29 \{} -\DoxyCodeLine{30 os << \textcolor{stringliteral}{"{}Color("{}} << color.\mbox{\hyperlink{classmColor_a427453d377b30c62f7d25f47120959d6}{r}} << \textcolor{stringliteral}{"{}, "{}} << color.\mbox{\hyperlink{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{g}} << \textcolor{stringliteral}{"{}, "{}} << color.\mbox{\hyperlink{classmColor_ad56f2424fa451364becdc4d1c4df657c}{b}} << \textcolor{stringliteral}{"{}, "{}}} -\DoxyCodeLine{31 << color.\mbox{\hyperlink{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{a}} << \textcolor{stringliteral}{"{})"{}};} -\DoxyCodeLine{32 \textcolor{keywordflow}{return} os;} -\DoxyCodeLine{33 \}} - -\end{DoxyCode} - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -src/graphics/Color.\+hpp\item -src/graphics/Color.\+cpp\end{DoxyCompactItemize} diff --git a/latex/classmColor__coll__graph.md5 b/latex/classmColor__coll__graph.md5 deleted file mode 100644 index 817dc3e..0000000 --- a/latex/classmColor__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -142ff41d482993594a6de2b544a8e009 \ No newline at end of file diff --git a/latex/classmColor__coll__graph.pdf b/latex/classmColor__coll__graph.pdf deleted file mode 100644 index 341cda3..0000000 Binary files a/latex/classmColor__coll__graph.pdf and /dev/null differ diff --git a/latex/doxygen.sty b/latex/doxygen.sty deleted file mode 100644 index 8f59bcc..0000000 --- a/latex/doxygen.sty +++ /dev/null @@ -1,576 +0,0 @@ -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{doxygen} - -% Packages used by this style file -\RequirePackage{alltt} -%%\RequirePackage{array} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package -\RequirePackage{calc} -\RequirePackage{float} -%%\RequirePackage{ifthen} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package -\RequirePackage{verbatim} -\RequirePackage[table]{xcolor} -\RequirePackage{longtable_doxygen} -\RequirePackage{tabu_doxygen} -\RequirePackage{fancyvrb} -\RequirePackage{tabularx} -\RequirePackage{multicol} -\RequirePackage{multirow} -\RequirePackage{hanging} -\RequirePackage{ifpdf} -\RequirePackage{adjustbox} -\RequirePackage{amssymb} -\RequirePackage{stackengine} -\RequirePackage[normalem]{ulem} % for strikeout, but don't modify emphasis - -%---------- Internal commands used in this style file ---------------- - -\newcommand{\ensurespace}[1]{% - \begingroup% - \setlength{\dimen@}{#1}% - \vskip\z@\@plus\dimen@% - \penalty -100\vskip\z@\@plus -\dimen@% - \vskip\dimen@% - \penalty 9999% - \vskip -\dimen@% - \vskip\z@skip% hide the previous |\vskip| from |\addvspace| - \endgroup% -} - -\newcommand{\DoxyHorRuler}[1]{% - \setlength{\parskip}{0ex plus 0ex minus 0ex}% - \ifthenelse{#1=0}% - {% - \hrule% - }% - {% - \hrulefilll% - }% -} -\newcommand{\DoxyLabelFont}{} -\newcommand{\entrylabel}[1]{% - {% - \parbox[b]{\labelwidth-4pt}{% - \makebox[0pt][l]{\DoxyLabelFont#1}% - \vspace{1.5\baselineskip}% - }% - }% -} - -\newenvironment{DoxyDesc}[1]{% - \ensurespace{4\baselineskip}% - \begin{list}{}{% - \settowidth{\labelwidth}{20pt}% - %\setlength{\parsep}{0pt}% - \setlength{\itemsep}{0pt}% - \setlength{\leftmargin}{\labelwidth+\labelsep}% - \renewcommand{\makelabel}{\entrylabel}% - }% - \item[#1]% -}{% - \end{list}% -} - -\newsavebox{\xrefbox} -\newlength{\xreflength} -\newcommand{\xreflabel}[1]{% - \sbox{\xrefbox}{#1}% - \setlength{\xreflength}{\wd\xrefbox}% - \ifthenelse{\xreflength>\labelwidth}{% - \begin{minipage}{\textwidth}% - \setlength{\parindent}{0pt}% - \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% - \end{minipage}% - }{% - \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% - }% -} - -%---------- Commands used by doxygen LaTeX output generator ---------- - -% Used by
...-\newenvironment{DoxyPre}{% - \small% - \begin{alltt}% -}{% - \end{alltt}% - \normalsize% -} -% Necessary for redefining not defined characters, i.e. "Replacement Character" in tex output. -\newlength{\CodeWidthChar} -\newlength{\CodeHeightChar} -\settowidth{\CodeWidthChar}{?} -\settoheight{\CodeHeightChar}{?} -% Necessary for hanging indent -\newlength{\DoxyCodeWidth} - -\newcommand\DoxyCodeLine[1]{\hangpara{\DoxyCodeWidth}{1}{#1}\par} - -\newcommand\NiceSpace{% - \discretionary{}{\kern\fontdimen2\font}{\kern\fontdimen2\font}% -} - -% Used by @code ... @endcode -\newenvironment{DoxyCode}[1]{% - \par% - \scriptsize% - \normalfont\ttfamily% - \rightskip0pt plus 1fil% - \settowidth{\DoxyCodeWidth}{000000}% - \settowidth{\CodeWidthChar}{?}% - \settoheight{\CodeHeightChar}{?}% - \setlength{\parskip}{0ex plus 0ex minus 0ex}% - \ifthenelse{\equal{#1}{0}} - { - {\lccode`~32 \lowercase{\global\let~}\NiceSpace}\obeyspaces% - } - { - {\lccode`~32 \lowercase{\global\let~}}\obeyspaces% - } - -}{% - \normalfont% - \normalsize% - \settowidth{\CodeWidthChar}{?}% - \settoheight{\CodeHeightChar}{?}% -} - -% Redefining not defined characters, i.e. "Replacement Character" in tex output. -\def\ucr{\adjustbox{width=\CodeWidthChar,height=\CodeHeightChar}{\stackinset{c}{}{c}{-.2pt}{% - \textcolor{white}{\sffamily\bfseries\small ?}}{% - \rotatebox{45}{$\blacksquare$}}}} - -% Used by @example, @include, @includelineno and @dontinclude -\newenvironment{DoxyCodeInclude}[1]{% - \DoxyCode{#1}% -}{% - \endDoxyCode% -} - -% Used by @verbatim ... @endverbatim -\newenvironment{DoxyVerb}{% - \footnotesize% - \verbatim% -}{% - \endverbatim% - \normalsize% -} - -% Used by @verbinclude -\newenvironment{DoxyVerbInclude}{% - \DoxyVerb% -}{% - \endDoxyVerb% -} - -% Used by numbered lists (using '-#' or