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
    ...
) -\newenvironment{DoxyEnumerate}{% - \enumerate% -}{% - \endenumerate% -} - -% Used by bullet lists (using '-', @li, @arg, or ) -\newenvironment{DoxyItemize}{% - \itemize% -}{% - \enditemize% -} - -% Used by description lists (using
...
) -\newenvironment{DoxyDescription}{% - \description% -}{% - \enddescription% -} - -% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc -% (only if caption is specified) -\newenvironment{DoxyImage}{% - \begin{figure}[H]% - \centering% -}{% - \end{figure}% -} - -% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc -% (only if no caption is specified) -\newenvironment{DoxyImageNoCaption}{% - \begin{center}% -}{% - \end{center}% -} - -% Used by @image -% (only if inline is specified) -\newenvironment{DoxyInlineImage}{% -}{% -} - -% Used by @attention -\newenvironment{DoxyAttention}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @author and @authors -\newenvironment{DoxyAuthor}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @date -\newenvironment{DoxyDate}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @invariant -\newenvironment{DoxyInvariant}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @note -\newenvironment{DoxyNote}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @post -\newenvironment{DoxyPostcond}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @pre -\newenvironment{DoxyPrecond}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @copyright -\newenvironment{DoxyCopyright}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @remark -\newenvironment{DoxyRemark}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @return and @returns -\newenvironment{DoxyReturn}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @since -\newenvironment{DoxySince}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @see -\newenvironment{DoxySeeAlso}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @version -\newenvironment{DoxyVersion}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @warning -\newenvironment{DoxyWarning}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @internal -\newenvironment{DoxyInternal}[1]{% - \paragraph*{#1}% -}{% -} - -% Used by @par and @paragraph -\newenvironment{DoxyParagraph}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by parameter lists -\newenvironment{DoxyParams}[2][]{% - \tabulinesep=1mm% - \par% - \ifthenelse{\equal{#1}{}}% - {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description - {\ifthenelse{\equal{#1}{1}}% - {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc - {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc - } - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used for fields of simple structs -\newenvironment{DoxyFields}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}% - \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used for fields simple class style enums -\newenvironment{DoxyEnumFields}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used for parameters within a detailed function description -\newenvironment{DoxyParamCaption}{% - \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}% -}{% -} - -% Used by return value lists -\newenvironment{DoxyRetVals}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used by exception lists -\newenvironment{DoxyExceptions}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used by template parameter lists -\newenvironment{DoxyTemplParams}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used for member lists -\newenvironment{DoxyCompactItemize}{% - \begin{itemize}% - \setlength{\itemsep}{-3pt}% - \setlength{\parsep}{0pt}% - \setlength{\topsep}{0pt}% - \setlength{\partopsep}{0pt}% -}{% - \end{itemize}% -} - -% Used for member descriptions -\newenvironment{DoxyCompactList}{% - \begin{list}{}{% - \setlength{\leftmargin}{0.5cm}% - \setlength{\itemsep}{0pt}% - \setlength{\parsep}{0pt}% - \setlength{\topsep}{0pt}% - \renewcommand{\makelabel}{\hfill}% - }% -}{% - \end{list}% -} - -% Used for reference lists (@bug, @deprecated, @todo, etc.) -\newenvironment{DoxyRefList}{% - \begin{list}{}{% - \setlength{\labelwidth}{10pt}% - \setlength{\leftmargin}{\labelwidth}% - \addtolength{\leftmargin}{\labelsep}% - \renewcommand{\makelabel}{\xreflabel}% - }% -}{% - \end{list}% -} - -% Used by @bug, @deprecated, @todo, etc. -\newenvironment{DoxyRefDesc}[1]{% - \begin{list}{}{% - \renewcommand\makelabel[1]{\textbf{##1}}% - \settowidth\labelwidth{\makelabel{#1}}% - \setlength\leftmargin{\labelwidth+\labelsep}% - }% -}{% - \end{list}% -} - -% Used by parameter lists and simple sections -\newenvironment{Desc} -{\begin{list}{}{% - \settowidth{\labelwidth}{20pt}% - \setlength{\parsep}{0pt}% - \setlength{\itemsep}{0pt}% - \setlength{\leftmargin}{\labelwidth+\labelsep}% - \renewcommand{\makelabel}{\entrylabel}% - } -}{% - \end{list}% -} - -% Used by tables -\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}% -\newenvironment{TabularC}[1]% -{\tabulinesep=1mm -\begin{longtabu*}spread 0pt [c]{*#1{|X[-1]}|}}% -{\end{longtabu*}\par}% - -\newenvironment{TabularNC}[1]% -{\begin{tabu}spread 0pt [l]{*#1{|X[-1]}|}}% -{\end{tabu}\par}% - -% Used for member group headers -\newenvironment{Indent}{% - \begin{list}{}{% - \setlength{\leftmargin}{0.5cm}% - }% - \item[]\ignorespaces% -}{% - \unskip% - \end{list}% -} - -% Used when hyperlinks are turned off -\newcommand{\doxyref}[3]{% - \textbf{#1} (\textnormal{#2}\,\pageref{#3})% -} - -% Used to link to a table when hyperlinks are turned on -\newcommand{\doxytablelink}[2]{% - \ref{#1}% -} - -% Used to link to a table when hyperlinks are turned off -\newcommand{\doxytableref}[3]{% - \ref{#3}% -} - -% Used by @addindex -\newcommand{\lcurly}{\{} -\newcommand{\rcurly}{\}} - -% Colors used for syntax highlighting -\definecolor{comment}{rgb}{0.5,0.0,0.0} -\definecolor{keyword}{rgb}{0.0,0.5,0.0} -\definecolor{keywordtype}{rgb}{0.38,0.25,0.125} -\definecolor{keywordflow}{rgb}{0.88,0.5,0.0} -\definecolor{preprocessor}{rgb}{0.5,0.38,0.125} -\definecolor{stringliteral}{rgb}{0.0,0.125,0.25} -\definecolor{charliteral}{rgb}{0.0,0.5,0.5} -\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0} -\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43} -\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0} -\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0} - -% Color used for table heading -\newcommand{\tableheadbgcolor}{lightgray}% - -% Version of hypertarget with correct landing location -\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}} - -% possibility to have sections etc. be within the margins -% unfortunately had to copy part of book.cls and add \raggedright -\makeatletter -\newcommand\doxysection{\@startsection {section}{1}{\z@}% - {-3.5ex \@plus -1ex \@minus -.2ex}% - {2.3ex \@plus.2ex}% - {\raggedright\normalfont\Large\bfseries}} -\newcommand\doxysubsection{\@startsection{subsection}{2}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\large\bfseries}} -\newcommand\doxysubsubsection{\@startsection{subsubsection}{3}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} -\newcommand\doxyparagraph{\@startsection{paragraph}{4}{\z@}% - {3.25ex \@plus1ex \@minus.2ex}% - {-1em}% - {\raggedright\normalfont\normalsize\bfseries}} -\newcommand\doxysubparagraph{\@startsection{subparagraph}{5}{\parindent}% - {3.25ex \@plus1ex \@minus .2ex}% - {-1em}% - {\raggedright\normalfont\normalsize\bfseries}} -\makeatother -% Define caption that is also suitable in a table -\makeatletter -\def\doxyfigcaption{% -\H@refstepcounter{figure}% -\@dblarg{\@caption{figure}}} -\makeatother diff --git a/latex/hierarchy.tex b/latex/hierarchy.tex deleted file mode 100644 index 5f8dc30..0000000 --- a/latex/hierarchy.tex +++ /dev/null @@ -1,33 +0,0 @@ -\doxysection{Class Hierarchy} -This inheritance list is sorted roughly, but not completely, alphabetically\+:\begin{DoxyCompactList} -\item \contentsline{section}{Gradient}{\pageref{classGradient}}{} -\begin{DoxyCompactList} -\item \contentsline{section}{Linear\+Gradient}{\pageref{classLinearGradient}}{} -\item \contentsline{section}{Radial\+Gradient}{\pageref{classRadialGradient}}{} -\end{DoxyCompactList} -\item \contentsline{section}{m\+Color}{\pageref{classmColor}}{} -\item \contentsline{section}{Parser}{\pageref{classParser}}{} -\item \contentsline{section}{Path\+Point}{\pageref{structPathPoint}}{} -\item \contentsline{section}{Renderer}{\pageref{classRenderer}}{} -\item \contentsline{section}{Stop}{\pageref{classStop}}{} -\item \contentsline{section}{SVGElement}{\pageref{classSVGElement}}{} -\begin{DoxyCompactList} -\item \contentsline{section}{Ell}{\pageref{classEll}}{} -\begin{DoxyCompactList} -\item \contentsline{section}{Circle}{\pageref{classCircle}}{} -\end{DoxyCompactList} -\item \contentsline{section}{Group}{\pageref{classGroup}}{} -\item \contentsline{section}{Line}{\pageref{classLine}}{} -\item \contentsline{section}{Path}{\pageref{classPath}}{} -\item \contentsline{section}{Poly\+Shape}{\pageref{classPolyShape}}{} -\begin{DoxyCompactList} -\item \contentsline{section}{Plygon}{\pageref{classPlygon}}{} -\item \contentsline{section}{Plyline}{\pageref{classPlyline}}{} -\end{DoxyCompactList} -\item \contentsline{section}{Rect}{\pageref{classRect}}{} -\item \contentsline{section}{Text}{\pageref{classText}}{} -\end{DoxyCompactList} -\item \contentsline{section}{Vector2D$<$ T $>$}{\pageref{classVector2D}}{} -\item \contentsline{section}{Vector2D$<$ float $>$}{\pageref{classVector2D}}{} -\item \contentsline{section}{Viewer}{\pageref{classViewer}}{} -\end{DoxyCompactList} diff --git a/latex/longtable_doxygen.sty b/latex/longtable_doxygen.sty deleted file mode 100644 index a0eb314..0000000 --- a/latex/longtable_doxygen.sty +++ /dev/null @@ -1,448 +0,0 @@ -%% -%% This is file `longtable.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% longtable.dtx (with options: `package') -%% -%% This is a generated file. -%% -%% The source is maintained by the LaTeX Project team and bug -%% reports for it can be opened at http://latex-project.org/bugs.html -%% (but please observe conditions on bug reports sent to that address!) -%% -%% Copyright 1993-2016 -%% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% -%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. -%% -------------------------------------------------------------------------- -%% -%% It may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3c -%% of this license or (at your option) any later version. -%% The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX -%% version 2005/12/01 or later. -%% -%% This file may only be distributed together with a copy of the LaTeX -%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle' -%% without such generated files. -%% -%% The list of all files belonging to the LaTeX `Tools Bundle' is -%% given in the file `manifest.txt'. -%% -%% File: longtable.dtx Copyright (C) 1990-2001 David Carlisle -\NeedsTeXFormat{LaTeX2e}[1995/06/01] -\ProvidesPackage{longtable_doxygen} - [2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen] -\def\LT@err{\PackageError{longtable}} -\def\LT@warn{\PackageWarning{longtable}} -\def\LT@final@warn{% - \AtEndDocument{% - \LT@warn{Table \@width s have changed. Rerun LaTeX.\@gobbletwo}}% - \global\let\LT@final@warn\relax} -\DeclareOption{errorshow}{% - \def\LT@warn{\PackageInfo{longtable}}} -\DeclareOption{pausing}{% - \def\LT@warn#1{% - \LT@err{#1}{This is not really an error}}} -\DeclareOption{set}{} -\DeclareOption{final}{} -\ProcessOptions -\newskip\LTleft \LTleft=\fill -\newskip\LTright \LTright=\fill -\newskip\LTpre \LTpre=\bigskipamount -\newskip\LTpost \LTpost=\bigskipamount -\newcount\LTchunksize \LTchunksize=20 -\let\c@LTchunksize\LTchunksize -\newdimen\LTcapwidth \LTcapwidth=4in -\newbox\LT@head -\newbox\LT@firsthead -\newbox\LT@foot -\newbox\LT@lastfoot -\newcount\LT@cols -\newcount\LT@rows -\newcounter{LT@tables} -\newcounter{LT@chunks}[LT@tables] -\ifx\c@table\undefined - \newcounter{table} - \def\fnum@table{\tablename~\thetable} -\fi -\ifx\tablename\undefined - \def\tablename{Table} -\fi -\newtoks\LT@p@ftn -\mathchardef\LT@end@pen=30000 -\def\longtable{% - \par - \ifx\multicols\@undefined - \else - \ifnum\col@number>\@ne - \@twocolumntrue - \fi - \fi - \if@twocolumn - \LT@err{longtable not in 1-column mode}\@ehc - \fi - \begingroup - \@ifnextchar[\LT@array{\LT@array[x]}} -\def\LT@array[#1]#2{% - \refstepcounter{table}\stepcounter{LT@tables}% - \if l#1% - \LTleft\z@ \LTright\fill - \else\if r#1% - \LTleft\fill \LTright\z@ - \else\if c#1% - \LTleft\fill \LTright\fill - \fi\fi\fi - \let\LT@mcol\multicolumn - \let\LT@@tabarray\@tabarray - \let\LT@@hl\hline - \def\@tabarray{% - \let\hline\LT@@hl - \LT@@tabarray}% - \let\\\LT@tabularcr\let\tabularnewline\\% - \def\newpage{\noalign{\break}}% - \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% - \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% - \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption - \@tempdima\ht\strutbox - \let\@endpbox\LT@endpbox - \ifx\extrarowheight\@undefined - \let\@acol\@tabacol - \let\@classz\@tabclassz \let\@classiv\@tabclassiv - \def\@startpbox{\vtop\LT@startpbox}% - \let\@@startpbox\@startpbox - \let\@@endpbox\@endpbox - \let\LT@LL@FM@cr\@tabularcr - \else - \advance\@tempdima\extrarowheight - \col@sep\tabcolsep - \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr - \fi - \setbox\@arstrutbox\hbox{\vrule - \@height \arraystretch \@tempdima - \@depth \arraystretch \dp \strutbox - \@width \z@}% - \let\@sharp##\let\protect\relax - \begingroup - \@mkpream{#2}% - \xdef\LT@bchunk{% - \global\advance\c@LT@chunks\@ne - \global\LT@rows\z@\setbox\z@\vbox\bgroup - \LT@setprevdepth - \tabskip\LTleft \noexpand\halign to\hsize\bgroup - \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}% - \endgroup - \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols - \LT@make@row - \m@th\let\par\@empty - \everycr{}\lineskip\z@\baselineskip\z@ - \LT@bchunk} -\def\LT@no@pgbk#1[#2]{\penalty #1\@getpen{#2}\ifnum`{=0\fi}} -\def\LT@start{% - \let\LT@start\endgraf - \endgraf\penalty\z@\vskip\LTpre - \dimen@\pagetotal - \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi - \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi - \advance\dimen@ \ht\LT@foot - \dimen@ii\vfuzz - \vfuzz\maxdimen - \setbox\tw@\copy\z@ - \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox - \setbox\tw@\vbox{\unvbox\tw@}% - \vfuzz\dimen@ii - \advance\dimen@ \ht - \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi - \advance\dimen@\dp - \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi - \advance\dimen@ -\pagegoal - \ifdim \dimen@>\z@\vfil\break\fi - \global\@colroom\@colht - \ifvoid\LT@foot\else - \advance\vsize-\ht\LT@foot - \global\advance\@colroom-\ht\LT@foot - \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@ - \maxdepth\z@ - \fi - \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak - \output{\LT@output}} -\def\endlongtable{% - \crcr - \noalign{% - \let\LT@entry\LT@entry@chop - \xdef\LT@save@row{\LT@save@row}}% - \LT@echunk - \LT@start - \unvbox\z@ - \LT@get@widths - \if@filesw - {\let\LT@entry\LT@entry@write\immediate\write\@auxout{% - \gdef\expandafter\noexpand - \csname LT@\romannumeral\c@LT@tables\endcsname - {\LT@save@row}}}% - \fi - \ifx\LT@save@row\LT@@save@row - \else - \LT@warn{Column \@width s have changed\MessageBreak - in table \thetable}% - \LT@final@warn - \fi - \endgraf\penalty -\LT@end@pen - \endgroup - \global\@mparbottom\z@ - \pagegoal\vsize - \endgraf\penalty\z@\addvspace\LTpost - \ifvoid\footins\else\insert\footins{}\fi} -\def\LT@nofcols#1&{% - \futurelet\@let@token\LT@n@fcols} -\def\LT@n@fcols{% - \advance\LT@cols\@ne - \ifx\@let@token\LT@nofcols - \expandafter\@gobble - \else - \expandafter\LT@nofcols - \fi} -\def\LT@tabularcr{% - \relax\iffalse{\fi\ifnum0=`}\fi - \@ifstar - {\def\crcr{\LT@crcr\noalign{\nobreak}}\let\cr\crcr - \LT@t@bularcr}% - {\LT@t@bularcr}} -\let\LT@crcr\crcr -\let\LT@setprevdepth\relax -\def\LT@t@bularcr{% - \global\advance\LT@rows\@ne - \ifnum\LT@rows=\LTchunksize - \gdef\LT@setprevdepth{% - \prevdepth\z@\global - \global\let\LT@setprevdepth\relax}% - \expandafter\LT@xtabularcr - \else - \ifnum0=`{}\fi - \expandafter\LT@LL@FM@cr - \fi} -\def\LT@xtabularcr{% - \@ifnextchar[\LT@argtabularcr\LT@ntabularcr} -\def\LT@ntabularcr{% - \ifnum0=`{}\fi - \LT@echunk - \LT@start - \unvbox\z@ - \LT@get@widths - \LT@bchunk} -\def\LT@argtabularcr[#1]{% - \ifnum0=`{}\fi - \ifdim #1>\z@ - \unskip\@xargarraycr{#1}% - \else - \@yargarraycr{#1}% - \fi - \LT@echunk - \LT@start - \unvbox\z@ - \LT@get@widths - \LT@bchunk} -\def\LT@echunk{% - \crcr\LT@save@row\cr\egroup - \global\setbox\@ne\lastbox - \unskip - \egroup} -\def\LT@entry#1#2{% - \ifhmode\@firstofone{&}\fi\omit - \ifnum#1=\c@LT@chunks - \else - \kern#2\relax - \fi} -\def\LT@entry@chop#1#2{% - \noexpand\LT@entry - {\ifnum#1>\c@LT@chunks - 1}{0pt% - \else - #1}{#2% - \fi}} -\def\LT@entry@write{% - \noexpand\LT@entry^^J% - \@spaces} -\def\LT@kill{% - \LT@echunk - \LT@get@widths - \expandafter\LT@rebox\LT@bchunk} -\def\LT@rebox#1\bgroup{% - #1\bgroup - \unvbox\z@ - \unskip - \setbox\z@\lastbox} -\def\LT@blank@row{% - \xdef\LT@save@row{\expandafter\LT@build@blank - \romannumeral\number\LT@cols 001 }} -\def\LT@build@blank#1{% - \if#1m% - \noexpand\LT@entry{1}{0pt}% - \expandafter\LT@build@blank - \fi} -\def\LT@make@row{% - \global\expandafter\let\expandafter\LT@save@row - \csname LT@\romannumeral\c@LT@tables\endcsname - \ifx\LT@save@row\relax - \LT@blank@row - \else - {\let\LT@entry\or - \if!% - \ifcase\expandafter\expandafter\expandafter\LT@cols - \expandafter\@gobble\LT@save@row - \or - \else - \relax - \fi - !% - \else - \aftergroup\LT@blank@row - \fi}% - \fi} -\let\setlongtables\relax -\def\LT@get@widths{% - \setbox\tw@\hbox{% - \unhbox\@ne - \let\LT@old@row\LT@save@row - \global\let\LT@save@row\@empty - \count@\LT@cols - \loop - \unskip - \setbox\tw@\lastbox - \ifhbox\tw@ - \LT@def@row - \advance\count@\m@ne - \repeat}% - \ifx\LT@@save@row\@undefined - \let\LT@@save@row\LT@save@row - \fi} -\def\LT@def@row{% - \let\LT@entry\or - \edef\@tempa{% - \ifcase\expandafter\count@\LT@old@row - \else - {1}{0pt}% - \fi}% - \let\LT@entry\relax - \xdef\LT@save@row{% - \LT@entry - \expandafter\LT@max@sel\@tempa - \LT@save@row}} -\def\LT@max@sel#1#2{% - {\ifdim#2=\wd\tw@ - #1% - \else - \number\c@LT@chunks - \fi}% - {\the\wd\tw@}} -\def\LT@hline{% - \noalign{\ifnum0=`}\fi - \penalty\@M - \futurelet\@let@token\LT@@hline} -\def\LT@@hline{% - \ifx\@let@token\hline - \global\let\@gtempa\@gobble - \gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}% - \else - \global\let\@gtempa\@empty - \gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}% - \fi - \ifnum0=`{\fi}% - \multispan\LT@cols - \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr - \noalign{\LT@sep}% - \multispan\LT@cols - \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr - \noalign{\penalty\@M}% - \@gtempa} -\def\LT@caption{% - \noalign\bgroup - \@ifnextchar[{\egroup\LT@c@ption\@firstofone}\LT@capti@n} -\def\LT@c@ption#1[#2]#3{% - \LT@makecaption#1\fnum@table{#3}% - \def\@tempa{#2}% - \ifx\@tempa\@empty\else - {\let\\\space - \addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}% - \fi} -\def\LT@capti@n{% - \@ifstar - {\egroup\LT@c@ption\@gobble[]}% - {\egroup\@xdblarg{\LT@c@ption\@firstofone}}} -\def\LT@makecaption#1#2#3{% - \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{% - \sbox\@tempboxa{#1{#2: }#3}% - \ifdim\wd\@tempboxa>\hsize - #1{#2: }#3% - \else - \hbox to\hsize{\hfil\box\@tempboxa\hfil}% - \fi - \endgraf\vskip\baselineskip}% - \hss}}} -\def\LT@output{% - \ifnum\outputpenalty <-\@Mi - \ifnum\outputpenalty > -\LT@end@pen - \LT@err{floats and marginpars not allowed in a longtable}\@ehc - \else - \setbox\z@\vbox{\unvbox\@cclv}% - \ifdim \ht\LT@lastfoot>\ht\LT@foot - \dimen@\pagegoal - \advance\dimen@-\ht\LT@lastfoot - \ifdim\dimen@<\ht\z@ - \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}% - \@makecol - \@outputpage - \setbox\z@\vbox{\box\LT@head}% - \fi - \fi - \global\@colroom\@colht - \global\vsize\@colht - \vbox - {\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}% - \fi - \else - \setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}% - \@makecol - \@outputpage - \global\vsize\@colroom - \copy\LT@head\nobreak - \fi} -\def\LT@end@hd@ft#1{% - \LT@echunk - \ifx\LT@start\endgraf - \LT@err - {Longtable head or foot not at start of table}% - {Increase LTchunksize}% - \fi - \setbox#1\box\z@ - \LT@get@widths - \LT@bchunk} -\def\endfirsthead{\LT@end@hd@ft\LT@firsthead} -\def\endhead{\LT@end@hd@ft\LT@head} -\def\endfoot{\LT@end@hd@ft\LT@foot} -\def\endlastfoot{\LT@end@hd@ft\LT@lastfoot} -\def\LT@startpbox#1{% - \bgroup - \let\@footnotetext\LT@p@ftntext - \setlength\hsize{#1}% - \@arrayparboxrestore - \vrule \@height \ht\@arstrutbox \@width \z@} -\def\LT@endpbox{% - \@finalstrut\@arstrutbox - \egroup - \the\LT@p@ftn - \global\LT@p@ftn{}% - \hfil} -\def\LT@p@ftntext#1{% - \edef\@tempa{\the\LT@p@ftn\noexpand\footnotetext[\the\c@footnote]}% - \global\LT@p@ftn\expandafter{\@tempa{#1}}}% - -\@namedef{ver@longtable.sty}{2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen} -\endinput -%% -%% End of file `longtable.sty'. diff --git a/latex/refman.aux b/latex/refman.aux deleted file mode 100644 index e4b871f..0000000 --- a/latex/refman.aux +++ /dev/null @@ -1,778 +0,0 @@ -\relax -\providecommand\hyper@newdestlabel[2]{} -\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} -\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined -\global\let\oldcontentsline\contentsline -\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} -\global\let\oldnewlabel\newlabel -\gdef\newlabel#1#2{\newlabelxx{#1}#2} -\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} -\AtEndDocument{\ifx\hyper@anchor\@undefined -\let\contentsline\oldcontentsline -\let\newlabel\oldnewlabel -\fi} -\fi} -\global\let\hyper@last\relax -\gdef\HyperFirstAtBeginDocument#1{#1} -\providecommand\HyField@AuxAddToFields[1]{} -\providecommand\HyField@AuxAddToCoFields[2]{} -\providecommand \oddpage@label [2]{} -\@writefile{toc}{\@ifundefined {etoctocstyle}{\let \etoc@startlocaltoc \@gobble \let \etoc@settocdepth \@gobble \let \etoc@depthtag \@gobble \let \etoc@setlocaltop \@gobble }{}} -\@writefile{toc}{\contentsline {chapter}{\numberline {1}Hierarchical Index}{1}{chapter.1}\protected@file@percent } -\@writefile{lof}{\addvspace {10\p@ }} -\@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {1.1}Class Hierarchy}{1}{section.1.1}\protected@file@percent } -\@writefile{toc}{\contentsline {chapter}{\numberline {2}Class Index}{3}{chapter.2}\protected@file@percent } -\@writefile{lof}{\addvspace {10\p@ }} -\@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {2.1}Class List}{3}{section.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {chapter}{\numberline {3}Class Documentation}{5}{chapter.3}\protected@file@percent } -\@writefile{lof}{\addvspace {10\p@ }} -\@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {3.1}Circle Class Reference}{5}{section.3.1}\protected@file@percent } -\newlabel{classCircle}{{3.1}{5}{Circle Class Reference}{section.3.1}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Detailed Description}{6}{subsection.3.1.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Constructor \& Destructor Documentation}{6}{subsection.3.1.2}\protected@file@percent } -\newlabel{classCircle_a5d018c51bfa1fa3d1081e3deef5eddc0}{{3.1.2}{6}{Constructor \& Destructor Documentation}{subsection.3.1.2}{}} -\gdef \LT@i {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{132.6287pt}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.2.1}Circle()}{7}{subsubsection.3.1.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.3}Member Function Documentation}{7}{subsection.3.1.3}\protected@file@percent } -\newlabel{classCircle_a09523e46318092d42a5969a1da5613bb}{{3.1.3}{7}{Member Function Documentation}{subsection.3.1.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.3.1}getClass()}{7}{subsubsection.3.1.3.1}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.2}Ell Class Reference}{8}{section.3.2}\protected@file@percent } -\newlabel{classEll}{{3.2}{8}{Ell Class Reference}{section.3.2}{}} -\newlabel{classEll_af57a48abe0e2bc8806e73dfa7762388f}{{3.2}{9}{Private Attributes}{section*.8}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Detailed Description}{9}{subsection.3.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Constructor \& Destructor Documentation}{9}{subsection.3.2.2}\protected@file@percent } -\newlabel{classEll_a4a9956ca82cb9f957e993fa0c0faced6}{{3.2.2}{9}{Constructor \& Destructor Documentation}{subsection.3.2.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.2.1}Ell()}{9}{subsubsection.3.2.2.1}\protected@file@percent } -\gdef \LT@ii {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{199.75789pt}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Member Function Documentation}{10}{subsection.3.2.3}\protected@file@percent } -\newlabel{classEll_a0d0a2a70c06878c5769bd7d092277892}{{3.2.3}{10}{Member Function Documentation}{subsection.3.2.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.3.1}getClass()}{10}{subsubsection.3.2.3.1}\protected@file@percent } -\newlabel{classEll_a8a8dd2acc8c7be5580dd8e549d247525}{{3.2.3.1}{10}{\texorpdfstring {getClass()}{getClass()}}{subsubsection.3.2.3.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.3.2}getMaxBound()}{10}{subsubsection.3.2.3.2}\protected@file@percent } -\newlabel{classEll_ab79368df57ee08382916fc52b69afb85}{{3.2.3.2}{10}{\texorpdfstring {getMaxBound()}{getMaxBound()}}{subsubsection.3.2.3.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.3.3}getMinBound()}{11}{subsubsection.3.2.3.3}\protected@file@percent } -\newlabel{classEll_a00d607a5238705b552ec61b4409b76c1}{{3.2.3.3}{11}{\texorpdfstring {getMinBound()}{getMinBound()}}{subsubsection.3.2.3.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.3.4}getRadius()}{11}{subsubsection.3.2.3.4}\protected@file@percent } -\newlabel{classEll_a1d6d60039d2405f2b7aa117206d128fb}{{3.2.3.4}{11}{\texorpdfstring {getRadius()}{getRadius()}}{subsubsection.3.2.3.4}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.3.5}printData()}{11}{subsubsection.3.2.3.5}\protected@file@percent } -\newlabel{classEll_a9f67131ba02c02fccf42c52f5f04525e}{{3.2.3.5}{11}{\texorpdfstring {printData()}{printData()}}{subsubsection.3.2.3.5}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.3.6}setRadius()}{11}{subsubsection.3.2.3.6}\protected@file@percent } -\gdef \LT@iii {\LT@entry - {3}{37.21657pt}\LT@entry - {3}{129.0466pt}} -\@writefile{toc}{\contentsline {section}{\numberline {3.3}Gradient Class Reference}{12}{section.3.3}\protected@file@percent } -\newlabel{classGradient}{{3.3}{12}{Gradient Class Reference}{section.3.3}{}} -\newlabel{classGradient_a9332299756c51c99398ce09e584a8b42}{{3.3}{12}{Public Member Functions}{section*.11}{}} -\gdef \LT@iv {\LT@entry - {3}{36.81152pt}\LT@entry - {3}{172.17319pt}} -\newlabel{classGradient_a7831fa94135c818481ef7c85f792e1ca}{{3.3}{13}{Private Attributes}{section*.12}{}} -\newlabel{classGradient_a8da859d1b12459800e763c31f18d0d41}{{3.3}{13}{Private Attributes}{section*.12}{}} -\newlabel{classGradient_a592dda454dc4df897263212191d6e3cb}{{3.3}{13}{Private Attributes}{section*.12}{}} -\newlabel{classGradient_a1387db53f850dd8cc765fc837c6e97e8}{{3.3}{13}{Private Attributes}{section*.12}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Detailed Description}{13}{subsection.3.3.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Constructor \& Destructor Documentation}{13}{subsection.3.3.2}\protected@file@percent } -\newlabel{classGradient_aa27206a9cc0adb5309a6db6dbd9d0257}{{3.3.2}{13}{Constructor \& Destructor Documentation}{subsection.3.3.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.2.1}Gradient()}{13}{subsubsection.3.3.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Member Function Documentation}{13}{subsection.3.3.3}\protected@file@percent } -\newlabel{classGradient_a44218bd3fb347f4c269f1f2795fb77d5}{{3.3.3}{13}{Member Function Documentation}{subsection.3.3.3}{}} -\gdef \LT@v {\LT@entry - {3}{29.80966pt}\LT@entry - {3}{159.81653pt}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.3.1}addStop()}{14}{subsubsection.3.3.3.1}\protected@file@percent } -\newlabel{classGradient_adb86ee7c9171cb7294d1bb8956e97891}{{3.3.3.1}{14}{\texorpdfstring {addStop()}{addStop()}}{table.3.5}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.3.2}getClass()}{14}{subsubsection.3.3.3.2}\protected@file@percent } -\newlabel{classGradient_aced479d6a10d2aa53e6d363e1df5dc08}{{3.3.3.2}{14}{\texorpdfstring {getClass()}{getClass()}}{subsubsection.3.3.3.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.3.3}getPoints()}{14}{subsubsection.3.3.3.3}\protected@file@percent } -\newlabel{classGradient_a1125c4e5294389bb6698bf4fcb4f928d}{{3.3.3.3}{14}{\texorpdfstring {getPoints()}{getPoints()}}{subsubsection.3.3.3.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.3.4}getStops()}{15}{subsubsection.3.3.3.4}\protected@file@percent } -\newlabel{classGradient_adf0e8b360f2b8e6edc1059002f85b1c1}{{3.3.3.4}{15}{\texorpdfstring {getStops()}{getStops()}}{subsubsection.3.3.3.4}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.3.5}getTransforms()}{15}{subsubsection.3.3.3.5}\protected@file@percent } -\newlabel{classGradient_a54cc5770c2dce46f1d56bcfb63285173}{{3.3.3.5}{15}{\texorpdfstring {getTransforms()}{getTransforms()}}{subsubsection.3.3.3.5}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.3.6}getUnits()}{15}{subsubsection.3.3.3.6}\protected@file@percent } -\newlabel{classGradient_ae2afa93bd9b6759f5fe625065301d3d9}{{3.3.3.6}{15}{\texorpdfstring {getUnits()}{getUnits()}}{subsubsection.3.3.3.6}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.3.7}setTransforms()}{16}{subsubsection.3.3.3.7}\protected@file@percent } -\newlabel{classGradient_a61dd624d452ab2afe913414158888165}{{3.3.3.7}{16}{\texorpdfstring {setTransforms()}{setTransforms()}}{subsubsection.3.3.3.7}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.3.8}setUnits()}{16}{subsubsection.3.3.3.8}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.4}Group Class Reference}{16}{section.3.4}\protected@file@percent } -\newlabel{classGroup}{{3.4}{16}{Group Class Reference}{section.3.4}{}} -\newlabel{classGroup_a7b74f9ac68e0504ccf2e2854b7355ff1}{{3.4}{17}{Public Member Functions}{section*.15}{}} -\newlabel{classGroup_aed00a22ff227ee2657ae44a5cbcedf7c}{{3.4}{17}{Public Member Functions}{section*.15}{}} -\newlabel{classGroup_a6ff10d6fceb2a78103db2d9783de6f41}{{3.4}{17}{Private Attributes}{section*.16}{}} -\newlabel{classGroup_a9308f587c63720ccbe2bfd1bad868547}{{3.4}{17}{Private Attributes}{section*.16}{}} -\gdef \LT@vi {\LT@entry - {3}{49.77109pt}\LT@entry - {3}{120.01039pt}} -\gdef \LT@vii {\LT@entry - {3}{37.31558pt}\LT@entry - {3}{201.10791pt}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.1}Detailed Description}{18}{subsection.3.4.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.2}Constructor \& Destructor Documentation}{18}{subsection.3.4.2}\protected@file@percent } -\newlabel{classGroup_a123cdaf1fb7cdf873740757d3864a4a6}{{3.4.2}{18}{Constructor \& Destructor Documentation}{subsection.3.4.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.2.1}Group()}{18}{subsubsection.3.4.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.3}Member Function Documentation}{18}{subsection.3.4.3}\protected@file@percent } -\newlabel{classGroup_af4dafed0506ca5e9ea9e1028b1504919}{{3.4.3}{18}{Member Function Documentation}{subsection.3.4.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.3.1}addElement()}{18}{subsubsection.3.4.3.1}\protected@file@percent } -\newlabel{classGroup_a317fcd42fd61b83c0d932bd1eb2c753f}{{3.4.3.1}{19}{\texorpdfstring {addElement()}{addElement()}}{table.3.7}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.3.2}getAttributes()}{19}{subsubsection.3.4.3.2}\protected@file@percent } -\newlabel{classGroup_a070e010084eaac6131e1bf814d10d234}{{3.4.3.2}{19}{\texorpdfstring {getAttributes()}{getAttributes()}}{subsubsection.3.4.3.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.3.3}getClass()}{19}{subsubsection.3.4.3.3}\protected@file@percent } -\newlabel{classGroup_a310fa83ccb20841373c11b6b4ac1d336}{{3.4.3.3}{19}{\texorpdfstring {getClass()}{getClass()}}{subsubsection.3.4.3.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.3.4}getElements()}{19}{subsubsection.3.4.3.4}\protected@file@percent } -\newlabel{classGroup_a42fa18c4215ad3669db32b78e22303fa}{{3.4.3.4}{19}{\texorpdfstring {getElements()}{getElements()}}{subsubsection.3.4.3.4}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.3.5}printData()}{20}{subsubsection.3.4.3.5}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.5}Line Class Reference}{20}{section.3.5}\protected@file@percent } -\newlabel{classLine}{{3.5}{20}{Line Class Reference}{section.3.5}{}} -\newlabel{classLine_a3fe45077492213ef490739c6137200d1}{{3.5}{21}{Private Attributes}{section*.21}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.1}Detailed Description}{21}{subsection.3.5.1}\protected@file@percent } -\gdef \LT@viii {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{202.1966pt}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.2}Constructor \& Destructor Documentation}{22}{subsection.3.5.2}\protected@file@percent } -\newlabel{classLine_ab6e165ec2c3f412d5e5a860b28a52b4c}{{3.5.2}{22}{Constructor \& Destructor Documentation}{subsection.3.5.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2.1}Line()}{22}{subsubsection.3.5.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.3}Member Function Documentation}{22}{subsection.3.5.3}\protected@file@percent } -\newlabel{classLine_a745f295541d412b49dac89423bd957a6}{{3.5.3}{22}{Member Function Documentation}{subsection.3.5.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.3.1}getClass()}{22}{subsubsection.3.5.3.1}\protected@file@percent } -\newlabel{classLine_adb348ce7ddf4b500c3593b7126aa4451}{{3.5.3.1}{22}{\texorpdfstring {getClass()}{getClass()}}{subsubsection.3.5.3.1}{}} -\gdef \LT@ix {\LT@entry - {3}{46.81032pt}\LT@entry - {3}{127.13852pt}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.3.2}getDirection()}{23}{subsubsection.3.5.3.2}\protected@file@percent } -\newlabel{classLine_afe6672bc7667cf45739c46f9fc8cb237}{{3.5.3.2}{23}{\texorpdfstring {getDirection()}{getDirection()}}{subsubsection.3.5.3.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.3.3}getLength()}{23}{subsubsection.3.5.3.3}\protected@file@percent } -\newlabel{classLine_ab46a879365e623e8b360c2db54d76782}{{3.5.3.3}{23}{\texorpdfstring {getLength()}{getLength()}}{subsubsection.3.5.3.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.3.4}setDirection()}{23}{subsubsection.3.5.3.4}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.6}Linear\discretionary {\mbox {\scriptsize $\hookleftarrow $}}{}{}Gradient Class Reference}{24}{section.3.6}\protected@file@percent } -\newlabel{classLinearGradient}{{3.6}{24}{Linear\+Gradient Class Reference}{section.3.6}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.6.1}Detailed Description}{24}{subsection.3.6.1}\protected@file@percent } -\gdef \LT@x {\LT@entry - {3}{36.81152pt}\LT@entry - {3}{172.17319pt}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.6.2}Constructor \& Destructor Documentation}{25}{subsection.3.6.2}\protected@file@percent } -\newlabel{classLinearGradient_aaa0260244d818cd9d1180cb2697cc83b}{{3.6.2}{25}{Constructor \& Destructor Documentation}{subsection.3.6.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.2.1}LinearGradient()}{25}{subsubsection.3.6.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.6.3}Member Function Documentation}{25}{subsection.3.6.3}\protected@file@percent } -\newlabel{classLinearGradient_aa434164a18fa29e778cdb7fc96770b9a}{{3.6.3}{25}{Member Function Documentation}{subsection.3.6.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.3.1}getClass()}{25}{subsubsection.3.6.3.1}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.7}m\discretionary {\mbox {\scriptsize $\hookleftarrow $}}{}{}Color Class Reference}{26}{section.3.7}\protected@file@percent } -\newlabel{classmColor}{{3.7}{26}{m\+Color Class Reference}{section.3.7}{}} -\newlabel{classmColor_a427453d377b30c62f7d25f47120959d6}{{3.7}{26}{Public Attributes}{section*.28}{}} -\newlabel{classmColor_a0cd1254821d108bb8c5be8ec5536f8ec}{{3.7}{26}{Public Attributes}{section*.28}{}} -\newlabel{classmColor_ad56f2424fa451364becdc4d1c4df657c}{{3.7}{26}{Public Attributes}{section*.28}{}} -\newlabel{classmColor_ac086aa72806b8ce55fed3df9ba976f6c}{{3.7}{26}{Public Attributes}{section*.28}{}} -\newlabel{classmColor_aa3910d2b82d32c8aa4e50127874a6d03}{{3.7}{27}{Static Public Attributes}{section*.29}{}} -\newlabel{classmColor_a73b9b91ca8c79e6e3876e5d83980ebec}{{3.7}{27}{Static Public Attributes}{section*.29}{}} -\newlabel{classmColor_aa0fc6fe3033f7ff2806c59e39c072dbc}{{3.7}{27}{Static Public Attributes}{section*.29}{}} -\newlabel{classmColor_aa69dc1cb58cec64672952d1e84744f8c}{{3.7}{27}{Static Public Attributes}{section*.29}{}} -\newlabel{classmColor_a59dc727125e9f3d4ed0c59433dfa0780}{{3.7}{27}{Static Public Attributes}{section*.29}{}} -\newlabel{classmColor_a68265f053324eea11265c7f8d7fdb5ff}{{3.7}{27}{Static Public Attributes}{section*.29}{}} -\newlabel{classmColor_a777df695011fdb21f6b5d3e6745389c4}{{3.7}{27}{Static Public Attributes}{section*.29}{}} -\newlabel{classmColor_a04a0d2485c1106ccc94d065a0e62ecfb}{{3.7}{27}{Static Public Attributes}{section*.29}{}} -\newlabel{classmColor_ac4f0afaa513bbe9e68c16156136d4ada}{{3.7}{27}{Static Public Attributes}{section*.29}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.7.1}Detailed Description}{27}{subsection.3.7.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.7.2}Constructor \& Destructor Documentation}{27}{subsection.3.7.2}\protected@file@percent } -\newlabel{classmColor_a9b1702a679c1c5f649787fe15d8b016a}{{3.7.2}{27}{Constructor \& Destructor Documentation}{subsection.3.7.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.2.1}mColor()\hspace {0.1cm}{\footnotesize \ttfamily [1/3]}}{27}{subsubsection.3.7.2.1}\protected@file@percent } -\newlabel{classmColor_a4376ef67b23a45be81daeecbfef1b2c3}{{3.7.2.1}{27}{\texorpdfstring {mColor()}{mColor()}\hspace {0.1cm}{\footnotesize \ttfamily [1/3]}}{subsubsection.3.7.2.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.2.2}mColor()\hspace {0.1cm}{\footnotesize \ttfamily [2/3]}}{27}{subsubsection.3.7.2.2}\protected@file@percent } -\gdef \LT@xi {\LT@entry - {3}{35.72255pt}\LT@entry - {3}{207.90266pt}} -\gdef \LT@xii {\LT@entry - {3}{32.30266pt}\LT@entry - {3}{238.98827pt}} -\gdef \LT@xiii {\LT@entry - {3}{32.30266pt}\LT@entry - {3}{84.56926pt}} -\newlabel{classmColor_a8df59e284c6211d66b05fab14d726a5e}{{3.7.2.2}{28}{\texorpdfstring {mColor()}{mColor()}\hspace {0.1cm}{\footnotesize \ttfamily [2/3]}}{table.3.11}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.2.3}mColor()\hspace {0.1cm}{\footnotesize \ttfamily [3/3]}}{28}{subsubsection.3.7.2.3}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.7.3}Friends And Related Function Documentation}{28}{subsection.3.7.3}\protected@file@percent } -\newlabel{classmColor_a1887c93301ffe92701baf17d6af3418e}{{3.7.3}{28}{Friends And Related Function Documentation}{subsection.3.7.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.3.1}operator$<$$<$}{28}{subsubsection.3.7.3.1}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.8}Parser Class Reference}{29}{section.3.8}\protected@file@percent } -\newlabel{classParser}{{3.8}{29}{Parser Class Reference}{section.3.8}{}} -\newlabel{classParser_a48044a8caa14a251cb4dad9fb363658e}{{3.8}{30}{Public Member Functions}{section*.32}{}} -\newlabel{classParser_a3e658b5917a93a3ef648050d060e3a93}{{3.8}{30}{Public Member Functions}{section*.32}{}} -\newlabel{classParser_a13a5e2fdac62670c1584de1edbba77f2}{{3.8}{31}{Private Attributes}{section*.35}{}} -\newlabel{classParser_a7eb24f4915ba9b7a652ca204c1edb2c7}{{3.8}{31}{Private Attributes}{section*.35}{}} -\newlabel{classParser_a2872aff3bfb15fdb1df2dcdce2bd632a}{{3.8}{31}{Private Attributes}{section*.35}{}} -\newlabel{classParser_ae3a28c02c18171f4e83fae54b9f21a90}{{3.8}{31}{Static Private Attributes}{section*.36}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.1}Detailed Description}{31}{subsection.3.8.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.2}Constructor \& Destructor Documentation}{31}{subsection.3.8.2}\protected@file@percent } -\newlabel{classParser_a350fc3e35535c5891cd9e36e79ee546a}{{3.8.2}{31}{Constructor \& Destructor Documentation}{subsection.3.8.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.2.1}Parser()}{31}{subsubsection.3.8.2.1}\protected@file@percent } -\gdef \LT@xiv {\LT@entry - {3}{51.81435pt}\LT@entry - {3}{146.97398pt}} -\gdef \LT@xv {\LT@entry - {3}{35.30861pt}\LT@entry - {3}{132.97026pt}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.3}Member Function Documentation}{32}{subsection.3.8.3}\protected@file@percent } -\newlabel{classParser_a63329a7accdf332feb3fba1bcc4deec6}{{3.8.3}{32}{Member Function Documentation}{subsection.3.8.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.1}getAttribute()}{32}{subsubsection.3.8.3.1}\protected@file@percent } -\newlabel{classParser_ab2b1df7c69830fafcbe36de5199dcd30}{{3.8.3.1}{32}{\texorpdfstring {getAttribute()}{getAttribute()}}{table.3.15}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.2}getFloatAttribute()}{32}{subsubsection.3.8.3.2}\protected@file@percent } -\gdef \LT@xvi {\LT@entry - {3}{35.30861pt}\LT@entry - {3}{132.97026pt}} -\gdef \LT@xvii {\LT@entry - {3}{32.81561pt}\LT@entry - {3}{105.45798pt}} -\newlabel{classParser_ac00eac6bf37c45c9160fa47700d2466f}{{3.8.3.2}{34}{\texorpdfstring {getFloatAttribute()}{getFloatAttribute()}}{table.3.16}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.3}GetGradients()}{34}{subsubsection.3.8.3.3}\protected@file@percent } -\gdef \LT@xviii {\LT@entry - {3}{32.81561pt}\LT@entry - {3}{105.45798pt}} -\newlabel{classParser_aca2ed5f466436a9e9f78618bb1e356fd}{{3.8.3.3}{35}{\texorpdfstring {GetGradients()}{GetGradients()}}{table.3.17}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.4}getGradientStops()}{35}{subsubsection.3.8.3.4}\protected@file@percent } -\gdef \LT@xix {\LT@entry - {3}{51.81435pt}\LT@entry - {3}{146.97398pt}} -\newlabel{classParser_a06952fa44f19fdb573c1355ac26454c5}{{3.8.3.4}{36}{\texorpdfstring {getGradientStops()}{getGradientStops()}}{table.3.18}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.5}getInstance()}{36}{subsubsection.3.8.3.5}\protected@file@percent } -\newlabel{classParser_a59ed4455eaec306cde11939785c4e71a}{{3.8.3.5}{36}{\texorpdfstring {getInstance()}{getInstance()}}{table.3.19}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.6}getRoot()}{36}{subsubsection.3.8.3.6}\protected@file@percent } -\newlabel{classParser_a99df58e649089762bf434502173716d6}{{3.8.3.6}{36}{\texorpdfstring {getRoot()}{getRoot()}}{subsubsection.3.8.3.6}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.7}getTransformOrder()}{36}{subsubsection.3.8.3.7}\protected@file@percent } -\gdef \LT@xx {\LT@entry - {3}{32.81561pt}\LT@entry - {3}{105.45798pt}} -\newlabel{classParser_a4efa2342d694eff2ab6ba1d150c7bb69}{{3.8.3.7}{37}{\texorpdfstring {getTransformOrder()}{getTransformOrder()}}{table.3.20}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.8}getViewBox()}{37}{subsubsection.3.8.3.8}\protected@file@percent } -\newlabel{classParser_a009fbe10a1b9b58a65be44634335a062}{{3.8.3.8}{37}{\texorpdfstring {getViewBox()}{getViewBox()}}{subsubsection.3.8.3.8}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.9}getViewPort()}{37}{subsubsection.3.8.3.9}\protected@file@percent } -\newlabel{classParser_ab7776f740b7d63c388a086c8b8ecccd0}{{3.8.3.9}{37}{\texorpdfstring {getViewPort()}{getViewPort()}}{subsubsection.3.8.3.9}{}} -\gdef \LT@xxi {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{105.45798pt}} -\gdef \LT@xxii {\LT@entry - {3}{32.81561pt}\LT@entry - {3}{176.38554pt}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.10}parseCircle()}{38}{subsubsection.3.8.3.10}\protected@file@percent } -\newlabel{classParser_a18d5a9aa35bd124023a060940486e183}{{3.8.3.10}{38}{\texorpdfstring {parseCircle()}{parseCircle()}}{table.3.21}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.11}parseColor()}{38}{subsubsection.3.8.3.11}\protected@file@percent } -\gdef \LT@xxiii {\LT@entry - {3}{51.81435pt}\LT@entry - {3}{146.97398pt}} -\newlabel{classParser_aaf9f19591ff93f0c0c2fd68955e4a4af}{{3.8.3.11}{39}{\texorpdfstring {parseColor()}{parseColor()}}{table.3.22}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.12}parseElements()}{39}{subsubsection.3.8.3.12}\protected@file@percent } -\gdef \LT@xxiv {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{105.45798pt}} -\newlabel{classParser_a0af0085ee5e20739bdf23a5b685642b6}{{3.8.3.12}{41}{\texorpdfstring {parseElements()}{parseElements()}}{table.3.23}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.13}parseEllipse()}{41}{subsubsection.3.8.3.13}\protected@file@percent } -\newlabel{classParser_ac1e519500fce1b4192362ed1aa5ccbc3}{{3.8.3.13}{41}{\texorpdfstring {parseEllipse()}{parseEllipse()}}{table.3.24}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.14}parseGradient()}{41}{subsubsection.3.8.3.14}\protected@file@percent } -\gdef \LT@xxv {\LT@entry - {3}{19.80185pt}\LT@entry - {3}{152.30171pt}} -\gdef \LT@xxvi {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{105.45798pt}} -\newlabel{classParser_a95e84ae219109769fae08702381acf78}{{3.8.3.14}{42}{\texorpdfstring {parseGradient()}{parseGradient()}}{table.3.25}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.15}parseLine()}{42}{subsubsection.3.8.3.15}\protected@file@percent } -\newlabel{classParser_a6f80728e7a771d2653baf1b453b655d9}{{3.8.3.15}{42}{\texorpdfstring {parseLine()}{parseLine()}}{table.3.26}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.16}parsePath()}{42}{subsubsection.3.8.3.16}\protected@file@percent } -\gdef \LT@xxvii {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{105.45798pt}} -\gdef \LT@xxviii {\LT@entry - {3}{32.81561pt}\LT@entry - {3}{105.45798pt}} -\newlabel{classParser_aecea54d6bc1ff225a6ac450ccbb560c3}{{3.8.3.16}{43}{\texorpdfstring {parsePath()}{parsePath()}}{table.3.27}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.17}parsePathPoints()}{43}{subsubsection.3.8.3.17}\protected@file@percent } -\gdef \LT@xxix {\LT@entry - {3}{32.81561pt}\LT@entry - {3}{105.45798pt}} -\newlabel{classParser_af408a2ef7b27ceed0547093d73e6b2eb}{{3.8.3.17}{45}{\texorpdfstring {parsePathPoints()}{parsePathPoints()}}{table.3.28}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.18}parsePoints()}{45}{subsubsection.3.8.3.18}\protected@file@percent } -\newlabel{classParser_a7afd52c648dc5983e596edfa7eb6bbb5}{{3.8.3.18}{45}{\texorpdfstring {parsePoints()}{parsePoints()}}{table.3.29}{}} -\gdef \LT@xxx {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{105.45798pt}} -\gdef \LT@xxxi {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{105.45798pt}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.19}parsePolygon()}{46}{subsubsection.3.8.3.19}\protected@file@percent } -\newlabel{classParser_a03766f0f9f6ebdead0474973d3ac50aa}{{3.8.3.19}{46}{\texorpdfstring {parsePolygon()}{parsePolygon()}}{table.3.30}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.20}parsePolyline()}{46}{subsubsection.3.8.3.20}\protected@file@percent } -\gdef \LT@xxxii {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{105.45798pt}} -\newlabel{classParser_a20352ab58a59e61f6da1b4d20861907d}{{3.8.3.20}{47}{\texorpdfstring {parsePolyline()}{parsePolyline()}}{table.3.31}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.21}parseRect()}{47}{subsubsection.3.8.3.21}\protected@file@percent } -\newlabel{classParser_abfd09c5dd46fb0dc9bcd9106857dbf5e}{{3.8.3.21}{47}{\texorpdfstring {parseRect()}{parseRect()}}{table.3.32}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.22}parseShape()}{47}{subsubsection.3.8.3.22}\protected@file@percent } -\gdef \LT@xxxiii {\LT@entry - {3}{32.81561pt}\LT@entry - {3}{105.45798pt}} -\gdef \LT@xxxiv {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{105.45798pt}} -\newlabel{classParser_a539bda46a2832a22741105c9299c12cb}{{3.8.3.22}{48}{\texorpdfstring {parseShape()}{parseShape()}}{table.3.33}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.23}parseText()}{48}{subsubsection.3.8.3.23}\protected@file@percent } -\newlabel{classParser_a3d8927f2e26abf6a63bd850c154b23c6}{{3.8.3.23}{49}{\texorpdfstring {parseText()}{parseText()}}{table.3.34}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3.24}printShapesData()}{49}{subsubsection.3.8.3.24}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.4}Member Data Documentation}{49}{subsection.3.8.4}\protected@file@percent } -\newlabel{classParser_a7f085da78317baf2cc61e6e92b4b29c8}{{3.8.4}{49}{Member Data Documentation}{subsection.3.8.4}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.4.1}gradients}{49}{subsubsection.3.8.4.1}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.9}Path Class Reference}{50}{section.3.9}\protected@file@percent } -\newlabel{classPath}{{3.9}{50}{Path Class Reference}{section.3.9}{}} -\gdef \LT@xxxv {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{129.14561pt}} -\newlabel{classPath_a1880b844baafdeca91a7cf5d155cf9f1}{{3.9}{51}{Private Attributes}{section*.40}{}} -\newlabel{classPath_ac5abd8d5994a75cca56205c7e55a5b4f}{{3.9}{51}{Private Attributes}{section*.40}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.9.1}Detailed Description}{51}{subsection.3.9.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.9.2}Constructor \& Destructor Documentation}{51}{subsection.3.9.2}\protected@file@percent } -\newlabel{classPath_a089f2f59cc5574ce9e93826891044378}{{3.9.2}{51}{Constructor \& Destructor Documentation}{subsection.3.9.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.9.2.1}Path()}{51}{subsubsection.3.9.2.1}\protected@file@percent } -\gdef \LT@xxxvi {\LT@entry - {3}{32.31155pt}\LT@entry - {3}{147.49571pt}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.9.3}Member Function Documentation}{52}{subsection.3.9.3}\protected@file@percent } -\newlabel{classPath_ad4273c2a1b288fe43dd86375afc16f66}{{3.9.3}{52}{Member Function Documentation}{subsection.3.9.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.9.3.1}addPoint()}{52}{subsubsection.3.9.3.1}\protected@file@percent } -\newlabel{classPath_ac99ffb44f19586a10ee39aa70fd4a260}{{3.9.3.1}{52}{\texorpdfstring {addPoint()}{addPoint()}}{table.3.36}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.9.3.2}getClass()}{52}{subsubsection.3.9.3.2}\protected@file@percent } -\newlabel{classPath_a9395325e65f86fd2a4be2dc24408753a}{{3.9.3.2}{52}{\texorpdfstring {getClass()}{getClass()}}{subsubsection.3.9.3.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.9.3.3}getFillRule()}{53}{subsubsection.3.9.3.3}\protected@file@percent } -\newlabel{classPath_a9d701e9231022249523970101bbc749c}{{3.9.3.3}{53}{\texorpdfstring {getFillRule()}{getFillRule()}}{subsubsection.3.9.3.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.9.3.4}getPoints()}{53}{subsubsection.3.9.3.4}\protected@file@percent } -\newlabel{classPath_a3d2df8f3367db525772586065e16151e}{{3.9.3.4}{53}{\texorpdfstring {getPoints()}{getPoints()}}{subsubsection.3.9.3.4}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.9.3.5}printData()}{53}{subsubsection.3.9.3.5}\protected@file@percent } -\newlabel{classPath_ad2ba583a2dd567c3295ea62817b541e9}{{3.9.3.5}{53}{\texorpdfstring {printData()}{printData()}}{subsubsection.3.9.3.5}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.9.3.6}setFillRule()}{53}{subsubsection.3.9.3.6}\protected@file@percent } -\gdef \LT@xxxvii {\LT@entry - {3}{41.43738pt}\LT@entry - {3}{122.90837pt}} -\@writefile{toc}{\contentsline {section}{\numberline {3.10}Path\discretionary {\mbox {\scriptsize $\hookleftarrow $}}{}{}Point Struct Reference}{54}{section.3.10}\protected@file@percent } -\newlabel{structPathPoint}{{3.10}{54}{Path\+Point Struct Reference}{section.3.10}{}} -\newlabel{structPathPoint_a95cecf76150d2bb4a6b6b7875693ca69}{{3.10}{54}{Public Attributes}{section*.43}{}} -\newlabel{structPathPoint_a54896895f14e17ca49c47a71b79dd570}{{3.10}{54}{Public Attributes}{section*.43}{}} -\newlabel{structPathPoint_a6646f1aa8bba6735d4b4d794ef86a786}{{3.10}{54}{Public Attributes}{section*.43}{}} -\newlabel{structPathPoint_ae583dc92052b201d3416506e7632a0cc}{{3.10}{54}{Public Attributes}{section*.43}{}} -\newlabel{structPathPoint_a35cbe9f919695a09f5c881618f5fa0f9}{{3.10}{54}{Public Attributes}{section*.43}{}} -\newlabel{structPathPoint_ace50ee641dc2747418072f50b445dd53}{{3.10}{54}{Public Attributes}{section*.43}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.10.1}Detailed Description}{55}{subsection.3.10.1}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.11}Plygon Class Reference}{55}{section.3.11}\protected@file@percent } -\newlabel{classPlygon}{{3.11}{55}{Plygon Class Reference}{section.3.11}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.11.1}Detailed Description}{56}{subsection.3.11.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.11.2}Constructor \& Destructor Documentation}{56}{subsection.3.11.2}\protected@file@percent } -\newlabel{classPlygon_ac3f4fb224f4f84c3bd6e41093cd847cd}{{3.11.2}{56}{Constructor \& Destructor Documentation}{subsection.3.11.2}{}} -\gdef \LT@xxxviii {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{240.041pt}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.11.2.1}Plygon()}{57}{subsubsection.3.11.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.11.3}Member Function Documentation}{57}{subsection.3.11.3}\protected@file@percent } -\newlabel{classPlygon_aab00a0d0230ea320271e96c326c6b919}{{3.11.3}{57}{Member Function Documentation}{subsection.3.11.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.11.3.1}getClass()}{57}{subsubsection.3.11.3.1}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.12}Plyline Class Reference}{58}{section.3.12}\protected@file@percent } -\newlabel{classPlyline}{{3.12}{58}{Plyline Class Reference}{section.3.12}{}} -\gdef \LT@xxxix {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{254.04472pt}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.12.1}Detailed Description}{59}{subsection.3.12.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.12.2}Constructor \& Destructor Documentation}{59}{subsection.3.12.2}\protected@file@percent } -\newlabel{classPlyline_a8bf7677d7adb76f146607ef1aaa49bd3}{{3.12.2}{59}{Constructor \& Destructor Documentation}{subsection.3.12.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.12.2.1}Plyline()}{59}{subsubsection.3.12.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.12.3}Member Function Documentation}{59}{subsection.3.12.3}\protected@file@percent } -\newlabel{classPlyline_a5b9d86c75604d329037cd47e8ba3d5b9}{{3.12.3}{59}{Member Function Documentation}{subsection.3.12.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.12.3.1}getClass()}{59}{subsubsection.3.12.3.1}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.13}Poly\discretionary {\mbox {\scriptsize $\hookleftarrow $}}{}{}Shape Class Reference}{60}{section.3.13}\protected@file@percent } -\newlabel{classPolyShape}{{3.13}{60}{Poly\+Shape Class Reference}{section.3.13}{}} -\gdef \LT@xl {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{249.54488pt}} -\newlabel{classPolyShape_acbd1d536ad25e34b160e849a0fc12697}{{3.13}{62}{Protected Attributes}{section*.56}{}} -\newlabel{classPolyShape_abd758b76bbc30e790602b1f37a814fe1}{{3.13}{62}{Protected Attributes}{section*.56}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.13.1}Detailed Description}{62}{subsection.3.13.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.13.2}Constructor \& Destructor Documentation}{62}{subsection.3.13.2}\protected@file@percent } -\newlabel{classPolyShape_a6fd054647bea080272ed79bbea7080ac}{{3.13.2}{62}{Constructor \& Destructor Documentation}{subsection.3.13.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.13.2.1}PolyShape()}{62}{subsubsection.3.13.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.13.3}Member Function Documentation}{62}{subsection.3.13.3}\protected@file@percent } -\newlabel{classPolyShape_a3a5e4952aff469f241ee1c9b92833f55}{{3.13.3}{62}{Member Function Documentation}{subsection.3.13.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.13.3.1}addPoint()}{62}{subsubsection.3.13.3.1}\protected@file@percent } -\gdef \LT@xli {\LT@entry - {3}{32.31155pt}\LT@entry - {3}{165.85547pt}} -\newlabel{classPolyShape_afc263d5407ca7ea50e30d641d779b73b}{{3.13.3.1}{63}{\texorpdfstring {addPoint()}{addPoint()}}{table.3.41}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.13.3.2}getClass()}{63}{subsubsection.3.13.3.2}\protected@file@percent } -\newlabel{classPolyShape_acac99a28e69ee5020eed782175a5a355}{{3.13.3.2}{63}{\texorpdfstring {getClass()}{getClass()}}{subsubsection.3.13.3.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.13.3.3}getFillRule()}{63}{subsubsection.3.13.3.3}\protected@file@percent } -\newlabel{classPolyShape_a6ddda72dc27d7aade0ed444a52d7689f}{{3.13.3.3}{63}{\texorpdfstring {getFillRule()}{getFillRule()}}{subsubsection.3.13.3.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.13.3.4}getMaxBound()}{63}{subsubsection.3.13.3.4}\protected@file@percent } -\newlabel{classPolyShape_a0ad83e0129196572f99302830e0c9049}{{3.13.3.4}{63}{\texorpdfstring {getMaxBound()}{getMaxBound()}}{subsubsection.3.13.3.4}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.13.3.5}getMinBound()}{64}{subsubsection.3.13.3.5}\protected@file@percent } -\newlabel{classPolyShape_a27704ef9fd50c041d1d233e9d99a4fd4}{{3.13.3.5}{64}{\texorpdfstring {getMinBound()}{getMinBound()}}{subsubsection.3.13.3.5}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.13.3.6}getPoints()}{64}{subsubsection.3.13.3.6}\protected@file@percent } -\newlabel{classPolyShape_a40a83ac567156de6da65adb1a4380c7c}{{3.13.3.6}{64}{\texorpdfstring {getPoints()}{getPoints()}}{subsubsection.3.13.3.6}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.13.3.7}printData()}{64}{subsubsection.3.13.3.7}\protected@file@percent } -\newlabel{classPolyShape_a0c918fe8d9df68573a1c0d6e18bc6c9a}{{3.13.3.7}{64}{\texorpdfstring {printData()}{printData()}}{subsubsection.3.13.3.7}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.13.3.8}setFillRule()}{64}{subsubsection.3.13.3.8}\protected@file@percent } -\gdef \LT@xlii {\LT@entry - {3}{41.43738pt}\LT@entry - {3}{146.28117pt}} -\@writefile{toc}{\contentsline {section}{\numberline {3.14}Radial\discretionary {\mbox {\scriptsize $\hookleftarrow $}}{}{}Gradient Class Reference}{65}{section.3.14}\protected@file@percent } -\newlabel{classRadialGradient}{{3.14}{65}{Radial\+Gradient Class Reference}{section.3.14}{}} -\gdef \LT@xliii {\LT@entry - {3}{37.21657pt}\LT@entry - {3}{172.17319pt}} -\newlabel{classRadialGradient_abad9345ee5091075d8fc1b7a3511dbd7}{{3.14}{66}{Private Attributes}{section*.60}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.14.1}Detailed Description}{66}{subsection.3.14.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.14.2}Constructor \& Destructor Documentation}{66}{subsection.3.14.2}\protected@file@percent } -\newlabel{classRadialGradient_a656e8c8a107f28a06c356a3ad1a4827c}{{3.14.2}{66}{Constructor \& Destructor Documentation}{subsection.3.14.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.14.2.1}RadialGradient()}{66}{subsubsection.3.14.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.14.3}Member Function Documentation}{67}{subsection.3.14.3}\protected@file@percent } -\newlabel{classRadialGradient_a132c35f92ecceb604cdddf098c36824c}{{3.14.3}{67}{Member Function Documentation}{subsection.3.14.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.14.3.1}getClass()}{67}{subsubsection.3.14.3.1}\protected@file@percent } -\newlabel{classRadialGradient_acfa8223581f3caf2db33c310cfa48d1d}{{3.14.3.1}{67}{\texorpdfstring {getClass()}{getClass()}}{subsubsection.3.14.3.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.14.3.2}getRadius()}{67}{subsubsection.3.14.3.2}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.15}Rect Class Reference}{68}{section.3.15}\protected@file@percent } -\newlabel{classRect}{{3.15}{68}{Rect Class Reference}{section.3.15}{}} -\newlabel{classRect_a800053c390ccb818add47e627e535a5e}{{3.15}{69}{Private Attributes}{section*.64}{}} -\newlabel{classRect_a31428cce67b56b6daf168131c7dbe1e8}{{3.15}{69}{Private Attributes}{section*.64}{}} -\newlabel{classRect_a7857e3568d2a2a35bf0c6b28028005b5}{{3.15}{69}{Private Attributes}{section*.64}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.15.1}Detailed Description}{69}{subsection.3.15.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.15.2}Constructor \& Destructor Documentation}{69}{subsection.3.15.2}\protected@file@percent } -\newlabel{classRect_ad52d66e844d848d0e95f744b697e7beb}{{3.15.2}{69}{Constructor \& Destructor Documentation}{subsection.3.15.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.15.2.1}Rect()}{69}{subsubsection.3.15.2.1}\protected@file@percent } -\gdef \LT@xliv {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{211.26862pt}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.15.3}Member Function Documentation}{70}{subsection.3.15.3}\protected@file@percent } -\newlabel{classRect_a4f6ba1c3eef4054847a89da472f392cd}{{3.15.3}{70}{Member Function Documentation}{subsection.3.15.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.15.3.1}getClass()}{70}{subsubsection.3.15.3.1}\protected@file@percent } -\newlabel{classRect_a418fffe5bb9368f4e158b63e13faba16}{{3.15.3.1}{70}{\texorpdfstring {getClass()}{getClass()}}{subsubsection.3.15.3.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.15.3.2}getHeight()}{70}{subsubsection.3.15.3.2}\protected@file@percent } -\newlabel{classRect_a31ca84cc8755233b5e61d22189f637b0}{{3.15.3.2}{70}{\texorpdfstring {getHeight()}{getHeight()}}{subsubsection.3.15.3.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.15.3.3}getRadius()}{71}{subsubsection.3.15.3.3}\protected@file@percent } -\newlabel{classRect_a9c1dd853ea5df8e7c96a11bba72cc67a}{{3.15.3.3}{71}{\texorpdfstring {getRadius()}{getRadius()}}{subsubsection.3.15.3.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.15.3.4}getWidth()}{71}{subsubsection.3.15.3.4}\protected@file@percent } -\newlabel{classRect_a66351fe7a171c2b3ed5f4bdf8d6661ba}{{3.15.3.4}{71}{\texorpdfstring {getWidth()}{getWidth()}}{subsubsection.3.15.3.4}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.15.3.5}printData()}{71}{subsubsection.3.15.3.5}\protected@file@percent } -\newlabel{classRect_a964a6107f787f612798bda5c0423fb5b}{{3.15.3.5}{71}{\texorpdfstring {printData()}{printData()}}{subsubsection.3.15.3.5}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.15.3.6}setHeight()}{71}{subsubsection.3.15.3.6}\protected@file@percent } -\gdef \LT@xlv {\LT@entry - {3}{37.31546pt}\LT@entry - {3}{140.65622pt}} -\gdef \LT@xlvi {\LT@entry - {3}{37.21657pt}\LT@entry - {3}{133.0514pt}} -\gdef \LT@xlvii {\LT@entry - {3}{33.80557pt}\LT@entry - {3}{137.14633pt}} -\newlabel{classRect_a28b51c4f99cfa0208a2a5cef350c2a5e}{{3.15.3.6}{72}{\texorpdfstring {setHeight()}{setHeight()}}{table.3.45}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.15.3.7}setRadius()}{72}{subsubsection.3.15.3.7}\protected@file@percent } -\newlabel{classRect_ae11a39d12f7a766f773e662b0830848d}{{3.15.3.7}{72}{\texorpdfstring {setRadius()}{setRadius()}}{table.3.46}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.15.3.8}setWidth()}{72}{subsubsection.3.15.3.8}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.16}Renderer Class Reference}{72}{section.3.16}\protected@file@percent } -\newlabel{classRenderer}{{3.16}{72}{Renderer Class Reference}{section.3.16}{}} -\newlabel{classRenderer_a8c6e15f666cb188a936004add75e6c6b}{{3.16}{73}{Public Member Functions}{section*.67}{}} -\newlabel{classRenderer_aa42607899757d0a1c5e8fe0aa4cb5a7f}{{3.16}{73}{Public Member Functions}{section*.67}{}} -\gdef \LT@xlviii {\LT@entry - {3}{76.68077pt}\LT@entry - {3}{243.6413pt}} -\newlabel{classRenderer_a7ebf46f54dab9905f79b80f7fddb76a6}{{3.16}{74}{Private Member Functions}{section*.69}{}} -\newlabel{classRenderer_a7431a2f9b03f35752e034410ffebfbe1}{{3.16}{74}{Static Private Attributes}{section*.70}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.16.1}Detailed Description}{74}{subsection.3.16.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.16.2}Member Function Documentation}{74}{subsection.3.16.2}\protected@file@percent } -\newlabel{classRenderer_a8d159bc1ea8f4152339d6c5eead27e45}{{3.16.2}{74}{Member Function Documentation}{subsection.3.16.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.16.2.1}applyTransform()}{74}{subsubsection.3.16.2.1}\protected@file@percent } -\gdef \LT@xlix {\LT@entry - {3}{76.68077pt}\LT@entry - {3}{243.77603pt}} -\newlabel{classRenderer_a33a87db2173a7509be2d60fcffff9058}{{3.16.2.1}{75}{\texorpdfstring {applyTransform()}{applyTransform()}}{table.3.48}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.16.2.2}applyTransformsOnBrush()\hspace {0.1cm}{\footnotesize \ttfamily [1/2]}}{75}{subsubsection.3.16.2.2}\protected@file@percent } -\newlabel{classRenderer_a578e046986da5ec2585ce106562c3de3}{{3.16.2.2}{75}{\texorpdfstring {applyTransformsOnBrush()}{applyTransformsOnBrush()}\hspace {0.1cm}{\footnotesize \ttfamily [1/2]}}{table.3.49}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.16.2.3}applyTransformsOnBrush()\hspace {0.1cm}{\footnotesize \ttfamily [2/2]}}{75}{subsubsection.3.16.2.3}\protected@file@percent } -\gdef \LT@l {\LT@entry - {3}{76.68077pt}\LT@entry - {3}{236.91818pt}} -\gdef \LT@li {\LT@entry - {3}{46.63045pt}\LT@entry - {3}{228.3775pt}} -\newlabel{classRenderer_a1fac47f9b1c4c3fb1151f2b6ecb282f6}{{3.16.2.3}{76}{\texorpdfstring {applyTransformsOnBrush()}{applyTransformsOnBrush()}\hspace {0.1cm}{\footnotesize \ttfamily [2/2]}}{table.3.50}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.16.2.4}draw()}{76}{subsubsection.3.16.2.4}\protected@file@percent } -\gdef \LT@lii {\LT@entry - {3}{46.63045pt}\LT@entry - {3}{222.70761pt}} -\newlabel{classRenderer_a9b5ca422ec7f1328d854cc4bff269858}{{3.16.2.4}{77}{\texorpdfstring {draw()}{draw()}}{table.3.51}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.16.2.5}drawCircle()}{77}{subsubsection.3.16.2.5}\protected@file@percent } -\gdef \LT@liii {\LT@entry - {3}{46.63045pt}\LT@entry - {3}{214.22063pt}} -\newlabel{classRenderer_af4d92e92abb79e4431f7331f792194d9}{{3.16.2.5}{78}{\texorpdfstring {drawCircle()}{drawCircle()}}{table.3.52}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.16.2.6}drawEllipse()}{78}{subsubsection.3.16.2.6}\protected@file@percent } -\newlabel{classRenderer_ab68c9e02c7eadf1f18286c9ecf0d90ca}{{3.16.2.6}{78}{\texorpdfstring {drawEllipse()}{drawEllipse()}}{table.3.53}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.16.2.7}drawLine()}{78}{subsubsection.3.16.2.7}\protected@file@percent } -\gdef \LT@liv {\LT@entry - {3}{46.63045pt}\LT@entry - {3}{209.72968pt}} -\gdef \LT@lv {\LT@entry - {3}{46.63045pt}\LT@entry - {3}{214.38255pt}} -\newlabel{classRenderer_a6cbcbb11e386c26eacef0b97342fee77}{{3.16.2.7}{79}{\texorpdfstring {drawLine()}{drawLine()}}{table.3.54}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.16.2.8}drawPath()}{79}{subsubsection.3.16.2.8}\protected@file@percent } -\gdef \LT@lvi {\LT@entry - {3}{46.63045pt}\LT@entry - {3}{237.74626pt}} -\newlabel{classRenderer_a27b883787b8f38afd04924edc97b5a04}{{3.16.2.8}{82}{\texorpdfstring {drawPath()}{drawPath()}}{table.3.55}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.16.2.9}drawPolygon()}{82}{subsubsection.3.16.2.9}\protected@file@percent } -\newlabel{classRenderer_a4e73148b7da0f585084520d12c514344}{{3.16.2.9}{82}{\texorpdfstring {drawPolygon()}{drawPolygon()}}{table.3.56}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.16.2.10}drawPolyline()}{82}{subsubsection.3.16.2.10}\protected@file@percent } -\gdef \LT@lvii {\LT@entry - {3}{46.63045pt}\LT@entry - {3}{235.73027pt}} -\gdef \LT@lviii {\LT@entry - {3}{49.81627pt}\LT@entry - {3}{234.23625pt}} -\newlabel{classRenderer_abf163a7895594e0a4ee5662805b1b572}{{3.16.2.10}{84}{\texorpdfstring {drawPolyline()}{drawPolyline()}}{table.3.57}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.16.2.11}drawRectangle()}{84}{subsubsection.3.16.2.11}\protected@file@percent } -\gdef \LT@lix {\LT@entry - {3}{46.63045pt}\LT@entry - {3}{209.10881pt}} -\newlabel{classRenderer_a87ce996c3ed0f963de9ef6c293ee3aec}{{3.16.2.11}{85}{\texorpdfstring {drawRectangle()}{drawRectangle()}}{table.3.58}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.16.2.12}drawText()}{85}{subsubsection.3.16.2.12}\protected@file@percent } -\gdef \LT@lx {\LT@entry - {3}{37.81952pt}\LT@entry - {3}{178.98668pt}} -\newlabel{classRenderer_a7539832835d19ee365dcbabf490d642c}{{3.16.2.12}{86}{\texorpdfstring {drawText()}{drawText()}}{table.3.59}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.16.2.13}getBrush()}{86}{subsubsection.3.16.2.13}\protected@file@percent } -\newlabel{classRenderer_ac1bf10ff8b4f967f0d416a26d482abd6}{{3.16.2.13}{87}{\texorpdfstring {getBrush()}{getBrush()}}{table.3.60}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.16.2.14}getInstance()}{87}{subsubsection.3.16.2.14}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.17}Stop Class Reference}{88}{section.3.17}\protected@file@percent } -\newlabel{classStop}{{3.17}{88}{Stop Class Reference}{section.3.17}{}} -\gdef \LT@lxi {\LT@entry - {3}{34.81357pt}\LT@entry - {3}{99.13998pt}} -\newlabel{classStop_afb57d3535781a9e40efff24c43520a21}{{3.17}{89}{Private Attributes}{section*.73}{}} -\newlabel{classStop_a2b6aaf0f14507df64c6bbd99043ad44b}{{3.17}{89}{Private Attributes}{section*.73}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.17.1}Detailed Description}{89}{subsection.3.17.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.17.2}Constructor \& Destructor Documentation}{89}{subsection.3.17.2}\protected@file@percent } -\newlabel{classStop_a3ad6054f4ecb97b3fc68595b744f8d54}{{3.17.2}{89}{Constructor \& Destructor Documentation}{subsection.3.17.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.17.2.1}Stop()}{89}{subsubsection.3.17.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.17.3}Member Function Documentation}{89}{subsection.3.17.3}\protected@file@percent } -\newlabel{classStop_a0ee1f3e4c4298b8712cef19f24e07dff}{{3.17.3}{89}{Member Function Documentation}{subsection.3.17.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.17.3.1}getColor()}{89}{subsubsection.3.17.3.1}\protected@file@percent } -\newlabel{classStop_a60a63002485122f30a80e80220d99748}{{3.17.3.1}{90}{\texorpdfstring {getColor()}{getColor()}}{subsubsection.3.17.3.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.17.3.2}getOffset()}{90}{subsubsection.3.17.3.2}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.18}SVGElement Class Reference}{90}{section.3.18}\protected@file@percent } -\newlabel{classSVGElement}{{3.18}{90}{SVGElement Class Reference}{section.3.18}{}} -\newlabel{classSVGElement_a5087280fd4bbb637c3cde64e44e974f1}{{3.18}{91}{Public Member Functions}{section*.76}{}} -\newlabel{classSVGElement_adee748c3014de1c1ebd20411a52e824a}{{3.18}{92}{Protected Attributes}{section*.78}{}} -\newlabel{classSVGElement_a6d3a39e763d3273715ea11f8959f81b1}{{3.18}{92}{Private Attributes}{section*.79}{}} -\newlabel{classSVGElement_aab937dcb566cd83d94d00d69b4083f13}{{3.18}{92}{Private Attributes}{section*.79}{}} -\newlabel{classSVGElement_a88449b487a890e3765ae20e96ee95c06}{{3.18}{92}{Private Attributes}{section*.79}{}} -\newlabel{classSVGElement_acf9b9906b6d0cba8bb5c0b38b032e40f}{{3.18}{92}{Private Attributes}{section*.79}{}} -\newlabel{classSVGElement_aefeee5c1de3e802d9f5f0a54078170e6}{{3.18}{92}{Private Attributes}{section*.79}{}} -\newlabel{classSVGElement_aab61149df9916892540627a0d7c4480c}{{3.18}{92}{Private Attributes}{section*.79}{}} -\gdef \LT@lxii {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{148.79222pt}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.18.1}Detailed Description}{93}{subsection.3.18.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.18.2}Constructor \& Destructor Documentation}{93}{subsection.3.18.2}\protected@file@percent } -\newlabel{classSVGElement_ad30205005009d2ba4820d3ce372e81ea}{{3.18.2}{93}{Constructor \& Destructor Documentation}{subsection.3.18.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.2.1}SVGElement()\hspace {0.1cm}{\footnotesize \ttfamily [1/3]}}{93}{subsubsection.3.18.2.1}\protected@file@percent } -\newlabel{classSVGElement_a1a43e7717c20d50fd1990b592499fdba}{{3.18.2.1}{93}{\texorpdfstring {SVGElement()}{SVGElement()}\hspace {0.1cm}{\footnotesize \ttfamily [1/3]}}{subsubsection.3.18.2.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.2.2}SVGElement()\hspace {0.1cm}{\footnotesize \ttfamily [2/3]}}{93}{subsubsection.3.18.2.2}\protected@file@percent } -\gdef \LT@lxiii {\LT@entry - {3}{63.1361pt}\LT@entry - {3}{148.79222pt}} -\gdef \LT@lxiv {\LT@entry - {3}{44.81236pt}\LT@entry - {3}{201.10791pt}} -\newlabel{classSVGElement_a6ed48bcc78dd62e3da256ddbd103ccd1}{{3.18.2.2}{94}{\texorpdfstring {SVGElement()}{SVGElement()}\hspace {0.1cm}{\footnotesize \ttfamily [2/3]}}{table.3.62}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.2.3}SVGElement()\hspace {0.1cm}{\footnotesize \ttfamily [3/3]}}{94}{subsubsection.3.18.2.3}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.18.3}Member Function Documentation}{94}{subsection.3.18.3}\protected@file@percent } -\newlabel{classSVGElement_af699f9aa795572c2873e520849579881}{{3.18.3}{94}{Member Function Documentation}{subsection.3.18.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.1}addElement()}{94}{subsubsection.3.18.3.1}\protected@file@percent } -\newlabel{classSVGElement_adc98ebac66965dd303283cbf7ff28f38}{{3.18.3.1}{95}{\texorpdfstring {addElement()}{addElement()}}{table.3.64}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.2}getClass()}{95}{subsubsection.3.18.3.2}\protected@file@percent } -\newlabel{classSVGElement_abb012cad5d6e9ee7a413f46042f99429}{{3.18.3.2}{95}{\texorpdfstring {getClass()}{getClass()}}{subsubsection.3.18.3.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.3}getFillColor()}{95}{subsubsection.3.18.3.3}\protected@file@percent } -\newlabel{classSVGElement_a9b64e7697c24a6972aacb01b89c0e542}{{3.18.3.3}{95}{\texorpdfstring {getFillColor()}{getFillColor()}}{subsubsection.3.18.3.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.4}getGradient()}{96}{subsubsection.3.18.3.4}\protected@file@percent } -\newlabel{classSVGElement_a03ac231161d1d5062951fa3fca33a39b}{{3.18.3.4}{96}{\texorpdfstring {getGradient()}{getGradient()}}{subsubsection.3.18.3.4}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.5}getMaxBound()}{96}{subsubsection.3.18.3.5}\protected@file@percent } -\newlabel{classSVGElement_a0cce88c48233f4da470daad2edab0d06}{{3.18.3.5}{96}{\texorpdfstring {getMaxBound()}{getMaxBound()}}{subsubsection.3.18.3.5}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.6}getMinBound()}{96}{subsubsection.3.18.3.6}\protected@file@percent } -\newlabel{classSVGElement_a9a243b2b8464d57df28f3f3e8c52511e}{{3.18.3.6}{96}{\texorpdfstring {getMinBound()}{getMinBound()}}{subsubsection.3.18.3.6}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.7}getOutlineColor()}{97}{subsubsection.3.18.3.7}\protected@file@percent } -\newlabel{classSVGElement_a2e4b1a48bfbc34a6a9f17bfd4b89eb51}{{3.18.3.7}{97}{\texorpdfstring {getOutlineColor()}{getOutlineColor()}}{subsubsection.3.18.3.7}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.8}getOutlineThickness()}{97}{subsubsection.3.18.3.8}\protected@file@percent } -\newlabel{classSVGElement_a1b075314d4cda4fa895688979fe462fd}{{3.18.3.8}{97}{\texorpdfstring {getOutlineThickness()}{getOutlineThickness()}}{subsubsection.3.18.3.8}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.9}getParent()}{97}{subsubsection.3.18.3.9}\protected@file@percent } -\newlabel{classSVGElement_a4e1ed8bb29fd4dbeb35471315976b3a2}{{3.18.3.9}{97}{\texorpdfstring {getParent()}{getParent()}}{subsubsection.3.18.3.9}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.10}getPosition()}{98}{subsubsection.3.18.3.10}\protected@file@percent } -\newlabel{classSVGElement_a5f111964efd20e98eafafb3d168a1e87}{{3.18.3.10}{98}{\texorpdfstring {getPosition()}{getPosition()}}{subsubsection.3.18.3.10}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.11}getTransforms()}{98}{subsubsection.3.18.3.11}\protected@file@percent } -\newlabel{classSVGElement_ad4bcd981ae7431161013811024b452e1}{{3.18.3.11}{98}{\texorpdfstring {getTransforms()}{getTransforms()}}{subsubsection.3.18.3.11}{}} -\gdef \LT@lxv {\LT@entry - {3}{32.30266pt}\LT@entry - {3}{134.1405pt}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.12}printData()}{99}{subsubsection.3.18.3.12}\protected@file@percent } -\newlabel{classSVGElement_abf7eef6d09fedba0d0f50a0f1a4be2fb}{{3.18.3.12}{99}{\texorpdfstring {printData()}{printData()}}{subsubsection.3.18.3.12}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.13}setFillColor()}{99}{subsubsection.3.18.3.13}\protected@file@percent } -\newlabel{classSVGElement_a312b6aa934488672585c7e9d858300f8}{{3.18.3.13}{99}{\texorpdfstring {setFillColor()}{setFillColor()}}{table.3.65}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.14}setGradient()}{99}{subsubsection.3.18.3.14}\protected@file@percent } -\gdef \LT@lxvi {\LT@entry - {3}{45.1363pt}\LT@entry - {3}{135.97638pt}} -\gdef \LT@lxvii {\LT@entry - {3}{32.30266pt}\LT@entry - {3}{152.15805pt}} -\gdef \LT@lxviii {\LT@entry - {3}{50.13147pt}\LT@entry - {3}{169.98686pt}} -\newlabel{classSVGElement_ac0cc2f6d2e01d364a695bebaa7db18d2}{{3.18.3.14}{100}{\texorpdfstring {setGradient()}{setGradient()}}{table.3.66}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.15}setOutlineColor()}{100}{subsubsection.3.18.3.15}\protected@file@percent } -\newlabel{classSVGElement_a88653ebe8b92ec881ab436ea968375a8}{{3.18.3.15}{100}{\texorpdfstring {setOutlineColor()}{setOutlineColor()}}{table.3.67}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.16}setOutlineThickness()}{100}{subsubsection.3.18.3.16}\protected@file@percent } -\gdef \LT@lxix {\LT@entry - {3}{38.31444pt}\LT@entry - {3}{85.9374pt}} -\gdef \LT@lxx {\LT@entry - {3}{43.81339pt}\LT@entry - {3}{310.41957pt}} -\newlabel{classSVGElement_a43b3bf06fae88a1634a189272088d11d}{{3.18.3.16}{101}{\texorpdfstring {setOutlineThickness()}{setOutlineThickness()}}{table.3.68}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.17}setParent()}{101}{subsubsection.3.18.3.17}\protected@file@percent } -\newlabel{classSVGElement_aec8a2f582f21a559c05d791e017efbd5}{{3.18.3.17}{101}{\texorpdfstring {setParent()}{setParent()}}{table.3.69}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.18}setPosition()\hspace {0.1cm}{\footnotesize \ttfamily [1/2]}}{101}{subsubsection.3.18.3.18}\protected@file@percent } -\newlabel{classSVGElement_a77aefe4b7e9dbf180cc531c969d0116d}{{3.18.3.18}{101}{\texorpdfstring {setPosition()}{setPosition()}\hspace {0.1cm}{\footnotesize \ttfamily [1/2]}}{table.3.70}{}} -\gdef \LT@lxxi {\LT@entry - {3}{17.29996pt}\LT@entry - {3}{156.79294pt}} -\gdef \LT@lxxii {\LT@entry - {3}{55.17125pt}\LT@entry - {3}{165.52289pt}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.19}setPosition()\hspace {0.1cm}{\footnotesize \ttfamily [2/2]}}{102}{subsubsection.3.18.3.19}\protected@file@percent } -\newlabel{classSVGElement_a00fef2ebc5df4838b3f9bd7111b117c5}{{3.18.3.19}{102}{\texorpdfstring {setPosition()}{setPosition()}\hspace {0.1cm}{\footnotesize \ttfamily [2/2]}}{table.3.71}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.18.3.20}setTransforms()}{102}{subsubsection.3.18.3.20}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.19}Text Class Reference}{103}{section.3.19}\protected@file@percent } -\newlabel{classText}{{3.19}{103}{Text Class Reference}{section.3.19}{}} -\newlabel{classText_a40e38d59ba9b34df9900375409f6f03f}{{3.19}{104}{Public Member Functions}{section*.82}{}} -\newlabel{classText_a9336f13d0d4a26d41c2fd2e103ac5dde}{{3.19}{104}{Private Attributes}{section*.83}{}} -\newlabel{classText_a71158226b190f16477820e45b549133f}{{3.19}{104}{Private Attributes}{section*.83}{}} -\newlabel{classText_a33f5c94508241a960c139923c284491e}{{3.19}{104}{Private Attributes}{section*.83}{}} -\newlabel{classText_a12ee81ccf865a414867d4101c8dbbdb2}{{3.19}{104}{Private Attributes}{section*.83}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.19.1}Detailed Description}{104}{subsection.3.19.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.19.2}Constructor \& Destructor Documentation}{104}{subsection.3.19.2}\protected@file@percent } -\newlabel{classText_a92c5df61031c3a9af813f9cc6978f34a}{{3.19.2}{104}{Constructor \& Destructor Documentation}{subsection.3.19.2}{}} -\gdef \LT@lxxiii {\LT@entry - {3}{48.41243pt}\LT@entry - {3}{159.52866pt}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.19.2.1}Text()}{105}{subsubsection.3.19.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.19.3}Member Function Documentation}{105}{subsection.3.19.3}\protected@file@percent } -\newlabel{classText_a445117756f52b37ae8bce225e254bea6}{{3.19.3}{105}{Member Function Documentation}{subsection.3.19.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.19.3.1}getAnchor()}{105}{subsubsection.3.19.3.1}\protected@file@percent } -\newlabel{classText_a405fac6f66711e0063e18e9e211e3a62}{{3.19.3.1}{105}{\texorpdfstring {getAnchor()}{getAnchor()}}{subsubsection.3.19.3.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.19.3.2}getClass()}{105}{subsubsection.3.19.3.2}\protected@file@percent } -\newlabel{classText_ac593599637e5e7f0f929c59b440f1b94}{{3.19.3.2}{105}{\texorpdfstring {getClass()}{getClass()}}{subsubsection.3.19.3.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.19.3.3}getContent()}{106}{subsubsection.3.19.3.3}\protected@file@percent } -\newlabel{classText_a6e799a9b0ba6f88e704eea12599d3d5c}{{3.19.3.3}{106}{\texorpdfstring {getContent()}{getContent()}}{subsubsection.3.19.3.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.19.3.4}getFontSize()}{106}{subsubsection.3.19.3.4}\protected@file@percent } -\newlabel{classText_a86fd1927b692d6691c8dd3901b6f6e48}{{3.19.3.4}{106}{\texorpdfstring {getFontSize()}{getFontSize()}}{subsubsection.3.19.3.4}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.19.3.5}getFontStyle()}{106}{subsubsection.3.19.3.5}\protected@file@percent } -\newlabel{classText_aa503905beb9dddf11c9c579424d0a84f}{{3.19.3.5}{106}{\texorpdfstring {getFontStyle()}{getFontStyle()}}{subsubsection.3.19.3.5}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.19.3.6}setAnchor()}{106}{subsubsection.3.19.3.6}\protected@file@percent } -\gdef \LT@lxxiv {\LT@entry - {3}{40.31252pt}\LT@entry - {3}{121.00963pt}} -\gdef \LT@lxxv {\LT@entry - {3}{42.31937pt}\LT@entry - {3}{115.63657pt}} -\gdef \LT@lxxvi {\LT@entry - {3}{48.41243pt}\LT@entry - {3}{126.60753pt}} -\newlabel{classText_a12e8ae19a8e677eb6f1c2dc2716dcab0}{{3.19.3.6}{107}{\texorpdfstring {setAnchor()}{setAnchor()}}{table.3.74}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.19.3.7}setContent()}{107}{subsubsection.3.19.3.7}\protected@file@percent } -\newlabel{classText_a6a04680d93c625645278b1d1111420bb}{{3.19.3.7}{107}{\texorpdfstring {setContent()}{setContent()}}{table.3.75}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.19.3.8}setFontSize()}{107}{subsubsection.3.19.3.8}\protected@file@percent } -\newlabel{classText_a4f24f78f8a962e758b70c5d9fd85b7cb}{{3.19.3.8}{107}{\texorpdfstring {setFontSize()}{setFontSize()}}{table.3.76}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.19.3.9}setFontStyle()}{107}{subsubsection.3.19.3.9}\protected@file@percent } -\gdef \LT@lxxvii {\LT@entry - {3}{31.30368pt}\LT@entry - {3}{112.0008pt}} -\@writefile{toc}{\contentsline {section}{\numberline {3.20}Vector2D$<$ T $>$ Class Template Reference}{108}{section.3.20}\protected@file@percent } -\newlabel{classVector2D}{{3.20}{108}{Vector2D$<$ T $>$ Class Template Reference}{section.3.20}{}} -\newlabel{classVector2D_a65e391ec61c185092a02cf6301d0fff7}{{3.20}{108}{Public Attributes}{section*.86}{}} -\newlabel{classVector2D_a6a91fccbbd37162d28fa54aeeb88f9d2}{{3.20}{108}{Public Attributes}{section*.86}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.20.1}Detailed Description}{108}{subsection.3.20.1}\protected@file@percent } -\gdef \LT@lxxviii {\LT@entry - {3}{18.80287pt}\LT@entry - {3}{62.92496pt}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.20.2}Constructor \& Destructor Documentation}{109}{subsection.3.20.2}\protected@file@percent } -\newlabel{classVector2D_a96580267fed7cd6686cbbf8e11048023}{{3.20.2}{109}{Constructor \& Destructor Documentation}{subsection.3.20.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.20.2.1}Vector2D()\hspace {0.1cm}{\footnotesize \ttfamily [1/3]}}{109}{subsubsection.3.20.2.1}\protected@file@percent } -\newlabel{classVector2D_a4f1bca1b63cd8b1323c85c9a5c597df4}{{3.20.2.1}{109}{\texorpdfstring {Vector2D()}{Vector2D()}\hspace {0.1cm}{\footnotesize \ttfamily [1/3]}}{subsubsection.3.20.2.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.20.2.2}Vector2D()\hspace {0.1cm}{\footnotesize \ttfamily [2/3]}}{109}{subsubsection.3.20.2.2}\protected@file@percent } -\newlabel{classVector2D_af9cb4a6f06903844162f4c9d80d16b85}{{3.20.2.2}{109}{\texorpdfstring {Vector2D()}{Vector2D()}\hspace {0.1cm}{\footnotesize \ttfamily [2/3]}}{table.3.78}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.20.2.3}Vector2D()\hspace {0.1cm}{\footnotesize \ttfamily [3/3]}}{109}{subsubsection.3.20.2.3}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.21}Viewer Class Reference}{110}{section.3.21}\protected@file@percent } -\newlabel{classViewer}{{3.21}{110}{Viewer Class Reference}{section.3.21}{}} -\newlabel{classViewer_a324e5a6a1532fe5eac3f3b0e4792b2da}{{3.21}{110}{Public Member Functions}{section*.89}{}} -\newlabel{classViewer_a3e16ebbf5c0ed98dc75fe2c4d46fe0d5}{{3.21}{110}{Public Attributes}{section*.91}{}} -\newlabel{classViewer_a30b0f57907c82de620339e105f9a3c5b}{{3.21}{110}{Public Attributes}{section*.91}{}} -\newlabel{classViewer_a46377febc22fd7f2cc38a73ddb66b8ad}{{3.21}{110}{Public Attributes}{section*.91}{}} -\newlabel{classViewer_a82dfd34668f986b72e51ee86d4029fc6}{{3.21}{110}{Public Attributes}{section*.91}{}} -\newlabel{classViewer_aa172f661daf24807148fb697f10e750a}{{3.21}{110}{Public Attributes}{section*.91}{}} -\newlabel{classViewer_aaedebacb31cba87de6e7d448ed8d6586}{{3.21}{111}{Private Member Functions}{section*.92}{}} -\newlabel{classViewer_abb8e49e83e5c574411bb9995665fd7eb}{{3.21}{111}{Private Member Functions}{section*.92}{}} -\newlabel{classViewer_a3d14cceacd94622e6b9d5d71bfb5b64f}{{3.21}{111}{Private Member Functions}{section*.92}{}} -\newlabel{classViewer_ae0c94514f0897aa84732024855520e28}{{3.21}{111}{Private Member Functions}{section*.92}{}} -\newlabel{classViewer_a452e9dd05638bf3da01d8f51dba009a5}{{3.21}{111}{Private Attributes}{section*.93}{}} -\newlabel{classViewer_a77bc329e7ae0aecaf60a4de4f8dcc037}{{3.21}{111}{Private Attributes}{section*.93}{}} -\newlabel{classViewer_a53c3dca921442983d13f335d0e8a7e20}{{3.21}{111}{Static Private Attributes}{section*.94}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.21.1}Detailed Description}{111}{subsection.3.21.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.21.2}Member Function Documentation}{111}{subsection.3.21.2}\protected@file@percent } -\newlabel{classViewer_a8235c9da7e144d7139c91901c0051cd8}{{3.21.2}{111}{Member Function Documentation}{subsection.3.21.2}{}} -\gdef \LT@lxxix {\LT@entry - {3}{36.30759pt}\LT@entry - {3}{116.77982pt}} -\gdef \LT@lxxx {\LT@entry - {3}{45.35252pt}\LT@entry - {3}{179.65276pt}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.21.2.1}getInstance()}{112}{subsubsection.3.21.2.1}\protected@file@percent } -\newlabel{classViewer_aa8d0481396e20f1a8d4f6691ff0a67c1}{{3.21.2.1}{112}{\texorpdfstring {getInstance()}{getInstance()}}{subsubsection.3.21.2.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.21.2.2}getWindowSize()}{112}{subsubsection.3.21.2.2}\protected@file@percent } -\newlabel{classViewer_a8bcd4fdeb5c26092d65fc14474afeb38}{{3.21.2.2}{112}{\texorpdfstring {getWindowSize()}{getWindowSize()}}{table.3.79}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.21.2.3}handleKeyDown()}{112}{subsubsection.3.21.2.3}\protected@file@percent } -\gdef \LT@lxxxi {\LT@entry - {3}{45.35252pt}\LT@entry - {3}{179.65276pt}} -\gdef \LT@lxxxii {\LT@entry - {3}{40.85255pt}\LT@entry - {3}{176.16078pt}} -\newlabel{classViewer_a643c2fc659f06f4d4bfcefbad22ebd75}{{3.21.2.3}{113}{\texorpdfstring {handleKeyDown()}{handleKeyDown()}}{table.3.80}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.21.2.4}handleKeyEvent()}{113}{subsubsection.3.21.2.4}\protected@file@percent } -\newlabel{classViewer_a2b889c5d09c8577ad1580dd610ac5678}{{3.21.2.4}{113}{\texorpdfstring {handleKeyEvent()}{handleKeyEvent()}}{table.3.81}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.21.2.5}handleLeftButtonDown()}{113}{subsubsection.3.21.2.5}\protected@file@percent } -\newlabel{classViewer_acb15ba2e5d3bab2ba58da0db724b3bd1}{{3.21.2.5}{113}{\texorpdfstring {handleLeftButtonDown()}{handleLeftButtonDown()}}{table.3.82}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.21.2.6}handleMouseEvent()}{113}{subsubsection.3.21.2.6}\protected@file@percent } -\gdef \LT@lxxxiii {\LT@entry - {3}{49.31245pt}\LT@entry - {3}{179.65276pt}} -\gdef \LT@lxxxiv {\LT@entry - {3}{40.85255pt}\LT@entry - {3}{176.16078pt}} -\newlabel{classViewer_a81a24ea13ee1e7e8c83be60672a7a11e}{{3.21.2.6}{114}{\texorpdfstring {handleMouseEvent()}{handleMouseEvent()}}{table.3.83}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.21.2.7}handleMouseMove()}{114}{subsubsection.3.21.2.7}\protected@file@percent } -\newlabel{classViewer_a940c6147b33b273afdff6eef7309d500}{{3.21.2.7}{114}{\texorpdfstring {handleMouseMove()}{handleMouseMove()}}{table.3.84}{}} -\gdef \LT@lxxxv {\LT@entry - {3}{45.35252pt}\LT@entry - {3}{179.65276pt}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.21.2.8}handleMouseWheel()}{115}{subsubsection.3.21.2.8}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.21.3}Member Data Documentation}{115}{subsection.3.21.3}\protected@file@percent } -\newlabel{classViewer_a59a507a835919e78114601d5bd1784e6}{{3.21.3}{115}{Member Data Documentation}{subsection.3.21.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.21.3.1}needs\_repaint}{115}{subsubsection.3.21.3.1}\protected@file@percent } -\@writefile{toc}{\contentsline {chapter}{Index}{117}{section*.95}\protected@file@percent } -\gdef \@abspage@last{128} diff --git a/latex/refman.idx b/latex/refman.idx deleted file mode 100644 index 5ed680b..0000000 --- a/latex/refman.idx +++ /dev/null @@ -1,331 +0,0 @@ -\indexentry{Circle@{Circle}|hyperpage}{5} -\indexentry{Circle@{Circle}!Circle@{Circle}|hyperpage}{6} -\indexentry{Circle@{Circle}!Circle@{Circle}|hyperpage}{6} -\indexentry{Circle@{Circle}!getClass@{getClass}|hyperpage}{7} -\indexentry{getClass@{getClass}!Circle@{Circle}|hyperpage}{7} -\indexentry{Ell@{Ell}|hyperpage}{8} -\indexentry{Ell@{Ell}!Ell@{Ell}|hyperpage}{9} -\indexentry{Ell@{Ell}!Ell@{Ell}|hyperpage}{9} -\indexentry{Ell@{Ell}!getClass@{getClass}|hyperpage}{10} -\indexentry{getClass@{getClass}!Ell@{Ell}|hyperpage}{10} -\indexentry{Ell@{Ell}!getMaxBound@{getMaxBound}|hyperpage}{10} -\indexentry{getMaxBound@{getMaxBound}!Ell@{Ell}|hyperpage}{10} -\indexentry{Ell@{Ell}!getMinBound@{getMinBound}|hyperpage}{10} -\indexentry{getMinBound@{getMinBound}!Ell@{Ell}|hyperpage}{10} -\indexentry{Ell@{Ell}!getRadius@{getRadius}|hyperpage}{11} -\indexentry{getRadius@{getRadius}!Ell@{Ell}|hyperpage}{11} -\indexentry{Ell@{Ell}!printData@{printData}|hyperpage}{11} -\indexentry{printData@{printData}!Ell@{Ell}|hyperpage}{11} -\indexentry{Ell@{Ell}!setRadius@{setRadius}|hyperpage}{11} -\indexentry{setRadius@{setRadius}!Ell@{Ell}|hyperpage}{11} -\indexentry{Gradient@{Gradient}|hyperpage}{12} -\indexentry{Gradient@{Gradient}!Gradient@{Gradient}|hyperpage}{13} -\indexentry{Gradient@{Gradient}!Gradient@{Gradient}|hyperpage}{13} -\indexentry{Gradient@{Gradient}!addStop@{addStop}|hyperpage}{13} -\indexentry{addStop@{addStop}!Gradient@{Gradient}|hyperpage}{13} -\indexentry{Gradient@{Gradient}!getClass@{getClass}|hyperpage}{14} -\indexentry{getClass@{getClass}!Gradient@{Gradient}|hyperpage}{14} -\indexentry{Gradient@{Gradient}!getPoints@{getPoints}|hyperpage}{14} -\indexentry{getPoints@{getPoints}!Gradient@{Gradient}|hyperpage}{14} -\indexentry{Gradient@{Gradient}!getStops@{getStops}|hyperpage}{14} -\indexentry{getStops@{getStops}!Gradient@{Gradient}|hyperpage}{14} -\indexentry{Gradient@{Gradient}!getTransforms@{getTransforms}|hyperpage}{15} -\indexentry{getTransforms@{getTransforms}!Gradient@{Gradient}|hyperpage}{15} -\indexentry{Gradient@{Gradient}!getUnits@{getUnits}|hyperpage}{15} -\indexentry{getUnits@{getUnits}!Gradient@{Gradient}|hyperpage}{15} -\indexentry{Gradient@{Gradient}!setTransforms@{setTransforms}|hyperpage}{15} -\indexentry{setTransforms@{setTransforms}!Gradient@{Gradient}|hyperpage}{15} -\indexentry{Gradient@{Gradient}!setUnits@{setUnits}|hyperpage}{16} -\indexentry{setUnits@{setUnits}!Gradient@{Gradient}|hyperpage}{16} -\indexentry{Group@{Group}|hyperpage}{16} -\indexentry{Group@{Group}!Group@{Group}|hyperpage}{18} -\indexentry{Group@{Group}!Group@{Group}|hyperpage}{18} -\indexentry{Group@{Group}!addElement@{addElement}|hyperpage}{18} -\indexentry{addElement@{addElement}!Group@{Group}|hyperpage}{18} -\indexentry{Group@{Group}!getAttributes@{getAttributes}|hyperpage}{19} -\indexentry{getAttributes@{getAttributes}!Group@{Group}|hyperpage}{19} -\indexentry{Group@{Group}!getClass@{getClass}|hyperpage}{19} -\indexentry{getClass@{getClass}!Group@{Group}|hyperpage}{19} -\indexentry{Group@{Group}!getElements@{getElements}|hyperpage}{19} -\indexentry{getElements@{getElements}!Group@{Group}|hyperpage}{19} -\indexentry{Group@{Group}!printData@{printData}|hyperpage}{19} -\indexentry{printData@{printData}!Group@{Group}|hyperpage}{19} -\indexentry{Line@{Line}|hyperpage}{20} -\indexentry{Line@{Line}!Line@{Line}|hyperpage}{22} -\indexentry{Line@{Line}!Line@{Line}|hyperpage}{22} -\indexentry{Line@{Line}!getClass@{getClass}|hyperpage}{22} -\indexentry{getClass@{getClass}!Line@{Line}|hyperpage}{22} -\indexentry{Line@{Line}!getDirection@{getDirection}|hyperpage}{22} -\indexentry{getDirection@{getDirection}!Line@{Line}|hyperpage}{22} -\indexentry{Line@{Line}!getLength@{getLength}|hyperpage}{23} -\indexentry{getLength@{getLength}!Line@{Line}|hyperpage}{23} -\indexentry{Line@{Line}!setDirection@{setDirection}|hyperpage}{23} -\indexentry{setDirection@{setDirection}!Line@{Line}|hyperpage}{23} -\indexentry{LinearGradient@{LinearGradient}|hyperpage}{24} -\indexentry{LinearGradient@{LinearGradient}!LinearGradient@{LinearGradient}|hyperpage}{25} -\indexentry{LinearGradient@{LinearGradient}!LinearGradient@{LinearGradient}|hyperpage}{25} -\indexentry{LinearGradient@{LinearGradient}!getClass@{getClass}|hyperpage}{25} -\indexentry{getClass@{getClass}!LinearGradient@{LinearGradient}|hyperpage}{25} -\indexentry{mColor@{mColor}|hyperpage}{26} -\indexentry{mColor@{mColor}!mColor@{mColor}|hyperpage}{27} -\indexentry{mColor@{mColor}!mColor@{mColor}|hyperpage}{27} -\indexentry{mColor@{mColor}!mColor@{mColor}|hyperpage}{27} -\indexentry{mColor@{mColor}!mColor@{mColor}|hyperpage}{27} -\indexentry{mColor@{mColor}!mColor@{mColor}|hyperpage}{28} -\indexentry{mColor@{mColor}!mColor@{mColor}|hyperpage}{28} -\indexentry{mColor@{mColor}!operator$<$$<$@{operator$<$$<$}|hyperpage}{28} -\indexentry{operator$<$$<$@{operator$<$$<$}!mColor@{mColor}|hyperpage}{28} -\indexentry{Parser@{Parser}|hyperpage}{29} -\indexentry{Parser@{Parser}!Parser@{Parser}|hyperpage}{31} -\indexentry{Parser@{Parser}!Parser@{Parser}|hyperpage}{31} -\indexentry{Parser@{Parser}!getAttribute@{getAttribute}|hyperpage}{32} -\indexentry{getAttribute@{getAttribute}!Parser@{Parser}|hyperpage}{32} -\indexentry{Parser@{Parser}!getFloatAttribute@{getFloatAttribute}|hyperpage}{32} -\indexentry{getFloatAttribute@{getFloatAttribute}!Parser@{Parser}|hyperpage}{32} -\indexentry{Parser@{Parser}!GetGradients@{GetGradients}|hyperpage}{34} -\indexentry{GetGradients@{GetGradients}!Parser@{Parser}|hyperpage}{34} -\indexentry{Parser@{Parser}!getGradientStops@{getGradientStops}|hyperpage}{35} -\indexentry{getGradientStops@{getGradientStops}!Parser@{Parser}|hyperpage}{35} -\indexentry{Parser@{Parser}!getInstance@{getInstance}|hyperpage}{36} -\indexentry{getInstance@{getInstance}!Parser@{Parser}|hyperpage}{36} -\indexentry{Parser@{Parser}!getRoot@{getRoot}|hyperpage}{36} -\indexentry{getRoot@{getRoot}!Parser@{Parser}|hyperpage}{36} -\indexentry{Parser@{Parser}!getTransformOrder@{getTransformOrder}|hyperpage}{36} -\indexentry{getTransformOrder@{getTransformOrder}!Parser@{Parser}|hyperpage}{36} -\indexentry{Parser@{Parser}!getViewBox@{getViewBox}|hyperpage}{37} -\indexentry{getViewBox@{getViewBox}!Parser@{Parser}|hyperpage}{37} -\indexentry{Parser@{Parser}!getViewPort@{getViewPort}|hyperpage}{37} -\indexentry{getViewPort@{getViewPort}!Parser@{Parser}|hyperpage}{37} -\indexentry{Parser@{Parser}!parseCircle@{parseCircle}|hyperpage}{37} -\indexentry{parseCircle@{parseCircle}!Parser@{Parser}|hyperpage}{37} -\indexentry{Parser@{Parser}!parseColor@{parseColor}|hyperpage}{38} -\indexentry{parseColor@{parseColor}!Parser@{Parser}|hyperpage}{38} -\indexentry{Parser@{Parser}!parseElements@{parseElements}|hyperpage}{39} -\indexentry{parseElements@{parseElements}!Parser@{Parser}|hyperpage}{39} -\indexentry{Parser@{Parser}!parseEllipse@{parseEllipse}|hyperpage}{41} -\indexentry{parseEllipse@{parseEllipse}!Parser@{Parser}|hyperpage}{41} -\indexentry{Parser@{Parser}!parseGradient@{parseGradient}|hyperpage}{41} -\indexentry{parseGradient@{parseGradient}!Parser@{Parser}|hyperpage}{41} -\indexentry{Parser@{Parser}!parseLine@{parseLine}|hyperpage}{42} -\indexentry{parseLine@{parseLine}!Parser@{Parser}|hyperpage}{42} -\indexentry{Parser@{Parser}!parsePath@{parsePath}|hyperpage}{42} -\indexentry{parsePath@{parsePath}!Parser@{Parser}|hyperpage}{42} -\indexentry{Parser@{Parser}!parsePathPoints@{parsePathPoints}|hyperpage}{43} -\indexentry{parsePathPoints@{parsePathPoints}!Parser@{Parser}|hyperpage}{43} -\indexentry{Parser@{Parser}!parsePoints@{parsePoints}|hyperpage}{45} -\indexentry{parsePoints@{parsePoints}!Parser@{Parser}|hyperpage}{45} -\indexentry{Parser@{Parser}!parsePolygon@{parsePolygon}|hyperpage}{45} -\indexentry{parsePolygon@{parsePolygon}!Parser@{Parser}|hyperpage}{45} -\indexentry{Parser@{Parser}!parsePolyline@{parsePolyline}|hyperpage}{46} -\indexentry{parsePolyline@{parsePolyline}!Parser@{Parser}|hyperpage}{46} -\indexentry{Parser@{Parser}!parseRect@{parseRect}|hyperpage}{47} -\indexentry{parseRect@{parseRect}!Parser@{Parser}|hyperpage}{47} -\indexentry{Parser@{Parser}!parseShape@{parseShape}|hyperpage}{47} -\indexentry{parseShape@{parseShape}!Parser@{Parser}|hyperpage}{47} -\indexentry{Parser@{Parser}!parseText@{parseText}|hyperpage}{48} -\indexentry{parseText@{parseText}!Parser@{Parser}|hyperpage}{48} -\indexentry{Parser@{Parser}!printShapesData@{printShapesData}|hyperpage}{49} -\indexentry{printShapesData@{printShapesData}!Parser@{Parser}|hyperpage}{49} -\indexentry{Parser@{Parser}!gradients@{gradients}|hyperpage}{49} -\indexentry{gradients@{gradients}!Parser@{Parser}|hyperpage}{49} -\indexentry{Path@{Path}|hyperpage}{50} -\indexentry{Path@{Path}!Path@{Path}|hyperpage}{51} -\indexentry{Path@{Path}!Path@{Path}|hyperpage}{51} -\indexentry{Path@{Path}!addPoint@{addPoint}|hyperpage}{52} -\indexentry{addPoint@{addPoint}!Path@{Path}|hyperpage}{52} -\indexentry{Path@{Path}!getClass@{getClass}|hyperpage}{52} -\indexentry{getClass@{getClass}!Path@{Path}|hyperpage}{52} -\indexentry{Path@{Path}!getFillRule@{getFillRule}|hyperpage}{52} -\indexentry{getFillRule@{getFillRule}!Path@{Path}|hyperpage}{52} -\indexentry{Path@{Path}!getPoints@{getPoints}|hyperpage}{53} -\indexentry{getPoints@{getPoints}!Path@{Path}|hyperpage}{53} -\indexentry{Path@{Path}!printData@{printData}|hyperpage}{53} -\indexentry{printData@{printData}!Path@{Path}|hyperpage}{53} -\indexentry{Path@{Path}!setFillRule@{setFillRule}|hyperpage}{53} -\indexentry{setFillRule@{setFillRule}!Path@{Path}|hyperpage}{53} -\indexentry{PathPoint@{PathPoint}|hyperpage}{54} -\indexentry{Plygon@{Plygon}|hyperpage}{55} -\indexentry{Plygon@{Plygon}!Plygon@{Plygon}|hyperpage}{56} -\indexentry{Plygon@{Plygon}!Plygon@{Plygon}|hyperpage}{56} -\indexentry{Plygon@{Plygon}!getClass@{getClass}|hyperpage}{57} -\indexentry{getClass@{getClass}!Plygon@{Plygon}|hyperpage}{57} -\indexentry{Plyline@{Plyline}|hyperpage}{58} -\indexentry{Plyline@{Plyline}!Plyline@{Plyline}|hyperpage}{59} -\indexentry{Plyline@{Plyline}!Plyline@{Plyline}|hyperpage}{59} -\indexentry{Plyline@{Plyline}!getClass@{getClass}|hyperpage}{59} -\indexentry{getClass@{getClass}!Plyline@{Plyline}|hyperpage}{59} -\indexentry{PolyShape@{PolyShape}|hyperpage}{60} -\indexentry{PolyShape@{PolyShape}!PolyShape@{PolyShape}|hyperpage}{62} -\indexentry{PolyShape@{PolyShape}!PolyShape@{PolyShape}|hyperpage}{62} -\indexentry{PolyShape@{PolyShape}!addPoint@{addPoint}|hyperpage}{62} -\indexentry{addPoint@{addPoint}!PolyShape@{PolyShape}|hyperpage}{62} -\indexentry{PolyShape@{PolyShape}!getClass@{getClass}|hyperpage}{63} -\indexentry{getClass@{getClass}!PolyShape@{PolyShape}|hyperpage}{63} -\indexentry{PolyShape@{PolyShape}!getFillRule@{getFillRule}|hyperpage}{63} -\indexentry{getFillRule@{getFillRule}!PolyShape@{PolyShape}|hyperpage}{63} -\indexentry{PolyShape@{PolyShape}!getMaxBound@{getMaxBound}|hyperpage}{63} -\indexentry{getMaxBound@{getMaxBound}!PolyShape@{PolyShape}|hyperpage}{63} -\indexentry{PolyShape@{PolyShape}!getMinBound@{getMinBound}|hyperpage}{63} -\indexentry{getMinBound@{getMinBound}!PolyShape@{PolyShape}|hyperpage}{63} -\indexentry{PolyShape@{PolyShape}!getPoints@{getPoints}|hyperpage}{64} -\indexentry{getPoints@{getPoints}!PolyShape@{PolyShape}|hyperpage}{64} -\indexentry{PolyShape@{PolyShape}!printData@{printData}|hyperpage}{64} -\indexentry{printData@{printData}!PolyShape@{PolyShape}|hyperpage}{64} -\indexentry{PolyShape@{PolyShape}!setFillRule@{setFillRule}|hyperpage}{64} -\indexentry{setFillRule@{setFillRule}!PolyShape@{PolyShape}|hyperpage}{64} -\indexentry{RadialGradient@{RadialGradient}|hyperpage}{65} -\indexentry{RadialGradient@{RadialGradient}!RadialGradient@{RadialGradient}|hyperpage}{66} -\indexentry{RadialGradient@{RadialGradient}!RadialGradient@{RadialGradient}|hyperpage}{66} -\indexentry{RadialGradient@{RadialGradient}!getClass@{getClass}|hyperpage}{67} -\indexentry{getClass@{getClass}!RadialGradient@{RadialGradient}|hyperpage}{67} -\indexentry{RadialGradient@{RadialGradient}!getRadius@{getRadius}|hyperpage}{67} -\indexentry{getRadius@{getRadius}!RadialGradient@{RadialGradient}|hyperpage}{67} -\indexentry{Rect@{Rect}|hyperpage}{68} -\indexentry{Rect@{Rect}!Rect@{Rect}|hyperpage}{69} -\indexentry{Rect@{Rect}!Rect@{Rect}|hyperpage}{69} -\indexentry{Rect@{Rect}!getClass@{getClass}|hyperpage}{70} -\indexentry{getClass@{getClass}!Rect@{Rect}|hyperpage}{70} -\indexentry{Rect@{Rect}!getHeight@{getHeight}|hyperpage}{70} -\indexentry{getHeight@{getHeight}!Rect@{Rect}|hyperpage}{70} -\indexentry{Rect@{Rect}!getRadius@{getRadius}|hyperpage}{70} -\indexentry{getRadius@{getRadius}!Rect@{Rect}|hyperpage}{70} -\indexentry{Rect@{Rect}!getWidth@{getWidth}|hyperpage}{71} -\indexentry{getWidth@{getWidth}!Rect@{Rect}|hyperpage}{71} -\indexentry{Rect@{Rect}!printData@{printData}|hyperpage}{71} -\indexentry{printData@{printData}!Rect@{Rect}|hyperpage}{71} -\indexentry{Rect@{Rect}!setHeight@{setHeight}|hyperpage}{71} -\indexentry{setHeight@{setHeight}!Rect@{Rect}|hyperpage}{71} -\indexentry{Rect@{Rect}!setRadius@{setRadius}|hyperpage}{72} -\indexentry{setRadius@{setRadius}!Rect@{Rect}|hyperpage}{72} -\indexentry{Rect@{Rect}!setWidth@{setWidth}|hyperpage}{72} -\indexentry{setWidth@{setWidth}!Rect@{Rect}|hyperpage}{72} -\indexentry{Renderer@{Renderer}|hyperpage}{72} -\indexentry{Renderer@{Renderer}!applyTransform@{applyTransform}|hyperpage}{74} -\indexentry{applyTransform@{applyTransform}!Renderer@{Renderer}|hyperpage}{74} -\indexentry{Renderer@{Renderer}!applyTransformsOnBrush@{applyTransformsOnBrush}|hyperpage}{75} -\indexentry{applyTransformsOnBrush@{applyTransformsOnBrush}!Renderer@{Renderer}|hyperpage}{75} -\indexentry{Renderer@{Renderer}!applyTransformsOnBrush@{applyTransformsOnBrush}|hyperpage}{75} -\indexentry{applyTransformsOnBrush@{applyTransformsOnBrush}!Renderer@{Renderer}|hyperpage}{75} -\indexentry{Renderer@{Renderer}!draw@{draw}|hyperpage}{76} -\indexentry{draw@{draw}!Renderer@{Renderer}|hyperpage}{76} -\indexentry{Renderer@{Renderer}!drawCircle@{drawCircle}|hyperpage}{77} -\indexentry{drawCircle@{drawCircle}!Renderer@{Renderer}|hyperpage}{77} -\indexentry{Renderer@{Renderer}!drawEllipse@{drawEllipse}|hyperpage}{78} -\indexentry{drawEllipse@{drawEllipse}!Renderer@{Renderer}|hyperpage}{78} -\indexentry{Renderer@{Renderer}!drawLine@{drawLine}|hyperpage}{78} -\indexentry{drawLine@{drawLine}!Renderer@{Renderer}|hyperpage}{78} -\indexentry{Renderer@{Renderer}!drawPath@{drawPath}|hyperpage}{79} -\indexentry{drawPath@{drawPath}!Renderer@{Renderer}|hyperpage}{79} -\indexentry{Renderer@{Renderer}!drawPolygon@{drawPolygon}|hyperpage}{82} -\indexentry{drawPolygon@{drawPolygon}!Renderer@{Renderer}|hyperpage}{82} -\indexentry{Renderer@{Renderer}!drawPolyline@{drawPolyline}|hyperpage}{82} -\indexentry{drawPolyline@{drawPolyline}!Renderer@{Renderer}|hyperpage}{82} -\indexentry{Renderer@{Renderer}!drawRectangle@{drawRectangle}|hyperpage}{84} -\indexentry{drawRectangle@{drawRectangle}!Renderer@{Renderer}|hyperpage}{84} -\indexentry{Renderer@{Renderer}!drawText@{drawText}|hyperpage}{85} -\indexentry{drawText@{drawText}!Renderer@{Renderer}|hyperpage}{85} -\indexentry{Renderer@{Renderer}!getBrush@{getBrush}|hyperpage}{86} -\indexentry{getBrush@{getBrush}!Renderer@{Renderer}|hyperpage}{86} -\indexentry{Renderer@{Renderer}!getInstance@{getInstance}|hyperpage}{87} -\indexentry{getInstance@{getInstance}!Renderer@{Renderer}|hyperpage}{87} -\indexentry{Stop@{Stop}|hyperpage}{88} -\indexentry{Stop@{Stop}!Stop@{Stop}|hyperpage}{89} -\indexentry{Stop@{Stop}!Stop@{Stop}|hyperpage}{89} -\indexentry{Stop@{Stop}!getColor@{getColor}|hyperpage}{89} -\indexentry{getColor@{getColor}!Stop@{Stop}|hyperpage}{89} -\indexentry{Stop@{Stop}!getOffset@{getOffset}|hyperpage}{90} -\indexentry{getOffset@{getOffset}!Stop@{Stop}|hyperpage}{90} -\indexentry{SVGElement@{SVGElement}|hyperpage}{90} -\indexentry{SVGElement@{SVGElement}!SVGElement@{SVGElement}|hyperpage}{93} -\indexentry{SVGElement@{SVGElement}!SVGElement@{SVGElement}|hyperpage}{93} -\indexentry{SVGElement@{SVGElement}!SVGElement@{SVGElement}|hyperpage}{93} -\indexentry{SVGElement@{SVGElement}!SVGElement@{SVGElement}|hyperpage}{93} -\indexentry{SVGElement@{SVGElement}!SVGElement@{SVGElement}|hyperpage}{94} -\indexentry{SVGElement@{SVGElement}!SVGElement@{SVGElement}|hyperpage}{94} -\indexentry{SVGElement@{SVGElement}!addElement@{addElement}|hyperpage}{94} -\indexentry{addElement@{addElement}!SVGElement@{SVGElement}|hyperpage}{94} -\indexentry{SVGElement@{SVGElement}!getClass@{getClass}|hyperpage}{95} -\indexentry{getClass@{getClass}!SVGElement@{SVGElement}|hyperpage}{95} -\indexentry{SVGElement@{SVGElement}!getFillColor@{getFillColor}|hyperpage}{95} -\indexentry{getFillColor@{getFillColor}!SVGElement@{SVGElement}|hyperpage}{95} -\indexentry{SVGElement@{SVGElement}!getGradient@{getGradient}|hyperpage}{95} -\indexentry{getGradient@{getGradient}!SVGElement@{SVGElement}|hyperpage}{95} -\indexentry{SVGElement@{SVGElement}!getMaxBound@{getMaxBound}|hyperpage}{96} -\indexentry{getMaxBound@{getMaxBound}!SVGElement@{SVGElement}|hyperpage}{96} -\indexentry{SVGElement@{SVGElement}!getMinBound@{getMinBound}|hyperpage}{96} -\indexentry{getMinBound@{getMinBound}!SVGElement@{SVGElement}|hyperpage}{96} -\indexentry{SVGElement@{SVGElement}!getOutlineColor@{getOutlineColor}|hyperpage}{96} -\indexentry{getOutlineColor@{getOutlineColor}!SVGElement@{SVGElement}|hyperpage}{96} -\indexentry{SVGElement@{SVGElement}!getOutlineThickness@{getOutlineThickness}|hyperpage}{97} -\indexentry{getOutlineThickness@{getOutlineThickness}!SVGElement@{SVGElement}|hyperpage}{97} -\indexentry{SVGElement@{SVGElement}!getParent@{getParent}|hyperpage}{97} -\indexentry{getParent@{getParent}!SVGElement@{SVGElement}|hyperpage}{97} -\indexentry{SVGElement@{SVGElement}!getPosition@{getPosition}|hyperpage}{97} -\indexentry{getPosition@{getPosition}!SVGElement@{SVGElement}|hyperpage}{97} -\indexentry{SVGElement@{SVGElement}!getTransforms@{getTransforms}|hyperpage}{98} -\indexentry{getTransforms@{getTransforms}!SVGElement@{SVGElement}|hyperpage}{98} -\indexentry{SVGElement@{SVGElement}!printData@{printData}|hyperpage}{98} -\indexentry{printData@{printData}!SVGElement@{SVGElement}|hyperpage}{98} -\indexentry{SVGElement@{SVGElement}!setFillColor@{setFillColor}|hyperpage}{99} -\indexentry{setFillColor@{setFillColor}!SVGElement@{SVGElement}|hyperpage}{99} -\indexentry{SVGElement@{SVGElement}!setGradient@{setGradient}|hyperpage}{99} -\indexentry{setGradient@{setGradient}!SVGElement@{SVGElement}|hyperpage}{99} -\indexentry{SVGElement@{SVGElement}!setOutlineColor@{setOutlineColor}|hyperpage}{100} -\indexentry{setOutlineColor@{setOutlineColor}!SVGElement@{SVGElement}|hyperpage}{100} -\indexentry{SVGElement@{SVGElement}!setOutlineThickness@{setOutlineThickness}|hyperpage}{100} -\indexentry{setOutlineThickness@{setOutlineThickness}!SVGElement@{SVGElement}|hyperpage}{100} -\indexentry{SVGElement@{SVGElement}!setParent@{setParent}|hyperpage}{101} -\indexentry{setParent@{setParent}!SVGElement@{SVGElement}|hyperpage}{101} -\indexentry{SVGElement@{SVGElement}!setPosition@{setPosition}|hyperpage}{101} -\indexentry{setPosition@{setPosition}!SVGElement@{SVGElement}|hyperpage}{101} -\indexentry{SVGElement@{SVGElement}!setPosition@{setPosition}|hyperpage}{101} -\indexentry{setPosition@{setPosition}!SVGElement@{SVGElement}|hyperpage}{101} -\indexentry{SVGElement@{SVGElement}!setTransforms@{setTransforms}|hyperpage}{102} -\indexentry{setTransforms@{setTransforms}!SVGElement@{SVGElement}|hyperpage}{102} -\indexentry{Text@{Text}|hyperpage}{103} -\indexentry{Text@{Text}!Text@{Text}|hyperpage}{104} -\indexentry{Text@{Text}!Text@{Text}|hyperpage}{104} -\indexentry{Text@{Text}!getAnchor@{getAnchor}|hyperpage}{105} -\indexentry{getAnchor@{getAnchor}!Text@{Text}|hyperpage}{105} -\indexentry{Text@{Text}!getClass@{getClass}|hyperpage}{105} -\indexentry{getClass@{getClass}!Text@{Text}|hyperpage}{105} -\indexentry{Text@{Text}!getContent@{getContent}|hyperpage}{105} -\indexentry{getContent@{getContent}!Text@{Text}|hyperpage}{105} -\indexentry{Text@{Text}!getFontSize@{getFontSize}|hyperpage}{106} -\indexentry{getFontSize@{getFontSize}!Text@{Text}|hyperpage}{106} -\indexentry{Text@{Text}!getFontStyle@{getFontStyle}|hyperpage}{106} -\indexentry{getFontStyle@{getFontStyle}!Text@{Text}|hyperpage}{106} -\indexentry{Text@{Text}!setAnchor@{setAnchor}|hyperpage}{106} -\indexentry{setAnchor@{setAnchor}!Text@{Text}|hyperpage}{106} -\indexentry{Text@{Text}!setContent@{setContent}|hyperpage}{107} -\indexentry{setContent@{setContent}!Text@{Text}|hyperpage}{107} -\indexentry{Text@{Text}!setFontSize@{setFontSize}|hyperpage}{107} -\indexentry{setFontSize@{setFontSize}!Text@{Text}|hyperpage}{107} -\indexentry{Text@{Text}!setFontStyle@{setFontStyle}|hyperpage}{107} -\indexentry{setFontStyle@{setFontStyle}!Text@{Text}|hyperpage}{107} -\indexentry{Vector2D$<$ T $>$@{Vector2D$<$ T $>$}|hyperpage}{108} -\indexentry{Vector2D$<$ T $>$@{Vector2D$<$ T $>$}!Vector2D@{Vector2D}|hyperpage}{109} -\indexentry{Vector2D@{Vector2D}!Vector2D$<$ T $>$@{Vector2D$<$ T $>$}|hyperpage}{109} -\indexentry{Vector2D$<$ T $>$@{Vector2D$<$ T $>$}!Vector2D@{Vector2D}|hyperpage}{109} -\indexentry{Vector2D@{Vector2D}!Vector2D$<$ T $>$@{Vector2D$<$ T $>$}|hyperpage}{109} -\indexentry{Vector2D$<$ T $>$@{Vector2D$<$ T $>$}!Vector2D@{Vector2D}|hyperpage}{109} -\indexentry{Vector2D@{Vector2D}!Vector2D$<$ T $>$@{Vector2D$<$ T $>$}|hyperpage}{109} -\indexentry{Viewer@{Viewer}|hyperpage}{110} -\indexentry{Viewer@{Viewer}!getInstance@{getInstance}|hyperpage}{111} -\indexentry{getInstance@{getInstance}!Viewer@{Viewer}|hyperpage}{111} -\indexentry{Viewer@{Viewer}!getWindowSize@{getWindowSize}|hyperpage}{112} -\indexentry{getWindowSize@{getWindowSize}!Viewer@{Viewer}|hyperpage}{112} -\indexentry{Viewer@{Viewer}!handleKeyDown@{handleKeyDown}|hyperpage}{112} -\indexentry{handleKeyDown@{handleKeyDown}!Viewer@{Viewer}|hyperpage}{112} -\indexentry{Viewer@{Viewer}!handleKeyEvent@{handleKeyEvent}|hyperpage}{113} -\indexentry{handleKeyEvent@{handleKeyEvent}!Viewer@{Viewer}|hyperpage}{113} -\indexentry{Viewer@{Viewer}!handleLeftButtonDown@{handleLeftButtonDown}|hyperpage}{113} -\indexentry{handleLeftButtonDown@{handleLeftButtonDown}!Viewer@{Viewer}|hyperpage}{113} -\indexentry{Viewer@{Viewer}!handleMouseEvent@{handleMouseEvent}|hyperpage}{113} -\indexentry{handleMouseEvent@{handleMouseEvent}!Viewer@{Viewer}|hyperpage}{113} -\indexentry{Viewer@{Viewer}!handleMouseMove@{handleMouseMove}|hyperpage}{114} -\indexentry{handleMouseMove@{handleMouseMove}!Viewer@{Viewer}|hyperpage}{114} -\indexentry{Viewer@{Viewer}!handleMouseWheel@{handleMouseWheel}|hyperpage}{114} -\indexentry{handleMouseWheel@{handleMouseWheel}!Viewer@{Viewer}|hyperpage}{114} -\indexentry{Viewer@{Viewer}!needs\_repaint@{needs\_repaint}|hyperpage}{115} -\indexentry{needs\_repaint@{needs\_repaint}!Viewer@{Viewer}|hyperpage}{115} diff --git a/latex/refman.ilg b/latex/refman.ilg deleted file mode 100644 index efd6bc2..0000000 --- a/latex/refman.ilg +++ /dev/null @@ -1,6 +0,0 @@ -This is makeindex, version 2.15 [TeX Live 2022/dev] (kpathsea + Thai support). -Scanning input file refman.idx....done (331 entries accepted, 0 rejected). -Sorting entries.....done (2870 comparisons). -Generating output file refman.ind....done (439 lines written, 0 warnings). -Output written in refman.ind. -Transcript written in refman.ilg. diff --git a/latex/refman.ind b/latex/refman.ind deleted file mode 100644 index bd6fcdc..0000000 --- a/latex/refman.ind +++ /dev/null @@ -1,439 +0,0 @@ -\begin{theindex} - - \item {addElement} - \subitem {Group}, \hyperpage{18} - \subitem {SVGElement}, \hyperpage{94} - \item {addPoint} - \subitem {Path}, \hyperpage{52} - \subitem {PolyShape}, \hyperpage{62} - \item {addStop} - \subitem {Gradient}, \hyperpage{13} - \item {applyTransform} - \subitem {Renderer}, \hyperpage{74} - \item {applyTransformsOnBrush} - \subitem {Renderer}, \hyperpage{75} - - \indexspace - - \item {Circle}, \hyperpage{5} - \subitem {Circle}, \hyperpage{6} - \subitem {getClass}, \hyperpage{7} - - \indexspace - - \item {draw} - \subitem {Renderer}, \hyperpage{76} - \item {drawCircle} - \subitem {Renderer}, \hyperpage{77} - \item {drawEllipse} - \subitem {Renderer}, \hyperpage{78} - \item {drawLine} - \subitem {Renderer}, \hyperpage{78} - \item {drawPath} - \subitem {Renderer}, \hyperpage{79} - \item {drawPolygon} - \subitem {Renderer}, \hyperpage{82} - \item {drawPolyline} - \subitem {Renderer}, \hyperpage{82} - \item {drawRectangle} - \subitem {Renderer}, \hyperpage{84} - \item {drawText} - \subitem {Renderer}, \hyperpage{85} - - \indexspace - - \item {Ell}, \hyperpage{8} - \subitem {Ell}, \hyperpage{9} - \subitem {getClass}, \hyperpage{10} - \subitem {getMaxBound}, \hyperpage{10} - \subitem {getMinBound}, \hyperpage{10} - \subitem {getRadius}, \hyperpage{11} - \subitem {printData}, \hyperpage{11} - \subitem {setRadius}, \hyperpage{11} - - \indexspace - - \item {getAnchor} - \subitem {Text}, \hyperpage{105} - \item {getAttribute} - \subitem {Parser}, \hyperpage{32} - \item {getAttributes} - \subitem {Group}, \hyperpage{19} - \item {getBrush} - \subitem {Renderer}, \hyperpage{86} - \item {getClass} - \subitem {Circle}, \hyperpage{7} - \subitem {Ell}, \hyperpage{10} - \subitem {Gradient}, \hyperpage{14} - \subitem {Group}, \hyperpage{19} - \subitem {Line}, \hyperpage{22} - \subitem {LinearGradient}, \hyperpage{25} - \subitem {Path}, \hyperpage{52} - \subitem {Plygon}, \hyperpage{57} - \subitem {Plyline}, \hyperpage{59} - \subitem {PolyShape}, \hyperpage{63} - \subitem {RadialGradient}, \hyperpage{67} - \subitem {Rect}, \hyperpage{70} - \subitem {SVGElement}, \hyperpage{95} - \subitem {Text}, \hyperpage{105} - \item {getColor} - \subitem {Stop}, \hyperpage{89} - \item {getContent} - \subitem {Text}, \hyperpage{105} - \item {getDirection} - \subitem {Line}, \hyperpage{22} - \item {getElements} - \subitem {Group}, \hyperpage{19} - \item {getFillColor} - \subitem {SVGElement}, \hyperpage{95} - \item {getFillRule} - \subitem {Path}, \hyperpage{52} - \subitem {PolyShape}, \hyperpage{63} - \item {getFloatAttribute} - \subitem {Parser}, \hyperpage{32} - \item {getFontSize} - \subitem {Text}, \hyperpage{106} - \item {getFontStyle} - \subitem {Text}, \hyperpage{106} - \item {getGradient} - \subitem {SVGElement}, \hyperpage{95} - \item {GetGradients} - \subitem {Parser}, \hyperpage{34} - \item {getGradientStops} - \subitem {Parser}, \hyperpage{35} - \item {getHeight} - \subitem {Rect}, \hyperpage{70} - \item {getInstance} - \subitem {Parser}, \hyperpage{36} - \subitem {Renderer}, \hyperpage{87} - \subitem {Viewer}, \hyperpage{111} - \item {getLength} - \subitem {Line}, \hyperpage{23} - \item {getMaxBound} - \subitem {Ell}, \hyperpage{10} - \subitem {PolyShape}, \hyperpage{63} - \subitem {SVGElement}, \hyperpage{96} - \item {getMinBound} - \subitem {Ell}, \hyperpage{10} - \subitem {PolyShape}, \hyperpage{63} - \subitem {SVGElement}, \hyperpage{96} - \item {getOffset} - \subitem {Stop}, \hyperpage{90} - \item {getOutlineColor} - \subitem {SVGElement}, \hyperpage{96} - \item {getOutlineThickness} - \subitem {SVGElement}, \hyperpage{97} - \item {getParent} - \subitem {SVGElement}, \hyperpage{97} - \item {getPoints} - \subitem {Gradient}, \hyperpage{14} - \subitem {Path}, \hyperpage{53} - \subitem {PolyShape}, \hyperpage{64} - \item {getPosition} - \subitem {SVGElement}, \hyperpage{97} - \item {getRadius} - \subitem {Ell}, \hyperpage{11} - \subitem {RadialGradient}, \hyperpage{67} - \subitem {Rect}, \hyperpage{70} - \item {getRoot} - \subitem {Parser}, \hyperpage{36} - \item {getStops} - \subitem {Gradient}, \hyperpage{14} - \item {getTransformOrder} - \subitem {Parser}, \hyperpage{36} - \item {getTransforms} - \subitem {Gradient}, \hyperpage{15} - \subitem {SVGElement}, \hyperpage{98} - \item {getUnits} - \subitem {Gradient}, \hyperpage{15} - \item {getViewBox} - \subitem {Parser}, \hyperpage{37} - \item {getViewPort} - \subitem {Parser}, \hyperpage{37} - \item {getWidth} - \subitem {Rect}, \hyperpage{71} - \item {getWindowSize} - \subitem {Viewer}, \hyperpage{112} - \item {Gradient}, \hyperpage{12} - \subitem {addStop}, \hyperpage{13} - \subitem {getClass}, \hyperpage{14} - \subitem {getPoints}, \hyperpage{14} - \subitem {getStops}, \hyperpage{14} - \subitem {getTransforms}, \hyperpage{15} - \subitem {getUnits}, \hyperpage{15} - \subitem {Gradient}, \hyperpage{13} - \subitem {setTransforms}, \hyperpage{15} - \subitem {setUnits}, \hyperpage{16} - \item {gradients} - \subitem {Parser}, \hyperpage{49} - \item {Group}, \hyperpage{16} - \subitem {addElement}, \hyperpage{18} - \subitem {getAttributes}, \hyperpage{19} - \subitem {getClass}, \hyperpage{19} - \subitem {getElements}, \hyperpage{19} - \subitem {Group}, \hyperpage{18} - \subitem {printData}, \hyperpage{19} - - \indexspace - - \item {handleKeyDown} - \subitem {Viewer}, \hyperpage{112} - \item {handleKeyEvent} - \subitem {Viewer}, \hyperpage{113} - \item {handleLeftButtonDown} - \subitem {Viewer}, \hyperpage{113} - \item {handleMouseEvent} - \subitem {Viewer}, \hyperpage{113} - \item {handleMouseMove} - \subitem {Viewer}, \hyperpage{114} - \item {handleMouseWheel} - \subitem {Viewer}, \hyperpage{114} - - \indexspace - - \item {Line}, \hyperpage{20} - \subitem {getClass}, \hyperpage{22} - \subitem {getDirection}, \hyperpage{22} - \subitem {getLength}, \hyperpage{23} - \subitem {Line}, \hyperpage{22} - \subitem {setDirection}, \hyperpage{23} - \item {LinearGradient}, \hyperpage{24} - \subitem {getClass}, \hyperpage{25} - \subitem {LinearGradient}, \hyperpage{25} - - \indexspace - - \item {mColor}, \hyperpage{26} - \subitem {mColor}, \hyperpage{27, 28} - \subitem {operator$<$$<$}, \hyperpage{28} - - \indexspace - - \item {needs\_repaint} - \subitem {Viewer}, \hyperpage{115} - - \indexspace - - \item {operator$<$$<$} - \subitem {mColor}, \hyperpage{28} - - \indexspace - - \item {parseCircle} - \subitem {Parser}, \hyperpage{37} - \item {parseColor} - \subitem {Parser}, \hyperpage{38} - \item {parseElements} - \subitem {Parser}, \hyperpage{39} - \item {parseEllipse} - \subitem {Parser}, \hyperpage{41} - \item {parseGradient} - \subitem {Parser}, \hyperpage{41} - \item {parseLine} - \subitem {Parser}, \hyperpage{42} - \item {parsePath} - \subitem {Parser}, \hyperpage{42} - \item {parsePathPoints} - \subitem {Parser}, \hyperpage{43} - \item {parsePoints} - \subitem {Parser}, \hyperpage{45} - \item {parsePolygon} - \subitem {Parser}, \hyperpage{45} - \item {parsePolyline} - \subitem {Parser}, \hyperpage{46} - \item {Parser}, \hyperpage{29} - \subitem {getAttribute}, \hyperpage{32} - \subitem {getFloatAttribute}, \hyperpage{32} - \subitem {GetGradients}, \hyperpage{34} - \subitem {getGradientStops}, \hyperpage{35} - \subitem {getInstance}, \hyperpage{36} - \subitem {getRoot}, \hyperpage{36} - \subitem {getTransformOrder}, \hyperpage{36} - \subitem {getViewBox}, \hyperpage{37} - \subitem {getViewPort}, \hyperpage{37} - \subitem {gradients}, \hyperpage{49} - \subitem {parseCircle}, \hyperpage{37} - \subitem {parseColor}, \hyperpage{38} - \subitem {parseElements}, \hyperpage{39} - \subitem {parseEllipse}, \hyperpage{41} - \subitem {parseGradient}, \hyperpage{41} - \subitem {parseLine}, \hyperpage{42} - \subitem {parsePath}, \hyperpage{42} - \subitem {parsePathPoints}, \hyperpage{43} - \subitem {parsePoints}, \hyperpage{45} - \subitem {parsePolygon}, \hyperpage{45} - \subitem {parsePolyline}, \hyperpage{46} - \subitem {Parser}, \hyperpage{31} - \subitem {parseRect}, \hyperpage{47} - \subitem {parseShape}, \hyperpage{47} - \subitem {parseText}, \hyperpage{48} - \subitem {printShapesData}, \hyperpage{49} - \item {parseRect} - \subitem {Parser}, \hyperpage{47} - \item {parseShape} - \subitem {Parser}, \hyperpage{47} - \item {parseText} - \subitem {Parser}, \hyperpage{48} - \item {Path}, \hyperpage{50} - \subitem {addPoint}, \hyperpage{52} - \subitem {getClass}, \hyperpage{52} - \subitem {getFillRule}, \hyperpage{52} - \subitem {getPoints}, \hyperpage{53} - \subitem {Path}, \hyperpage{51} - \subitem {printData}, \hyperpage{53} - \subitem {setFillRule}, \hyperpage{53} - \item {PathPoint}, \hyperpage{54} - \item {Plygon}, \hyperpage{55} - \subitem {getClass}, \hyperpage{57} - \subitem {Plygon}, \hyperpage{56} - \item {Plyline}, \hyperpage{58} - \subitem {getClass}, \hyperpage{59} - \subitem {Plyline}, \hyperpage{59} - \item {PolyShape}, \hyperpage{60} - \subitem {addPoint}, \hyperpage{62} - \subitem {getClass}, \hyperpage{63} - \subitem {getFillRule}, \hyperpage{63} - \subitem {getMaxBound}, \hyperpage{63} - \subitem {getMinBound}, \hyperpage{63} - \subitem {getPoints}, \hyperpage{64} - \subitem {PolyShape}, \hyperpage{62} - \subitem {printData}, \hyperpage{64} - \subitem {setFillRule}, \hyperpage{64} - \item {printData} - \subitem {Ell}, \hyperpage{11} - \subitem {Group}, \hyperpage{19} - \subitem {Path}, \hyperpage{53} - \subitem {PolyShape}, \hyperpage{64} - \subitem {Rect}, \hyperpage{71} - \subitem {SVGElement}, \hyperpage{98} - \item {printShapesData} - \subitem {Parser}, \hyperpage{49} - - \indexspace - - \item {RadialGradient}, \hyperpage{65} - \subitem {getClass}, \hyperpage{67} - \subitem {getRadius}, \hyperpage{67} - \subitem {RadialGradient}, \hyperpage{66} - \item {Rect}, \hyperpage{68} - \subitem {getClass}, \hyperpage{70} - \subitem {getHeight}, \hyperpage{70} - \subitem {getRadius}, \hyperpage{70} - \subitem {getWidth}, \hyperpage{71} - \subitem {printData}, \hyperpage{71} - \subitem {Rect}, \hyperpage{69} - \subitem {setHeight}, \hyperpage{71} - \subitem {setRadius}, \hyperpage{72} - \subitem {setWidth}, \hyperpage{72} - \item {Renderer}, \hyperpage{72} - \subitem {applyTransform}, \hyperpage{74} - \subitem {applyTransformsOnBrush}, \hyperpage{75} - \subitem {draw}, \hyperpage{76} - \subitem {drawCircle}, \hyperpage{77} - \subitem {drawEllipse}, \hyperpage{78} - \subitem {drawLine}, \hyperpage{78} - \subitem {drawPath}, \hyperpage{79} - \subitem {drawPolygon}, \hyperpage{82} - \subitem {drawPolyline}, \hyperpage{82} - \subitem {drawRectangle}, \hyperpage{84} - \subitem {drawText}, \hyperpage{85} - \subitem {getBrush}, \hyperpage{86} - \subitem {getInstance}, \hyperpage{87} - - \indexspace - - \item {setAnchor} - \subitem {Text}, \hyperpage{106} - \item {setContent} - \subitem {Text}, \hyperpage{107} - \item {setDirection} - \subitem {Line}, \hyperpage{23} - \item {setFillColor} - \subitem {SVGElement}, \hyperpage{99} - \item {setFillRule} - \subitem {Path}, \hyperpage{53} - \subitem {PolyShape}, \hyperpage{64} - \item {setFontSize} - \subitem {Text}, \hyperpage{107} - \item {setFontStyle} - \subitem {Text}, \hyperpage{107} - \item {setGradient} - \subitem {SVGElement}, \hyperpage{99} - \item {setHeight} - \subitem {Rect}, \hyperpage{71} - \item {setOutlineColor} - \subitem {SVGElement}, \hyperpage{100} - \item {setOutlineThickness} - \subitem {SVGElement}, \hyperpage{100} - \item {setParent} - \subitem {SVGElement}, \hyperpage{101} - \item {setPosition} - \subitem {SVGElement}, \hyperpage{101} - \item {setRadius} - \subitem {Ell}, \hyperpage{11} - \subitem {Rect}, \hyperpage{72} - \item {setTransforms} - \subitem {Gradient}, \hyperpage{15} - \subitem {SVGElement}, \hyperpage{102} - \item {setUnits} - \subitem {Gradient}, \hyperpage{16} - \item {setWidth} - \subitem {Rect}, \hyperpage{72} - \item {Stop}, \hyperpage{88} - \subitem {getColor}, \hyperpage{89} - \subitem {getOffset}, \hyperpage{90} - \subitem {Stop}, \hyperpage{89} - \item {SVGElement}, \hyperpage{90} - \subitem {addElement}, \hyperpage{94} - \subitem {getClass}, \hyperpage{95} - \subitem {getFillColor}, \hyperpage{95} - \subitem {getGradient}, \hyperpage{95} - \subitem {getMaxBound}, \hyperpage{96} - \subitem {getMinBound}, \hyperpage{96} - \subitem {getOutlineColor}, \hyperpage{96} - \subitem {getOutlineThickness}, \hyperpage{97} - \subitem {getParent}, \hyperpage{97} - \subitem {getPosition}, \hyperpage{97} - \subitem {getTransforms}, \hyperpage{98} - \subitem {printData}, \hyperpage{98} - \subitem {setFillColor}, \hyperpage{99} - \subitem {setGradient}, \hyperpage{99} - \subitem {setOutlineColor}, \hyperpage{100} - \subitem {setOutlineThickness}, \hyperpage{100} - \subitem {setParent}, \hyperpage{101} - \subitem {setPosition}, \hyperpage{101} - \subitem {setTransforms}, \hyperpage{102} - \subitem {SVGElement}, \hyperpage{93, 94} - - \indexspace - - \item {Text}, \hyperpage{103} - \subitem {getAnchor}, \hyperpage{105} - \subitem {getClass}, \hyperpage{105} - \subitem {getContent}, \hyperpage{105} - \subitem {getFontSize}, \hyperpage{106} - \subitem {getFontStyle}, \hyperpage{106} - \subitem {setAnchor}, \hyperpage{106} - \subitem {setContent}, \hyperpage{107} - \subitem {setFontSize}, \hyperpage{107} - \subitem {setFontStyle}, \hyperpage{107} - \subitem {Text}, \hyperpage{104} - - \indexspace - - \item {Vector2D} - \subitem {Vector2D$<$ T $>$}, \hyperpage{109} - \item {Vector2D$<$ T $>$}, \hyperpage{108} - \subitem {Vector2D}, \hyperpage{109} - \item {Viewer}, \hyperpage{110} - \subitem {getInstance}, \hyperpage{111} - \subitem {getWindowSize}, \hyperpage{112} - \subitem {handleKeyDown}, \hyperpage{112} - \subitem {handleKeyEvent}, \hyperpage{113} - \subitem {handleLeftButtonDown}, \hyperpage{113} - \subitem {handleMouseEvent}, \hyperpage{113} - \subitem {handleMouseMove}, \hyperpage{114} - \subitem {handleMouseWheel}, \hyperpage{114} - \subitem {needs\_repaint}, \hyperpage{115} - -\end{theindex} diff --git a/latex/refman.log b/latex/refman.log deleted file mode 100644 index edc7d4a..0000000 --- a/latex/refman.log +++ /dev/null @@ -1,1915 +0,0 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) (preloaded format=pdflatex 2023.9.30) 5 JAN 2024 18:25 -entering extended mode - restricted \write18 enabled. - %&-line parsing enabled. -**refman -(./refman.tex -LaTeX2e <2021-11-15> patch level 1 -L3 programming layer <2022-01-21> -(/usr/share/texlive/texmf-dist/tex/latex/base/book.cls -Document Class: book 2021/10/04 v1.4n Standard LaTeX document class -(/usr/share/texlive/texmf-dist/tex/latex/base/bk10.clo -File: bk10.clo 2021/10/04 v1.4n Standard LaTeX file (size option) -) -\c@part=\count185 -\c@chapter=\count186 -\c@section=\count187 -\c@subsection=\count188 -\c@subsubsection=\count189 -\c@paragraph=\count190 -\c@subparagraph=\count191 -\c@figure=\count192 -\c@table=\count193 -\abovecaptionskip=\skip47 -\belowcaptionskip=\skip48 -\bibindent=\dimen138 -) -(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty -Package: ifthen 2020/11/24 v1.1c Standard LaTeX ifthen package (DPC) -) -(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty -Rollback for package 'array' requested -> date 2016-10-06. - Best approximation is the release introduced on 2016-10-06. - -(/usr/share/texlive/texmf-dist/tex/latex/tools/array-2016-10-06.sty -Package: array 2016/10/06 v2.4d Tabular extension package (FMi) -\col@sep=\dimen139 -\extrarowheight=\dimen140 -\NC@list=\toks16 -\extratabsurround=\skip49 -\backup@length=\skip50 -)) -(/usr/share/texlive/texmf-dist/tex/latex/base/fixltx2e.sty -Package: fixltx2e 2016/12/29 v2.1a fixes to LaTeX (obsolete) -Applying: [2015/01/01] Old fixltx2e package on input line 46. - - -Package fixltx2e Warning: fixltx2e is not required with releases after 2015 -(fixltx2e) All fixes are now in the LaTeX kernel. -(fixltx2e) See the latexrelease package for details. - -Already applied: [0000/00/00] Old fixltx2e package on input line 53. -) (./doxygen.sty -Package: doxygen - (/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty -Package: alltt 2021/01/29 v2.0g defines alltt environment -) -(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty -Package: calc 2017/05/25 v4.3 Infix arithmetic (KKT,FJ) -\calc@Acount=\count194 -\calc@Bcount=\count195 -\calc@Adimen=\dimen141 -\calc@Bdimen=\dimen142 -\calc@Askip=\skip51 -\calc@Bskip=\skip52 -LaTeX Info: Redefining \setlength on input line 80. -LaTeX Info: Redefining \addtolength on input line 81. -\calc@Ccount=\count196 -\calc@Cskip=\skip53 -) -(/usr/share/texlive/texmf-dist/tex/latex/float/float.sty -Package: float 2001/11/08 v1.3d Float enhancements (AL) -\c@float@type=\count197 -\float@exts=\toks17 -\float@box=\box50 -\@float@everytoks=\toks18 -\@floatcapt=\box51 -) -(/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty -Package: verbatim 2020-07-07 v1.5u LaTeX2e package for verbatim enhancements -\every@verbatim=\toks19 -\verbatim@line=\toks20 -\verbatim@in@stream=\read2 -) -(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty -Package: xcolor 2021/10/31 v2.13 LaTeX color extensions (UK) - -(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg -File: color.cfg 2016/01/02 v1.6 sample color configuration -) -Package xcolor Info: Driver file: pdftex.def on input line 227. - -(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def -File: pdftex.def 2020/10/05 v1.2a Graphics/color driver for pdftex -) -(/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty -Package: colortbl 2020/01/04 v1.0e Color table columns (DPC) -\everycr=\toks21 -\minrowclearance=\skip54 -) -\rownum=\count198 -Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1352. -Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1356. -Package xcolor Info: Model `RGB' extended on input line 1368. -Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1370. -Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1371. -Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1372. -Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1373. -Package xcolor Info: Model `Gray' substituted by `gray' on input line 1374. -Package xcolor Info: Model `wave' substituted by `hsb' on input line 1375. -) -(./longtable_doxygen.sty -Package: longtable_doxygen 2014/10/28 v4.11 Multi-page Table package (DPC) - fr -ozen version for doxygen -\LTleft=\skip55 -\LTright=\skip56 -\LTpre=\skip57 -\LTpost=\skip58 -\LTchunksize=\count199 -\LTcapwidth=\dimen143 -\LT@head=\box52 -\LT@firsthead=\box53 -\LT@foot=\box54 -\LT@lastfoot=\box55 -\LT@cols=\count266 -\LT@rows=\count267 -\c@LT@tables=\count268 -\c@LT@chunks=\count269 -\LT@p@ftn=\toks22 -) (./tabu_doxygen.sty -Package: tabu_doxygen 2011/02/26 v2.8 - flexible LaTeX tabulars (FC), frozen ve -rsion for doxygen - -(/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty -Package: varwidth 2009/03/30 ver 0.92; Variable-width minipages -\@vwid@box=\box56 -\sift@deathcycles=\count270 -\@vwid@loff=\dimen144 -\@vwid@roff=\dimen145 -) -\c@taburow=\count271 -\tabu@nbcols=\count272 -\tabu@cnt=\count273 -\tabu@Xcol=\count274 -\tabu@alloc=\count275 -\tabu@nested=\count276 -\tabu@target=\dimen146 -\tabu@spreadtarget=\dimen147 -\tabu@naturalX=\dimen148 -\tabucolX=\dimen149 -\tabu@Xsum=\dimen150 -\extrarowdepth=\dimen151 -\abovetabulinesep=\dimen152 -\belowtabulinesep=\dimen153 -\tabustrutrule=\dimen154 -\tabu@thebody=\toks23 -\tabu@footnotes=\toks24 -\tabu@box=\box57 -\tabu@arstrutbox=\box58 -\tabu@hleads=\box59 -\tabu@vleads=\box60 -\tabu@cellskip=\skip59 -) -(/usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty -Package: fancyvrb 2021/12/21 4.1b verbatim text (tvz,hv) - -(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty -Package: keyval 2014/10/28 v1.15 key=value parser (DPC) -\KV@toks@=\toks25 -) -\FV@CodeLineNo=\count277 -\FV@InFile=\read3 -\FV@TabBox=\box61 -\c@FancyVerbLine=\count278 -\FV@StepNumber=\count279 -\FV@OutFile=\write3 -) -(/usr/share/texlive/texmf-dist/tex/latex/tools/tabularx.sty -Package: tabularx 2020/01/15 v2.11c `tabularx' package (DPC) -\TX@col@width=\dimen155 -\TX@old@table=\dimen156 -\TX@old@col=\dimen157 -\TX@target=\dimen158 -\TX@delta=\dimen159 -\TX@cols=\count280 -\TX@ftn=\toks26 -) -(/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty -Package: multicol 2021/10/28 v1.9b multicolumn formatting (FMi) -\c@tracingmulticols=\count281 -\mult@box=\box62 -\multicol@leftmargin=\dimen160 -\c@unbalance=\count282 -\c@collectmore=\count283 -\doublecol@number=\count284 -\multicoltolerance=\count285 -\multicolpretolerance=\count286 -\full@width=\dimen161 -\page@free=\dimen162 -\premulticols=\dimen163 -\postmulticols=\dimen164 -\multicolsep=\skip60 -\multicolbaselineskip=\skip61 -\partial@page=\box63 -\last@line=\box64 -\maxbalancingoverflow=\dimen165 -\mult@rightbox=\box65 -\mult@grightbox=\box66 -\mult@firstbox=\box67 -\mult@gfirstbox=\box68 -\@tempa=\box69 -\@tempa=\box70 -\@tempa=\box71 -\@tempa=\box72 -\@tempa=\box73 -\@tempa=\box74 -\@tempa=\box75 -\@tempa=\box76 -\@tempa=\box77 -\@tempa=\box78 -\@tempa=\box79 -\@tempa=\box80 -\@tempa=\box81 -\@tempa=\box82 -\@tempa=\box83 -\@tempa=\box84 -\@tempa=\box85 -\@tempa=\box86 -\@tempa=\box87 -\@tempa=\box88 -\@tempa=\box89 -\@tempa=\box90 -\@tempa=\box91 -\@tempa=\box92 -\@tempa=\box93 -\@tempa=\box94 -\@tempa=\box95 -\@tempa=\box96 -\@tempa=\box97 -\@tempa=\box98 -\@tempa=\box99 -\@tempa=\box100 -\@tempa=\box101 -\@tempa=\box102 -\@tempa=\box103 -\@tempa=\box104 -\c@minrows=\count287 -\c@columnbadness=\count288 -\c@finalcolumnbadness=\count289 -\last@try=\dimen166 -\multicolovershoot=\dimen167 -\multicolundershoot=\dimen168 -\mult@nat@firstbox=\box105 -\colbreak@box=\box106 -\mc@col@check@num=\count290 -) -(/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty -Package: multirow 2021/03/15 v2.8 Span multiple rows of a table -\multirow@colwidth=\skip62 -\multirow@cntb=\count291 -\multirow@dima=\skip63 -\bigstrutjot=\dimen169 -) -(/usr/share/texlive/texmf-dist/tex/latex/hanging/hanging.sty -Package: hanging 2009/09/02 v1.2b hanging paragraphs and punctuation -\h@ngcommawd=\skip64 -\h@ngfstopwd=\skip65 -\h@ngquotewd=\skip66 -\h@ngdquotewd=\skip67 -\h@ngquerywd=\skip68 -\h@ngexclwd=\skip69 -\h@ngcolonwd=\skip70 -\h@ngscolonwd=\skip71 -) -(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifpdf.sty -Package: ifpdf 2019/10/25 v3.4 ifpdf legacy package. Use iftex instead. - -(/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty -Package: iftex 2020/03/06 v1.0d TeX engine tests -)) -(/usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjustbox.sty -Package: adjustbox 2020/08/19 v1.3 Adjusting TeX boxes (trim, clip, ...) - -(/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty -Package: xkeyval 2020/11/20 v2.8 package option processing (HA) - -(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex -(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex -\XKV@toks=\toks27 -\XKV@tempa@toks=\toks28 -) -\XKV@depth=\count292 -File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) -)) -(/usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjcalc.sty -Package: adjcalc 2012/05/16 v1.1 Provides advanced setlength with multiple back --ends (calc, etex, pgfmath) -) -(/usr/share/texlive/texmf-dist/tex/latex/adjustbox/trimclip.sty -Package: trimclip 2020/08/19 v1.2 Trim and clip general TeX material - -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR) - -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2021/03/04 v1.4d Standard LaTeX Graphics (DPC,SPQR) - -(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty -Package: trig 2021/08/11 v1.11 sin cos tan (DPC) -) -(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration -) -Package graphics Info: Driver file: pdftex.def on input line 107. -) -\Gin@req@height=\dimen170 -\Gin@req@width=\dimen171 -) -(/usr/share/texlive/texmf-dist/tex/latex/collectbox/collectbox.sty -Package: collectbox 2012/05/17 v0.4b Collect macro arguments as boxes -\collectedbox=\box107 -) -\tc@llx=\dimen172 -\tc@lly=\dimen173 -\tc@urx=\dimen174 -\tc@ury=\dimen175 -Package trimclip Info: Using driver 'tc-pdftex.def'. - -(/usr/share/texlive/texmf-dist/tex/latex/adjustbox/tc-pdftex.def -File: tc-pdftex.def 2019/01/04 v2.2 Clipping driver for pdftex -)) -\adjbox@Width=\dimen176 -\adjbox@Height=\dimen177 -\adjbox@Depth=\dimen178 -\adjbox@Totalheight=\dimen179 -\adjbox@pwidth=\dimen180 -\adjbox@pheight=\dimen181 -\adjbox@pdepth=\dimen182 -\adjbox@ptotalheight=\dimen183 - -(/usr/share/texlive/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty -Package: ifoddpage 2016/04/23 v1.1 Conditionals for odd/even page detection -\c@checkoddpage=\count293 -)) -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty -Package: amssymb 2013/01/14 v3.01 AMS font symbols - -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty -Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support -\@emptytoks=\toks29 -\symAMSa=\mathgroup4 -\symAMSb=\mathgroup5 -LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. -LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' -(Font) U/euf/m/n --> U/euf/b/n on input line 106. -)) -(/usr/share/texlive/texmf-dist/tex/latex/stackengine/stackengine.sty -Package: stackengine 2021/07/22 v4.11\ Stacking text and objects in convenient -ways - -(/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty -Package: etoolbox 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW) -\etb@tempcnta=\count294 -) -(/usr/share/texlive/texmf-dist/tex/generic/listofitems/listofitems.sty -(/usr/share/texlive/texmf-dist/tex/generic/listofitems/listofitems.tex -\loi_cnt_foreach_nest=\count295 -\loi_nestcnt=\count296 -) -Package: listofitems 2019/08/21 v1.63 Grab items in lists using user-specified -sep char (CT) -) -\c@@stackindex=\count297 -\@boxshift=\skip72 -\stack@tmplength=\skip73 -\temp@stkl=\skip74 -\@stackedboxwidth=\skip75 -\@addedbox=\box108 -\@anchorbox=\box109 -\@insetbox=\box110 -\se@backgroundbox=\box111 -\stackedbox=\box112 -\@centerbox=\box113 -\c@ROWcellindex@=\count298 -) -(/usr/share/texlive/texmf-dist/tex/generic/ulem/ulem.sty -\UL@box=\box114 -\UL@hyphenbox=\box115 -\UL@skip=\skip76 -\UL@hook=\toks30 -\UL@height=\dimen184 -\UL@pe=\count299 -\UL@pixel=\dimen185 -\ULC@box=\box116 -Package: ulem 2019/11/18 -\ULdepth=\dimen186 -) -\xrefbox=\box117 -\xreflength=\skip77 -\CodeWidthChar=\skip78 -\CodeHeightChar=\skip79 -\DoxyCodeWidth=\skip80 -) -(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty -Package: inputenc 2021/02/14 v1.3d Input encoding file -\inpenc@prehook=\toks31 -\inpenc@posthook=\toks32 -) -(/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty -Package: makeidx 2021/10/04 v1.0m Standard LaTeX package -) -(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty -Package: textcomp 2020/02/02 v2.0n Standard LaTeX package -) -(/usr/share/texlive/texmf-dist/tex/latex/wasysym/wasysym.sty -Package: wasysym 2020/01/19 v2.4 Wasy-2 symbol support package -\symwasy=\mathgroup6 -LaTeX Font Info: Overwriting symbol font `wasy' in version `bold' -(Font) U/wasy/m/n --> U/wasy/b/n on input line 93. -) -(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifxetex.sty -Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. -) -(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty -Package: fontenc 2021/04/29 v2.0v Standard LaTeX package -) -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/helvet.sty -Package: helvet 2020/03/25 PSNFSS-v9.3 (WaS) -) -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/courier.sty -Package: courier 2020/03/25 PSNFSS-v9.3 (WaS) -) -(/usr/share/texlive/texmf-dist/tex/latex/sectsty/sectsty.sty -Package: sectsty 2002/02/25 v2.0.2 Commands to change all sectional heading sty -les - - -LaTeX Warning: Command \underbar has changed. - Check if current package is valid. - - -LaTeX Warning: Command \underline has changed. - Check if current package is valid. - -) (/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty -Package: geometry 2020/01/02 v5.9 Page Geometry - -(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty -Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. -) -\Gm@cnth=\count300 -\Gm@cntv=\count301 -\c@Gm@tempcnt=\count302 -\Gm@bindingoffset=\dimen187 -\Gm@wd@mp=\dimen188 -\Gm@odd@mp=\dimen189 -\Gm@even@mp=\dimen190 -\Gm@layoutwidth=\dimen191 -\Gm@layoutheight=\dimen192 -\Gm@layouthoffset=\dimen193 -\Gm@layoutvoffset=\dimen194 -\Gm@dimlist=\toks33 -) -(/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty -Package: fancyhdr 2021/01/28 v4.0.1 Extensive control of page headers and foote -rs -\f@nch@headwidth=\skip81 -\f@nch@O@elh=\skip82 -\f@nch@O@erh=\skip83 -\f@nch@O@olh=\skip84 -\f@nch@O@orh=\skip85 -\f@nch@O@elf=\skip86 -\f@nch@O@erf=\skip87 -\f@nch@O@olf=\skip88 -\f@nch@O@orf=\skip89 -) -(/usr/share/texlive/texmf-dist/tex/latex/natbib/natbib.sty -Package: natbib 2010/09/13 8.31b (PWD, AO) -\bibhang=\skip90 -\bibsep=\skip91 -LaTeX Info: Redefining \cite on input line 694. -\c@NAT@ctr=\count303 -) -(/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty -Package: tocloft 2017/08/31 v2.3i parameterised ToC, etc., typesetting -Package tocloft Info: The document has chapter divisions on input line 51. -\cftparskip=\skip92 -\cftbeforetoctitleskip=\skip93 -\cftaftertoctitleskip=\skip94 -\cftbeforepartskip=\skip95 -\cftpartnumwidth=\skip96 -\cftpartindent=\skip97 -\cftbeforechapskip=\skip98 -\cftchapindent=\skip99 -\cftchapnumwidth=\skip100 -\cftbeforesecskip=\skip101 -\cftsecindent=\skip102 -\cftsecnumwidth=\skip103 -\cftbeforesubsecskip=\skip104 -\cftsubsecindent=\skip105 -\cftsubsecnumwidth=\skip106 -\cftbeforesubsubsecskip=\skip107 -\cftsubsubsecindent=\skip108 -\cftsubsubsecnumwidth=\skip109 -\cftbeforeparaskip=\skip110 -\cftparaindent=\skip111 -\cftparanumwidth=\skip112 -\cftbeforesubparaskip=\skip113 -\cftsubparaindent=\skip114 -\cftsubparanumwidth=\skip115 -\cftbeforeloftitleskip=\skip116 -\cftafterloftitleskip=\skip117 -\cftbeforefigskip=\skip118 -\cftfigindent=\skip119 -\cftfignumwidth=\skip120 -\c@lofdepth=\count304 -\c@lotdepth=\count305 -\cftbeforelottitleskip=\skip121 -\cftafterlottitleskip=\skip122 -\cftbeforetabskip=\skip123 -\cfttabindent=\skip124 -\cfttabnumwidth=\skip125 -) -\@indexfile=\write4 -\openout4 = `refman.idx'. - - -Writing index file refman.idx -(/usr/share/texlive/texmf-dist/tex/latex/newunicodechar/newunicodechar.sty -Package: newunicodechar 2018/04/08 v1.2 Defining Unicode characters -) - -Package newunicodechar Warning: Redefining Unicode character on input line 115. - - - -Package newunicodechar Warning: Redefining Unicode character on input line 116. - - -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty -Package: hyperref 2021-06-07 v7.00m Hypertext links for LaTeX - -(/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO) -) -(/usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO -) - -(/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty -Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) -) -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode found. -) -(/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty -Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO) -) -(/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) -) -(/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty -Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) -) -(/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty -Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) -) -(/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) -) -(/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty -Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) -) -(/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty -Package: kvoptions 2020-10-07 v3.14 Key value format for package options (HO) -) -\@linkdim=\dimen195 -\Hy@linkcounter=\count306 -\Hy@pagecounter=\count307 - -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def -File: pd1enc.def 2021-06-07 v7.00m Hyperref: PDFDocEncoding definition (HO) -Now handling font encoding PD1 ... -... no UTF-8 mapping file for font encoding PD1 -) -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def -File: hyperref-langpatches.def 2021-06-07 v7.00m Hyperref: patches for babel la -nguages -) -(/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty -Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) -) -(/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty -Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) -) -\Hy@SavedSpaceFactor=\count308 - -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def -File: puenc.def 2021-06-07 v7.00m Hyperref: PDF Unicode definition (HO) -Now handling font encoding PU ... -... no UTF-8 mapping file for font encoding PU -) -Package hyperref Info: Hyper figures OFF on input line 4192. -Package hyperref Info: Link nesting OFF on input line 4197. -Package hyperref Info: Hyper index ON on input line 4200. -Package hyperref Info: Plain pages OFF on input line 4207. -Package hyperref Info: Backreferencing ON on input line 4210. -Package hyperref Info: Implicit mode ON; LaTeX internals redefined. -Package hyperref Info: Bookmarks ON on input line 4445. - -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty -Package: backref 2021/02/04 v1.41 Bibliographical back referencing - -(/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO) - -(/usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty -Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend pac -kage -with kernel methods -) -(/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) - -(/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO -) -)) -Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 -86. -)) -\c@Hy@tempcnt=\count309 - -(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty -\Urlmuskip=\muskip16 -Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. -) -LaTeX Info: Redefining \url on input line 4804. -\XeTeXLinkMargin=\dimen196 - -(/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty -Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) -) -\Fld@menulength=\count310 -\Field@Width=\dimen197 -\Fld@charsize=\dimen198 -Package hyperref Info: Hyper figures OFF on input line 6076. -Package hyperref Info: Link nesting OFF on input line 6081. -Package hyperref Info: Hyper index ON on input line 6084. -Package hyperref Info: backreferencing ON on input line 6089. -Package hyperref Info: Link coloring OFF on input line 6096. -Package hyperref Info: Link coloring with OCG OFF on input line 6101. -Package hyperref Info: PDF/A mode OFF on input line 6106. -LaTeX Info: Redefining \ref on input line 6146. -LaTeX Info: Redefining \pageref on input line 6150. - -(/usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty -Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi -package with kernel methods -) -\Hy@abspage=\count311 -\c@Item=\count312 -\c@Hfootnote=\count313 - - -LaTeX Warning: Command \LT@p@ftntext has changed. - Check if current package is valid. - -) -Package hyperref Info: Driver: hpdftex. - (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def -File: hpdftex.def 2021-06-07 v7.00m Hyperref driver for pdfTeX -\Fld@listcount=\count314 -\c@bookmark@seq@number=\count315 -\Hy@SectionHShift=\skip126 -) -Package hyperref Info: Option `colorlinks' set `true' on input line 134. -Package hyperref Info: Option `unicode' set `true' on input line 134. - -(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty -Package: caption 2020/10/26 v3.5g Customizing captions (AR) - -(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty -Package: caption3 2020/10/21 v2.2e caption3 kernel (AR) -\captionmargin=\dimen199 -\captionmargin@=\dimen256 -\captionwidth=\dimen257 -\caption@tempdima=\dimen258 -\caption@indent=\dimen259 -\caption@parindent=\dimen260 -\caption@hangindent=\dimen261 -Package caption Info: Standard document class detected. -) -\c@caption@flags=\count316 -\c@continuedfloat=\count317 -Package caption Info: float package is loaded. -Package caption Info: hyperref package is loaded. -Package caption Info: longtable package is loaded. - -(/usr/share/texlive/texmf-dist/tex/latex/caption/ltcaption.sty -Package: ltcaption 2020/05/30 v1.4b longtable captions (AR) -)) -(/usr/share/texlive/texmf-dist/tex/latex/etoc/etoc.sty -Package: etoc 2021/09/23 v1.09e Completely customisable TOCs (JFB) -\Etoc@toctoks=\toks34 -\c@etoc@tocid=\count318 -\c@etoc@tocdepth=\count319 -\etoc@framed@titlebox=\box118 -\etoc@framed@contentsbox=\box119 -) -LaTeX Font Info: Trying to load font information for T1+phv on input line 14 -9. - -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd -File: t1phv.fd 2020/03/25 scalable font definitions for T1/phv. -) -LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 8.99994pt on input line 149. - -(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -File: l3backend-pdftex.def 2022-01-12 L3 backend support: PDF output (pdfTeX) -\l__color_backend_stack_int=\count320 -\l__pdf_internal_box=\box120 -) -(./refman.aux) -\openout1 = `refman.aux'. - -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. - -(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count321 -\scratchdimen=\dimen262 -\scratchbox=\box121 -\nofMPsegments=\count322 -\nofMParguments=\count323 -\everyMPshowfont=\toks35 -\MPscratchCnt=\count324 -\MPscratchDim=\dimen263 -\MPnumerator=\count325 -\makeMPintoPDFobject=\count326 -\everyMPtoPDFconversion=\toks36 -) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty -Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf -Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 -85. - -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg -File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv -e -)) -*geometry* driver: auto-detecting -*geometry* detected driver: pdftex -*geometry* verbose mode - [ preamble ] result: -* driver: pdftex -* paper: a4paper -* layout: -* layoutoffset:(h,v)=(0.0pt,0.0pt) -* modes: twoside -* h-part:(L,W,R)=(71.13188pt, 455.24411pt, 71.13188pt) -* v-part:(T,H,B)=(71.13188pt, 702.78308pt, 71.13188pt) -* \paperwidth=597.50787pt -* \paperheight=845.04684pt -* \textwidth=455.24411pt -* \textheight=702.78308pt -* \oddsidemargin=-1.1381pt -* \evensidemargin=-1.1381pt -* \topmargin=-31.2056pt -* \headheight=12.0pt -* \headsep=18.06749pt -* \topskip=10.0pt -* \footskip=25.29494pt -* \marginparwidth=125.0pt -* \marginparsep=7.0pt -* \columnsep=10.0pt -* \skip\footins=9.0pt plus 4.0pt minus 2.0pt -* \hoffset=0.0pt -* \voffset=0.0pt -* \mag=1000 -* \@twocolumnfalse -* \@twosidetrue -* \@mparswitchtrue -* \@reversemarginfalse -* (1in=72.27pt=25.4mm, 1cm=28.453pt) - -Package hyperref Info: Link coloring ON on input line 149. -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty -Package: nameref 2021-04-02 v2.47 Cross-referencing by name of section - -(/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty -Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) -) -(/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) -) -\c@section@level=\count327 -) -LaTeX Info: Redefining \ref on input line 149. -LaTeX Info: Redefining \pageref on input line 149. -LaTeX Info: Redefining \nameref on input line 149. - -(./refman.out) (./refman.out) -\@outlinefile=\write5 -\openout5 = `refman.out'. - -Package backref Info: ** backref set up for natbib ** on input line 149. -Package caption Info: Begin \AtBeginDocument code. -Package caption Info: End \AtBeginDocument code. -\Etoc@tf=\read4 -Package hyperref Info: Option `pageanchor' set `false' on input line 156. -Package hyperref Info: Option `bookmarksnumbered' set `true' on input line 156. - -Package hyperref Info: Option `unicode' set `true' on input line 156. -LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 12.9599pt on input line 161. -LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 10.79993pt on input line 161. -LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 6.29996pt on input line 161. -LaTeX Font Info: Trying to load font information for U+msa on input line 161 -. - -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd -File: umsa.fd 2013/01/14 v3.01 AMS symbols A -) -LaTeX Font Info: Trying to load font information for U+msb on input line 161 -. - -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd -File: umsb.fd 2013/01/14 v3.01 AMS symbols B -) -LaTeX Font Info: Trying to load font information for U+wasy on input line 16 -1. - -(/usr/share/texlive/texmf-dist/tex/latex/wasysym/uwasy.fd -File: uwasy.fd 2020/01/19 v2.4 Wasy-2 symbol font definitions -) [1 - - -{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2 - -] -\tf@toc=\write6 -\openout6 = `refman.toc'. - -LaTeX Font Info: Font shape `T1/phv/b/n' will be -(Font) scaled to size 8.99994pt on input line 169. -LaTeX Font Info: Font shape `T1/phv/b/n' will be -(Font) scaled to size 6.29996pt on input line 169. - [1] -LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 7.19995pt on input line 169. -LaTeX Font Info: Trying to load font information for T1+pcr on input line 16 -9. - -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd -File: t1pcr.fd 2001/06/04 font definitions for T1/pcr. -) [2] [3] [4] [5] -[6] -Package hyperref Info: Option `pageanchor' set `true' on input line 171. - -Chapter 1. -LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 18.66588pt on input line 174. -LaTeX Font Info: Font shape `T1/phv/b/n' will be -(Font) scaled to size 18.66588pt on input line 174. -LaTeX Font Info: Font shape `T1/phv/bc/n' will be -(Font) scaled to size 18.66588pt on input line 174. -LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 22.39185pt on input line 174. -LaTeX Font Info: Font shape `T1/phv/b/n' will be -(Font) scaled to size 22.39185pt on input line 174. -LaTeX Font Info: Font shape `T1/phv/bc/n' will be -(Font) scaled to size 22.39185pt on input line 174. -(./hierarchy.tex -LaTeX Font Info: Font shape `T1/phv/b/n' will be -(Font) scaled to size 12.9599pt on input line 1. -) [1 - - -] [2 - -] -Chapter 2. -(./annotated.tex [3]) [4] -Chapter 3. -(./classCircle.tex <./classCircle__inherit__graph.pdf - -pdfTeX warning: pdflatex (file ./classCircle__inherit__graph.pdf): PDF inclusio -n: multiple pdfs with page group included in a single page -> - -File: classCircle__inherit__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classCircle__inherit__graph.pdf used on input line 19 -. -(pdftex.def) Requested size: 157.0pt x 212.01193pt. - <./classCircle__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classCircle__coll__graph.pdf): PDF inclusion: -multiple pdfs with page group included in a single page -> - -File: classCircle__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classCircle__coll__graph.pdf used on input line 29. -(pdftex.def) Requested size: 350.0pt x 317.4773pt. - [5 - -] -LaTeX Font Info: Font shape `T1/phv/b/n' will be -(Font) scaled to size 10.79993pt on input line 32. -LaTeX Font Info: Trying to load font information for TS1+phv on input line 3 -5. - (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1phv.fd -File: ts1phv.fd 2020/03/25 scalable font definitions for TS1/phv. -) -LaTeX Font Info: Font shape `TS1/phv/m/n' will be -(Font) scaled to size 8.99994pt on input line 35. -LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 8.09995pt on input line 36. -LaTeX Font Info: Font shape `T1/phv/m/it' in size <9> not available -(Font) Font shape `T1/phv/m/sl' tried instead on input line 36. -LaTeX Font Info: Font shape `T1/phv/m/sl' will be -(Font) scaled to size 8.09995pt on input line 36. -LaTeX Font Info: Font shape `T1/pcr/m/it' in size <8> not available -(Font) Font shape `T1/pcr/m/sl' tried instead on input line 56. -LaTeX Font Info: Font shape `T1/pcr/m/it' in size <7> not available -(Font) Font shape `T1/pcr/m/sl' tried instead on input line 56. - [6] -Underfull \hbox (badness 10000) detected at line 97 -[][][] - [] - -) (./classEll.tex <./classEll__inherit__graph.pdf> - -File: classEll__inherit__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classEll__inherit__graph.pdf used on input line 19. -(pdftex.def) Requested size: 157.0pt x 212.01193pt. - [7] <./classEll__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classEll__coll__graph.pdf): PDF inclusion: mul -tiple pdfs with page group included in a single page -> - -File: classEll__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classEll__coll__graph.pdf used on input line 29. -(pdftex.def) Requested size: 350.0pt x 268.70047pt. - [8] [9] -Underfull \hbox (badness 10000) detected at line 113 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 116 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 142 -[][][] - [] - -[10] -Underfull \hbox (badness 10000) detected at line 171 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 200 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 222 -[][][] - [] - -[11]) (./classGradient.tex <./classGradient__inherit__graph.pdf - -pdfTeX warning: pdflatex (file ./classGradient__inherit__graph.pdf): PDF inclus -ion: multiple pdfs with page group included in a single page -> - -File: classGradient__inherit__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classGradient__inherit__graph.pdf used on input line -19. -(pdftex.def) Requested size: 276.0pt x 156.00162pt. - [12] [13] -Underfull \hbox (badness 10000) detected at line 138 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 155 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 177 -[][][] - [] - -[14] -Underfull \hbox (badness 10000) detected at line 199 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 223 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 245 -[][][] - [] - -[15] -Underfull \hbox (badness 10000) detected at line 269 -[][][] - [] - -) (./classGroup.tex <./classGroup__inherit__graph.pdf - -pdfTeX warning: pdflatex (file ./classGroup__inherit__graph.pdf): PDF inclusion -: multiple pdfs with page group included in a single page -> - -File: classGroup__inherit__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classGroup__inherit__graph.pdf used on input line 19. - -(pdftex.def) Requested size: 157.0pt x 156.00879pt. - <./classGroup__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classGroup__coll__graph.pdf): PDF inclusion: m -ultiple pdfs with page group included in a single page -> - -File: classGroup__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classGroup__coll__graph.pdf used on input line 29. -(pdftex.def) Requested size: 350.0pt x 268.70047pt. - [16] [17] [18] -Underfull \hbox (badness 10000) detected at line 143 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 146 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 168 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 194 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 216 -[][][] - [] - -[19]) (./classLine.tex <./classLine__inherit__graph.pdf - -pdfTeX warning: pdflatex (file ./classLine__inherit__graph.pdf): PDF inclusion: - multiple pdfs with page group included in a single page -> - -File: classLine__inherit__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classLine__inherit__graph.pdf used on input line 19. -(pdftex.def) Requested size: 157.0pt x 156.00879pt. - <./classLine__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classLine__coll__graph.pdf): PDF inclusion: mu -ltiple pdfs with page group included in a single page -> - -File: classLine__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classLine__coll__graph.pdf used on input line 29. -(pdftex.def) Requested size: 350.0pt x 268.05122pt. - [20] [21] -Underfull \hbox (badness 10000) detected at line 108 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 134 -[][][] - [] - -[22] -Underfull \hbox (badness 10000) detected at line 156 -[][][] - [] - -) (./classLinearGradient.tex [23] <./classLinearGradient__inherit__graph.pdf - -pdfTeX warning: pdflatex (file ./classLinearGradient__inherit__graph.pdf): PDF -inclusion: multiple pdfs with page group included in a single page -> - -File: classLinearGradient__inherit__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classLinearGradient__inherit__graph.pdf used on input - line 19. -(pdftex.def) Requested size: 169.0pt x 156.0064pt. - <./classLinearGradient__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classLinearGradient__coll__graph.pdf): PDF inc -lusion: multiple pdfs with page group included in a single page -> - -File: classLinearGradient__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classLinearGradient__coll__graph.pdf used on input li -ne 29. -(pdftex.def) Requested size: 169.0pt x 156.0064pt. - [24] -Underfull \hbox (badness 10000) detected at line 92 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 95 -[][][] - [] - -) (./classmColor.tex <./classmColor__coll__graph.pdf> - -File: classmColor__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classmColor__coll__graph.pdf used on input line 19. -(pdftex.def) Requested size: 208.0pt x 179.01007pt. - [25] [26] -LaTeX Font Info: Font shape `T1/phv/b/n' will be -(Font) scaled to size 7.19995pt on input line 94. - [27] [28] -Underfull \hbox (badness 10000) detected at line 191 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 194 -[][][] - [] - -) (./classParser.tex <./classParser__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classParser__coll__graph.pdf): PDF inclusion: -multiple pdfs with page group included in a single page -> - -File: classParser__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classParser__coll__graph.pdf used on input line 19. -(pdftex.def) Requested size: 350.0pt x 276.58789pt. - [29] -Underfull \hbox (badness 991) in paragraph at lines 73--74 -[]\T1/phv/m/n/10 class [] $\OMS/cmsy/m/n/10 ^^C$ [] \T1/phv/m/n/10 (rapidxml[]: -:xml[]_[]node$\OML/cmm/m/it/10 <$$>$ $\OMS/cmsy/m/n/10 ^^C$\T1/phv/m/n/10 node, - const [] &fill[]_[]color, const [] - [] - - -Underfull \hbox (badness 824) in paragraph at lines 75--76 -[]\T1/phv/m/n/10 class [] $\OMS/cmsy/m/n/10 ^^C$ [] \T1/phv/m/n/10 (rapidxml[]: -:xml[]_[]node$\OML/cmm/m/it/10 <$$>$ $\OMS/cmsy/m/n/10 ^^C$\T1/phv/m/n/10 node, - const [] &fill[]_[]color, const [] - [] - -[30] [31] -Underfull \hbox (badness 10000) detected at line 165 -[][][] - [] - -[32] [33] -Underfull \hbox (badness 10000) detected at line 213 -[][][] - [] - -[34] -Underfull \hbox (badness 10000) detected at line 355 -[][][] - [] - -[35] -Underfull \hbox (badness 10000) detected at line 396 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 423 -[][][] - [] - -[36] -Underfull \hbox (badness 10000) detected at line 450 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 499 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 521 -[][][] - [] - -[37] -Underfull \hbox (badness 10000) detected at line 554 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 592 -[][][] - [] - -[38] -Underfull \hbox (badness 10000) detected at line 658 -[][][] - [] - -[39] [40] -Underfull \hbox (badness 10000) detected at line 804 -[][][] - [] - -[41] -Underfull \hbox (badness 10000) detected at line 839 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 876 -[][][] - [] - -[42] -Underfull \hbox (badness 10000) detected at line 915 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 953 -[][][] - [] - -[43] [44] -Underfull \hbox (badness 10000) detected at line 1121 -[][][] - [] - -[45] -Underfull \hbox (badness 10000) detected at line 1168 -[][][] - [] - -[46] -Underfull \hbox (badness 10000) detected at line 1212 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 1256 -[][][] - [] - -[47] -Underfull \hbox (badness 10000) detected at line 1293 -[][][] - [] - - -Overfull \vbox (22.6563pt too high) has occurred while \output is active [] - - -[48] -Underfull \hbox (badness 10000) detected at line 1367 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 1409 -[][][] - [] - -) (./classPath.tex <./classPath__inherit__graph.pdf - -pdfTeX warning: pdflatex (file ./classPath__inherit__graph.pdf): PDF inclusion: - multiple pdfs with page group included in a single page -> - -File: classPath__inherit__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classPath__inherit__graph.pdf used on input line 19. -(pdftex.def) Requested size: 157.0pt x 156.00879pt. - [49] <./classPath__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classPath__coll__graph.pdf): PDF inclusion: mu -ltiple pdfs with page group included in a single page -> - -File: classPath__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classPath__coll__graph.pdf used on input line 29. -(pdftex.def) Requested size: 350.0pt x 268.70047pt. - [50] -Overfull \vbox (22.24251pt too high) has occurred while \output is active [] - - -[51] -Underfull \hbox (badness 10000) detected at line 117 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 139 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 165 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 168 -[][][] - [] - -[52] -Underfull \hbox (badness 10000) detected at line 192 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 214 -[][][] - [] - -[53] -Underfull \hbox (badness 10000) detected at line 252 -[][][] - [] - -) (./structPathPoint.tex <./structPathPoint__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./structPathPoint__coll__graph.pdf): PDF inclusi -on: multiple pdfs with page group included in a single page -> - -File: structPathPoint__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: structPathPoint__coll__graph.pdf used on input line 1 -9. -(pdftex.def) Requested size: 185.0pt x 178.00456pt. -) (./classPlygon.tex [54] <./classPlygon__inherit__graph.pdf> - -File: classPlygon__inherit__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classPlygon__inherit__graph.pdf used on input line 19 -. -(pdftex.def) Requested size: 157.0pt x 212.01193pt. - <./classPlygon__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classPlygon__coll__graph.pdf): PDF inclusion: -multiple pdfs with page group included in a single page -> - -File: classPlygon__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classPlygon__coll__graph.pdf used on input line 29. -(pdftex.def) Requested size: 350.0pt x 317.4773pt. - [55] [56] -Underfull \hbox (badness 10000) detected at line 93 -[][][] - [] - -) (./classPlyline.tex <./classPlyline__inherit__graph.pdf> - -File: classPlyline__inherit__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classPlyline__inherit__graph.pdf used on input line 1 -9. -(pdftex.def) Requested size: 157.0pt x 212.01193pt. - [57] <./classPlyline__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classPlyline__coll__graph.pdf): PDF inclusion: - multiple pdfs with page group included in a single page -> - -File: classPlyline__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classPlyline__coll__graph.pdf used on input line 29. -(pdftex.def) Requested size: 350.0pt x 317.4773pt. - [58] [59] -Underfull \hbox (badness 10000) detected at line 93 -[][][] - [] - -) (./classPolyShape.tex <./classPolyShape__inherit__graph.pdf - -pdfTeX warning: pdflatex (file ./classPolyShape__inherit__graph.pdf): PDF inclu -sion: multiple pdfs with page group included in a single page -> - -File: classPolyShape__inherit__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classPolyShape__inherit__graph.pdf used on input line - 19. -(pdftex.def) Requested size: 198.0pt x 212.00543pt. - <./classPolyShape__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classPolyShape__coll__graph.pdf): PDF inclusio -n: multiple pdfs with page group included in a single page -> - -File: classPolyShape__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classPolyShape__coll__graph.pdf used on input line 29 -. -(pdftex.def) Requested size: 350.0pt x 268.70047pt. - [60] [61] [62] -Underfull \hbox (badness 10000) detected at line 142 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 163 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 185 -[][][] - [] - -[63] -Underfull \hbox (badness 10000) detected at line 219 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 253 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 275 -[][][] - [] - -[64]) (./classRadialGradient.tex <./classRadialGradient__inherit__graph.pdf - -pdfTeX warning: pdflatex (file ./classRadialGradient__inherit__graph.pdf): PDF -inclusion: multiple pdfs with page group included in a single page -> - -File: classRadialGradient__inherit__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classRadialGradient__inherit__graph.pdf used on input - line 19. -(pdftex.def) Requested size: 169.0pt x 156.0064pt. - <./classRadialGradient__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classRadialGradient__coll__graph.pdf): PDF inc -lusion: multiple pdfs with page group included in a single page -> - -File: classRadialGradient__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classRadialGradient__coll__graph.pdf used on input li -ne 29. -(pdftex.def) Requested size: 262.0pt x 167.00684pt. - [65] [66] -Underfull \hbox (badness 10000) detected at line 104 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 107 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 133 -[][][] - [] - -) (./classRect.tex <./classRect__inherit__graph.pdf - -pdfTeX warning: pdflatex (file ./classRect__inherit__graph.pdf): PDF inclusion: - multiple pdfs with page group included in a single page -> - -File: classRect__inherit__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classRect__inherit__graph.pdf used on input line 19. -(pdftex.def) Requested size: 157.0pt x 156.00879pt. - [67] <./classRect__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classRect__coll__graph.pdf): PDF inclusion: mu -ltiple pdfs with page group included in a single page -> - -File: classRect__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classRect__coll__graph.pdf used on input line 29. -(pdftex.def) Requested size: 350.0pt x 268.70047pt. - [68] [69] -Underfull \hbox (badness 10000) detected at line 128 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 154 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 176 -[][][] - [] - -[70] -Underfull \hbox (badness 10000) detected at line 198 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 220 -[][][] - [] - -[71]) (./classRenderer.tex <./classRenderer__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classRenderer__coll__graph.pdf): PDF inclusion -: multiple pdfs with page group included in a single page -> - -File: classRenderer__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classRenderer__coll__graph.pdf used on input line 19. - -(pdftex.def) Requested size: 204.0pt x 100.00562pt. - [72] -Underfull \hbox (badness 1112) in paragraph at lines 63--64 -[]\T1/phv/m/n/10 void [] (std[]::vector$\OML/cmm/m/it/10 <$ \T1/phv/m/n/10 std[ -]::string $\OML/cmm/m/it/10 >$ \T1/phv/m/n/10 transform[]_[]order, Gdiplus[]::[ -]Path[]Gradient[]Brush - [] - -[73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] -Underfull \hbox (badness 10000) detected at line 985 -[][][] - [] - -[86] [87] -Underfull \hbox (badness 10000) detected at line 1094 -[][][] - [] - -) (./classStop.tex <./classStop__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classStop__coll__graph.pdf): PDF inclusion: mu -ltiple pdfs with page group included in a single page -> - -File: classStop__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classStop__coll__graph.pdf used on input line 19. -(pdftex.def) Requested size: 208.0pt x 246.01384pt. - [88] -Underfull \hbox (badness 10000) detected at line 91 -[][][] - [] - -[89] -Underfull \hbox (badness 10000) detected at line 113 -[][][] - [] - -) (./classSVGElement.tex <./classSVGElement__inherit__graph.pdf - -pdfTeX warning: pdflatex (file ./classSVGElement__inherit__graph.pdf): PDF incl -usion: multiple pdfs with page group included in a single page -> - -File: classSVGElement__inherit__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classSVGElement__inherit__graph.pdf used on input lin -e 19. -(pdftex.def) Requested size: 350.0pt x 151.1277pt. - <./classSVGElement__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classSVGElement__coll__graph.pdf): PDF inclusi -on: multiple pdfs with page group included in a single page -> - -File: classSVGElement__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classSVGElement__coll__graph.pdf used on input line 2 -9. -(pdftex.def) Requested size: 350.0pt x 219.92361pt. - [90] [91] -LaTeX Font Info: Font shape `TS1/phv/m/it' in size <9> not available -(Font) Font shape `TS1/phv/m/sl' tried instead on input line 104. -LaTeX Font Info: Font shape `TS1/phv/m/sl' will be -(Font) scaled to size 8.09995pt on input line 104. - -Underfull \hbox (badness 10000) detected at line 119 -[][][] - [] - -[92] -Underfull \hbox (badness 10000) detected at line 143 -[][][] - [] - -[93] -Underfull \hbox (badness 10000) detected at line 175 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 208 -[][][] - [] - -[94] -Underfull \hbox (badness 10000) detected at line 239 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 267 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 270 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 289 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 292 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 314 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 317 -[][][] - [] - -[95] -Underfull \hbox (badness 10000) detected at line 339 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 365 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 391 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 394 -[][][] - [] - -[96] -Underfull \hbox (badness 10000) detected at line 416 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 419 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 441 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 444 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 466 -[][][] - [] - -[97] -Underfull \hbox (badness 10000) detected at line 469 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 491 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 494 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 520 -[][][] - [] - -[98] [99] -Underfull \hbox (badness 10000) detected at line 595 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 646 -[][][] - [] - -[100] -Underfull \hbox (badness 10000) detected at line 679 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 706 -[][][] - [] - -[101] -Underfull \hbox (badness 10000) detected at line 739 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 771 -[][][] - [] - -) (./classText.tex [102] <./classText__inherit__graph.pdf - -pdfTeX warning: pdflatex (file ./classText__inherit__graph.pdf): PDF inclusion: - multiple pdfs with page group included in a single page -> - -File: classText__inherit__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classText__inherit__graph.pdf used on input line 19. -(pdftex.def) Requested size: 157.0pt x 156.00879pt. - <./classText__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classText__coll__graph.pdf): PDF inclusion: mu -ltiple pdfs with page group included in a single page -> - -File: classText__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classText__coll__graph.pdf used on input line 29. -(pdftex.def) Requested size: 350.0pt x 268.70047pt. - -Underfull \hbox (badness 853) in paragraph at lines 35--36 -[][] \T1/phv/m/n/10 ([] pos, std[]::string text, float [], const [] &[], const -[] &[], float - [] - -[103] [104] -Underfull \hbox (badness 10000) detected at line 130 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 152 -[][][] - [] - -[105] -Underfull \hbox (badness 10000) detected at line 178 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 200 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 222 -[][][] - [] - -[106] [107]) (./classVector2D.tex - -Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 1. - - -Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 1. - - -Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 1. - - -Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 1. - -LaTeX Font Info: Font shape `T1/phv/bc/n' will be -(Font) scaled to size 6.29996pt on input line 34. -[108]) (./classViewer.tex [109] <./classViewer__coll__graph.pdf - -pdfTeX warning: pdflatex (file ./classViewer__coll__graph.pdf): PDF inclusion: -multiple pdfs with page group included in a single page -> - -File: classViewer__coll__graph.pdf Graphic file (type pdf) - -Package pdftex.def Info: classViewer__coll__graph.pdf used on input line 19. -(pdftex.def) Requested size: 221.0pt x 166.99916pt. - [110] -Underfull \hbox (badness 10000) detected at line 124 -[][][] - [] - -[111] [112] [113] [114]) [115] [116 - -] (./refman.ind [117 - - -] [118] [119] [120]) -(./refman.aux) -Package rerunfilecheck Info: File `refman.out' has not changed. -(rerunfilecheck) Checksum: 2AF429B4C5A3D825249FDAA8C7100C1D;49596. - ) -Here is how much of TeX's memory you used: - 18988 strings out of 480247 - 322774 string characters out of 5896151 - 667338 words of memory out of 5000000 - 35764 multiletter control sequences out of 15000+600000 - 534028 words of font info for 110 fonts, out of 8000000 for 9000 - 14 hyphenation exceptions out of 8191 - 99i,16n,117p,861b,633s stack positions out of 5000i,500n,10000p,200000b,80000s -{/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc} -Output written on refman.pdf (128 pages, 715424 bytes). -PDF statistics: - 4928 PDF objects out of 5155 (max. 8388607) - 4553 compressed objects within 46 object streams - 797 named destinations out of 1000 (max. 500000) - 2102 words of extra memory for PDF output out of 10000 (max. 10000000) - diff --git a/latex/refman.pdf b/latex/refman.pdf index 5cefe3e..e86b898 100644 Binary files a/latex/refman.pdf and b/latex/refman.pdf differ diff --git a/latex/refman.tex b/latex/refman.tex deleted file mode 100644 index 7714d3a..0000000 --- a/latex/refman.tex +++ /dev/null @@ -1,210 +0,0 @@ -\let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}\documentclass[twoside]{book} - -%% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package -\usepackage{ifthen} -\ifx\requestedLaTeXdate\undefined -\usepackage{array} -\else -\usepackage{array}[=2016-10-06] -\fi -%% -% Packages required by doxygen -\usepackage{fixltx2e} -\usepackage{doxygen} -\usepackage{graphicx} -\usepackage[utf8]{inputenc} -\usepackage{makeidx} -\PassOptionsToPackage{warn}{textcomp} -\usepackage{textcomp} -\usepackage[nointegrals]{wasysym} -\usepackage{ifxetex} - -% Font selection -\usepackage[T1]{fontenc} -\usepackage[scaled=.90]{helvet} -\usepackage{courier} -\renewcommand{\familydefault}{\sfdefault} -\usepackage{sectsty} -\allsectionsfont{% - \fontseries{bc}\selectfont% - \color{darkgray}% -} -\renewcommand{\DoxyLabelFont}{% - \fontseries{bc}\selectfont% - \color{darkgray}% -} -\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}} - -% Arguments of doxygenemoji: -% 1) '::' form of the emoji, already "LaTeX"-escaped -% 2) file with the name of the emoji without the .png extension -% in case image exist use this otherwise use the '::' form -\newcommand{\doxygenemoji}[2]{% - \IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}% -} -% Page & text layout -\usepackage{geometry} -\geometry{% - a4paper,% - top=2.5cm,% - bottom=2.5cm,% - left=2.5cm,% - right=2.5cm% -} -\tolerance=750 -\hfuzz=15pt -\hbadness=750 -\setlength{\emergencystretch}{15pt} -\setlength{\parindent}{0cm} -\newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}} -\newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}} -\doxynormalparskip -\makeatletter -\renewcommand{\paragraph}{% - \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{% - \normalfont\normalsize\bfseries\SS@parafont% - }% -} -\renewcommand{\subparagraph}{% - \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{% - \normalfont\normalsize\bfseries\SS@subparafont% - }% -} -\makeatother - -\makeatletter -\newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@} -\makeatother - -% Headers & footers -\usepackage{fancyhdr} -\pagestyle{fancyplain} -\renewcommand{\footrulewidth}{0.4pt} -% -\fancypagestyle{fancyplain}{ -\fancyhf{} -\fancyhead[LE, RO]{\bfseries\thepage} -\fancyhead[LO]{\bfseries\rightmark} -\fancyhead[RE]{\bfseries\leftmark} -\fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen } -} -% -\fancypagestyle{plain}{ -\fancyhf{} -\fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen } -\renewcommand{\headrulewidth}{0pt}} -% -\pagestyle{fancyplain} -% -\renewcommand{\chaptermark}[1]{% - \markboth{#1}{}% -} -\renewcommand{\sectionmark}[1]{% - \markright{\thesection\ #1}% -} - -% Indices & bibliography -\usepackage{natbib} -\usepackage[titles]{tocloft} -\setcounter{tocdepth}{3} -\setcounter{secnumdepth}{5} -\makeindex - -\usepackage{newunicodechar} - \newunicodechar{⁻}{${}^{-}$}% Superscript minus - \newunicodechar{²}{${}^{2}$}% Superscript two - \newunicodechar{³}{${}^{3}$}% Superscript three - -% Hyperlinks (required, but should be loaded last) -\ifpdf - \usepackage[pdftex,pagebackref=true]{hyperref} -\else - \ifxetex - \usepackage[pagebackref=true]{hyperref} - \else - \usepackage[ps2pdf,pagebackref=true]{hyperref} - \fi -\fi - -\hypersetup{% - colorlinks=true,% - linkcolor=blue,% - citecolor=blue,% - unicode% -} - -% Custom commands -\newcommand{\clearemptydoublepage}{% - \newpage{\pagestyle{empty}\cleardoublepage}% -} - -\usepackage{caption} -\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top} - -\usepackage{etoc} -\etocsettocstyle{\doxytocparskip}{\doxynormalparskip} -\renewcommand{\numberline}[1]{#1~} -%===== C O N T E N T S ===== - -\begin{document} -\raggedbottom - -% Titlepage & ToC -\hypersetup{pageanchor=false, - bookmarksnumbered=true, - pdfencoding=unicode - } -\pagenumbering{alph} -\begin{titlepage} -\vspace*{7cm} -\begin{center}% -{\Large svg-\/reader \\[1ex]\large 0.\+3 }\\ -\vspace*{1cm} -{\large Generated by Doxygen 1.9.1}\\ -\end{center} -\end{titlepage} -\clearemptydoublepage -\pagenumbering{roman} -\tableofcontents -\clearemptydoublepage -\pagenumbering{arabic} -\hypersetup{pageanchor=true} - -%--- Begin generated contents --- -\chapter{Hierarchical Index} -\input{hierarchy} -\chapter{Class Index} -\input{annotated} -\chapter{Class Documentation} -\input{classCircle} -\input{classEll} -\input{classGradient} -\input{classGroup} -\input{classLine} -\input{classLinearGradient} -\input{classmColor} -\input{classParser} -\input{classPath} -\input{structPathPoint} -\input{classPlygon} -\input{classPlyline} -\input{classPolyShape} -\input{classRadialGradient} -\input{classRect} -\input{classRenderer} -\input{classStop} -\input{classSVGElement} -\input{classText} -\input{classVector2D} -\input{classViewer} -%--- End generated contents --- - -% Index -\backmatter -\newpage -\phantomsection -\clearemptydoublepage -\addcontentsline{toc}{chapter}{\indexname} -\printindex - -\end{document} diff --git a/latex/refman.toc b/latex/refman.toc deleted file mode 100644 index 7ed6e70..0000000 --- a/latex/refman.toc +++ /dev/null @@ -1,243 +0,0 @@ -\@ifundefined {etoctocstyle}{\let \etoc@startlocaltoc \@gobble \let \etoc@settocdepth \@gobble \let \etoc@depthtag \@gobble \let \etoc@setlocaltop \@gobble }{} -\contentsline {chapter}{\numberline {1}Hierarchical Index}{1}{chapter.1}% -\contentsline {section}{\numberline {1.1}Class Hierarchy}{1}{section.1.1}% -\contentsline {chapter}{\numberline {2}Class Index}{3}{chapter.2}% -\contentsline {section}{\numberline {2.1}Class List}{3}{section.2.1}% -\contentsline {chapter}{\numberline {3}Class Documentation}{5}{chapter.3}% -\contentsline {section}{\numberline {3.1}Circle Class Reference}{5}{section.3.1}% -\contentsline {subsection}{\numberline {3.1.1}Detailed Description}{6}{subsection.3.1.1}% -\contentsline {subsection}{\numberline {3.1.2}Constructor \& Destructor Documentation}{6}{subsection.3.1.2}% -\contentsline {subsubsection}{\numberline {3.1.2.1}Circle()}{7}{subsubsection.3.1.2.1}% -\contentsline {subsection}{\numberline {3.1.3}Member Function Documentation}{7}{subsection.3.1.3}% -\contentsline {subsubsection}{\numberline {3.1.3.1}getClass()}{7}{subsubsection.3.1.3.1}% -\contentsline {section}{\numberline {3.2}Ell Class Reference}{8}{section.3.2}% -\contentsline {subsection}{\numberline {3.2.1}Detailed Description}{9}{subsection.3.2.1}% -\contentsline {subsection}{\numberline {3.2.2}Constructor \& Destructor Documentation}{9}{subsection.3.2.2}% -\contentsline {subsubsection}{\numberline {3.2.2.1}Ell()}{9}{subsubsection.3.2.2.1}% -\contentsline {subsection}{\numberline {3.2.3}Member Function Documentation}{10}{subsection.3.2.3}% -\contentsline {subsubsection}{\numberline {3.2.3.1}getClass()}{10}{subsubsection.3.2.3.1}% -\contentsline {subsubsection}{\numberline {3.2.3.2}getMaxBound()}{10}{subsubsection.3.2.3.2}% -\contentsline {subsubsection}{\numberline {3.2.3.3}getMinBound()}{11}{subsubsection.3.2.3.3}% -\contentsline {subsubsection}{\numberline {3.2.3.4}getRadius()}{11}{subsubsection.3.2.3.4}% -\contentsline {subsubsection}{\numberline {3.2.3.5}printData()}{11}{subsubsection.3.2.3.5}% -\contentsline {subsubsection}{\numberline {3.2.3.6}setRadius()}{11}{subsubsection.3.2.3.6}% -\contentsline {section}{\numberline {3.3}Gradient Class Reference}{12}{section.3.3}% -\contentsline {subsection}{\numberline {3.3.1}Detailed Description}{13}{subsection.3.3.1}% -\contentsline {subsection}{\numberline {3.3.2}Constructor \& Destructor Documentation}{13}{subsection.3.3.2}% -\contentsline {subsubsection}{\numberline {3.3.2.1}Gradient()}{13}{subsubsection.3.3.2.1}% -\contentsline {subsection}{\numberline {3.3.3}Member Function Documentation}{13}{subsection.3.3.3}% -\contentsline {subsubsection}{\numberline {3.3.3.1}addStop()}{14}{subsubsection.3.3.3.1}% -\contentsline {subsubsection}{\numberline {3.3.3.2}getClass()}{14}{subsubsection.3.3.3.2}% -\contentsline {subsubsection}{\numberline {3.3.3.3}getPoints()}{14}{subsubsection.3.3.3.3}% -\contentsline {subsubsection}{\numberline {3.3.3.4}getStops()}{15}{subsubsection.3.3.3.4}% -\contentsline {subsubsection}{\numberline {3.3.3.5}getTransforms()}{15}{subsubsection.3.3.3.5}% -\contentsline {subsubsection}{\numberline {3.3.3.6}getUnits()}{15}{subsubsection.3.3.3.6}% -\contentsline {subsubsection}{\numberline {3.3.3.7}setTransforms()}{16}{subsubsection.3.3.3.7}% -\contentsline {subsubsection}{\numberline {3.3.3.8}setUnits()}{16}{subsubsection.3.3.3.8}% -\contentsline {section}{\numberline {3.4}Group Class Reference}{16}{section.3.4}% -\contentsline {subsection}{\numberline {3.4.1}Detailed Description}{18}{subsection.3.4.1}% -\contentsline {subsection}{\numberline {3.4.2}Constructor \& Destructor Documentation}{18}{subsection.3.4.2}% -\contentsline {subsubsection}{\numberline {3.4.2.1}Group()}{18}{subsubsection.3.4.2.1}% -\contentsline {subsection}{\numberline {3.4.3}Member Function Documentation}{18}{subsection.3.4.3}% -\contentsline {subsubsection}{\numberline {3.4.3.1}addElement()}{18}{subsubsection.3.4.3.1}% -\contentsline {subsubsection}{\numberline {3.4.3.2}getAttributes()}{19}{subsubsection.3.4.3.2}% -\contentsline {subsubsection}{\numberline {3.4.3.3}getClass()}{19}{subsubsection.3.4.3.3}% -\contentsline {subsubsection}{\numberline {3.4.3.4}getElements()}{19}{subsubsection.3.4.3.4}% -\contentsline {subsubsection}{\numberline {3.4.3.5}printData()}{20}{subsubsection.3.4.3.5}% -\contentsline {section}{\numberline {3.5}Line Class Reference}{20}{section.3.5}% -\contentsline {subsection}{\numberline {3.5.1}Detailed Description}{21}{subsection.3.5.1}% -\contentsline {subsection}{\numberline {3.5.2}Constructor \& Destructor Documentation}{22}{subsection.3.5.2}% -\contentsline {subsubsection}{\numberline {3.5.2.1}Line()}{22}{subsubsection.3.5.2.1}% -\contentsline {subsection}{\numberline {3.5.3}Member Function Documentation}{22}{subsection.3.5.3}% -\contentsline {subsubsection}{\numberline {3.5.3.1}getClass()}{22}{subsubsection.3.5.3.1}% -\contentsline {subsubsection}{\numberline {3.5.3.2}getDirection()}{23}{subsubsection.3.5.3.2}% -\contentsline {subsubsection}{\numberline {3.5.3.3}getLength()}{23}{subsubsection.3.5.3.3}% -\contentsline {subsubsection}{\numberline {3.5.3.4}setDirection()}{23}{subsubsection.3.5.3.4}% -\contentsline {section}{\numberline {3.6}Linear\discretionary {\mbox {\scriptsize $\hookleftarrow $}}{}{}Gradient Class Reference}{24}{section.3.6}% -\contentsline {subsection}{\numberline {3.6.1}Detailed Description}{24}{subsection.3.6.1}% -\contentsline {subsection}{\numberline {3.6.2}Constructor \& Destructor Documentation}{25}{subsection.3.6.2}% -\contentsline {subsubsection}{\numberline {3.6.2.1}LinearGradient()}{25}{subsubsection.3.6.2.1}% -\contentsline {subsection}{\numberline {3.6.3}Member Function Documentation}{25}{subsection.3.6.3}% -\contentsline {subsubsection}{\numberline {3.6.3.1}getClass()}{25}{subsubsection.3.6.3.1}% -\contentsline {section}{\numberline {3.7}m\discretionary {\mbox {\scriptsize $\hookleftarrow $}}{}{}Color Class Reference}{26}{section.3.7}% -\contentsline {subsection}{\numberline {3.7.1}Detailed Description}{27}{subsection.3.7.1}% -\contentsline {subsection}{\numberline {3.7.2}Constructor \& Destructor Documentation}{27}{subsection.3.7.2}% -\contentsline {subsubsection}{\numberline {3.7.2.1}mColor()\hspace {0.1cm}{\footnotesize \ttfamily [1/3]}}{27}{subsubsection.3.7.2.1}% -\contentsline {subsubsection}{\numberline {3.7.2.2}mColor()\hspace {0.1cm}{\footnotesize \ttfamily [2/3]}}{27}{subsubsection.3.7.2.2}% -\contentsline {subsubsection}{\numberline {3.7.2.3}mColor()\hspace {0.1cm}{\footnotesize \ttfamily [3/3]}}{28}{subsubsection.3.7.2.3}% -\contentsline {subsection}{\numberline {3.7.3}Friends And Related Function Documentation}{28}{subsection.3.7.3}% -\contentsline {subsubsection}{\numberline {3.7.3.1}operator$<$$<$}{28}{subsubsection.3.7.3.1}% -\contentsline {section}{\numberline {3.8}Parser Class Reference}{29}{section.3.8}% -\contentsline {subsection}{\numberline {3.8.1}Detailed Description}{31}{subsection.3.8.1}% -\contentsline {subsection}{\numberline {3.8.2}Constructor \& Destructor Documentation}{31}{subsection.3.8.2}% -\contentsline {subsubsection}{\numberline {3.8.2.1}Parser()}{31}{subsubsection.3.8.2.1}% -\contentsline {subsection}{\numberline {3.8.3}Member Function Documentation}{32}{subsection.3.8.3}% -\contentsline {subsubsection}{\numberline {3.8.3.1}getAttribute()}{32}{subsubsection.3.8.3.1}% -\contentsline {subsubsection}{\numberline {3.8.3.2}getFloatAttribute()}{32}{subsubsection.3.8.3.2}% -\contentsline {subsubsection}{\numberline {3.8.3.3}GetGradients()}{34}{subsubsection.3.8.3.3}% -\contentsline {subsubsection}{\numberline {3.8.3.4}getGradientStops()}{35}{subsubsection.3.8.3.4}% -\contentsline {subsubsection}{\numberline {3.8.3.5}getInstance()}{36}{subsubsection.3.8.3.5}% -\contentsline {subsubsection}{\numberline {3.8.3.6}getRoot()}{36}{subsubsection.3.8.3.6}% -\contentsline {subsubsection}{\numberline {3.8.3.7}getTransformOrder()}{36}{subsubsection.3.8.3.7}% -\contentsline {subsubsection}{\numberline {3.8.3.8}getViewBox()}{37}{subsubsection.3.8.3.8}% -\contentsline {subsubsection}{\numberline {3.8.3.9}getViewPort()}{37}{subsubsection.3.8.3.9}% -\contentsline {subsubsection}{\numberline {3.8.3.10}parseCircle()}{38}{subsubsection.3.8.3.10}% -\contentsline {subsubsection}{\numberline {3.8.3.11}parseColor()}{38}{subsubsection.3.8.3.11}% -\contentsline {subsubsection}{\numberline {3.8.3.12}parseElements()}{39}{subsubsection.3.8.3.12}% -\contentsline {subsubsection}{\numberline {3.8.3.13}parseEllipse()}{41}{subsubsection.3.8.3.13}% -\contentsline {subsubsection}{\numberline {3.8.3.14}parseGradient()}{41}{subsubsection.3.8.3.14}% -\contentsline {subsubsection}{\numberline {3.8.3.15}parseLine()}{42}{subsubsection.3.8.3.15}% -\contentsline {subsubsection}{\numberline {3.8.3.16}parsePath()}{42}{subsubsection.3.8.3.16}% -\contentsline {subsubsection}{\numberline {3.8.3.17}parsePathPoints()}{43}{subsubsection.3.8.3.17}% -\contentsline {subsubsection}{\numberline {3.8.3.18}parsePoints()}{45}{subsubsection.3.8.3.18}% -\contentsline {subsubsection}{\numberline {3.8.3.19}parsePolygon()}{46}{subsubsection.3.8.3.19}% -\contentsline {subsubsection}{\numberline {3.8.3.20}parsePolyline()}{46}{subsubsection.3.8.3.20}% -\contentsline {subsubsection}{\numberline {3.8.3.21}parseRect()}{47}{subsubsection.3.8.3.21}% -\contentsline {subsubsection}{\numberline {3.8.3.22}parseShape()}{47}{subsubsection.3.8.3.22}% -\contentsline {subsubsection}{\numberline {3.8.3.23}parseText()}{48}{subsubsection.3.8.3.23}% -\contentsline {subsubsection}{\numberline {3.8.3.24}printShapesData()}{49}{subsubsection.3.8.3.24}% -\contentsline {subsection}{\numberline {3.8.4}Member Data Documentation}{49}{subsection.3.8.4}% -\contentsline {subsubsection}{\numberline {3.8.4.1}gradients}{49}{subsubsection.3.8.4.1}% -\contentsline {section}{\numberline {3.9}Path Class Reference}{50}{section.3.9}% -\contentsline {subsection}{\numberline {3.9.1}Detailed Description}{51}{subsection.3.9.1}% -\contentsline {subsection}{\numberline {3.9.2}Constructor \& Destructor Documentation}{51}{subsection.3.9.2}% -\contentsline {subsubsection}{\numberline {3.9.2.1}Path()}{51}{subsubsection.3.9.2.1}% -\contentsline {subsection}{\numberline {3.9.3}Member Function Documentation}{52}{subsection.3.9.3}% -\contentsline {subsubsection}{\numberline {3.9.3.1}addPoint()}{52}{subsubsection.3.9.3.1}% -\contentsline {subsubsection}{\numberline {3.9.3.2}getClass()}{52}{subsubsection.3.9.3.2}% -\contentsline {subsubsection}{\numberline {3.9.3.3}getFillRule()}{53}{subsubsection.3.9.3.3}% -\contentsline {subsubsection}{\numberline {3.9.3.4}getPoints()}{53}{subsubsection.3.9.3.4}% -\contentsline {subsubsection}{\numberline {3.9.3.5}printData()}{53}{subsubsection.3.9.3.5}% -\contentsline {subsubsection}{\numberline {3.9.3.6}setFillRule()}{53}{subsubsection.3.9.3.6}% -\contentsline {section}{\numberline {3.10}Path\discretionary {\mbox {\scriptsize $\hookleftarrow $}}{}{}Point Struct Reference}{54}{section.3.10}% -\contentsline {subsection}{\numberline {3.10.1}Detailed Description}{55}{subsection.3.10.1}% -\contentsline {section}{\numberline {3.11}Plygon Class Reference}{55}{section.3.11}% -\contentsline {subsection}{\numberline {3.11.1}Detailed Description}{56}{subsection.3.11.1}% -\contentsline {subsection}{\numberline {3.11.2}Constructor \& Destructor Documentation}{56}{subsection.3.11.2}% -\contentsline {subsubsection}{\numberline {3.11.2.1}Plygon()}{57}{subsubsection.3.11.2.1}% -\contentsline {subsection}{\numberline {3.11.3}Member Function Documentation}{57}{subsection.3.11.3}% -\contentsline {subsubsection}{\numberline {3.11.3.1}getClass()}{57}{subsubsection.3.11.3.1}% -\contentsline {section}{\numberline {3.12}Plyline Class Reference}{58}{section.3.12}% -\contentsline {subsection}{\numberline {3.12.1}Detailed Description}{59}{subsection.3.12.1}% -\contentsline {subsection}{\numberline {3.12.2}Constructor \& Destructor Documentation}{59}{subsection.3.12.2}% -\contentsline {subsubsection}{\numberline {3.12.2.1}Plyline()}{59}{subsubsection.3.12.2.1}% -\contentsline {subsection}{\numberline {3.12.3}Member Function Documentation}{59}{subsection.3.12.3}% -\contentsline {subsubsection}{\numberline {3.12.3.1}getClass()}{59}{subsubsection.3.12.3.1}% -\contentsline {section}{\numberline {3.13}Poly\discretionary {\mbox {\scriptsize $\hookleftarrow $}}{}{}Shape Class Reference}{60}{section.3.13}% -\contentsline {subsection}{\numberline {3.13.1}Detailed Description}{62}{subsection.3.13.1}% -\contentsline {subsection}{\numberline {3.13.2}Constructor \& Destructor Documentation}{62}{subsection.3.13.2}% -\contentsline {subsubsection}{\numberline {3.13.2.1}PolyShape()}{62}{subsubsection.3.13.2.1}% -\contentsline {subsection}{\numberline {3.13.3}Member Function Documentation}{62}{subsection.3.13.3}% -\contentsline {subsubsection}{\numberline {3.13.3.1}addPoint()}{62}{subsubsection.3.13.3.1}% -\contentsline {subsubsection}{\numberline {3.13.3.2}getClass()}{63}{subsubsection.3.13.3.2}% -\contentsline {subsubsection}{\numberline {3.13.3.3}getFillRule()}{63}{subsubsection.3.13.3.3}% -\contentsline {subsubsection}{\numberline {3.13.3.4}getMaxBound()}{63}{subsubsection.3.13.3.4}% -\contentsline {subsubsection}{\numberline {3.13.3.5}getMinBound()}{64}{subsubsection.3.13.3.5}% -\contentsline {subsubsection}{\numberline {3.13.3.6}getPoints()}{64}{subsubsection.3.13.3.6}% -\contentsline {subsubsection}{\numberline {3.13.3.7}printData()}{64}{subsubsection.3.13.3.7}% -\contentsline {subsubsection}{\numberline {3.13.3.8}setFillRule()}{64}{subsubsection.3.13.3.8}% -\contentsline {section}{\numberline {3.14}Radial\discretionary {\mbox {\scriptsize $\hookleftarrow $}}{}{}Gradient Class Reference}{65}{section.3.14}% -\contentsline {subsection}{\numberline {3.14.1}Detailed Description}{66}{subsection.3.14.1}% -\contentsline {subsection}{\numberline {3.14.2}Constructor \& Destructor Documentation}{66}{subsection.3.14.2}% -\contentsline {subsubsection}{\numberline {3.14.2.1}RadialGradient()}{66}{subsubsection.3.14.2.1}% -\contentsline {subsection}{\numberline {3.14.3}Member Function Documentation}{67}{subsection.3.14.3}% -\contentsline {subsubsection}{\numberline {3.14.3.1}getClass()}{67}{subsubsection.3.14.3.1}% -\contentsline {subsubsection}{\numberline {3.14.3.2}getRadius()}{67}{subsubsection.3.14.3.2}% -\contentsline {section}{\numberline {3.15}Rect Class Reference}{68}{section.3.15}% -\contentsline {subsection}{\numberline {3.15.1}Detailed Description}{69}{subsection.3.15.1}% -\contentsline {subsection}{\numberline {3.15.2}Constructor \& Destructor Documentation}{69}{subsection.3.15.2}% -\contentsline {subsubsection}{\numberline {3.15.2.1}Rect()}{69}{subsubsection.3.15.2.1}% -\contentsline {subsection}{\numberline {3.15.3}Member Function Documentation}{70}{subsection.3.15.3}% -\contentsline {subsubsection}{\numberline {3.15.3.1}getClass()}{70}{subsubsection.3.15.3.1}% -\contentsline {subsubsection}{\numberline {3.15.3.2}getHeight()}{70}{subsubsection.3.15.3.2}% -\contentsline {subsubsection}{\numberline {3.15.3.3}getRadius()}{71}{subsubsection.3.15.3.3}% -\contentsline {subsubsection}{\numberline {3.15.3.4}getWidth()}{71}{subsubsection.3.15.3.4}% -\contentsline {subsubsection}{\numberline {3.15.3.5}printData()}{71}{subsubsection.3.15.3.5}% -\contentsline {subsubsection}{\numberline {3.15.3.6}setHeight()}{71}{subsubsection.3.15.3.6}% -\contentsline {subsubsection}{\numberline {3.15.3.7}setRadius()}{72}{subsubsection.3.15.3.7}% -\contentsline {subsubsection}{\numberline {3.15.3.8}setWidth()}{72}{subsubsection.3.15.3.8}% -\contentsline {section}{\numberline {3.16}Renderer Class Reference}{72}{section.3.16}% -\contentsline {subsection}{\numberline {3.16.1}Detailed Description}{74}{subsection.3.16.1}% -\contentsline {subsection}{\numberline {3.16.2}Member Function Documentation}{74}{subsection.3.16.2}% -\contentsline {subsubsection}{\numberline {3.16.2.1}applyTransform()}{74}{subsubsection.3.16.2.1}% -\contentsline {subsubsection}{\numberline {3.16.2.2}applyTransformsOnBrush()\hspace {0.1cm}{\footnotesize \ttfamily [1/2]}}{75}{subsubsection.3.16.2.2}% -\contentsline {subsubsection}{\numberline {3.16.2.3}applyTransformsOnBrush()\hspace {0.1cm}{\footnotesize \ttfamily [2/2]}}{75}{subsubsection.3.16.2.3}% -\contentsline {subsubsection}{\numberline {3.16.2.4}draw()}{76}{subsubsection.3.16.2.4}% -\contentsline {subsubsection}{\numberline {3.16.2.5}drawCircle()}{77}{subsubsection.3.16.2.5}% -\contentsline {subsubsection}{\numberline {3.16.2.6}drawEllipse()}{78}{subsubsection.3.16.2.6}% -\contentsline {subsubsection}{\numberline {3.16.2.7}drawLine()}{78}{subsubsection.3.16.2.7}% -\contentsline {subsubsection}{\numberline {3.16.2.8}drawPath()}{79}{subsubsection.3.16.2.8}% -\contentsline {subsubsection}{\numberline {3.16.2.9}drawPolygon()}{82}{subsubsection.3.16.2.9}% -\contentsline {subsubsection}{\numberline {3.16.2.10}drawPolyline()}{82}{subsubsection.3.16.2.10}% -\contentsline {subsubsection}{\numberline {3.16.2.11}drawRectangle()}{84}{subsubsection.3.16.2.11}% -\contentsline {subsubsection}{\numberline {3.16.2.12}drawText()}{85}{subsubsection.3.16.2.12}% -\contentsline {subsubsection}{\numberline {3.16.2.13}getBrush()}{86}{subsubsection.3.16.2.13}% -\contentsline {subsubsection}{\numberline {3.16.2.14}getInstance()}{87}{subsubsection.3.16.2.14}% -\contentsline {section}{\numberline {3.17}Stop Class Reference}{88}{section.3.17}% -\contentsline {subsection}{\numberline {3.17.1}Detailed Description}{89}{subsection.3.17.1}% -\contentsline {subsection}{\numberline {3.17.2}Constructor \& Destructor Documentation}{89}{subsection.3.17.2}% -\contentsline {subsubsection}{\numberline {3.17.2.1}Stop()}{89}{subsubsection.3.17.2.1}% -\contentsline {subsection}{\numberline {3.17.3}Member Function Documentation}{89}{subsection.3.17.3}% -\contentsline {subsubsection}{\numberline {3.17.3.1}getColor()}{89}{subsubsection.3.17.3.1}% -\contentsline {subsubsection}{\numberline {3.17.3.2}getOffset()}{90}{subsubsection.3.17.3.2}% -\contentsline {section}{\numberline {3.18}SVGElement Class Reference}{90}{section.3.18}% -\contentsline {subsection}{\numberline {3.18.1}Detailed Description}{93}{subsection.3.18.1}% -\contentsline {subsection}{\numberline {3.18.2}Constructor \& Destructor Documentation}{93}{subsection.3.18.2}% -\contentsline {subsubsection}{\numberline {3.18.2.1}SVGElement()\hspace {0.1cm}{\footnotesize \ttfamily [1/3]}}{93}{subsubsection.3.18.2.1}% -\contentsline {subsubsection}{\numberline {3.18.2.2}SVGElement()\hspace {0.1cm}{\footnotesize \ttfamily [2/3]}}{93}{subsubsection.3.18.2.2}% -\contentsline {subsubsection}{\numberline {3.18.2.3}SVGElement()\hspace {0.1cm}{\footnotesize \ttfamily [3/3]}}{94}{subsubsection.3.18.2.3}% -\contentsline {subsection}{\numberline {3.18.3}Member Function Documentation}{94}{subsection.3.18.3}% -\contentsline {subsubsection}{\numberline {3.18.3.1}addElement()}{94}{subsubsection.3.18.3.1}% -\contentsline {subsubsection}{\numberline {3.18.3.2}getClass()}{95}{subsubsection.3.18.3.2}% -\contentsline {subsubsection}{\numberline {3.18.3.3}getFillColor()}{95}{subsubsection.3.18.3.3}% -\contentsline {subsubsection}{\numberline {3.18.3.4}getGradient()}{96}{subsubsection.3.18.3.4}% -\contentsline {subsubsection}{\numberline {3.18.3.5}getMaxBound()}{96}{subsubsection.3.18.3.5}% -\contentsline {subsubsection}{\numberline {3.18.3.6}getMinBound()}{96}{subsubsection.3.18.3.6}% -\contentsline {subsubsection}{\numberline {3.18.3.7}getOutlineColor()}{97}{subsubsection.3.18.3.7}% -\contentsline {subsubsection}{\numberline {3.18.3.8}getOutlineThickness()}{97}{subsubsection.3.18.3.8}% -\contentsline {subsubsection}{\numberline {3.18.3.9}getParent()}{97}{subsubsection.3.18.3.9}% -\contentsline {subsubsection}{\numberline {3.18.3.10}getPosition()}{98}{subsubsection.3.18.3.10}% -\contentsline {subsubsection}{\numberline {3.18.3.11}getTransforms()}{98}{subsubsection.3.18.3.11}% -\contentsline {subsubsection}{\numberline {3.18.3.12}printData()}{99}{subsubsection.3.18.3.12}% -\contentsline {subsubsection}{\numberline {3.18.3.13}setFillColor()}{99}{subsubsection.3.18.3.13}% -\contentsline {subsubsection}{\numberline {3.18.3.14}setGradient()}{99}{subsubsection.3.18.3.14}% -\contentsline {subsubsection}{\numberline {3.18.3.15}setOutlineColor()}{100}{subsubsection.3.18.3.15}% -\contentsline {subsubsection}{\numberline {3.18.3.16}setOutlineThickness()}{100}{subsubsection.3.18.3.16}% -\contentsline {subsubsection}{\numberline {3.18.3.17}setParent()}{101}{subsubsection.3.18.3.17}% -\contentsline {subsubsection}{\numberline {3.18.3.18}setPosition()\hspace {0.1cm}{\footnotesize \ttfamily [1/2]}}{101}{subsubsection.3.18.3.18}% -\contentsline {subsubsection}{\numberline {3.18.3.19}setPosition()\hspace {0.1cm}{\footnotesize \ttfamily [2/2]}}{102}{subsubsection.3.18.3.19}% -\contentsline {subsubsection}{\numberline {3.18.3.20}setTransforms()}{102}{subsubsection.3.18.3.20}% -\contentsline {section}{\numberline {3.19}Text Class Reference}{103}{section.3.19}% -\contentsline {subsection}{\numberline {3.19.1}Detailed Description}{104}{subsection.3.19.1}% -\contentsline {subsection}{\numberline {3.19.2}Constructor \& Destructor Documentation}{104}{subsection.3.19.2}% -\contentsline {subsubsection}{\numberline {3.19.2.1}Text()}{105}{subsubsection.3.19.2.1}% -\contentsline {subsection}{\numberline {3.19.3}Member Function Documentation}{105}{subsection.3.19.3}% -\contentsline {subsubsection}{\numberline {3.19.3.1}getAnchor()}{105}{subsubsection.3.19.3.1}% -\contentsline {subsubsection}{\numberline {3.19.3.2}getClass()}{105}{subsubsection.3.19.3.2}% -\contentsline {subsubsection}{\numberline {3.19.3.3}getContent()}{106}{subsubsection.3.19.3.3}% -\contentsline {subsubsection}{\numberline {3.19.3.4}getFontSize()}{106}{subsubsection.3.19.3.4}% -\contentsline {subsubsection}{\numberline {3.19.3.5}getFontStyle()}{106}{subsubsection.3.19.3.5}% -\contentsline {subsubsection}{\numberline {3.19.3.6}setAnchor()}{106}{subsubsection.3.19.3.6}% -\contentsline {subsubsection}{\numberline {3.19.3.7}setContent()}{107}{subsubsection.3.19.3.7}% -\contentsline {subsubsection}{\numberline {3.19.3.8}setFontSize()}{107}{subsubsection.3.19.3.8}% -\contentsline {subsubsection}{\numberline {3.19.3.9}setFontStyle()}{107}{subsubsection.3.19.3.9}% -\contentsline {section}{\numberline {3.20}Vector2D$<$ T $>$ Class Template Reference}{108}{section.3.20}% -\contentsline {subsection}{\numberline {3.20.1}Detailed Description}{108}{subsection.3.20.1}% -\contentsline {subsection}{\numberline {3.20.2}Constructor \& Destructor Documentation}{109}{subsection.3.20.2}% -\contentsline {subsubsection}{\numberline {3.20.2.1}Vector2D()\hspace {0.1cm}{\footnotesize \ttfamily [1/3]}}{109}{subsubsection.3.20.2.1}% -\contentsline {subsubsection}{\numberline {3.20.2.2}Vector2D()\hspace {0.1cm}{\footnotesize \ttfamily [2/3]}}{109}{subsubsection.3.20.2.2}% -\contentsline {subsubsection}{\numberline {3.20.2.3}Vector2D()\hspace {0.1cm}{\footnotesize \ttfamily [3/3]}}{109}{subsubsection.3.20.2.3}% -\contentsline {section}{\numberline {3.21}Viewer Class Reference}{110}{section.3.21}% -\contentsline {subsection}{\numberline {3.21.1}Detailed Description}{111}{subsection.3.21.1}% -\contentsline {subsection}{\numberline {3.21.2}Member Function Documentation}{111}{subsection.3.21.2}% -\contentsline {subsubsection}{\numberline {3.21.2.1}getInstance()}{112}{subsubsection.3.21.2.1}% -\contentsline {subsubsection}{\numberline {3.21.2.2}getWindowSize()}{112}{subsubsection.3.21.2.2}% -\contentsline {subsubsection}{\numberline {3.21.2.3}handleKeyDown()}{112}{subsubsection.3.21.2.3}% -\contentsline {subsubsection}{\numberline {3.21.2.4}handleKeyEvent()}{113}{subsubsection.3.21.2.4}% -\contentsline {subsubsection}{\numberline {3.21.2.5}handleLeftButtonDown()}{113}{subsubsection.3.21.2.5}% -\contentsline {subsubsection}{\numberline {3.21.2.6}handleMouseEvent()}{113}{subsubsection.3.21.2.6}% -\contentsline {subsubsection}{\numberline {3.21.2.7}handleMouseMove()}{114}{subsubsection.3.21.2.7}% -\contentsline {subsubsection}{\numberline {3.21.2.8}handleMouseWheel()}{115}{subsubsection.3.21.2.8}% -\contentsline {subsection}{\numberline {3.21.3}Member Data Documentation}{115}{subsection.3.21.3}% -\contentsline {subsubsection}{\numberline {3.21.3.1}needs\_repaint}{115}{subsubsection.3.21.3.1}% -\contentsline {chapter}{Index}{117}{section*.95}% diff --git a/latex/structPathPoint.tex b/latex/structPathPoint.tex deleted file mode 100644 index 007c417..0000000 --- a/latex/structPathPoint.tex +++ /dev/null @@ -1,54 +0,0 @@ -\hypertarget{structPathPoint}{}\doxysection{Path\+Point Struct Reference} -\label{structPathPoint}\index{PathPoint@{PathPoint}} - - -A struct that contains a point and a type of point. - - - - -{\ttfamily \#include $<$Path.\+hpp$>$} - - - -Collaboration diagram for Path\+Point\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=185pt]{structPathPoint__coll__graph} -\end{center} -\end{figure} -\doxysubsection*{Public Attributes} -\begin{DoxyCompactItemize} -\item -\mbox{\Hypertarget{structPathPoint_a95cecf76150d2bb4a6b6b7875693ca69}\label{structPathPoint_a95cecf76150d2bb4a6b6b7875693ca69}} -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} {\bfseries point} -\item -\mbox{\Hypertarget{structPathPoint_a54896895f14e17ca49c47a71b79dd570}\label{structPathPoint_a54896895f14e17ca49c47a71b79dd570}} -char {\bfseries tc} -\item -\mbox{\Hypertarget{structPathPoint_a6646f1aa8bba6735d4b4d794ef86a786}\label{structPathPoint_a6646f1aa8bba6735d4b4d794ef86a786}} -\mbox{\hyperlink{classVector2D}{Vector2\+Df}} {\bfseries radius} \{0, 0\} -\item -\mbox{\Hypertarget{structPathPoint_ae583dc92052b201d3416506e7632a0cc}\label{structPathPoint_ae583dc92052b201d3416506e7632a0cc}} -float {\bfseries x\+\_\+axis\+\_\+rotation} = 0.f -\item -\mbox{\Hypertarget{structPathPoint_a35cbe9f919695a09f5c881618f5fa0f9}\label{structPathPoint_a35cbe9f919695a09f5c881618f5fa0f9}} -bool {\bfseries large\+\_\+arc\+\_\+flag} = false -\item -\mbox{\Hypertarget{structPathPoint_ace50ee641dc2747418072f50b445dd53}\label{structPathPoint_ace50ee641dc2747418072f50b445dd53}} -bool {\bfseries sweep\+\_\+flag} = false -\end{DoxyCompactItemize} - - -\doxysubsection{Detailed Description} -A struct that contains a point and a type of point. - -Definition at line 10 of file Path.\+hpp. - - - -The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} -\item -src/graphics/Path.\+hpp\end{DoxyCompactItemize} diff --git a/latex/structPathPoint__coll__graph.md5 b/latex/structPathPoint__coll__graph.md5 deleted file mode 100644 index 1e6de77..0000000 --- a/latex/structPathPoint__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -62a9ecb76de99d347b4240052b6a2a80 \ No newline at end of file diff --git a/latex/structPathPoint__coll__graph.pdf b/latex/structPathPoint__coll__graph.pdf deleted file mode 100644 index bf93c77..0000000 Binary files a/latex/structPathPoint__coll__graph.pdf and /dev/null differ diff --git a/latex/tabu_doxygen.sty b/latex/tabu_doxygen.sty deleted file mode 100644 index 60fd7e8..0000000 --- a/latex/tabu_doxygen.sty +++ /dev/null @@ -1,2557 +0,0 @@ -%% -%% This is file `tabu.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% tabu.dtx (with options: `package') -%% -%% This is a generated file. -%% Copyright (FC) 2010-2011 - lppl -%% -%% tabu : 2011/02/26 v2.8 - tabu : Flexible LaTeX tabulars -%% -%% ********************************************************************************************** -%% \begin{tabu} { preamble } => default target: \linewidth or \linegoal -%% \begin{tabu} to { preamble } => target specified -%% \begin{tabu} spread { preamble } => target relative to the ``natural width'' -%% -%% tabu works in text and in math modes. -%% -%% X columns: automatic width adjustment + horizontal and vertical alignment -%% \begin{tabu} { X[4c] X[1c] X[-2ml] } -%% -%% Horizontal lines and / or leaders: -%% \hline\hline => double horizontal line -%% \firsthline\hline => for nested tabulars -%% \lasthline\hline => for nested tabulars -%% \tabucline[line spec]{column-column} => ``funny'' lines (dash/leader) -%% Automatic lines / leaders : -%% \everyrow{\hline\hline} -%% -%% Vertical lines and / or leaders: -%% \begin{tabu} { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt blue] } -%% \begin{tabu} { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt on 2pt off 4pt blue] } -%% -%% Fixed vertical spacing adjustment: -%% \extrarowheight= \extrarowdepth= -%% or: \extrarowsep= => may be prefixed by \global -%% -%% Dynamic vertical spacing adjustment: -%% \abovetabulinesep= \belowtabulinesep= -%% or: \tabulinesep= => may be prefixed by \global -%% -%% delarray.sty shortcuts: in math and text modes -%% \begin{tabu} .... \({ preamble }\) -%% -%% Algorithms reports: -%% \tracingtabu=1 \tracingtabu=2 -%% -%% ********************************************************************************************** -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3 of this license or (at your option) any later -%% version. The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% -%% This work consists of the main source file tabu.dtx -%% and the derived files -%% tabu.sty, tabu.pdf, tabu.ins -%% -%% tabu : Flexible LaTeX tabulars -%% lppl copyright 2010-2011 by FC -%% - -\NeedsTeXFormat{LaTeX2e}[2005/12/01] -\ProvidesPackage{tabu_doxygen}[2011/02/26 v2.8 - flexible LaTeX tabulars (FC), frozen version for doxygen] -\RequirePackage{array}[2008/09/09] -\RequirePackage{varwidth}[2009/03/30] -\AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined} -\let\tabu@AtEnd\@empty -\def\TMP@EnsureCode#1={% - \edef\tabu@AtEnd{\tabu@AtEnd - \catcode#1 \the\catcode#1}% - \catcode#1=% -}% \TMP@EnsureCode -\TMP@EnsureCode 33 = 12 % ! -\TMP@EnsureCode 58 = 12 % : (for siunitx) -\TMP@EnsureCode124 = 12 % | -\TMP@EnsureCode 36 = 3 % $ = math shift -\TMP@EnsureCode 38 = 4 % & = tab alignment character -\TMP@EnsureCode 32 = 10 % space -\TMP@EnsureCode 94 = 7 % ^ -\TMP@EnsureCode 95 = 8 % _ -%% Constants -------------------------------------------------------- -\newcount \c@taburow \def\thetaburow {\number\c@taburow} -\newcount \tabu@nbcols -\newcount \tabu@cnt -\newcount \tabu@Xcol -\let\tabu@start \@tempcnta -\let\tabu@stop \@tempcntb -\newcount \tabu@alloc \tabu@alloc=\m@ne -\newcount \tabu@nested -\def\tabu@alloc@{\global\advance\tabu@alloc \@ne \tabu@nested\tabu@alloc} -\newdimen \tabu@target -\newdimen \tabu@spreadtarget -\newdimen \tabu@naturalX -\newdimen \tabucolX -\let\tabu@DELTA \@tempdimc -\let\tabu@thick \@tempdima -\let\tabu@on \@tempdimb -\let\tabu@off \@tempdimc -\newdimen \tabu@Xsum -\newdimen \extrarowdepth -\newdimen \abovetabulinesep -\newdimen \belowtabulinesep -\newdimen \tabustrutrule \tabustrutrule \z@ -\newtoks \tabu@thebody -\newtoks \tabu@footnotes -\newsavebox \tabu@box -\newsavebox \tabu@arstrutbox -\newsavebox \tabu@hleads -\newsavebox \tabu@vleads -\newif \iftabu@colortbl -\newif \iftabu@siunitx -\newif \iftabu@measuring -\newif \iftabu@spread -\newif \iftabu@negcoef -\newif \iftabu@everyrow -\def\tabu@everyrowtrue {\global\let\iftabu@everyrow \iftrue} -\def\tabu@everyrowfalse{\global\let\iftabu@everyrow \iffalse} -\newif \iftabu@long -\newif \iftabuscantokens -\def\tabu@rescan {\tabu@verbatim \scantokens } -%% Utilities (for internal usage) ----------------------------------- -\def\tabu@gobblespace #1 {#1} -\def\tabu@gobbletoken #1#2{#1} -\def\tabu@gobbleX{\futurelet\@let@token \tabu@gobblex} -\def\tabu@gobblex{\if ^^J\noexpand\@let@token \expandafter\@gobble - \else\ifx \@sptoken\@let@token - \expandafter\tabu@gobblespace\expandafter\tabu@gobbleX - \fi\fi -}% \tabu@gobblex -\def\tabu@X{^^J} -{\obeyspaces -\global\let\tabu@spxiii= % saves an active space (for \ifx) -\gdef\tabu@@spxiii{ }} -\def\tabu@ifenvir {% only for \multicolumn - \expandafter\tabu@if@nvir\csname\@currenvir\endcsname -}% \tabu@ifenvir -\def\tabu@if@nvir #1{\csname @\ifx\tabu#1first\else - \ifx\longtabu#1first\else - second\fi\fi oftwo\endcsname -}% \tabu@ifenvir -\def\tabu@modulo #1#2{\numexpr\ifnum\numexpr#1=\z@ 0\else #1-(#1-(#2-1)/2)/(#2)*(#2)\fi} -{\catcode`\&=3 -\gdef\tabu@strtrim #1{% #1 = control sequence to trim - \ifodd 1\ifx #1\@empty \else \ifx #1\space \else 0\fi \fi - \let\tabu@c@l@r \@empty \let#1\@empty - \else \expandafter \tabu@trimspaces #1\@nnil - \fi -}% \tabu@strtrim -\gdef\tabu@trimspaces #1\@nnil{\let\tabu@c@l@r=#2\tabu@firstspace .#1& }% -\gdef\tabu@firstspace #1#2#3 &{\tabu@lastspace #2#3&} -\gdef\tabu@lastspace #1{\def #3{#1}% - \ifx #3\tabu@c@l@r \def\tabu@c@l@r{\protect\color{#1}}\expandafter\remove@to@nnil \fi - \tabu@trimspaces #1\@nnil} -}% \catcode -\def\tabu@sanitizearg #1#2{{% - \csname \ifcsname if@safe@actives\endcsname % - @safe@activestrue\else - relax\fi \endcsname - \edef#2{#1}\tabu@strtrim#2\@onelevel@sanitize#2% - \expandafter}\expandafter\def\expandafter#2\expandafter{#2}% -}% \tabu@sanitizearg -\def\tabu@textbar #1{\begingroup \endlinechar\m@ne \scantokens{\def\:{|}}% - \expandafter\endgroup \expandafter#1\:% !!! semi simple group !!! -}% \tabu@textbar -\def\tabu@everyrow@bgroup{\iftabu@everyrow \begingroup \else \noalign{\ifnum0=`}\fi \fi} -\def\tabu@everyrow@egroup{% - \iftabu@everyrow \expandafter \endgroup \the\toks@ - \else \ifnum0=`{\fi}% - \fi -}% \tabu@everyrow@egroup -\def\tabu@arstrut {\global\setbox\@arstrutbox \hbox{\vrule - height \arraystretch \dimexpr\ht\strutbox+\extrarowheight - depth \arraystretch \dimexpr\dp\strutbox+\extrarowdepth - width \z@}% -}% \tabu@arstrut -\def\tabu@rearstrut {% - \@tempdima \arraystretch\dimexpr\ht\strutbox+\extrarowheight \relax - \@tempdimb \arraystretch\dimexpr\dp\strutbox+\extrarowdepth \relax - \ifodd 1\ifdim \ht\@arstrutbox=\@tempdima - \ifdim \dp\@arstrutbox=\@tempdimb 0 \fi\fi - \tabu@mkarstrut - \fi -}% \tabu@rearstrut -\def\tabu@@DBG #1{\ifdim\tabustrutrule>\z@ \color{#1}\fi} -\def\tabu@DBG@arstrut {\global\setbox\@arstrutbox - \hbox to\z@{\hbox to\z@{\hss - {\tabu@DBG{cyan}\vrule - height \arraystretch \dimexpr\ht\strutbox+\extrarowheight - depth \z@ - width \tabustrutrule}\kern-\tabustrutrule - {\tabu@DBG{pink}\vrule - height \z@ - depth \arraystretch \dimexpr\dp\strutbox+\extrarowdepth - width \tabustrutrule}}}% -}% \tabu@DBG@arstrut -\def\tabu@save@decl{\toks\count@ \expandafter{\the\toks\expandafter\count@ - \@nextchar}}% -\def\tabu@savedecl{\ifcat$\d@llarend\else - \let\save@decl \tabu@save@decl \fi % no inversion of tokens in text mode -}% \tabu@savedecl -\def\tabu@finalstrut #1{\unskip\ifhmode\nobreak\fi\vrule height\z@ depth\z@ width\z@} -\newcommand*\tabuDisableCommands {\g@addto@macro\tabu@trialh@@k } -\let\tabu@trialh@@k \@empty -\def\tabu@nowrite #1#{{\afterassignment}\toks@} -\let\tabu@write\write -\let\tabu@immediate\immediate -\def\tabu@WRITE{\begingroup - \def\immediate\write{\aftergroup\endgroup - \tabu@immediate\tabu@write}% -}% \tabu@WRITE -\expandafter\def\expandafter\tabu@GenericError\expandafter{% - \expandafter\tabu@WRITE\GenericError} -\def\tabu@warn{\tabu@WRITE\PackageWarning{tabu}} -\def\tabu@noxfootnote [#1]{\@gobble} -\def\tabu@nocolor #1#{\@gobble} -\newcommand*\tabu@norowcolor[2][]{} -\def\tabu@maybesiunitx #1{\def\tabu@temp{#1}% - \futurelet\@let@token \tabu@m@ybesiunitx} -\def\tabu@m@ybesiunitx #1{\def\tabu@m@ybesiunitx {% - \ifx #1\@let@token \let\tabu@cellleft \@empty \let\tabu@cellright \@empty \fi - \tabu@temp}% \tabu@m@ybesiunitx -}\expandafter\tabu@m@ybesiunitx \csname siunitx_table_collect_begin:Nn\endcsname -\def\tabu@celllalign@def #1{\def\tabu@celllalign{\tabu@maybesiunitx{#1}}}% -%% Fixed vertical spacing adjustment: \extrarowsep ------------------ -\newcommand*\extrarowsep{\edef\tabu@C@extra{\the\numexpr\tabu@C@extra+1}% - \iftabu@everyrow \aftergroup\tabu@Gextra - \else \aftergroup\tabu@n@Gextra - \fi - \@ifnextchar={\tabu@gobbletoken\tabu@extra} \tabu@extra -}% \extrarowsep -\def\tabu@extra {\@ifnextchar_% - {\tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}} - {\ifx ^\@let@token \def\tabu@temp{% - \tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}}% - \else \let\tabu@temp \@empty - \afterassignment \tabu@setextrasep \extrarowdepth - \fi \tabu@temp}% -}% \tabu@extra -\def\tabu@setextra #1#2{\def\tabu@temp{\tabu@extr@#1#2}\afterassignment\tabu@temp#2} -\def\tabu@extr@ #1#2{\@ifnextchar^% - {\tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}} - {\ifx _\@let@token \def\tabu@temp{% - \tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}}% - \else \let\tabu@temp \@empty - \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth - \fi \tabu@temp}% -}% \tabu@extr@ -\def\tabu@setextrasep {\extrarowheight=\extrarowdepth - \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth -}% \tabu@setextrasep -\def\tabu@Gextra{\ifx \tabu@G@extra\@empty \else {\tabu@Rextra}\fi} -\def\tabu@n@Gextra{\ifx \tabu@G@extra\@empty \else \noalign{\tabu@Rextra}\fi} -\def\tabu@Rextra{\tabu@Grestore \tabu@G@extra \tabu@C@extra} -\let\tabu@C@extra \z@ -\let\tabu@G@extra \@empty -%% Dynamic vertical spacing adjustment: \tabulinesep ---------------- -\newcommand*\tabulinesep{\edef\tabu@C@linesep{\the\numexpr\tabu@C@linesep+1}% - \iftabu@everyrow \aftergroup\tabu@Glinesep - \else \aftergroup\tabu@n@Glinesep - \fi - \@ifnextchar={\tabu@gobbletoken\tabu@linesep} \tabu@linesep -}% \tabulinesep -\def\tabu@linesep {\@ifnextchar_% - {\tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}} - {\ifx ^\@let@token \def\tabu@temp{% - \tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}}% - \else \let\tabu@temp \@empty - \afterassignment \tabu@setlinesep \abovetabulinesep - \fi \tabu@temp}% -}% \tabu@linesep -\def\tabu@setsep #1#2{\def\tabu@temp{\tabu@sets@p#1#2}\afterassignment\tabu@temp#2} -\def\tabu@sets@p #1#2{\@ifnextchar^% - {\tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}} - {\ifx _\@let@token \def\tabu@temp{% - \tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}}% - \else \let\tabu@temp \@empty - \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep - \fi \tabu@temp}% -}% \tabu@sets@p -\def\tabu@setlinesep {\belowtabulinesep=\abovetabulinesep - \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep -}% \tabu@setlinesep -\def\tabu@Glinesep{\ifx \tabu@G@linesep\@empty \else {\tabu@Rlinesep}\fi} -\def\tabu@n@Glinesep{\ifx \tabu@G@linesep\@empty \else \noalign{\tabu@Rlinesep}\fi} -\def\tabu@Rlinesep{\tabu@Grestore \tabu@G@linesep \tabu@C@linesep} -\let\tabu@C@linesep \z@ -\let\tabu@G@linesep \@empty -%% \global\extrarowsep and \global\tabulinesep ------------------- -\def\tabu@Gsave #1#2#3#4{\xdef#1{#1% - \toks#2{\toks\the\currentgrouplevel{\global#3\the#3\global#4\the#4}}}% -}% \tabu@Gsave -\def\tabu@Grestore#1#2{% - \toks#2{}#1\toks\currentgrouplevel\expandafter{\expandafter}\the\toks#2\relax - \ifcat$\the\toks\currentgrouplevel$\else - \global\let#1\@empty \global\let#2\z@ - \the\toks\currentgrouplevel - \fi -}% \tabu@Grestore -%% Setting code for every row --------------------------------------- -\newcommand*\everyrow{\tabu@everyrow@bgroup - \tabu@start \z@ \tabu@stop \z@ \tabu@evrstartstop -}% \everyrow -\def\tabu@evrstartstop {\@ifnextchar^% - {\afterassignment \tabu@evrstartstop \tabu@stop=}% - {\ifx ^\@let@token - \afterassignment\tabu@evrstartstop \tabu@start=% - \else \afterassignment\tabu@everyr@w \toks@ - \fi}% -}% \tabu@evrstartstop -\def\tabu@everyr@w {% - \xdef\tabu@everyrow{% - \noexpand\tabu@everyrowfalse - \let\noalign \relax - \noexpand\tabu@rowfontreset - \iftabu@colortbl \noexpand\tabu@rc@ \fi % \taburowcolors - \let\noexpand\tabu@docline \noexpand\tabu@docline@evr - \the\toks@ - \noexpand\tabu@evrh@@k - \noexpand\tabu@rearstrut - \global\advance\c@taburow \@ne}% - \iftabu@everyrow \toks@\expandafter - {\expandafter\def\expandafter\tabu@evr@L\expandafter{\the\toks@}\ignorespaces}% - \else \xdef\tabu@evr@G{\the\toks@}% - \fi - \tabu@everyrow@egroup -}% \tabu@everyr@w -\def\tabu@evr {\def\tabu@evrh@@k} % for internal use only -\tabu@evr{} -%% line style and leaders ------------------------------------------- -\newcommand*\newtabulinestyle [1]{% - {\@for \@tempa :=#1\do{\expandafter\tabu@newlinestyle \@tempa==\@nil}}% -}% \newtabulinestyle -\def\tabu@newlinestyle #1=#2=#3\@nil{\tabu@getline {#2}% - \tabu@sanitizearg {#1}\@tempa - \ifodd 1\ifx \@tempa\@empty \ifdefined\tabu@linestyle@ 0 \fi\fi - \global\expandafter\let - \csname tabu@linestyle@\@tempa \endcsname =\tabu@thestyle \fi -}% \tabu@newlinestyle -\newcommand*\tabulinestyle [1]{\tabu@everyrow@bgroup \tabu@getline{#1}% - \iftabu@everyrow - \toks@\expandafter{\expandafter \def \expandafter - \tabu@ls@L\expandafter{\tabu@thestyle}\ignorespaces}% - \gdef\tabu@ls@{\tabu@ls@L}% - \else - \global\let\tabu@ls@G \tabu@thestyle - \gdef\tabu@ls@{\tabu@ls@G}% - \fi - \tabu@everyrow@egroup -}% \tabulinestyle -\newcommand*\taburulecolor{\tabu@everyrow@bgroup \tabu@textbar \tabu@rulecolor} -\def\tabu@rulecolor #1{\toks@{}% - \def\tabu@temp #1##1#1{\tabu@ruledrsc{##1}}\@ifnextchar #1% - \tabu@temp - \tabu@rulearc -}% \tabu@rulecolor -\def\tabu@ruledrsc #1{\edef\tabu@temp{#1}\tabu@strtrim\tabu@temp - \ifx \tabu@temp\@empty \def\tabu@temp{\tabu@rule@drsc@ {}{}}% - \else \edef\tabu@temp{\noexpand\tabu@rule@drsc@ {}{\tabu@temp}}% - \fi - \tabu@temp -}% \tabu@ruledrsc@ -\def\tabu@ruledrsc@ #1#{\tabu@rule@drsc@ {#1}} -\def\tabu@rule@drsc@ #1#2{% - \iftabu@everyrow - \ifx \\#1#2\\\toks@{\let\CT@drsc@ \relax}% - \else \toks@{\def\CT@drsc@{\color #1{#2}}}% - \fi - \else - \ifx \\#1#2\\\global\let\CT@drsc@ \relax - \else \gdef\CT@drsc@{\color #1{#2}}% - \fi - \fi - \tabu@rulearc -}% \tabu@rule@drsc@ -\def\tabu@rulearc #1#{\tabu@rule@arc@ {#1}} -\def\tabu@rule@arc@ #1#2{% - \iftabu@everyrow - \ifx \\#1#2\\\toks@\expandafter{\the\toks@ \def\CT@arc@{}}% - \else \toks@\expandafter{\the\toks@ \def\CT@arc@{\color #1{#2}}}% - \fi - \toks@\expandafter{\the\toks@ - \let\tabu@arc@L \CT@arc@ - \let\tabu@drsc@L \CT@drsc@ - \ignorespaces}% - \else - \ifx \\#1#2\\\gdef\CT@arc@{}% - \else \gdef\CT@arc@{\color #1{#2}}% - \fi - \global\let\tabu@arc@G \CT@arc@ - \global\let\tabu@drsc@G \CT@drsc@ - \fi - \tabu@everyrow@egroup -}% \tabu@rule@arc@ -\def\taburowcolors {\tabu@everyrow@bgroup \@testopt \tabu@rowcolors 1} -\def\tabu@rowcolors [#1]#2#{\tabu@rowc@lors{#1}{#2}} -\def\tabu@rowc@lors #1#2#3{% - \toks@{}\@defaultunits \count@ =\number0#2\relax \@nnil - \@defaultunits \tabu@start =\number0#1\relax \@nnil - \ifnum \count@<\tw@ \count@=\tw@ \fi - \advance\tabu@start \m@ne - \ifnum \tabu@start<\z@ \tabu@start \z@ \fi - \tabu@rowcolorseries #3\in@..\in@ \@nnil -}% \tabu@rowcolors -\def\tabu@rowcolorseries #1..#2\in@ #3\@nnil {% - \ifx \in@#1\relax - \iftabu@everyrow \toks@{\def\tabu@rc@{}\let\tabu@rc@L \tabu@rc@}% - \else \gdef\tabu@rc@{}\global\let\tabu@rc@G \tabu@rc@ - \fi - \else - \ifx \\#2\\\tabu@rowcolorserieserror \fi - \tabu@sanitizearg{#1}\tabu@temp - \tabu@sanitizearg{#2}\@tempa - \advance\count@ \m@ne - \iftabu@everyrow - \def\tabu@rc@ ##1##2##3##4{\def\tabu@rc@{% - \ifnum ##2=\c@taburow - \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{##3}{##4}\fi - \ifnum \c@taburow<##2 \else - \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\z@ - \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi - \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% - \rowcolor{tabu@rc@\the\tabu@nested}\fi}% - }\edef\x{\noexpand\tabu@rc@ {\the\count@} - {\the\tabu@start} - {\tabu@temp} - {\@tempa}% - }\x - \toks@\expandafter{\expandafter\def\expandafter\tabu@rc@\expandafter{\tabu@rc@}}% - \toks@\expandafter{\the\toks@ \let\tabu@rc@L \tabu@rc@ \ignorespaces}% - \else % inside \noalign - \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{\tabu@temp}{\@tempa}% - \expandafter\resetcolorseries\expandafter[\the\count@]{tabu@rcseries@\the\tabu@nested}% - \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% - \let\noalign \relax \rowcolor{tabu@rc@\the\tabu@nested}% - \def\tabu@rc@ ##1##2{\gdef\tabu@rc@{% - \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\@ne - \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi - \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% - \rowcolor{tabu@rc@\the\tabu@nested}}% - }\edef\x{\noexpand\tabu@rc@{\the\count@}{\the\c@taburow}}\x - \global\let\tabu@rc@G \tabu@rc@ - \fi - \fi - \tabu@everyrow@egroup -}% \tabu@rowcolorseries -\tabuDisableCommands {\let\tabu@rc@ \@empty } -\def\tabu@rowcolorserieserror {\PackageError{tabu} - {Invalid syntax for \string\taburowcolors - \MessageBreak Please look at the documentation!}\@ehd -}% \tabu@rowcolorserieserror -\newcommand*\tabureset {% - \tabulinesep=\z@ \extrarowsep=\z@ \extratabsurround=\z@ - \tabulinestyle{}\everyrow{}\taburulecolor||{}\taburowcolors{}% -}% \tabureset -%% Parsing the line styles ------------------------------------------ -\def\tabu@getline #1{\begingroup - \csname \ifcsname if@safe@actives\endcsname % - @safe@activestrue\else - relax\fi \endcsname - \edef\tabu@temp{#1}\tabu@sanitizearg{#1}\@tempa - \let\tabu@thestyle \relax - \ifcsname tabu@linestyle@\@tempa \endcsname - \edef\tabu@thestyle{\endgroup - \def\tabu@thestyle{\expandafter\noexpand - \csname tabu@linestyle@\@tempa\endcsname}% - }\tabu@thestyle - \else \expandafter\tabu@definestyle \tabu@temp \@nil - \fi -}% \tabu@getline -\def\tabu@definestyle #1#2\@nil {\endlinechar \m@ne \makeatletter - \tabu@thick \maxdimen \tabu@on \maxdimen \tabu@off \maxdimen - \let\tabu@c@lon \@undefined \let\tabu@c@loff \@undefined - \ifodd 1\ifcat .#1\else\ifcat\relax #1\else 0\fi\fi % catcode 12 or non expandable cs - \def\tabu@temp{\tabu@getparam{thick}}% - \else \def\tabu@temp{\tabu@getparam{thick}\maxdimen}% - \fi - {% - \let\tabu@ \relax - \def\:{\obeyspaces \tabu@oXIII \tabu@commaXIII \edef\:}% (space active \: happy ;-)) - \scantokens{\:{\tabu@temp #1#2 \tabu@\tabu@}}% - \expandafter}\expandafter - \def\expandafter\:\expandafter{\:}% line spec rewritten now ;-) - \def\;{\def\:}% - \scantokens\expandafter{\expandafter\;\expandafter{\:}}% space is now inactive (catcode 10) - \let\tabu@ \tabu@getcolor \:% all arguments are ready now ;-) - \ifdefined\tabu@c@lon \else \let\tabu@c@lon\@empty \fi - \ifx \tabu@c@lon\@empty \def\tabu@c@lon{\CT@arc@}\fi - \ifdefined\tabu@c@loff \else \let\tabu@c@loff \@empty \fi - \ifdim \tabu@on=\maxdimen \ifdim \tabu@off<\maxdimen - \tabu@on \tabulineon \fi\fi - \ifdim \tabu@off=\maxdimen \ifdim \tabu@on<\maxdimen - \tabu@off \tabulineoff \fi\fi - \ifodd 1\ifdim \tabu@off=\maxdimen \ifdim \tabu@on=\maxdimen 0 \fi\fi - \in@true % - \else \in@false % - \fi - \ifdim\tabu@thick=\maxdimen \def\tabu@thick{\arrayrulewidth}% - \else \edef\tabu@thick{\the\tabu@thick}% - \fi - \edef \tabu@thestyle ##1##2{\endgroup - \def\tabu@thestyle{% - \ifin@ \noexpand\tabu@leadersstyle {\tabu@thick} - {\the\tabu@on}{##1} - {\the\tabu@off}{##2}% - \else \noexpand\tabu@rulesstyle - {##1\vrule width \tabu@thick}% - {##1\leaders \hrule height \tabu@thick \hfil}% - \fi}% - }\expandafter \expandafter - \expandafter \tabu@thestyle \expandafter - \expandafter \expandafter - {\expandafter\tabu@c@lon\expandafter}\expandafter{\tabu@c@loff}% -}% \tabu@definestyle -{\catcode`\O=\active \lccode`\O=`\o \catcode`\,=\active - \lowercase{\gdef\tabu@oXIII {\catcode`\o=\active \let O=\tabu@oxiii}} - \gdef\tabu@commaXIII {\catcode`\,=\active \let ,=\space} -}% \catcode -\def\tabu@oxiii #1{% - \ifcase \ifx n#1\z@ \else - \ifx f#1\@ne\else - \tw@ \fi\fi - \expandafter\tabu@onxiii - \or \expandafter\tabu@ofxiii - \else o% - \fi#1}% -\def\tabu@onxiii #1#2{% - \ifcase \ifx !#2\tw@ \else - \ifcat.\noexpand#2\z@ \else - \ifx \tabu@spxiii#2\@ne\else - \tw@ \fi\fi\fi - \tabu@getparam{on}#2\expandafter\@gobble - \or \expandafter\tabu@onxiii % (space is active) - \else o\expandafter\@firstofone - \fi{#1#2}}% -\def\tabu@ofxiii #1#2{% - \ifx #2f\expandafter\tabu@offxiii - \else o\expandafter\@firstofone - \fi{#1#2}} -\def\tabu@offxiii #1#2{% - \ifcase \ifx !#2\tw@ \else - \ifcat.\noexpand#2\z@ \else - \ifx\tabu@spxiii#2\@ne \else - \tw@ \fi\fi\fi - \tabu@getparam{off}#2\expandafter\@gobble - \or \expandafter\tabu@offxiii % (space is active) - \else o\expandafter\@firstofone - \fi{#1#2}} -\def\tabu@getparam #1{\tabu@ \csname tabu@#1\endcsname=} -\def\tabu@getcolor #1{% \tabu@ <- \tabu@getcolor after \edef - \ifx \tabu@#1\else % no more spec - \let\tabu@theparam=#1\afterassignment \tabu@getc@l@r #1\fi -}% \tabu@getcolor -\def\tabu@getc@l@r #1\tabu@ {% - \def\tabu@temp{#1}\tabu@strtrim \tabu@temp - \ifx \tabu@temp\@empty - \else%\ifcsname \string\color@\tabu@temp \endcsname % if the color exists - \ifx \tabu@theparam \tabu@off \let\tabu@c@loff \tabu@c@l@r - \else \let\tabu@c@lon \tabu@c@l@r - \fi - %\else \tabu@warncolour{\tabu@temp}% - \fi%\fi - \tabu@ % next spec -}% \tabu@getc@l@r -\def\tabu@warncolour #1{\PackageWarning{tabu} - {Color #1 is not defined. Default color used}% -}% \tabu@warncolour -\def\tabu@leadersstyle #1#2#3#4#5{\def\tabu@leaders{{#1}{#2}{#3}{#4}{#5}}% - \ifx \tabu@leaders\tabu@leaders@G \else - \tabu@LEADERS{#1}{#2}{#3}{#4}{#5}\fi -}% \tabu@leadersstyle -\def\tabu@rulesstyle #1#2{\let\tabu@leaders \@undefined - \gdef\tabu@thevrule{#1}\gdef\tabu@thehrule{#2}% -}% \tabu@rulesstyle -%% The leaders boxes ------------------------------------------------ -\def\tabu@LEADERS #1#2#3#4#5{%% width, dash, dash color, gap, gap color - {\let\color \tabu@color % => during trials -> \color = \tabu@nocolor - {% % but the leaders boxes should have colors ! - \def\@therule{\vrule}\def\@thick{height}\def\@length{width}% - \def\@box{\hbox}\def\@unbox{\unhbox}\def\@elt{\wd}% - \def\@skip{\hskip}\def\@ss{\hss}\def\tabu@leads{\tabu@hleads}% - \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}% - \global\let\tabu@thehleaders \tabu@theleaders - }% - {% - \def\@therule{\hrule}\def\@thick{width}\def\@length{height}% - \def\@box{\vbox}\def\@unbox{\unvbox}\def\@elt{\ht}% - \def\@skip{\vskip}\def\@ss{\vss}\def\tabu@leads{\tabu@vleads}% - \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}% - \global\let\tabu@thevleaders \tabu@theleaders - }% - \gdef\tabu@leaders@G{{#1}{#2}{#3}{#4}{#5}}% - }% -}% \tabu@LEADERS -\def\tabu@therule #1#2{\@therule \@thick#1\@length\dimexpr#2/2 \@depth\z@} -\def\tabu@l@@d@rs #1#2#3#4#5{%% width, dash, dash color, gap, gap color - \global\setbox \tabu@leads=\@box{% - {#3\tabu@therule{#1}{#2}}% - \ifx\\#5\\\@skip#4\else{#5\tabu@therule{#1}{#4*2}}\fi - {#3\tabu@therule{#1}{#2}}}% - \global\setbox\tabu@leads=\@box to\@elt\tabu@leads{\@ss - {#3\tabu@therule{#1}{#2}}\@unbox\tabu@leads}% - \edef\tabu@theleaders ##1{\def\noexpand\tabu@theleaders {% - {##1\tabu@therule{#1}{#2}}% - \xleaders \copy\tabu@leads \@ss - \tabu@therule{0pt}{-#2}{##1\tabu@therule{#1}{#2}}}% - }\tabu@theleaders{#3}% -}% \tabu@l@@d@rs -%% \tabu \endtabu \tabu* \longtabu \endlongtabu \longtabu* ---------- -\newcommand*\tabu {\tabu@longfalse - \ifmmode \def\tabu@ {\array}\def\endtabu {\endarray}% - \else \def\tabu@ {\tabu@tabular}\def\endtabu {\endtabular}\fi - \expandafter\let\csname tabu*\endcsname \tabu - \expandafter\def\csname endtabu*\endcsname{\endtabu}% - \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget -}% {tabu} -\let\tabu@tabular \tabular % -\expandafter\def\csname tabu*\endcsname{\tabuscantokenstrue \tabu} -\newcommand*\longtabu {\tabu@longtrue - \ifmmode\PackageError{tabu}{longtabu not allowed in math mode}\fi - \def\tabu@{\longtable}\def\endlongtabu{\endlongtable}% - \LTchunksize=\@M - \expandafter\let\csname tabu*\endcsname \tabu - \expandafter\def\csname endlongtabu*\endcsname{\endlongtabu}% - \let\LT@startpbox \tabu@LT@startpbox % \everypar{ array struts } - \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget -}% {longtabu} -\expandafter\def\csname longtabu*\endcsname{\tabuscantokenstrue \longtabu} -\def\tabu@nolongtabu{\PackageError{tabu} - {longtabu requires the longtable package}\@ehd} -%% Read the target and then : \tabular or \@array ------------------ -\def\tabu@settarget {\futurelet\@let@token \tabu@sett@rget } -\def\tabu@sett@rget {\tabu@target \z@ - \ifcase \ifx \bgroup\@let@token \z@ \else - \ifx \@sptoken\@let@token \@ne \else - \if t\@let@token \tw@ \else - \if s\@let@token \thr@@\else - \z@\fi\fi\fi\fi - \expandafter\tabu@begin - \or \expandafter\tabu@gobblespace\expandafter\tabu@settarget - \or \expandafter\tabu@to - \or \expandafter\tabu@spread - \fi -}% \tabu@sett@rget -\def\tabu@to to{\def\tabu@halignto{to}\tabu@gettarget} -\def\tabu@spread spread{\tabu@spreadtrue\def\tabu@halignto{spread}\tabu@gettarget} -\def\tabu@gettarget {\afterassignment\tabu@linegoaltarget \tabu@target } -\def\tabu@linegoaltarget {\futurelet\tabu@temp \tabu@linegoalt@rget } -\def\tabu@linegoalt@rget {% - \ifx \tabu@temp\LNGL@setlinegoal - \LNGL@setlinegoal \expandafter \@firstoftwo \fi % @gobbles \LNGL@setlinegoal - \tabu@begin -}% \tabu@linegoalt@rget -\def\tabu@begin #1#{% - \iftabu@measuring \expandafter\tabu@nestedmeasure \fi - \ifdim \tabu@target=\z@ \let\tabu@halignto \@empty - \else \edef\tabu@halignto{\tabu@halignto\the\tabu@target}% - \fi - \@testopt \tabu@tabu@ \tabu@aligndefault #1\@nil -}% \tabu@begin -\long\def\tabu@tabu@ [#1]#2\@nil #3{\tabu@setup - \def\tabu@align {#1}\def\tabu@savedpream{\NC@find #3}% - \tabu@ [\tabu@align ]#2{#3\tabu@rewritefirst }% -}% \tabu@tabu@ -\def\tabu@nestedmeasure {% - \ifodd 1\iftabu@spread \else \ifdim\tabu@target=\z@ \else 0 \fi\fi\relax - \tabu@spreadtrue - \else \begingroup \iffalse{\fi \ifnum0=`}\fi - \toks@{}\def\tabu@stack{b}% - \expandafter\tabu@collectbody\expandafter\tabu@quickrule - \expandafter\endgroup - \fi -}% \tabu@nestedmeasure -\def\tabu@quickrule {\indent\vrule height\z@ depth\z@ width\tabu@target} -%% \tabu@setup \tabu@init \tabu@indent -\def\tabu@setup{\tabu@alloc@ - \ifcase \tabu@nested - \ifmmode \else \iftabu@spread\else \ifdim\tabu@target=\z@ - \let\tabu@afterendpar \par - \fi\fi\fi - \def\tabu@aligndefault{c}\tabu@init \tabu@indent - \else % - \def\tabu@aligndefault{t}\let\tabudefaulttarget \linewidth - \fi - \let\tabu@thetarget \tabudefaulttarget \let\tabu@restored \@undefined - \edef\tabu@NC@list{\the\NC@list}\NC@list{\NC@do \tabu@rewritefirst}% - \everycr{}\let\@startpbox \tabu@startpbox % for nested tabu inside longtabu... - \let\@endpbox \tabu@endpbox % idem " " " " " " - \let\@tabarray \tabu@tabarray % idem " " " " " " - \tabu@setcleanup \tabu@setreset -}% \tabu@setup -\def\tabu@init{\tabu@starttimer \tabu@measuringfalse - \edef\tabu@hfuzz {\the\dimexpr\hfuzz+1sp}\global\tabu@footnotes{}% - \let\firsthline \tabu@firsthline \let\lasthline \tabu@lasthline - \let\firstline \tabu@firstline \let\lastline \tabu@lastline - \let\hline \tabu@hline \let\@xhline \tabu@xhline - \let\color \tabu@color \let\@arstrutbox \tabu@arstrutbox - \iftabu@colortbl\else\let\LT@@hline \tabu@LT@@hline \fi - \tabu@trivlist % - \let\@footnotetext \tabu@footnotetext \let\@xfootnotetext \tabu@xfootnotetext - \let\@xfootnote \tabu@xfootnote \let\centering \tabu@centering - \let\raggedright \tabu@raggedright \let\raggedleft \tabu@raggedleft - \let\tabudecimal \tabu@tabudecimal \let\Centering \tabu@Centering - \let\RaggedRight \tabu@RaggedRight \let\RaggedLeft \tabu@RaggedLeft - \let\justifying \tabu@justifying \let\rowfont \tabu@rowfont - \let\fbox \tabu@fbox \let\color@b@x \tabu@color@b@x - \let\tabu@@everycr \everycr \let\tabu@@everypar \everypar - \let\tabu@prepnext@tokORI \prepnext@tok\let\prepnext@tok \tabu@prepnext@tok - \let\tabu@multicolumnORI\multicolumn \let\multicolumn \tabu@multicolumn - \let\tabu@startpbox \@startpbox % for nested tabu inside longtabu pfff !!! - \let\tabu@endpbox \@endpbox % idem " " " " " " " - \let\tabu@tabarray \@tabarray % idem " " " " " " " - \tabu@adl@fix \let\endarray \tabu@endarray % colortbl & arydshln (delarray) - \iftabu@colortbl\CT@everycr\expandafter{\expandafter\iftabu@everyrow \the\CT@everycr \fi}\fi -}% \tabu@init -\def\tabu@indent{% correction for indentation - \ifdim \parindent>\z@\ifx \linewidth\tabudefaulttarget - \everypar\expandafter{% - \the\everypar\everypar\expandafter{\the\everypar}% - \setbox\z@=\lastbox - \ifdim\wd\z@>\z@ \edef\tabu@thetarget - {\the\dimexpr -\wd\z@+\tabudefaulttarget}\fi - \box\z@}% - \fi\fi -}% \tabu@indent -\def\tabu@setcleanup {% saves last global assignments - \ifodd 1\ifmmode \else \iftabu@long \else 0\fi\fi\relax - \def\tabu@aftergroupcleanup{% - \def\tabu@aftergroupcleanup{\aftergroup\tabu@cleanup}}% - \else - \def\tabu@aftergroupcleanup{% - \aftergroup\aftergroup\aftergroup\tabu@cleanup - \let\tabu@aftergroupcleanup \relax}% - \fi - \let\tabu@arc@Gsave \tabu@arc@G - \let\tabu@arc@G \tabu@arc@L % - \let\tabu@drsc@Gsave \tabu@drsc@G - \let\tabu@drsc@G \tabu@drsc@L % - \let\tabu@ls@Gsave \tabu@ls@G - \let\tabu@ls@G \tabu@ls@L % - \let\tabu@rc@Gsave \tabu@rc@G - \let\tabu@rc@G \tabu@rc@L % - \let\tabu@evr@Gsave \tabu@evr@G - \let\tabu@evr@G \tabu@evr@L % - \let\tabu@celllalign@save \tabu@celllalign - \let\tabu@cellralign@save \tabu@cellralign - \let\tabu@cellleft@save \tabu@cellleft - \let\tabu@cellright@save \tabu@cellright - \let\tabu@@celllalign@save \tabu@@celllalign - \let\tabu@@cellralign@save \tabu@@cellralign - \let\tabu@@cellleft@save \tabu@@cellleft - \let\tabu@@cellright@save \tabu@@cellright - \let\tabu@rowfontreset@save \tabu@rowfontreset - \let\tabu@@rowfontreset@save\tabu@@rowfontreset - \let\tabu@rowfontreset \@empty - \edef\tabu@alloc@save {\the\tabu@alloc}% restore at \tabu@reset - \edef\c@taburow@save {\the\c@taburow}% - \edef\tabu@naturalX@save {\the\tabu@naturalX}% - \let\tabu@naturalXmin@save \tabu@naturalXmin - \let\tabu@naturalXmax@save \tabu@naturalXmax - \let\tabu@mkarstrut@save \tabu@mkarstrut - \edef\tabu@clarstrut{% - \extrarowheight \the\dimexpr \ht\@arstrutbox-\ht\strutbox \relax - \extrarowdepth \the\dimexpr \dp\@arstrutbox-\dp\strutbox \relax - \let\noexpand\@arraystretch \@ne \noexpand\tabu@rearstrut}% -}% \tabu@setcleanup -\def\tabu@cleanup {\begingroup - \globaldefs\@ne \tabu@everyrowtrue - \let\tabu@arc@G \tabu@arc@Gsave - \let\CT@arc@ \tabu@arc@G - \let\tabu@drsc@G \tabu@drsc@Gsave - \let\CT@drsc@ \tabu@drsc@G - \let\tabu@ls@G \tabu@ls@Gsave - \let\tabu@ls@ \tabu@ls@G - \let\tabu@rc@G \tabu@rc@Gsave - \let\tabu@rc@ \tabu@rc@G - \let\CT@do@color \relax - \let\tabu@evr@G \tabu@evr@Gsave - \let\tabu@celllalign \tabu@celllalign@save - \let\tabu@cellralign \tabu@cellralign@save - \let\tabu@cellleft \tabu@cellleft@save - \let\tabu@cellright \tabu@cellright@save - \let\tabu@@celllalign \tabu@@celllalign@save - \let\tabu@@cellralign \tabu@@cellralign@save - \let\tabu@@cellleft \tabu@@cellleft@save - \let\tabu@@cellright \tabu@@cellright@save - \let\tabu@rowfontreset \tabu@rowfontreset@save - \let\tabu@@rowfontreset \tabu@@rowfontreset@save - \tabu@naturalX =\tabu@naturalX@save - \let\tabu@naturalXmax \tabu@naturalXmax@save - \let\tabu@naturalXmin \tabu@naturalXmin@save - \let\tabu@mkarstrut \tabu@mkarstrut@save - \c@taburow =\c@taburow@save - \ifcase \tabu@nested \tabu@alloc \m@ne\fi - \endgroup % - \ifcase \tabu@nested - \the\tabu@footnotes \global\tabu@footnotes{}% - \tabu@afterendpar \tabu@elapsedtime - \fi - \tabu@clarstrut - \everyrow\expandafter {\tabu@evr@G}% -}% \tabu@cleanup -\let\tabu@afterendpar \relax -\def\tabu@setreset {% - \edef\tabu@savedparams {% \relax for \tabu@message@save - \ifmmode \col@sep \the\arraycolsep - \else \col@sep \the\tabcolsep \fi \relax - \arrayrulewidth \the\arrayrulewidth \relax - \doublerulesep \the\doublerulesep \relax - \extratabsurround \the\extratabsurround \relax - \extrarowheight \the\extrarowheight \relax - \extrarowdepth \the\extrarowdepth \relax - \abovetabulinesep \the\abovetabulinesep \relax - \belowtabulinesep \the\belowtabulinesep \relax - \def\noexpand\arraystretch{\arraystretch}% - \ifdefined\minrowclearance \minrowclearance\the\minrowclearance\relax\fi}% - \begingroup - \@temptokena\expandafter{\tabu@savedparams}% => only for \savetabu / \usetabu - \ifx \tabu@arc@L\relax \else \tabu@setsave \tabu@arc@L \fi - \ifx \tabu@drsc@L\relax \else \tabu@setsave \tabu@drsc@L \fi - \tabu@setsave \tabu@ls@L \tabu@setsave \tabu@evr@L - \expandafter \endgroup \expandafter - \def\expandafter\tabu@saved@ \expandafter{\the\@temptokena - \let\tabu@arc@G \tabu@arc@L - \let\tabu@drsc@G \tabu@drsc@L - \let\tabu@ls@G \tabu@ls@L - \let\tabu@rc@G \tabu@rc@L - \let\tabu@evr@G \tabu@evr@L}% - \def\tabu@reset{\tabu@savedparams - \tabu@everyrowtrue \c@taburow \z@ - \let\CT@arc@ \tabu@arc@L - \let\CT@drsc@ \tabu@drsc@L - \let\tabu@ls@ \tabu@ls@L - \let\tabu@rc@ \tabu@rc@L - \global\tabu@alloc \tabu@alloc@save - \everyrow\expandafter{\tabu@evr@L}}% -}% \tabu@reset -\def\tabu@setsave #1{\expandafter\tabu@sets@ve #1\@nil{#1}} -\long\def\tabu@sets@ve #1\@nil #2{\@temptokena\expandafter{\the\@temptokena \def#2{#1}}} -%% The Rewriting Process ------------------------------------------- -\def\tabu@newcolumntype #1{% - \expandafter\tabu@new@columntype - \csname NC@find@\string#1\expandafter\endcsname - \csname NC@rewrite@\string#1\endcsname - {#1}% -}% \tabu@newcolumntype -\def\tabu@new@columntype #1#2#3{% - \def#1##1#3{\NC@{##1}}% - \let#2\relax \newcommand*#2% -}% \tabu@new@columntype -\def\tabu@privatecolumntype #1{% - \expandafter\tabu@private@columntype - \csname NC@find@\string#1\expandafter\endcsname - \csname NC@rewrite@\string#1\expandafter\endcsname - \csname tabu@NC@find@\string#1\expandafter\endcsname - \csname tabu@NC@rewrite@\string#1\endcsname - {#1}% -}% \tabu@privatecolumntype -\def\tabu@private@columntype#1#2#3#4{% - \g@addto@macro\tabu@privatecolumns{\let#1#3\let#2#4}% - \tabu@new@columntype#3#4% -}% \tabu@private@columntype -\let\tabu@privatecolumns \@empty -\newcommand*\tabucolumn [1]{\expandafter \def \expandafter - \tabu@highprioritycolumns\expandafter{\tabu@highprioritycolumns - \NC@do #1}}% -\let\tabu@highprioritycolumns \@empty -%% The | ``column'' : rewriting process -------------------------- -\tabu@privatecolumntype |{\tabu@rewritevline} -\newcommand*\tabu@rewritevline[1][]{\tabu@vlinearg{#1}% - \expandafter \NC@find \tabu@rewritten} -\def\tabu@lines #1{% - \ifx|#1\else \tabu@privatecolumntype #1{\tabu@rewritevline}\fi - \NC@list\expandafter{\the\NC@list \NC@do #1}% -}% \tabu@lines@ -\def\tabu@vlinearg #1{% - \ifx\\#1\\\def\tabu@thestyle {\tabu@ls@}% - \else\tabu@getline {#1}% - \fi - \def\tabu@rewritten ##1{\def\tabu@rewritten{!{##1\tabu@thevline}}% - }\expandafter\tabu@rewritten\expandafter{\tabu@thestyle}% - \expandafter \tabu@keepls \tabu@thestyle \@nil -}% \tabu@vlinearg -\def\tabu@keepls #1\@nil{% - \ifcat $\@cdr #1\@nil $% - \ifx \relax#1\else - \ifx \tabu@ls@#1\else - \let#1\relax - \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer - \tabu@savels\noexpand#1}\fi\fi\fi -}% \tabu@keepls -\def\tabu@thevline {\begingroup - \ifdefined\tabu@leaders - \setbox\@tempboxa=\vtop to\dimexpr - \ht\@arstrutbox+\dp\@arstrutbox{{\tabu@thevleaders}}% - \ht\@tempboxa=\ht\@arstrutbox \dp\@tempboxa=\dp\@arstrutbox - \box\@tempboxa - \else - \tabu@thevrule - \fi \endgroup -}% \tabu@thevline -\def\tabu@savels #1{% - \expandafter\let\csname\string#1\endcsname #1% - \expandafter\def\expandafter\tabu@reset\expandafter{\tabu@reset - \tabu@resetls#1}}% -\def\tabu@resetls #1{\expandafter\let\expandafter#1\csname\string#1\endcsname}% -%% \multicolumn inside tabu environment ----------------------------- -\tabu@newcolumntype \tabu@rewritemulticolumn{% - \aftergroup \tabu@endrewritemulticolumn % after \@mkpream group - \NC@list{\NC@do *}\tabu@textbar \tabu@lines - \tabu@savedecl - \tabu@privatecolumns - \NC@list\expandafter{\the\expandafter\NC@list \tabu@NC@list}% - \let\tabu@savels \relax - \NC@find -}% \tabu@rewritemulticolumn -\def\tabu@endrewritemulticolumn{\gdef\tabu@mkpreambuffer{}\endgroup} -\def\tabu@multicolumn{\tabu@ifenvir \tabu@multic@lumn \tabu@multicolumnORI} -\long\def\tabu@multic@lumn #1#2#3{\multispan{#1}\begingroup - \tabu@everyrowtrue - \NC@list{\NC@do \tabu@rewritemulticolumn}% - \expandafter\@gobbletwo % gobbles \multispan{#1} - \tabu@multicolumnORI{#1}{\tabu@rewritemulticolumn #2}% - {\iftabuscantokens \tabu@rescan \else \expandafter\@firstofone \fi - {#3}}% -}% \tabu@multic@lumn -%% The X column(s): rewriting process ----------------------------- -\tabu@privatecolumntype X[1][]{\begingroup \tabu@siunitx{\endgroup \tabu@rewriteX {#1}}} -\def\tabu@nosiunitx #1{#1{}{}\expandafter \NC@find \tabu@rewritten } -\def\tabu@siunitx #1{\@ifnextchar \bgroup - {\tabu@rewriteX@Ss{#1}} - {\tabu@nosiunitx{#1}}} -\def\tabu@rewriteX@Ss #1#2{\@temptokena{}% - \@defaultunits \let\tabu@temp =#2\relax\@nnil - \ifodd 1\ifx S\tabu@temp \else \ifx s\tabu@temp \else 0 \fi\fi - \def\NC@find{\def\NC@find >####1####2<####3\relax{#1 {####1}{####3}% - }\expandafter\NC@find \the\@temptokena \relax - }\expandafter\NC@rewrite@S \@gobble #2\relax - \else \tabu@siunitxerror - \fi - \expandafter \NC@find \tabu@rewritten -}% \tabu@rewriteX@Ss -\def\tabu@siunitxerror {\PackageError{tabu}{Not a S nor s column ! - \MessageBreak X column can only embed siunitx S or s columns}\@ehd -}% \tabu@siunitxerror -\def\tabu@rewriteX #1#2#3{\tabu@Xarg {#1}{#2}{#3}% - \iftabu@measuring - \else \tabu@measuringtrue % first X column found in the preamble - \let\@halignto \relax \let\tabu@halignto \relax - \iftabu@spread \tabu@spreadtarget \tabu@target \tabu@target \z@ - \else \tabu@spreadtarget \z@ \fi - \ifdim \tabu@target=\z@ - \setlength\tabu@target \tabu@thetarget - \tabu@message{\tabu@message@defaulttarget}% - \else \tabu@message{\tabu@message@target}\fi - \fi -}% \tabu@rewriteX -\def\tabu@rewriteXrestore #1#2#3{\let\@halignto \relax - \def\tabu@rewritten{l}} -\def\tabu@Xarg #1#2#3{% - \advance\tabu@Xcol \@ne \let\tabu@Xlcr \@empty - \let\tabu@Xdisp \@empty \let\tabu@Xmath \@empty - \ifx\\#1\\% - \def\tabu@rewritten{p}\tabucolX \p@ % - \else - \let\tabu@rewritten \@empty \let\tabu@temp \@empty \tabucolX \z@ - \tabu@Xparse {}#1\relax - \fi - \tabu@Xrewritten{#2}{#3}% -}% \tabu@Xarg -\def\tabu@Xparse #1{\futurelet\@let@token \tabu@Xtest} -\expandafter\def\expandafter\tabu@Xparsespace\space{\tabu@Xparse{}} -\def\tabu@Xtest{% - \ifcase \ifx \relax\@let@token \z@ \else - \if ,\@let@token \m@ne\else - \if p\@let@token 1\else - \if m\@let@token 2\else - \if b\@let@token 3\else - \if l\@let@token 4\else - \if c\@let@token 5\else - \if r\@let@token 6\else - \if j\@let@token 7\else - \if L\@let@token 8\else - \if C\@let@token 9\else - \if R\@let@token 10\else - \if J\@let@token 11\else - \ifx \@sptoken\@let@token 12\else - \if .\@let@token 13\else - \if -\@let@token 13\else - \ifcat $\@let@token 14\else - 15\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax - \or \tabu@Xtype {p}% - \or \tabu@Xtype {m}% - \or \tabu@Xtype {b}% - \or \tabu@Xalign \raggedright\relax - \or \tabu@Xalign \centering\relax - \or \tabu@Xalign \raggedleft\relax - \or \tabu@Xalign \tabu@justify\relax - \or \tabu@Xalign \RaggedRight\raggedright - \or \tabu@Xalign \Centering\centering - \or \tabu@Xalign \RaggedLeft\raggedleft - \or \tabu@Xalign \justifying\tabu@justify - \or \expandafter \tabu@Xparsespace - \or \expandafter \tabu@Xcoef - \or \expandafter \tabu@Xm@th - \or \tabu@Xcoef{}% - \else\expandafter \tabu@Xparse - \fi -}% \tabu@Xtest -\def\tabu@Xalign #1#2{% - \ifx \tabu@Xlcr\@empty \else \PackageWarning{tabu} - {Duplicate horizontal alignment specification}\fi - \ifdefined#1\def\tabu@Xlcr{#1}\let#1\relax - \else \def\tabu@Xlcr{#2}\let#2\relax\fi - \expandafter\tabu@Xparse -}% \tabu@Xalign -\def\tabu@Xtype #1{% - \ifx \tabu@rewritten\@empty \else \PackageWarning{tabu} - {Duplicate vertical alignment specification}\fi - \def\tabu@rewritten{#1}\expandafter\tabu@Xparse -}% \tabu@Xtype -\def\tabu@Xcoef#1{\edef\tabu@temp{\tabu@temp#1}% - \afterassignment\tabu@Xc@ef \tabu@cnt\number\if-#10\fi -}% \tabu@Xcoef -\def\tabu@Xc@ef{\advance\tabucolX \tabu@temp\the\tabu@cnt\p@ - \tabu@Xparse{}% -}% \tabu@Xc@ef -\def\tabu@Xm@th #1{\futurelet \@let@token \tabu@Xd@sp} -\def\tabu@Xd@sp{\let\tabu@Xmath=$% - \ifx $\@let@token \def\tabu@Xdisp{\displaystyle}% - \expandafter\tabu@Xparse - \else \expandafter\tabu@Xparse\expandafter{\expandafter}% - \fi -}% \tabu@Xd@sp -\def\tabu@Xrewritten {% - \ifx \tabu@rewritten\@empty \def\tabu@rewritten{p}\fi - \ifdim \tabucolX<\z@ \tabu@negcoeftrue - \else\ifdim \tabucolX=\z@ \tabucolX \p@ - \fi\fi - \edef\tabu@temp{{\the\tabu@Xcol}{\tabu@strippt\tabucolX}}% - \edef\tabu@Xcoefs{\tabu@Xcoefs \tabu@ \tabu@temp}% - \edef\tabu@rewritten ##1##2{\def\noexpand\tabu@rewritten{% - >{\tabu@Xlcr \ifx$\tabu@Xmath$\tabu@Xdisp\fi ##1}% - \tabu@rewritten {\tabu@hsize \tabu@temp}% - <{##2\ifx$\tabu@Xmath$\fi}}% - }\tabu@rewritten -}% \tabu@Xrewritten -\def\tabu@hsize #1#2{% - \ifdim #2\p@<\z@ - \ifdim \tabucolX=\maxdimen \tabu@wd{#1}\else - \ifdim \tabu@wd{#1}<-#2\tabucolX \tabu@wd{#1}\else -#2\tabucolX\fi - \fi - \else #2\tabucolX - \fi -}% \tabu@hsize -%% \usetabu and \preamble: rewriting process --------------------- -\tabu@privatecolumntype \usetabu [1]{% - \ifx\\#1\\\tabu@saveerr{}\else - \@ifundefined{tabu@saved@\string#1} - {\tabu@saveerr{#1}} - {\let\tabu@rewriteX \tabu@rewriteXrestore - \csname tabu@saved@\string#1\expandafter\endcsname\expandafter\@ne}% - \fi -}% \NC@rewrite@\usetabu -\tabu@privatecolumntype \preamble [1]{% - \ifx\\#1\\\tabu@saveerr{}\else - \@ifundefined{tabu@saved@\string#1} - {\tabu@saveerr{#1}} - {\csname tabu@saved@\string#1\expandafter\endcsname\expandafter\z@}% - \fi -}% \NC@rewrite@\preamble -%% Controlling the rewriting process ------------------------------- -\tabu@newcolumntype \tabu@rewritefirst{% - \iftabu@long \aftergroup \tabu@longpream % - \else \aftergroup \tabu@pream - \fi - \let\tabu@ \relax \let\tabu@hsize \relax - \let\tabu@Xcoefs \@empty \let\tabu@savels \relax - \tabu@Xcol \z@ \tabu@cnt \tw@ - \gdef\tabu@mkpreambuffer{\tabu@{}}\tabu@measuringfalse - \global\setbox\@arstrutbox \box\@arstrutbox - \NC@list{\NC@do *}\tabu@textbar \tabu@lines - \NC@list\expandafter{\the\NC@list \NC@do X}% - \iftabu@siunitx % - \NC@list\expandafter{\the\NC@list \NC@do S\NC@do s}\fi - \NC@list\expandafter{\the\expandafter\NC@list \tabu@highprioritycolumns}% - \expandafter\def\expandafter\tabu@NC@list\expandafter{% - \the\expandafter\NC@list \tabu@NC@list}% % * | X S - \NC@list\expandafter{\expandafter \NC@do \expandafter\usetabu - \expandafter \NC@do \expandafter\preamble - \the\NC@list \NC@do \tabu@rewritemiddle - \NC@do \tabu@rewritelast}% - \tabu@savedecl - \tabu@privatecolumns - \edef\tabu@prev{\the\@temptokena}\NC@find \tabu@rewritemiddle -}% NC@rewrite@\tabu@rewritefirst -\tabu@newcolumntype \tabu@rewritemiddle{% - \edef\tabu@temp{\the\@temptokena}\NC@find \tabu@rewritelast -}% \NC@rewrite@\tabu@rewritemiddle -\tabu@newcolumntype \tabu@rewritelast{% - \ifx \tabu@temp\tabu@prev \advance\tabu@cnt \m@ne - \NC@list\expandafter{\tabu@NC@list \NC@do \tabu@rewritemiddle - \NC@do \tabu@rewritelast}% - \else \let\tabu@prev\tabu@temp - \fi - \ifcase \tabu@cnt \expandafter\tabu@endrewrite - \else \expandafter\NC@find \expandafter\tabu@rewritemiddle - \fi -}% \NC@rewrite@\tabu@rewritelast -%% Choosing the strategy -------------------------------------------- -\def\tabu@endrewrite {% - \let\tabu@temp \NC@find - \ifx \@arrayright\relax \let\@arrayright \@empty \fi - \count@=% - \ifx \@finalstrut\tabu@finalstrut \z@ % outer in mode 0 print - \iftabu@measuring - \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer - \tabu@target \csname tabu@\the\tabu@nested.T\endcsname - \tabucolX \csname tabu@\the\tabu@nested.X\endcsname - \edef\@halignto {\ifx\@arrayright\@empty to\tabu@target\fi}}% - \fi - \else\iftabu@measuring 4 % X columns - \xdef\tabu@mkpreambuffer{\tabu@{\tabu@mkpreambuffer - \tabu@target \the\tabu@target - \tabu@spreadtarget \the\tabu@spreadtarget}% - \def\noexpand\tabu@Xcoefs{\tabu@Xcoefs}% - \edef\tabu@halignto{\ifx \@arrayright\@empty to\tabu@target\fi}}% - \let\tabu@Xcoefs \relax - \else\ifcase\tabu@nested \thr@@ % outer, no X - \global\let\tabu@afterendpar \relax - \else \@ne % inner, no X, outer in mode 1 or 2 - \fi - \ifdefined\tabu@usetabu - \else \ifdim\tabu@target=\z@ - \else \let\tabu@temp \tabu@extracolsep - \fi\fi - \fi - \fi - \xdef\tabu@mkpreambuffer{\count@ \the\count@ \tabu@mkpreambuffer}% - \tabu@temp -}% \tabu@endrewrite -\def\tabu@extracolsep{\@defaultunits \expandafter\let - \expandafter\tabu@temp \expandafter=\the\@temptokena \relax\@nnil - \ifx \tabu@temp\@sptoken - \expandafter\tabu@gobblespace \expandafter\tabu@extracolsep - \else - \edef\tabu@temp{\noexpand\NC@find - \if |\noexpand\tabu@temp @% - \else\if !\noexpand\tabu@temp @% - \else !% - \fi\fi - {\noexpand\extracolsep\noexpand\@flushglue}}% - \fi - \tabu@temp -}% \tabu@extrac@lsep -%% Implementing the strategy ---------------------------------------- -\long\def\tabu@pream #1\@preamble {% - \let\tabu@ \tabu@@ \tabu@mkpreambuffer \tabu@aftergroupcleanup - \NC@list\expandafter {\tabu@NC@list}% in case of nesting... - \ifdefined\tabu@usetabu \tabu@usetabu \tabu@target \z@ \fi - \let\tabu@savedpreamble \@preamble - \global\let\tabu@elapsedtime \relax - \tabu@thebody ={#1\tabu@aftergroupcleanup}% - \tabu@thebody =\expandafter{\the\expandafter\tabu@thebody - \@preamble}% - \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens ) - \tabu@select -}% \tabu@pream -\long\def\tabu@longpream #1\LT@bchunk #2\LT@bchunk{% - \let\tabu@ \tabu@@ \tabu@mkpreambuffer \tabu@aftergroupcleanup - \NC@list\expandafter {\tabu@NC@list}% in case of nesting... - \let\tabu@savedpreamble \@preamble - \global\let\tabu@elapsedtime \relax - \tabu@thebody ={#1\LT@bchunk #2\tabu@aftergroupcleanup \LT@bchunk}% - \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens ) - \tabu@select -}% \tabu@longpream -\def\tabu@select {% - \ifnum\tabu@nested>\z@ \tabuscantokensfalse \fi - \ifnum \count@=\@ne \iftabu@measuring \count@=\tw@ \fi\fi - \ifcase \count@ - \global\let\tabu@elapsedtime \relax - \tabu@seteverycr - \expandafter \tabuthepreamble % vertical adjustment (inherited from outer) - \or % exit in vertical measure + struts per cell because no X and outer in mode 3 - \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}% - \def\tabu@cellralign{\tabu@verticalspacing}% - \tabu@seteverycr - \expandafter \tabuthepreamble - \or % exit without measure because no X and outer in mode 4 - \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty - \tabu@seteverycr - \expandafter \tabuthepreamble - \else % needs trials - \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty - \tabu@savecounters - \expandafter \tabu@setstrategy - \fi -}% \tabu@select -\def\tabu@@ {\gdef\tabu@mkpreambuffer} -%% Protections to set up before trials ------------------------------ -\def\tabu@setstrategy {\begingroup % - \tabu@trialh@@k \tabu@cnt \z@ % number of trials - \hbadness \@M \let\hbadness \@tempcnta - \hfuzz \maxdimen \let\hfuzz \@tempdima - \let\write \tabu@nowrite\let\GenericError \tabu@GenericError - \let\savetabu \@gobble \let\tabudefaulttarget \linewidth - \let\@footnotetext \@gobble \let\@xfootnote \tabu@xfootnote - \let\color \tabu@nocolor\let\rowcolor \tabu@norowcolor - \let\tabu@aftergroupcleanup \relax % only after the last trial - \tabu@mkpreambuffer - \ifnum \count@>\thr@@ \let\@halignto \@empty \tabucolX@init - \def\tabu@lasttry{\m@ne\p@}\fi - \begingroup \iffalse{\fi \ifnum0=`}\fi - \toks@{}\def\tabu@stack{b}\iftabuscantokens \endlinechar=10 \obeyspaces \fi % - \tabu@collectbody \tabu@strategy % -}% \tabu@setstrategy -\def\tabu@savecounters{% - \def\@elt ##1{\csname c@##1\endcsname\the\csname c@##1\endcsname}% - \edef\tabu@clckpt {\begingroup \globaldefs=\@ne \cl@@ckpt \endgroup}\let\@elt \relax -}% \tabu@savecounters -\def\tabucolX@init {% \tabucolX <= \tabu@target / (sum coefs > 0) - \dimen@ \z@ \tabu@Xsum \z@ \tabucolX \z@ \let\tabu@ \tabu@Xinit \tabu@Xcoefs - \ifdim \dimen@>\z@ - \@tempdima \dimexpr \tabu@target *\p@/\dimen@ + \tabu@hfuzz\relax - \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi - \fi -}% \tabucolX@init -\def\tabu@Xinit #1#2{\tabu@Xcol #1 \advance \tabu@Xsum - \ifdim #2\p@>\z@ #2\p@ \advance\dimen@ #2\p@ - \else -#2\p@ \tabu@negcoeftrue - \@tempdima \dimexpr \tabu@target*\p@/\dimexpr-#2\p@\relax \relax - \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi - \tabu@wddef{#1}{0pt}% - \fi -}% \tabu@Xinit -%% Collecting the environment body ---------------------------------- -\long\def\tabu@collectbody #1#2\end #3{% - \edef\tabu@stack{\tabu@pushbegins #2\begin\end\expandafter\@gobble\tabu@stack}% - \ifx \tabu@stack\@empty - \toks@\expandafter{\expandafter\tabu@thebody\expandafter{\the\toks@ #2}% - \def\tabu@end@envir{\end{#3}}% - \iftabuscantokens - \iftabu@long \def\tabu@endenvir {\end{#3}\tabu@gobbleX}% - \else \def\tabu@endenvir {\let\endarray \@empty - \end{#3}\tabu@gobbleX}% - \fi - \else \def\tabu@endenvir {\end{#3}}\fi}% - \let\tabu@collectbody \tabu@endofcollect - \else\def\tabu@temp{#3}% - \ifx \tabu@temp\@empty \toks@\expandafter{\the\toks@ #2\end }% - \else \ifx\tabu@temp\tabu@@spxiii \toks@\expandafter{\the\toks@ #2\end #3}% - \else \ifx\tabu@temp\tabu@X \toks@\expandafter{\the\toks@ #2\end #3}% - \else \toks@\expandafter{\the\toks@ #2\end{#3}}% - \fi\fi\fi - \fi - \tabu@collectbody{#1}% -}% \tabu@collectbody -\long\def\tabu@pushbegins#1\begin#2{\ifx\end#2\else b\expandafter\tabu@pushbegins\fi}% -\def\tabu@endofcollect #1{\ifnum0=`{}\fi - \expandafter\endgroup \the\toks@ #1% -}% \tabu@endofcollect -%% The trials: switching between strategies ------------------------- -\def\tabu@strategy {\relax % stops \count@ assignment ! - \ifcase\count@ % case 0 = print with vertical adjustment (outer is finished) - \expandafter \tabu@endoftrials - \or % case 1 = exit in vertical measure (outer in mode 3) - \expandafter\xdef\csname tabu@\the\tabu@nested.T\endcsname{\the\tabu@target}% - \expandafter\xdef\csname tabu@\the\tabu@nested.X\endcsname{\the\tabucolX}% - \expandafter \tabu@endoftrials - \or % case 2 = exit with a rule replacing the table (outer in mode 4) - \expandafter \tabu@quickend - \or % case 3 = outer is in mode 3 because of no X - \begingroup - \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}% - \def\tabu@cellralign{\tabu@verticalspacing}% - \expandafter \tabu@measuring - \else % case 4 = horizontal measure - \begingroup - \global\let\tabu@elapsedtime \tabu@message@etime - \long\def\multicolumn##1##2##3{\multispan{##1}}% - \let\tabu@startpboxORI \@startpbox - \iftabu@spread - \def\tabu@naturalXmax {\z@}% - \let\tabu@naturalXmin \tabu@naturalXmax - \tabu@evr{\global\tabu@naturalX \z@}% - \let\@startpbox \tabu@startpboxmeasure - \else\iftabu@negcoef - \let\@startpbox \tabu@startpboxmeasure - \else \let\@startpbox \tabu@startpboxquick - \fi\fi - \expandafter \tabu@measuring - \fi -}% \tabu@strategy -\def\tabu@measuring{\expandafter \tabu@trial \expandafter - \count@ \the\count@ \tabu@endtrial -}% \tabu@measuring -\def\tabu@trial{\iftabu@long \tabu@longtrial \else \tabu@shorttrial \fi} -\def\tabu@shorttrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr - \ifx \tabu@savecounters\relax \else - \let\tabu@savecounters \relax \tabu@clckpt \fi - $\iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi - \expandafter{\expandafter \tabuthepreamble - \the\tabu@thebody - \csname tabu@adl@endtrial\endcsname - \endarray}$\egroup % got \tabu@box -}% \tabu@shorttrial -\def\tabu@longtrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr - \ifx \tabu@savecounters\relax \else - \let\tabu@savecounters \relax \tabu@clckpt \fi - \iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi - \expandafter{\expandafter \tabuthepreamble - \the\tabu@thebody - \tabuendlongtrial}\egroup % got \tabu@box -}% \tabu@longtrial -\def\tabuendlongtrial{% no @ allowed for \scantokens - \LT@echunk \global\setbox\@ne \hbox{\unhbox\@ne}\kern\wd\@ne - \LT@get@widths -}% \tabuendlongtrial -\def\tabu@adl@endtrial{% - \crcr \noalign{\global\adl@ncol \tabu@nbcols}}% anything global is crap, junky and fails ! -\def\tabu@seteverycr {\tabu@reset - \everycr \expandafter{\the\everycr \tabu@everycr}% - \let\everycr \tabu@noeverycr % -}% \tabu@seteverycr -\def\tabu@noeverycr{{\aftergroup\tabu@restoreeverycr \afterassignment}\toks@} -\def\tabu@restoreeverycr {\let\everycr \tabu@@everycr} -\def\tabu@everycr {\iftabu@everyrow \noalign{\tabu@everyrow}\fi} -\def\tabu@endoftrials {% - \iftabuscantokens \expandafter\@firstoftwo - \else \expandafter\@secondoftwo - \fi - {\expandafter \tabu@closetrialsgroup \expandafter - \tabu@rescan \expandafter{% - \expandafter\tabuthepreamble - \the\expandafter\tabu@thebody - \iftabu@long \else \endarray \fi}} - {\expandafter\tabu@closetrialsgroup \expandafter - \tabuthepreamble - \the\tabu@thebody}% - \tabu@endenvir % Finish ! -}% \tabu@endoftrials -\def\tabu@closetrialsgroup {% - \toks@\expandafter{\tabu@endenvir}% - \edef\tabu@bufferX{\endgroup - \tabucolX \the\tabucolX - \tabu@target \the\tabu@target - \tabu@cnt \the\tabu@cnt - \def\noexpand\tabu@endenvir{\the\toks@}% - %Quid de \@halignto = \tabu@halignto ?? - }% \tabu@bufferX - \tabu@bufferX - \ifcase\tabu@nested % print out (outer in mode 0) - \global\tabu@cnt \tabu@cnt - \tabu@evr{\tabu@verticaldynamicadjustment}% - \tabu@celllalign@def{\everypar{}}\let\tabu@cellralign \@empty - \let\@finalstrut \tabu@finalstrut - \else % vertical measure of nested tabu - \tabu@evr{\tabu@verticalinit}% - \tabu@celllalign@def{\tabu@verticalmeasure}% - \def\tabu@cellralign{\tabu@verticalspacing}% - \fi - \tabu@clckpt \let\@halignto \tabu@halignto - \let\@halignto \@empty - \tabu@seteverycr - \ifdim \tabustrutrule>\z@ \ifnum\tabu@nested=\z@ - \setbox\@arstrutbox \box\voidb@x % force \@arstrutbox to be rebuilt (visible struts) - \fi\fi -}% \tabu@closetrialsgroup -\def\tabu@quickend {\expandafter \endgroup \expandafter - \tabu@target \the\tabu@target \tabu@quickrule - \let\endarray \relax \tabu@endenvir -}% \tabu@quickend -\def\tabu@endtrial {\relax % stops \count@ assignment ! - \ifcase \count@ \tabu@err % case 0 = impossible here - \or \tabu@err % case 1 = impossible here - \or \tabu@err % case 2 = impossible here - \or % case 3 = outer goes into mode 0 - \def\tabu@bufferX{\endgroup}\count@ \z@ - \else % case 4 = outer goes into mode 3 - \iftabu@spread \tabu@spreadarith % inner into mode 1 (outer in mode 3) - \else \tabu@arith % or 2 (outer in mode 4) - \fi - \count@=% - \ifcase\tabu@nested \thr@@ % outer goes into mode 3 - \else\iftabu@measuring \tw@ % outer is in mode 4 - \else \@ne % outer is in mode 3 - \fi\fi - \edef\tabu@bufferX{\endgroup - \tabucolX \the\tabucolX - \tabu@target \the\tabu@target}% - \fi - \expandafter \tabu@bufferX \expandafter - \count@ \the\count@ \tabu@strategy -}% \tabu@endtrial -\def\tabu@err{\errmessage{(tabu) Internal impossible error! (\count@=\the\count@)}} -%% The algorithms: compute the widths / stop or go on --------------- -\def\tabu@arithnegcoef {% - \@tempdima \z@ \dimen@ \z@ \let\tabu@ \tabu@arith@negcoef \tabu@Xcoefs -}% \tabu@arithnegcoef -\def\tabu@arith@negcoef #1#2{% - \ifdim #2\p@>\z@ \advance\dimen@ #2\p@ % saturated by definition - \advance\@tempdima #2\tabucolX - \else - \ifdim -#2\tabucolX <\tabu@wd{#1}% c_i X < natural width <= \tabu@target-> saturated - \advance\dimen@ -#2\p@ - \advance\@tempdima -#2\tabucolX - \else - \advance\@tempdima \tabu@wd{#1}% natural width <= c_i X => neutralised - \ifdim \tabu@wd{#1}<\tabu@target \else % neutralised - \advance\dimen@ -#2\p@ % saturated (natural width = tabu@target) - \fi - \fi - \fi -}% \tabu@arith@negcoef -\def\tabu@givespace #1#2{% here \tabu@DELTA < \z@ - \ifdim \@tempdima=\z@ - \tabu@wddef{#1}{\the\dimexpr -\tabu@DELTA*\p@/\tabu@Xsum}% - \else - \tabu@wddef{#1}{\the\dimexpr \tabu@hsize{#1}{#2} - *(\p@ -\tabu@DELTA*\p@/\@tempdima)/\p@\relax}% - \fi -}% \tabu@givespace -\def\tabu@arith {\advance\tabu@cnt \@ne - \ifnum \tabu@cnt=\@ne \tabu@message{\tabu@titles}\fi - \tabu@arithnegcoef - \@tempdimb \dimexpr \wd\tabu@box -\@tempdima \relax % - \tabu@DELTA = \dimexpr \wd\tabu@box - \tabu@target \relax - \tabu@message{\tabu@message@arith}% - \ifdim \tabu@DELTA <\tabu@hfuzz - \ifdim \tabu@DELTA<\z@ % wd (tabu)<\tabu@target ? - \let\tabu@ \tabu@givespace \tabu@Xcoefs - \advance\@tempdima \@tempdimb \advance\@tempdima -\tabu@DELTA % for message - \else % already converged: nothing to do but nearly impossible... - \fi - \tabucolX \maxdimen - \tabu@measuringfalse - \else % need for narrower X columns - \tabucolX =\dimexpr (\@tempdima -\tabu@DELTA) *\p@/\tabu@Xsum \relax - \tabu@measuringtrue - \@whilesw \iftabu@measuring\fi {% - \advance\tabu@cnt \@ne - \tabu@arithnegcoef - \tabu@DELTA =\dimexpr \@tempdima+\@tempdimb -\tabu@target \relax % always < 0 here - \tabu@message{\tabu@header - \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@ - \tabu@msgalign \@tempdima+\@tempdimb { }{ }{ }{ }{ }\@@ - \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@ - \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@ - \ifdim -\tabu@DELTA<\tabu@hfuzz \tabu@spaces target ok\else - \tabu@msgalign \dimexpr -\tabu@DELTA *\p@/\dimen@ {}{}{}{}{}\@@ - \fi}% - \ifdim -\tabu@DELTA<\tabu@hfuzz - \advance\@tempdima \@tempdimb % for message - \tabu@measuringfalse - \else - \advance\tabucolX \dimexpr -\tabu@DELTA *\p@/\dimen@ \relax - \fi - }% - \fi - \tabu@message{\tabu@message@reached}% - \edef\tabu@bufferX{\endgroup \tabu@cnt \the\tabu@cnt - \tabucolX \the\tabucolX - \tabu@target \the\tabu@target}% -}% \tabu@arith -\def\tabu@spreadarith {% - \dimen@ \z@ \@tempdima \tabu@naturalXmax \let\tabu@ \tabu@spread@arith \tabu@Xcoefs - \edef\tabu@naturalXmin {\the\dimexpr\tabu@naturalXmin*\dimen@/\p@}% - \@tempdimc =\dimexpr \wd\tabu@box -\tabu@naturalXmax+\tabu@naturalXmin \relax - \iftabu@measuring - \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax - \edef\tabu@bufferX{\endgroup \tabucolX \the\tabucolX \tabu@target\the\tabu@target}% - \else - \tabu@message{\tabu@message@spreadarith}% - \ifdim \dimexpr \@tempdimc+\tabu@spreadtarget >\tabu@target - \tabu@message{(tabu) spread - \ifdim \@tempdimc>\tabu@target useless here: default target used% - \else too large: reduced to fit default target\fi.}% - \else - \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax - \tabu@message{(tabu) spread: New target set to \the\tabu@target^^J}% - \fi - \begingroup \let\tabu@wddef \@gobbletwo - \@tempdimb \@tempdima - \tabucolX@init - \tabu@arithnegcoef - \wd\tabu@box =\dimexpr \wd\tabu@box +\@tempdima-\@tempdimb \relax - \expandafter\endgroup \expandafter\tabucolX \the\tabucolX - \tabu@arith - \fi -}% \tabu@spreadarith -\def\tabu@spread@arith #1#2{% - \ifdim #2\p@>\z@ \advance\dimen@ #2\p@ - \else \advance\@tempdima \tabu@wd{#1}\relax - \fi -}% \tabu@spread@arith -%% Reporting in the .log file --------------------------------------- -\def\tabu@message@defaulttarget{% - \ifnum\tabu@nested=\z@^^J(tabu) Default target: - \ifx\tabudefaulttarget\linewidth \string\linewidth - \ifdim \tabu@thetarget=\linewidth \else - -\the\dimexpr\linewidth-\tabu@thetarget\fi = - \else\ifx\tabudefaulttarget\linegoal\string\linegoal= - \fi\fi - \else (tabu) Default target (nested): \fi - \the\tabu@target \on@line - \ifnum\tabu@nested=\z@ , page \the\c@page\fi} -\def\tabu@message@target {^^J(tabu) Target specified: - \the\tabu@target \on@line, page \the\c@page} -\def\tabu@message@arith {\tabu@header - \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@ - \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{ }\@@ - \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@ - \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@ - \ifdim \tabu@DELTA<\tabu@hfuzz giving space\else - \tabu@msgalign \dimexpr (\@tempdima-\tabu@DELTA) *\p@/\tabu@Xsum -\tabucolX {}{}{}{}{}\@@ - \fi -}% \tabu@message@arith -\def\tabu@message@spreadarith {\tabu@spreadheader - \tabu@msgalign \tabu@spreadtarget { }{ }{ }{ }{}\@@ - \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{}\@@ - \tabu@msgalign -\tabu@naturalXmax { }{}{}{}{}\@@ - \tabu@msgalign \tabu@naturalXmin { }{ }{ }{ }{}\@@ - \tabu@msgalign \ifdim \dimexpr\@tempdimc>\tabu@target \tabu@target - \else \@tempdimc+\tabu@spreadtarget \fi - {}{}{}{}{}\@@} -\def\tabu@message@negcoef #1#2{ - \tabu@spaces\tabu@spaces\space * #1. X[\rem@pt#2]: - \space width = \tabu@wd {#1} - \expandafter\string\csname tabu@\the\tabu@nested.W\number#1\endcsname - \ifdim -\tabu@pt#2\tabucolX<\tabu@target - < \number-\rem@pt#2 X - = \the\dimexpr -\tabu@pt#2\tabucolX \relax - \else - <= \the\tabu@target\space < \number-\rem@pt#2 X\fi} -\def\tabu@message@reached{\tabu@header - ******* Reached Target: - hfuzz = \tabu@hfuzz\on@line\space *******} -\def\tabu@message@etime{\edef\tabu@stoptime{\the\pdfelapsedtime}% - \tabu@message{(tabu)\tabu@spaces Time elapsed during measure: - \the\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax sec - \the\numexpr\numexpr(\tabu@stoptime-\tabu@starttime) - -\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax*65536\relax - *1000/65536\relax ms \tabu@spaces(\the\tabu@cnt\space - cycle\ifnum\tabu@cnt>\@ne s\fi)^^J^^J}} -\def\tabu@message@verticalsp {% - \ifdim \@tempdima>\tabu@ht - \ifdim \@tempdimb>\tabu@dp - \expandafter\expandafter\expandafter\string\tabu@ht = - \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@ - \expandafter\expandafter\expandafter\string\tabu@dp = - \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J% - \else - \expandafter\expandafter\expandafter\string\tabu@ht = - \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@^^J% - \fi - \else\ifdim \@tempdimb>\tabu@dp - \tabu@spaces\tabu@spaces\tabu@spaces - \expandafter\expandafter\expandafter\string\tabu@dp = - \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J\fi - \fi -}% \tabu@message@verticalsp -\edef\tabu@spaces{\@spaces} -\def\tabu@strippt{\expandafter\tabu@pt\the} -{\@makeother\P \@makeother\T\lowercase{\gdef\tabu@pt #1PT{#1}}} -\def\tabu@msgalign{\expandafter\tabu@msg@align\the\dimexpr} -\def\tabu@msgalign@PT{\expandafter\tabu@msg@align\romannumeral-`\0\tabu@strippt} -\def\do #1{% - \def\tabu@msg@align##1.##2##3##4##5##6##7##8##9\@@{% - \ifnum##1<10 #1 #1\else - \ifnum##1<100 #1 \else - \ifnum##1<\@m #1\fi\fi\fi - ##1.##2##3##4##5##6##7##8#1}% - \def\tabu@header{(tabu) \ifnum\tabu@cnt<10 #1\fi\the\tabu@cnt) }% - \def\tabu@titles{\ifnum \tabu@nested=\z@ - (tabu) Try#1 #1 tabu X #1 #1 #1tabu Width #1 #1 Target - #1 #1 #1 Coefs #1 #1 #1 Update^^J\fi}% - \def\tabu@spreadheader{% - (tabu) Try#1 #1 Spread #1 #1 tabu Width #1 #1 #1 Nat. X #1 #1 #1 #1Nat. Min. - #1 New Target^^J% - (tabu) sprd} - \def\tabu@message@save {\begingroup - \def\x ####1{\tabu@msg@align ####1{ }{ }{ }{ }{}\@@} - \def\z ####1{\expandafter\x\expandafter{\romannumeral-`\0\tabu@strippt - \dimexpr####1\p@{ }{ }}}% - \let\color \relax \def\tabu@rulesstyle ####1####2{\detokenize{####1}}% - \let\CT@arc@ \relax \let\@preamble \@gobble - \let\tabu@savedpream \@firstofone - \let\tabu@savedparams \@firstofone - \def\tabu@target ####1\relax {(tabu) target #1 #1 #1 #1 #1 = \x{####1}^^J}% - \def\tabucolX ####1\relax {(tabu) X columns width#1 = \x{####1}^^J}% - \def\tabu@nbcols ####1\relax {(tabu) Number of columns: \z{####1}^^J}% - \def\tabu@aligndefault ####1{(tabu) Default alignment: #1 #1 ####1^^J}% - \def\col@sep ####1\relax {(tabu) column sep #1 #1 #1 = \x{####1}^^J}% - \def\arrayrulewidth ####1\relax{(tabu) arrayrulewidth #1 = \x{####1}}% - \def\doublerulesep ####1\relax { doublerulesep = \x{####1}^^J}% - \def\extratabsurround####1\relax{(tabu) extratabsurround = \x{####1}^^J}% - \def\extrarowheight ####1\relax{(tabu) extrarowheight #1 = \x{####1}}% - \def\extrarowdepth ####1\relax {extrarowdepth = \x{####1}^^J}% - \def\abovetabulinesep####1\relax{(tabu) abovetabulinesep=\x{####1} }% - \def\belowtabulinesep####1\relax{ belowtabulinesep=\x{####1}^^J}% - \def\arraystretch ####1{(tabu) arraystretch #1 #1 = \z{####1}^^J}% - \def\minrowclearance####1\relax{(tabu) minrowclearance #1 = \x{####1}^^J}% - \def\tabu@arc@L ####1{(tabu) taburulecolor #1 #1 = ####1^^J}% - \def\tabu@drsc@L ####1{(tabu) tabudoublerulecolor= ####1^^J}% - \def\tabu@evr@L ####1{(tabu) everyrow #1 #1 #1 #1 = \detokenize{####1}^^J}% - \def\tabu@ls@L ####1{(tabu) line style = \detokenize{####1}^^J}% - \def\NC@find ####1\@nil{(tabu) tabu preamble#1 #1 = \detokenize{####1}^^J}% - \def\tabu@wddef####1####2{(tabu) Natural width ####1 = \x{####2}^^J}% - \let\edef \@gobbletwo \let\def \@empty \let\let \@gobbletwo - \tabu@message{% - (tabu) \string\savetabu{\tabu@temp}: \on@line^^J% - \tabu@usetabu \@nil^^J}% - \endgroup} -}\do{ } -%% Measuring the natural width (varwidth) - store the results ------- -\def\tabu@startpboxmeasure #1{\bgroup % entering \vtop - \edef\tabu@temp{\expandafter\@secondoftwo \ifx\tabu@hsize #1\else\relax\fi}% - \ifodd 1\ifx \tabu@temp\@empty 0 \else % starts with \tabu@hsize ? - \iftabu@spread \else % if spread -> measure - \ifdim \tabu@temp\p@>\z@ 0 \fi\fi\fi% if coef>0 -> do not measure - \let\@startpbox \tabu@startpboxORI % restore immediately (nesting) - \tabu@measuringtrue % for the quick option... - \tabu@Xcol =\expandafter\@firstoftwo\ifx\tabu@hsize #1\fi - \ifdim \tabu@temp\p@>\z@ \ifdim \tabu@temp\tabucolX<\tabu@target - \tabu@target=\tabu@temp\tabucolX \fi\fi - \setbox\tabu@box \hbox \bgroup - \begin{varwidth}\tabu@target - \let\FV@ListProcessLine \tabu@FV@ListProcessLine % \hbox to natural width... - \narrowragged \arraybackslash \parfillskip \@flushglue - \ifdefined\pdfadjustspacing \pdfadjustspacing\z@ \fi - \bgroup \aftergroup\tabu@endpboxmeasure - \ifdefined \cellspacetoplimit \tabu@cellspacepatch \fi - \else \expandafter\@gobble - \tabu@startpboxquick{#1}% \@gobble \bgroup - \fi -}% \tabu@startpboxmeasure -\def\tabu@cellspacepatch{\def\bcolumn##1\@nil{}\let\ecolumn\@empty - \bgroup\color@begingroup} -\def\tabu@endpboxmeasure {% - \@finalstrut \@arstrutbox - \end{varwidth}\egroup % - \ifdim \tabu@temp\p@ <\z@ % neg coef - \ifdim \tabu@wd\tabu@Xcol <\wd\tabu@box - \tabu@wddef\tabu@Xcol {\the\wd\tabu@box}% - \tabu@debug{\tabu@message@endpboxmeasure}% - \fi - \else % spread coef>0 - \global\advance \tabu@naturalX \wd\tabu@box - \@tempdima =\dimexpr \wd\tabu@box *\p@/\dimexpr \tabu@temp\p@\relax \relax - \ifdim \tabu@naturalXmax <\tabu@naturalX - \xdef\tabu@naturalXmax {\the\tabu@naturalX}\fi - \ifdim \tabu@naturalXmin <\@tempdima - \xdef\tabu@naturalXmin {\the\@tempdima}\fi - \fi - \box\tabu@box \egroup % end of \vtop (measure) restore \tabu@target -}% \tabu@endpboxmeasure -\def\tabu@wddef #1{\expandafter\xdef - \csname tabu@\the\tabu@nested.W\number#1\endcsname} -\def\tabu@wd #1{\csname tabu@\the\tabu@nested.W\number#1\endcsname} -\def\tabu@message@endpboxmeasure{\tabu@spaces\tabu@spaces<-> % <-> save natural wd - \the\tabu@Xcol. X[\tabu@temp]: - target = \the\tabucolX \space - \expandafter\expandafter\expandafter\string\tabu@wd\tabu@Xcol - =\tabu@wd\tabu@Xcol -}% \tabu@message@endpboxmeasure -\def\tabu@startpboxquick {\bgroup - \let\@startpbox \tabu@startpboxORI % restore immediately - \let\tabu \tabu@quick % \begin is expanded before... - \expandafter\@gobble \@startpbox % gobbles \bgroup -}% \tabu@startpboxquick -\def\tabu@quick {\begingroup \iffalse{\fi \ifnum0=`}\fi - \toks@{}\def\tabu@stack{b}\tabu@collectbody \tabu@endquick -}% \tabu@quick -\def\tabu@endquick {% - \ifodd 1\ifx\tabu@end@envir\tabu@endtabu \else - \ifx\tabu@end@envir\tabu@endtabus \else 0\fi\fi\relax - \endgroup - \else \let\endtabu \relax - \tabu@end@envir - \fi -}% \tabu@quick -\def\tabu@endtabu {\end{tabu}} -\def\tabu@endtabus {\end{tabu*}} -%% Measuring the heights and depths - store the results ------------- -\def\tabu@verticalmeasure{\everypar{}% - \ifnum \currentgrouptype>12 % 14=semi-simple, 15=math shift group - \setbox\tabu@box =\hbox\bgroup - \let\tabu@verticalspacing \tabu@verticalsp@lcr - \d@llarbegin % after \hbox ... - \else - \edef\tabu@temp{\ifnum\currentgrouptype=5\vtop - \else\ifnum\currentgrouptype=12\vcenter - \else\vbox\fi\fi}% - \setbox\tabu@box \hbox\bgroup$\tabu@temp \bgroup - \let\tabu@verticalspacing \tabu@verticalsp@pmb - \fi -}% \tabu@verticalmeasure -\def\tabu@verticalsp@lcr{% - \d@llarend \egroup % - \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep - \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax - \ifdim\tabustrutrule>\z@ \tabu@debug{\tabu@message@verticalsp}\fi - \ifdim \tabu@ht<\@tempdima \tabu@htdef{\the\@tempdima}\fi - \ifdim \tabu@dp<\@tempdimb \tabu@dpdef{\the\@tempdimb}\fi - \noindent\vrule height\@tempdima depth\@tempdimb -}% \tabu@verticalsp@lcr -\def\tabu@verticalsp@pmb{% inserts struts as needed - \par \expandafter\egroup - \expandafter$\expandafter - \egroup \expandafter - \@tempdimc \the\prevdepth - \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep - \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax - \ifdim\tabustrutrule>\z@ \tabu@debug{\tabu@message@verticalsp}\fi - \ifdim \tabu@ht<\@tempdima \tabu@htdef{\the\@tempdima}\fi - \ifdim \tabu@dp<\@tempdimb \tabu@dpdef{\the\@tempdimb}\fi - \let\@finalstrut \@gobble - \hrule height\@tempdima depth\@tempdimb width\hsize -%% \box\tabu@box -}% \tabu@verticalsp@pmb - -\def\tabu@verticalinit{% - \ifnum \c@taburow=\z@ \tabu@rearstrut \fi % after \tabu@reset ! - \advance\c@taburow \@ne - \tabu@htdef{\the\ht\@arstrutbox}\tabu@dpdef{\the\dp\@arstrutbox}% - \advance\c@taburow \m@ne -}% \tabu@verticalinit -\def\tabu@htdef {\expandafter\xdef \csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname} -\def\tabu@ht {\csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname} -\def\tabu@dpdef {\expandafter\xdef \csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname} -\def\tabu@dp {\csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname} -\def\tabu@verticaldynamicadjustment {% - \advance\c@taburow \@ne - \extrarowheight \dimexpr\tabu@ht - \ht\strutbox - \extrarowdepth \dimexpr\tabu@dp - \dp\strutbox - \let\arraystretch \@empty - \advance\c@taburow \m@ne -}% \tabu@verticaldynamicadjustment -\def\tabuphantomline{\crcr \noalign{% - {\globaldefs \@ne - \setbox\@arstrutbox \box\voidb@x - \let\tabu@@celllalign \tabu@celllalign - \let\tabu@@cellralign \tabu@cellralign - \let\tabu@@cellleft \tabu@cellleft - \let\tabu@@cellright \tabu@cellright - \let\tabu@@thevline \tabu@thevline - \let\tabu@celllalign \@empty - \let\tabu@cellralign \@empty - \let\tabu@cellright \@empty - \let\tabu@cellleft \@empty - \let\tabu@thevline \relax}% - \edef\tabu@temp{\tabu@multispan \tabu@nbcols{\noindent &}}% - \toks@\expandafter{\tabu@temp \noindent\tabu@everyrowfalse \cr - \noalign{\tabu@rearstrut - {\globaldefs\@ne - \let\tabu@celllalign \tabu@@celllalign - \let\tabu@cellralign \tabu@@cellralign - \let\tabu@cellleft \tabu@@cellleft - \let\tabu@cellright \tabu@@cellright - \let\tabu@thevline \tabu@@thevline}}}% - \expandafter}\the\toks@ -}% \tabuphantomline -%% \firsthline and \lasthline corrections --------------------------- -\def\tabu@firstline {\tabu@hlineAZ \tabu@firsthlinecorrection {}} -\def\tabu@firsthline{\tabu@hlineAZ \tabu@firsthlinecorrection \hline} -\def\tabu@lastline {\tabu@hlineAZ \tabu@lasthlinecorrection {}} -\def\tabu@lasthline {\tabu@hlineAZ \tabu@lasthlinecorrection \hline} -\def\tabu@hline {% replaces \hline if no colortbl (see \AtBeginDocument) - \noalign{\ifnum0=`}\fi - {\CT@arc@\hrule height\arrayrulewidth}% - \futurelet \tabu@temp \tabu@xhline -}% \tabu@hline -\def\tabu@xhline{% - \ifx \tabu@temp \hline - {\ifx \CT@drsc@\relax \vskip - \else\ifx \CT@drsc@\@empty \vskip - \else \CT@drsc@\hrule height - \fi\fi - \doublerulesep}% - \fi - \ifnum0=`{\fi}% -}% \tabu@xhline -\def\tabu@hlineAZ #1#2{\noalign{\ifnum0=`}\fi \dimen@ \z@ \count@ \z@ - \toks@{}\def\tabu@hlinecorrection{#1}\def\tabu@temp{#2}% - \tabu@hlineAZsurround -}% \tabu@hlineAZ -\newcommand*\tabu@hlineAZsurround[1][\extratabsurround]{% - \extratabsurround #1\let\tabucline \tabucline@scan - \let\hline \tabu@hlinescan \let\firsthline \hline - \let\cline \tabu@clinescan \let\lasthline \hline - \expandafter \futurelet \expandafter \tabu@temp - \expandafter \tabu@nexthlineAZ \tabu@temp -}% \tabu@hlineAZsurround -\def\tabu@hlinescan {\tabu@thick \arrayrulewidth \tabu@xhlineAZ \hline} -\def\tabu@clinescan #1{\tabu@thick \arrayrulewidth \tabu@xhlineAZ {\cline{#1}}} -\def\tabucline@scan{\@testopt \tabucline@sc@n {}} -\def\tabucline@sc@n #1[#2]{\tabu@xhlineAZ {\tabucline[{#1}]{#2}}} -\def\tabu@nexthlineAZ{% - \ifx \tabu@temp\hline \else - \ifx \tabu@temp\cline \else - \ifx \tabu@temp\tabucline \else - \tabu@hlinecorrection - \fi\fi\fi -}% \tabu@nexthlineAZ -\def\tabu@xhlineAZ #1{% - \toks@\expandafter{\the\toks@ #1}% - \@tempdimc \tabu@thick % The last line width - \ifcase\count@ \@tempdimb \tabu@thick % The first line width - \else \advance\dimen@ \dimexpr \tabu@thick+\doublerulesep \relax - \fi - \advance\count@ \@ne \futurelet \tabu@temp \tabu@nexthlineAZ -}% \tabu@xhlineAZ -\def\tabu@firsthlinecorrection{% \count@ = number of \hline -1 - \@tempdima \dimexpr \ht\@arstrutbox+\dimen@ - \edef\firsthline{% - \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule - height \the\dimexpr\@tempdima+\extratabsurround - depth \dp\@arstrutbox - width \tabustrutrule}\hss}\cr - \noalign{\vskip -\the\dimexpr \@tempdima+\@tempdimb - +\dp\@arstrutbox \relax}% - \the\toks@ - }\ifnum0=`{\fi - \expandafter}\firsthline % we are then ! -}% \tabu@firsthlinecorrection -\def\tabu@lasthlinecorrection{% - \@tempdima \dimexpr \dp\@arstrutbox+\dimen@+\@tempdimb+\@tempdimc - \edef\lasthline{% - \the\toks@ - \noalign{\vskip -\the\dimexpr\dimen@+\@tempdimb+\dp\@arstrutbox}% - \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule - depth \the\dimexpr \dp\@arstrutbox+\@tempdimb+\dimen@ - +\extratabsurround-\@tempdimc - height \z@ - width \tabustrutrule}\hss}\cr - }\ifnum0=`{\fi - \expandafter}\lasthline % we are then ! -}% \tabu@lasthlinecorrection -\def\tabu@LT@@hline{% - \ifx\LT@next\hline - \global\let\LT@next \@gobble - \ifx \CT@drsc@\relax - \gdef\CT@LT@sep{% - \noalign{\penalty-\@medpenalty\vskip\doublerulesep}}% - \else - \gdef\CT@LT@sep{% - \multispan\LT@cols{% - \CT@drsc@\leaders\hrule\@height\doublerulesep\hfill}\cr}% - \fi - \else - \global\let\LT@next\empty - \gdef\CT@LT@sep{% - \noalign{\penalty-\@lowpenalty\vskip-\arrayrulewidth}}% - \fi - \ifnum0=`{\fi}% - \multispan\LT@cols - {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr - \CT@LT@sep - \multispan\LT@cols - {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr - \noalign{\penalty\@M}% - \LT@next -}% \tabu@LT@@hline -%% Horizontal lines : \tabucline ------------------------------------ -\let\tabu@start \@tempcnta -\let\tabu@stop \@tempcntb -\newcommand*\tabucline{\noalign{\ifnum0=`}\fi \tabu@cline} -\newcommand*\tabu@cline[2][]{\tabu@startstop{#2}% - \ifnum \tabu@stop<\z@ \toks@{}% - \else \tabu@clinearg{#1}\tabu@thestyle - \edef\tabucline{\toks@{% - \ifnum \tabu@start>\z@ \omit - \tabu@multispan\tabu@start {\span\omit}&\fi - \omit \tabu@multispan\tabu@stop {\span\omit}% - \tabu@thehline\cr - }}\tabucline - \tabu@tracinglines{(tabu:tabucline) Style: #1^^J\the\toks@^^J^^J}% - \fi - \futurelet \tabu@temp \tabu@xcline -}% \tabu@cline -\def\tabu@clinearg #1{% - \ifx\\#1\\\let\tabu@thestyle \tabu@ls@ - \else \@defaultunits \expandafter\let\expandafter\@tempa - \romannumeral-`\0#1\relax \@nnil - \ifx \hbox\@tempa \tabu@clinebox{#1}% - \else\ifx \box\@tempa \tabu@clinebox{#1}% - \else\ifx \vbox\@tempa \tabu@clinebox{#1}% - \else\ifx \vtop\@tempa \tabu@clinebox{#1}% - \else\ifx \copy\@tempa \tabu@clinebox{#1}% - \else\ifx \leaders\@tempa \tabu@clineleads{#1}% - \else\ifx \cleaders\@tempa \tabu@clineleads{#1}% - \else\ifx \xleaders\@tempa \tabu@clineleads{#1}% - \else\tabu@getline {#1}% - \fi\fi\fi\fi\fi\fi\fi\fi - \fi -}% \tabu@clinearg -\def\tabu@clinebox #1{\tabu@clineleads{\xleaders#1\hss}} -\def\tabu@clineleads #1{% - \let\tabu@thestyle \relax \let\tabu@leaders \@undefined - \gdef\tabu@thehrule{#1}} -\def\tabu@thehline{\begingroup - \ifdefined\tabu@leaders - \noexpand\tabu@thehleaders - \else \noexpand\tabu@thehrule - \fi \endgroup -}% \tabu@thehline -\def\tabu@xcline{% - \ifx \tabu@temp\tabucline - \toks@\expandafter{\the\toks@ \noalign - {\ifx\CT@drsc@\relax \vskip - \else \CT@drsc@\hrule height - \fi - \doublerulesep}}% - \fi - \tabu@docline -}% \tabu@xcline -\def\tabu@docline {\ifnum0=`{\fi \expandafter}\the\toks@} -\def\tabu@docline@evr {\xdef\tabu@doclineafter{\the\toks@}% - \ifnum0=`{\fi}\aftergroup\tabu@doclineafter} -\def\tabu@multispan #1#2{% - \ifnum\numexpr#1>\@ne #2\expandafter\tabu@multispan - \else \expandafter\@gobbletwo - \fi {#1-1}{#2}% -}% \tabu@multispan -\def\tabu@startstop #1{\tabu@start@stop #1\relax 1-\tabu@nbcols \@nnil} -\def\tabu@start@stop #1-#2\@nnil{% - \@defaultunits \tabu@start\number 0#1\relax \@nnil - \@defaultunits \tabu@stop \number 0#2\relax \@nnil - \tabu@stop \ifnum \tabu@start>\tabu@nbcols \m@ne - \else\ifnum \tabu@stop=\z@ \tabu@nbcols - \else\ifnum \tabu@stop>\tabu@nbcols \tabu@nbcols - \else \tabu@stop - \fi\fi\fi - \advance\tabu@start \m@ne - \ifnum \tabu@start>\z@ \advance\tabu@stop -\tabu@start \fi -}% \tabu@start@stop -%% Numbers: siunitx S columns (and \tabudecimal) ------------------- -\def\tabu@tabudecimal #1{% - \def\tabu@decimal{#1}\@temptokena{}% - \let\tabu@getdecimal@ \tabu@getdecimal@ignorespaces - \tabu@scandecimal -}% \tabu@tabudecimal -\def\tabu@scandecimal{\futurelet \tabu@temp \tabu@getdecimal@} -\def\tabu@skipdecimal#1{#1\tabu@scandecimal} -\def\tabu@getdecimal@ignorespaces{% - \ifcase 0\ifx\tabu@temp\ignorespaces\else - \ifx\tabu@temp\@sptoken1\else - 2\fi\fi\relax - \let\tabu@getdecimal@ \tabu@getdecimal - \expandafter\tabu@skipdecimal - \or \expandafter\tabu@gobblespace\expandafter\tabu@scandecimal - \else \expandafter\tabu@skipdecimal - \fi -}% \tabu@getdecimal@ignorespaces -\def\tabu@get@decimal#1{\@temptokena\expandafter{\the\@temptokena #1}% - \tabu@scandecimal} -\def\do#1{% - \def\tabu@get@decimalspace#1{% - \@temptokena\expandafter{\the\@temptokena #1}\tabu@scandecimal}% -}\do{ } -\let\tabu@@tabudecimal \tabu@tabudecimal -\def\tabu@getdecimal{% - \ifcase 0\ifx 0\tabu@temp\else - \ifx 1\tabu@temp\else - \ifx 2\tabu@temp\else - \ifx 3\tabu@temp\else - \ifx 4\tabu@temp\else - \ifx 5\tabu@temp\else - \ifx 6\tabu@temp\else - \ifx 7\tabu@temp\else - \ifx 8\tabu@temp\else - \ifx 9\tabu@temp\else - \ifx .\tabu@temp\else - \ifx ,\tabu@temp\else - \ifx -\tabu@temp\else - \ifx +\tabu@temp\else - \ifx e\tabu@temp\else - \ifx E\tabu@temp\else - \ifx\tabu@cellleft\tabu@temp1\else - \ifx\ignorespaces\tabu@temp1\else - \ifx\@sptoken\tabu@temp2\else - 3\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax - \expandafter\tabu@get@decimal - \or \expandafter\tabu@skipdecimal - \or \expandafter\tabu@get@decimalspace - \else\expandafter\tabu@printdecimal - \fi -}% \tabu@getdecimal -\def\tabu@printdecimal{% - \edef\tabu@temp{\the\@temptokena}% - \ifx\tabu@temp\@empty\else - \ifx\tabu@temp\space\else - \expandafter\tabu@decimal\expandafter{\the\@temptokena}% - \fi\fi -}% \tabu@printdecimal -%% Verbatim inside X columns ---------------------------------------- -\def\tabu@verbatim{% - \let\verb \tabu@verb - \let\FV@DefineCheckEnd \tabu@FV@DefineCheckEnd -}% \tabu@verbatim -\let\tabu@ltx@verb \verb -\def\tabu@verb{\@ifstar {\tabu@ltx@verb*} \tabu@ltx@verb} -\def\tabu@fancyvrb {% - \def\tabu@FV@DefineCheckEnd ##1{% - \def\tabu@FV@DefineCheckEnd{% - ##1% - \let\FV@CheckEnd \tabu@FV@CheckEnd - \let\FV@@CheckEnd \tabu@FV@@CheckEnd - \let\FV@@@CheckEnd \tabu@FV@@@CheckEnd - \edef\FV@EndScanning{% - \def\noexpand\next{\noexpand\end{\FV@EnvironName}}% - \global\let\noexpand\FV@EnvironName\relax - \noexpand\next}% - \xdef\FV@EnvironName{\detokenize\expandafter{\FV@EnvironName}}}% - }\expandafter\tabu@FV@DefineCheckEnd\expandafter{\FV@DefineCheckEnd} -}% \tabu@fancyvrb -\def\tabu@FV@CheckEnd #1{\expandafter\FV@@CheckEnd \detokenize{#1\end{}}\@nil} -\edef\tabu@FV@@@CheckEnd {\detokenize{\end{}}} -\begingroup -\catcode`\[1 \catcode`\]2 -\@makeother\{ \@makeother\} - \edef\x[\endgroup - \def\noexpand\tabu@FV@@CheckEnd ##1\detokenize[\end{]##2\detokenize[}]##3% - ]\x \@nil{\def\@tempa{#2}\def\@tempb{#3}} -\def\tabu@FV@ListProcessLine #1{% - \hbox {%to \hsize{% - \kern\leftmargin - \hbox {%to \linewidth{% - \FV@LeftListNumber - \FV@LeftListFrame - \FancyVerbFormatLine{#1}\hss -%% DG/SR modification begin - Jan. 28, 1998 (for numbers=right add-on) -%% \FV@RightListFrame}% - \FV@RightListFrame - \FV@RightListNumber}% -%% DG/SR modification end - \hss}} -%% \savetabu -------------------------------------------------------- -\newcommand*\savetabu[1]{\noalign{% - \tabu@sanitizearg{#1}\tabu@temp - \ifx \tabu@temp\@empty \tabu@savewarn{}{The tabu will not be saved}\else - \@ifundefined{tabu@saved@\tabu@temp}{}{\tabu@savewarn{#1}{Overwriting}}% - \ifdefined\tabu@restored \expandafter\let - \csname tabu@saved@\tabu@temp \endcsname \tabu@restored - \else {\tabu@save}% - \fi - \fi}% -}% \savetabu -\def\tabu@save {% - \toks0\expandafter{\tabu@saved@}% - \iftabu@negcoef - \let\tabu@wddef \relax \let\tabu@ \tabu@savewd \edef\tabu@savewd{\tabu@Xcoefs}% - \toks0\expandafter{\the\toks\expandafter0\tabu@savewd}\fi - \toks1\expandafter{\tabu@savedpream}% - \toks2\expandafter{\tabu@savedpreamble}% - \let\@preamble \relax - \let\tabu@savedpream \relax \let\tabu@savedparams \relax - \edef\tabu@preamble{% - \def\noexpand\tabu@aligndefault{\tabu@align}% - \def\tabu@savedparams {\noexpand\the\toks0}% - \def\tabu@savedpream {\noexpand\the\toks1}}% - \edef\tabu@usetabu{% - \def\@preamble {\noexpand\the\toks2}% - \tabu@target \the\tabu@target \relax - \tabucolX \the\tabucolX \relax - \tabu@nbcols \the\tabu@nbcols \relax - \def\noexpand\tabu@aligndefault{\tabu@align}% - \def\tabu@savedparams {\noexpand\the\toks0}% - \def\tabu@savedpream {\noexpand\the\toks1}}% - \let\tabu@aligndefault \relax \let\@sharp \relax - \edef\@tempa{\noexpand\tabu@s@ved - {\tabu@usetabu} - {\tabu@preamble} - {\the\toks1}}\@tempa - \tabu@message@save -}% \tabu@save -\long\def\tabu@s@ved #1#2#3{% - \def\tabu@usetabu{#1}% - \expandafter\gdef\csname tabu@saved@\tabu@temp\endcsname ##1{% - \ifodd ##1% \usetabu - \tabu@measuringfalse \tabu@spreadfalse % Just in case... - \gdef\tabu@usetabu {% - \ifdim \tabu@target>\z@ \tabu@warn@usetabu \fi - \global\let\tabu@usetabu \@undefined - \def\@halignto {to\tabu@target}% - #1% - \ifx \tabu@align\tabu@aligndefault@text - \ifnum \tabu@nested=\z@ - \let\tabu@align \tabu@aligndefault \fi\fi}% - \else % \preamble - \gdef\tabu@preamble {% - \global\let\tabu@preamble \@undefined - #2% - \ifx \tabu@align\tabu@aligndefault@text - \ifnum \tabu@nested=\z@ - \let\tabu@align \tabu@aligndefault \fi\fi}% - \fi - #3}% -}% \tabu@s@ved -\def\tabu@aligndefault@text {\tabu@aligndefault}% -\def\tabu@warn@usetabu {\PackageWarning{tabu} - {Specifying a target with \string\usetabu\space is useless - \MessageBreak The target cannot be changed!}} -\def\tabu@savewd #1#2{\ifdim #2\p@<\z@ \tabu@wddef{#1}{\tabu@wd{#1}}\fi} -\def\tabu@savewarn#1#2{\PackageInfo{tabu} - {User-name `#1' already used for \string\savetabu - \MessageBreak #2}}% -\def\tabu@saveerr#1{\PackageError{tabu} - {User-name `#1' is unknown for \string\usetabu - \MessageBreak I cannot restore an unknown preamble!}\@ehd} -%% \rowfont --------------------------------------------------------- -\newskip \tabu@cellskip -\def\tabu@rowfont{\ifdim \baselineskip=\z@\noalign\fi - {\ifnum0=`}\fi \tabu@row@font} -\newcommand*\tabu@row@font[2][]{% - \ifnum7=\currentgrouptype - \global\let\tabu@@cellleft \tabu@cellleft - \global\let\tabu@@cellright \tabu@cellright - \global\let\tabu@@celllalign \tabu@celllalign - \global\let\tabu@@cellralign \tabu@cellralign - \global\let\tabu@@rowfontreset\tabu@rowfontreset - \fi - \global\let\tabu@rowfontreset \tabu@rowfont@reset - \expandafter\gdef\expandafter\tabu@cellleft\expandafter{\tabu@cellleft #2}% - \ifcsname tabu@cell@#1\endcsname % row alignment - \csname tabu@cell@#1\endcsname \fi - \ifnum0=`{\fi}% end of group / noalign group -}% \rowfont -\def\tabu@ifcolorleavevmode #1{\let\color \tabu@leavevmodecolor #1\let\color\tabu@color}% -\def\tabu@rowfont@reset{% - \global\let\tabu@rowfontreset \tabu@@rowfontreset - \global\let\tabu@cellleft \tabu@@cellleft - \global\let\tabu@cellright \tabu@@cellright - \global\let\tabu@cellfont \@empty - \global\let\tabu@celllalign \tabu@@celllalign - \global\let\tabu@cellralign \tabu@@cellralign -}% \tabu@@rowfontreset -\let\tabu@rowfontreset \@empty % overwritten \AtBeginDocument if colortbl -%% \tabu@prepnext@tok ----------------------------------------------- -\newif \iftabu@cellright -\def\tabu@prepnext@tok{% - \ifnum \count@<\z@ % - \@tempcnta \@M % - \tabu@nbcols\z@ - \let\tabu@fornoopORI \@fornoop - \tabu@cellrightfalse - \else - \ifcase \numexpr \count@-\@tempcnta \relax % (case 0): prev. token is left - \advance \tabu@nbcols \@ne - \iftabu@cellright % before-previous token is right and is finished - \tabu@cellrightfalse % - \tabu@righttok - \fi - \tabu@lefttok - \or % (case 1) previous token is right - \tabu@cellrighttrue \let\@fornoop \tabu@lastnoop - \else % special column: do not change the token - \iftabu@cellright % before-previous token is right - \tabu@cellrightfalse - \tabu@righttok - \fi - \fi % \ifcase - \fi - \tabu@prepnext@tokORI -}% \tabu@prepnext@tok -\long\def\tabu@lastnoop#1\@@#2#3{\tabu@lastn@@p #2\@nextchar \in@\in@@} -\def\tabu@lastn@@p #1\@nextchar #2#3\in@@{% - \ifx \in@#2\else - \let\@fornoop \tabu@fornoopORI - \xdef\tabu@mkpreambuffer{\tabu@nbcols\the\tabu@nbcols \tabu@mkpreambuffer}% - \toks0\expandafter{\expandafter\tabu@everyrowtrue \the\toks0}% - \expandafter\prepnext@tok - \fi -}% \tabu@lastnoop -\def\tabu@righttok{% - \advance \count@ \m@ne - \toks\count@\expandafter {\the\toks\count@ \tabu@cellright \tabu@cellralign}% - \advance \count@ \@ne -}% \tabu@righttok -\def\tabu@lefttok{\toks\count@\expandafter{\expandafter\tabu@celllalign - \the\toks\count@ \tabu@cellleft}% after because of $ -}% \tabu@lefttok -%% Neutralisation of glues ------------------------------------------ -\let\tabu@cellleft \@empty -\let\tabu@cellright \@empty -\tabu@celllalign@def{\tabu@cellleft}% -\let\tabu@cellralign \@empty -\def\tabu@cell@align #1#2#3{% - \let\tabu@maybesiunitx \toks@ \tabu@celllalign - \global \expandafter \tabu@celllalign@def \expandafter {\the\toks@ #1}% - \toks@\expandafter{\tabu@cellralign #2}% - \xdef\tabu@cellralign{\the\toks@}% - \toks@\expandafter{\tabu@cellleft #3}% - \xdef\tabu@cellleft{\the\toks@}% -}% \tabu@cell@align -\def\tabu@cell@l{% force alignment to left - \tabu@cell@align - {\tabu@removehfil \raggedright \tabu@cellleft}% left - {\tabu@flush1\tabu@ignorehfil}% right - \raggedright -}% \tabu@cell@l -\def\tabu@cell@c{% force alignment to center - \tabu@cell@align - {\tabu@removehfil \centering \tabu@flush{.5}\tabu@cellleft} - {\tabu@flush{.5}\tabu@ignorehfil} - \centering -}% \tabu@cell@c -\def\tabu@cell@r{% force alignment to right - \tabu@cell@align - {\tabu@removehfil \raggedleft \tabu@flush1\tabu@cellleft} - \tabu@ignorehfil - \raggedleft -}% \tabu@cell@r -\def\tabu@cell@j{% force justification (for p, m, b columns) - \tabu@cell@align - {\tabu@justify\tabu@cellleft} - {} - \tabu@justify -}% \tabu@cell@j -\def\tabu@justify{% - \leftskip\z@skip \@rightskip\leftskip \rightskip\@rightskip - \parfillskip\@flushglue -}% \tabu@justify -%% ragged2e settings -\def\tabu@cell@L{% force alignment to left (ragged2e) - \tabu@cell@align - {\tabu@removehfil \RaggedRight \tabu@cellleft} - {\tabu@flush 1\tabu@ignorehfil} - \RaggedRight -}% \tabu@cell@L -\def\tabu@cell@C{% force alignment to center (ragged2e) - \tabu@cell@align - {\tabu@removehfil \Centering \tabu@flush{.5}\tabu@cellleft} - {\tabu@flush{.5}\tabu@ignorehfil} - \Centering -}% \tabu@cell@C -\def\tabu@cell@R{% force alignment to right (ragged2e) - \tabu@cell@align - {\tabu@removehfil \RaggedLeft \tabu@flush 1\tabu@cellleft} - \tabu@ignorehfil - \RaggedLeft -}% \tabu@cell@R -\def\tabu@cell@J{% force justification (ragged2e) - \tabu@cell@align - {\justifying \tabu@cellleft} - {} - \justifying -}% \tabu@cell@J -\def\tabu@flush#1{% - \iftabu@colortbl % colortbl uses \hfill rather than \hfil - \hskip \ifnum13<\currentgrouptype \stretch{#1}% - \else \ifdim#1pt<\p@ \tabu@cellskip - \else \stretch{#1} - \fi\fi \relax - \else % array.sty - \ifnum 13<\currentgrouptype - \hfil \hskip1sp \relax \fi - \fi -}% \tabu@flush -\let\tabu@hfil \hfil -\let\tabu@hfill \hfill -\let\tabu@hskip \hskip -\def\tabu@removehfil{% - \iftabu@colortbl - \unkern \tabu@cellskip =\lastskip - \ifnum\gluestretchorder\tabu@cellskip =\tw@ \hskip-\tabu@cellskip - \else \tabu@cellskip \z@skip - \fi - \else - \ifdim\lastskip=1sp\unskip\fi - \ifnum\gluestretchorder\lastskip =\@ne - \hfilneg % \hfilneg for array.sty but not for colortbl... - \fi - \fi -}% \tabu@removehfil -\def\tabu@ignorehfil{\aftergroup \tabu@nohfil} -\def\tabu@nohfil{% \hfil -> do nothing + restore original \hfil - \def\hfil{\let\hfil \tabu@hfil}% local to (alignment template) group -}% \tabu@nohfil -\def\tabu@colortblalignments {% if colortbl - \def\tabu@nohfil{% - \def\hfil {\let\hfil \tabu@hfil}% local to (alignment template) group - \def\hfill {\let\hfill \tabu@hfill}% (colortbl uses \hfill) pfff... - \def\hskip ####1\relax{\let\hskip \tabu@hskip}}% local -}% \tabu@colortblalignments -%% Taking care of footnotes and hyperfootnotes ---------------------- -\long\def\tabu@footnotetext #1{% - \edef\@tempa{\the\tabu@footnotes - \noexpand\footnotetext [\the\csname c@\@mpfn\endcsname]}% - \global\tabu@footnotes\expandafter{\@tempa {#1}}}% -\long\def\tabu@xfootnotetext [#1]#2{% - \global\tabu@footnotes\expandafter{\the\tabu@footnotes - \footnotetext [{#1}]{#2}}} -\let\tabu@xfootnote \@xfootnote -\long\def\tabu@Hy@ftntext{\tabu@Hy@ftntxt {\the \c@footnote }} -\long\def\tabu@Hy@xfootnote [#1]{% - \begingroup - \value\@mpfn #1\relax - \protected@xdef \@thefnmark {\thempfn}% - \endgroup - \@footnotemark \tabu@Hy@ftntxt {#1}% -}% \tabu@Hy@xfootnote -\long\def\tabu@Hy@ftntxt #1#2{% - \edef\@tempa{% - \the\tabu@footnotes - \begingroup - \value\@mpfn #1\relax - \noexpand\protected@xdef\noexpand\@thefnmark {\noexpand\thempfn}% - \expandafter \noexpand \expandafter - \tabu@Hy@footnotetext \expandafter{\Hy@footnote@currentHref}% - }% - \global\tabu@footnotes\expandafter{\@tempa {#2}% - \endgroup}% -}% \tabu@Hy@ftntxt -\long\def\tabu@Hy@footnotetext #1#2{% - \H@@footnotetext{% - \ifHy@nesting - \hyper@@anchor {#1}{#2}% - \else - \Hy@raisedlink{% - \hyper@@anchor {#1}{\relax}% - }% - \def\@currentHref {#1}% - \let\@currentlabelname \@empty - #2% - \fi - }% -}% \tabu@Hy@footnotetext -%% No need for \arraybackslash ! ------------------------------------ -\def\tabu@latextwoe {% -\def\tabu@temp##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}} -\tabu@temp \tabu@centering \centering \arraybackslash -\tabu@temp \tabu@raggedleft \raggedleft \arraybackslash -\tabu@temp \tabu@raggedright \raggedright \arraybackslash -}% \tabu@latextwoe -\def\tabu@raggedtwoe {% -\def\tabu@temp ##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}} -\tabu@temp \tabu@Centering \Centering \arraybackslash -\tabu@temp \tabu@RaggedLeft \RaggedLeft \arraybackslash -\tabu@temp \tabu@RaggedRight \RaggedRight \arraybackslash -\tabu@temp \tabu@justifying \justifying \arraybackslash -}% \tabu@raggedtwoe -\def\tabu@normalcrbackslash{\let\\\@normalcr} -\def\tabu@trivlist{\expandafter\def\expandafter\@trivlist\expandafter{% - \expandafter\tabu@normalcrbackslash \@trivlist}} -%% Utilities: \fbox \fcolorbox and \tabudecimal ------------------- -\def\tabu@fbox {\leavevmode\afterassignment\tabu@beginfbox \setbox\@tempboxa\hbox} -\def\tabu@beginfbox {\bgroup \kern\fboxsep - \bgroup\aftergroup\tabu@endfbox} -\def\tabu@endfbox {\kern\fboxsep\egroup\egroup - \@frameb@x\relax} -\def\tabu@color@b@x #1#2{\leavevmode \bgroup - \def\tabu@docolor@b@x{#1{#2\color@block{\wd\z@}{\ht\z@}{\dp\z@}\box\z@}}% - \afterassignment\tabu@begincolor@b@x \setbox\z@ \hbox -}% \tabu@color@b@x -\def\tabu@begincolor@b@x {\kern\fboxsep \bgroup - \aftergroup\tabu@endcolor@b@x \set@color} -\def\tabu@endcolor@b@x {\kern\fboxsep \egroup - \dimen@\ht\z@ \advance\dimen@ \fboxsep \ht\z@ \dimen@ - \dimen@\dp\z@ \advance\dimen@ \fboxsep \dp\z@ \dimen@ - \tabu@docolor@b@x \egroup -}% \tabu@endcolor@b@x -%% Corrections (arydshln, delarray, colortbl) ----------------------- -\def\tabu@fix@arrayright {%% \@arrayright is missing from \endarray - \iftabu@colortbl - \ifdefined\adl@array % - \def\tabu@endarray{% - \adl@endarray \egroup \adl@arrayrestore \CT@end \egroup % - \@arrayright % - \gdef\@preamble{}}% - \else % - \def\tabu@endarray{% - \crcr \egroup \egroup % - \@arrayright % - \gdef\@preamble{}\CT@end}% - \fi - \else - \ifdefined\adl@array % - \def\tabu@endarray{% - \adl@endarray \egroup \adl@arrayrestore \egroup % - \@arrayright % - \gdef\@preamble{}}% - \else % - \PackageWarning{tabu} - {\string\@arrayright\space is missing from the - \MessageBreak definition of \string\endarray. - \MessageBreak Compatibility with delarray.sty is broken.}% - \fi\fi -}% \tabu@fix@arrayright -\def\tabu@adl@xarraydashrule #1#2#3{% - \ifnum\@lastchclass=\adl@class@start\else - \ifnum\@lastchclass=\@ne\else - \ifnum\@lastchclass=5 \else % @-arg (class 5) and !-arg (class 1) - \adl@leftrulefalse \fi\fi % must be treated the same - \fi - \ifadl@zwvrule\else \ifadl@inactive\else - \@addtopreamble{\vrule\@width\arrayrulewidth - \@height\z@ \@depth\z@}\fi \fi - \ifadl@leftrule - \@addtopreamble{\adl@vlineL{\CT@arc@}{\adl@dashgapcolor}% - {\number#1}#3}% - \else \@addtopreamble{\adl@vlineR{\CT@arc@}{\adl@dashgapcolor}% - {\number#2}#3} - \fi -}% \tabu@adl@xarraydashrule -\def\tabu@adl@act@endpbox {% - \unskip \ifhmode \nobreak \fi \@finalstrut \@arstrutbox - \egroup \egroup - \adl@colhtdp \box\adl@box \hfil -}% \tabu@adl@act@endpbox -\def\tabu@adl@fix {% - \let\adl@xarraydashrule \tabu@adl@xarraydashrule % arydshln - \let\adl@act@endpbox \tabu@adl@act@endpbox % arydshln - \let\adl@act@@endpbox \tabu@adl@act@endpbox % arydshln - \let\@preamerror \@preamerr % arydshln -}% \tabu@adl@fix -%% Correction for longtable' \@startbox definition ------------------ -%% => \everypar is ``missing'' : TeX should be in vertical mode -\def\tabu@LT@startpbox #1{% - \bgroup - \let\@footnotetext\LT@p@ftntext - \setlength\hsize{#1}% - \@arrayparboxrestore - \everypar{% - \vrule \@height \ht\@arstrutbox \@width \z@ - \everypar{}}% -}% \tabu@LT@startpbox -%% \tracingtabu and the package options ------------------ -\DeclareOption{delarray}{\AtEndOfPackage{\RequirePackage{delarray}}} -\DeclareOption{linegoal}{% - \AtEndOfPackage{% - \RequirePackage{linegoal}[2010/12/07]% - \let\tabudefaulttarget \linegoal% \linegoal is \linewidth if not pdfTeX -}} -\DeclareOption{scantokens}{\tabuscantokenstrue} -\DeclareOption{debugshow}{\AtEndOfPackage{\tracingtabu=\tw@}} -\def\tracingtabu {\begingroup\@ifnextchar=% - {\afterassignment\tabu@tracing\count@} - {\afterassignment\tabu@tracing\count@1\relax}} -\def\tabu@tracing{\expandafter\endgroup - \expandafter\tabu@tr@cing \the\count@ \relax -}% \tabu@tracing -\def\tabu@tr@cing #1\relax {% - \ifnum#1>\thr@@ \let\tabu@tracinglines\message - \else \let\tabu@tracinglines\@gobble - \fi - \ifnum#1>\tw@ \let\tabu@DBG \tabu@@DBG - \def\tabu@mkarstrut {\tabu@DBG@arstrut}% - \tabustrutrule 1.5\p@ - \else \let\tabu@DBG \@gobble - \def\tabu@mkarstrut {\tabu@arstrut}% - \tabustrutrule \z@ - \fi - \ifnum#1>\@ne \let\tabu@debug \message - \else \let\tabu@debug \@gobble - \fi - \ifnum#1>\z@ - \let\tabu@message \message - \let\tabu@tracing@save \tabu@message@save - \let\tabu@starttimer \tabu@pdftimer - \else - \let\tabu@message \@gobble - \let\tabu@tracing@save \@gobble - \let\tabu@starttimer \relax - \fi -}% \tabu@tr@cing -%% Setup \AtBeginDocument -\AtBeginDocument{\tabu@AtBeginDocument} -\def\tabu@AtBeginDocument{\let\tabu@AtBeginDocument \@undefined - \ifdefined\arrayrulecolor \tabu@colortbltrue % - \tabu@colortblalignments % different glues are used - \else \tabu@colortblfalse \fi - \ifdefined\CT@arc@ \else \let\CT@arc@ \relax \fi - \ifdefined\CT@drsc@\else \let\CT@drsc@ \relax \fi - \let\tabu@arc@L \CT@arc@ \let\tabu@drsc@L \CT@drsc@ - \ifodd 1\ifcsname siunitx_table_collect_begin:Nn\endcsname % - \expandafter\ifx - \csname siunitx_table_collect_begin:Nn\endcsname\relax 0\fi\fi\relax - \tabu@siunitxtrue - \else \let\tabu@maybesiunitx \@firstofone % - \let\tabu@siunitx \tabu@nosiunitx - \tabu@siunitxfalse - \fi - \ifdefined\adl@array % - \else \let\tabu@adl@fix \relax - \let\tabu@adl@endtrial \@empty \fi - \ifdefined\longtable % - \else \let\longtabu \tabu@nolongtabu \fi - \ifdefined\cellspacetoplimit \tabu@warn@cellspace\fi - \csname\ifcsname ifHy@hyperfootnotes\endcsname % - ifHy@hyperfootnotes\else iffalse\fi\endcsname - \let\tabu@footnotetext \tabu@Hy@ftntext - \let\tabu@xfootnote \tabu@Hy@xfootnote \fi - \ifdefined\FV@DefineCheckEnd% - \tabu@fancyvrb \fi - \ifdefined\color % - \let\tabu@color \color - \def\tabu@leavevmodecolor ##1{% - \def\tabu@leavevmodecolor {\leavevmode ##1}% - }\expandafter\tabu@leavevmodecolor\expandafter{\color}% - \else - \let\tabu@color \tabu@nocolor - \let\tabu@leavevmodecolor \@firstofone \fi - \tabu@latextwoe - \ifdefined\@raggedtwoe@everyselectfont % - \tabu@raggedtwoe - \else - \let\tabu@cell@L \tabu@cell@l - \let\tabu@cell@R \tabu@cell@r - \let\tabu@cell@C \tabu@cell@c - \let\tabu@cell@J \tabu@cell@j \fi - \expandafter\in@ \expandafter\@arrayright \expandafter{\endarray}% - \ifin@ \let\tabu@endarray \endarray - \else \tabu@fix@arrayright \fi% - \everyrow{}% -}% \tabu@AtBeginDocument -\def\tabu@warn@cellspace{% - \PackageWarning{tabu}{% - Package cellspace has some limitations - \MessageBreak And redefines some macros of array.sty. - \MessageBreak Please use \string\tabulinesep\space to control - \MessageBreak vertical spacing of lines inside tabu environment}% -}% \tabu@warn@cellspace -%% tabu Package initialisation -\tabuscantokensfalse -\let\tabu@arc@G \relax -\let\tabu@drsc@G \relax -\let\tabu@evr@G \@empty -\let\tabu@rc@G \@empty -\def\tabu@ls@G {\tabu@linestyle@}% -\let\tabu@@rowfontreset \@empty % -\let\tabu@@celllalign \@empty -\let\tabu@@cellralign \@empty -\let\tabu@@cellleft \@empty -\let\tabu@@cellright \@empty -\def\tabu@naturalXmin {\z@} -\def\tabu@naturalXmax {\z@} -\let\tabu@rowfontreset \@empty -\def\tabulineon {4pt}\let\tabulineoff \tabulineon -\tabu@everyrowtrue -\ifdefined\pdfelapsedtime % - \def\tabu@pdftimer {\xdef\tabu@starttime{\the\pdfelapsedtime}}% -\else \let\tabu@pdftimer \relax \let\tabu@message@etime \relax -\fi -\tracingtabu=\z@ -\newtabulinestyle {=\maxdimen}% creates the 'factory' settings \tabu@linestyle@ -\tabulinestyle{} -\taburowcolors{} -\let\tabudefaulttarget \linewidth -\ProcessOptions* % \ProcessOptions* is quicker ! -\endinput -%% -%% End of file `tabu.sty'.