From 18c883e39c83a1f476c3619ad75dc0ee0e2a6e77 Mon Sep 17 00:00:00 2001 From: nkwn <148709510+phthtgvi@users.noreply.github.com> Date: Fri, 5 Jan 2024 18:56:41 +0700 Subject: [PATCH] Update deployment Update .gitignore & fetch web content --- .gitignore | 4 +- latex/Makefile | 23 - latex/annotated.tex | 24 - latex/classCircle.tex | 118 - latex/classCircle__coll__graph.md5 | 1 - latex/classCircle__coll__graph.pdf | Bin 15946 -> 0 bytes latex/classCircle__inherit__graph.md5 | 1 - latex/classCircle__inherit__graph.pdf | Bin 6777 -> 0 bytes latex/classEll.tex | 271 -- latex/classEll__coll__graph.md5 | 1 - latex/classEll__coll__graph.pdf | Bin 15577 -> 0 bytes latex/classEll__inherit__graph.md5 | 1 - latex/classEll__inherit__graph.pdf | Bin 6789 -> 0 bytes latex/classGradient.tex | 286 -- latex/classGradient__inherit__graph.md5 | 1 - latex/classGradient__inherit__graph.pdf | Bin 6645 -> 0 bytes latex/classGroup.tex | 244 -- latex/classGroup__coll__graph.md5 | 1 - latex/classGroup__coll__graph.pdf | Bin 15441 -> 0 bytes latex/classGroup__inherit__graph.md5 | 1 - latex/classGroup__inherit__graph.pdf | Bin 6496 -> 0 bytes latex/classLine.tex | 201 -- latex/classLine__coll__graph.md5 | 1 - latex/classLine__coll__graph.pdf | Bin 15647 -> 0 bytes latex/classLine__inherit__graph.md5 | 1 - latex/classLine__inherit__graph.pdf | Bin 6136 -> 0 bytes latex/classLinearGradient.tex | 116 - latex/classLinearGradient__coll__graph.md5 | 1 - latex/classLinearGradient__coll__graph.pdf | Bin 5914 -> 0 bytes latex/classLinearGradient__inherit__graph.md5 | 1 - latex/classLinearGradient__inherit__graph.pdf | Bin 5914 -> 0 bytes latex/classParser.tex | 1439 ---------- latex/classParser__coll__graph.md5 | 1 - latex/classParser__coll__graph.pdf | Bin 16004 -> 0 bytes latex/classPath.tex | 271 -- latex/classPath__coll__graph.md5 | 1 - latex/classPath__coll__graph.pdf | Bin 15558 -> 0 bytes latex/classPath__inherit__graph.md5 | 1 - latex/classPath__inherit__graph.pdf | Bin 6449 -> 0 bytes latex/classPlygon.tex | 114 - latex/classPlygon__coll__graph.md5 | 1 - latex/classPlygon__coll__graph.pdf | Bin 15951 -> 0 bytes latex/classPlygon__inherit__graph.md5 | 1 - latex/classPlygon__inherit__graph.pdf | Bin 7710 -> 0 bytes latex/classPlyline.tex | 114 - latex/classPlyline__coll__graph.md5 | 1 - latex/classPlyline__coll__graph.pdf | Bin 15947 -> 0 bytes latex/classPlyline__inherit__graph.md5 | 1 - latex/classPlyline__inherit__graph.pdf | Bin 7592 -> 0 bytes latex/classPolyShape.tex | 329 --- latex/classPolyShape__coll__graph.md5 | 1 - latex/classPolyShape__coll__graph.pdf | Bin 15572 -> 0 bytes latex/classPolyShape__inherit__graph.md5 | 1 - latex/classPolyShape__inherit__graph.pdf | Bin 8192 -> 0 bytes latex/classRadialGradient.tex | 150 - latex/classRadialGradient__coll__graph.md5 | 1 - latex/classRadialGradient__coll__graph.pdf | Bin 11213 -> 0 bytes latex/classRadialGradient__inherit__graph.md5 | 1 - latex/classRadialGradient__inherit__graph.pdf | Bin 6146 -> 0 bytes latex/classRect.tex | 319 -- latex/classRect__coll__graph.md5 | 1 - latex/classRect__coll__graph.pdf | Bin 15592 -> 0 bytes latex/classRect__inherit__graph.md5 | 1 - latex/classRect__inherit__graph.pdf | Bin 6379 -> 0 bytes latex/classRenderer.tex | 1116 ------- latex/classRenderer__coll__graph.md5 | 1 - latex/classRenderer__coll__graph.pdf | Bin 6026 -> 0 bytes latex/classSVGElement.tex | 792 ----- latex/classSVGElement__coll__graph.md5 | 1 - latex/classSVGElement__coll__graph.pdf | Bin 15036 -> 0 bytes latex/classSVGElement__inherit__graph.md5 | 1 - latex/classSVGElement__inherit__graph.pdf | Bin 12086 -> 0 bytes latex/classStop.tex | 130 - latex/classStop__coll__graph.md5 | 1 - latex/classStop__coll__graph.pdf | Bin 9895 -> 0 bytes latex/classText.tex | 335 --- latex/classText__coll__graph.md5 | 1 - latex/classText__coll__graph.pdf | Bin 15741 -> 0 bytes latex/classText__inherit__graph.md5 | 1 - latex/classText__inherit__graph.pdf | Bin 6437 -> 0 bytes latex/classVector2D.tex | 119 - latex/classViewer.tex | 392 --- latex/classViewer__coll__graph.md5 | 1 - latex/classViewer__coll__graph.pdf | Bin 11027 -> 0 bytes latex/classmColor.tex | 215 -- latex/classmColor__coll__graph.md5 | 1 - latex/classmColor__coll__graph.pdf | Bin 9211 -> 0 bytes latex/doxygen.sty | 576 ---- latex/hierarchy.tex | 33 - latex/longtable_doxygen.sty | 448 --- latex/refman.aux | 778 ----- latex/refman.idx | 331 --- latex/refman.ilg | 6 - latex/refman.ind | 439 --- latex/refman.log | 1915 ------------ latex/refman.pdf | Bin 715424 -> 715424 bytes latex/refman.tex | 210 -- latex/refman.toc | 243 -- latex/structPathPoint.tex | 54 - latex/structPathPoint__coll__graph.md5 | 1 - latex/structPathPoint__coll__graph.pdf | Bin 10641 -> 0 bytes latex/tabu_doxygen.sty | 2557 ----------------- 102 files changed, 2 insertions(+), 14743 deletions(-) delete mode 100644 latex/Makefile delete mode 100644 latex/annotated.tex delete mode 100644 latex/classCircle.tex delete mode 100644 latex/classCircle__coll__graph.md5 delete mode 100644 latex/classCircle__coll__graph.pdf delete mode 100644 latex/classCircle__inherit__graph.md5 delete mode 100644 latex/classCircle__inherit__graph.pdf delete mode 100644 latex/classEll.tex delete mode 100644 latex/classEll__coll__graph.md5 delete mode 100644 latex/classEll__coll__graph.pdf delete mode 100644 latex/classEll__inherit__graph.md5 delete mode 100644 latex/classEll__inherit__graph.pdf delete mode 100644 latex/classGradient.tex delete mode 100644 latex/classGradient__inherit__graph.md5 delete mode 100644 latex/classGradient__inherit__graph.pdf delete mode 100644 latex/classGroup.tex delete mode 100644 latex/classGroup__coll__graph.md5 delete mode 100644 latex/classGroup__coll__graph.pdf delete mode 100644 latex/classGroup__inherit__graph.md5 delete mode 100644 latex/classGroup__inherit__graph.pdf delete mode 100644 latex/classLine.tex delete mode 100644 latex/classLine__coll__graph.md5 delete mode 100644 latex/classLine__coll__graph.pdf delete mode 100644 latex/classLine__inherit__graph.md5 delete mode 100644 latex/classLine__inherit__graph.pdf delete mode 100644 latex/classLinearGradient.tex delete mode 100644 latex/classLinearGradient__coll__graph.md5 delete mode 100644 latex/classLinearGradient__coll__graph.pdf delete mode 100644 latex/classLinearGradient__inherit__graph.md5 delete mode 100644 latex/classLinearGradient__inherit__graph.pdf delete mode 100644 latex/classParser.tex delete mode 100644 latex/classParser__coll__graph.md5 delete mode 100644 latex/classParser__coll__graph.pdf delete mode 100644 latex/classPath.tex delete mode 100644 latex/classPath__coll__graph.md5 delete mode 100644 latex/classPath__coll__graph.pdf delete mode 100644 latex/classPath__inherit__graph.md5 delete mode 100644 latex/classPath__inherit__graph.pdf delete mode 100644 latex/classPlygon.tex delete mode 100644 latex/classPlygon__coll__graph.md5 delete mode 100644 latex/classPlygon__coll__graph.pdf delete mode 100644 latex/classPlygon__inherit__graph.md5 delete mode 100644 latex/classPlygon__inherit__graph.pdf delete mode 100644 latex/classPlyline.tex delete mode 100644 latex/classPlyline__coll__graph.md5 delete mode 100644 latex/classPlyline__coll__graph.pdf delete mode 100644 latex/classPlyline__inherit__graph.md5 delete mode 100644 latex/classPlyline__inherit__graph.pdf delete mode 100644 latex/classPolyShape.tex delete mode 100644 latex/classPolyShape__coll__graph.md5 delete mode 100644 latex/classPolyShape__coll__graph.pdf delete mode 100644 latex/classPolyShape__inherit__graph.md5 delete mode 100644 latex/classPolyShape__inherit__graph.pdf delete mode 100644 latex/classRadialGradient.tex delete mode 100644 latex/classRadialGradient__coll__graph.md5 delete mode 100644 latex/classRadialGradient__coll__graph.pdf delete mode 100644 latex/classRadialGradient__inherit__graph.md5 delete mode 100644 latex/classRadialGradient__inherit__graph.pdf delete mode 100644 latex/classRect.tex delete mode 100644 latex/classRect__coll__graph.md5 delete mode 100644 latex/classRect__coll__graph.pdf delete mode 100644 latex/classRect__inherit__graph.md5 delete mode 100644 latex/classRect__inherit__graph.pdf delete mode 100644 latex/classRenderer.tex delete mode 100644 latex/classRenderer__coll__graph.md5 delete mode 100644 latex/classRenderer__coll__graph.pdf delete mode 100644 latex/classSVGElement.tex delete mode 100644 latex/classSVGElement__coll__graph.md5 delete mode 100644 latex/classSVGElement__coll__graph.pdf delete mode 100644 latex/classSVGElement__inherit__graph.md5 delete mode 100644 latex/classSVGElement__inherit__graph.pdf delete mode 100644 latex/classStop.tex delete mode 100644 latex/classStop__coll__graph.md5 delete mode 100644 latex/classStop__coll__graph.pdf delete mode 100644 latex/classText.tex delete mode 100644 latex/classText__coll__graph.md5 delete mode 100644 latex/classText__coll__graph.pdf delete mode 100644 latex/classText__inherit__graph.md5 delete mode 100644 latex/classText__inherit__graph.pdf delete mode 100644 latex/classVector2D.tex delete mode 100644 latex/classViewer.tex delete mode 100644 latex/classViewer__coll__graph.md5 delete mode 100644 latex/classViewer__coll__graph.pdf delete mode 100644 latex/classmColor.tex delete mode 100644 latex/classmColor__coll__graph.md5 delete mode 100644 latex/classmColor__coll__graph.pdf delete mode 100644 latex/doxygen.sty delete mode 100644 latex/hierarchy.tex delete mode 100644 latex/longtable_doxygen.sty delete mode 100644 latex/refman.aux delete mode 100644 latex/refman.idx delete mode 100644 latex/refman.ilg delete mode 100644 latex/refman.ind delete mode 100644 latex/refman.log delete mode 100644 latex/refman.tex delete mode 100644 latex/refman.toc delete mode 100644 latex/structPathPoint.tex delete mode 100644 latex/structPathPoint__coll__graph.md5 delete mode 100644 latex/structPathPoint__coll__graph.pdf delete mode 100644 latex/tabu_doxygen.sty diff --git a/.gitignore b/.gitignore index 84e59790..95170f16 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 877c9ccc..00000000 --- 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 1177d264..00000000 --- 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 adc7c806..00000000 --- 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 2bf903c9..00000000 --- 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 8b4309a6e6860a063608b3ad39ea62d828f3a8f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15946 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 - - - -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 5cc00e5f..00000000 --- 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 c807db00b933a9b7bcd8694a2bbe33a59eae20e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15577 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 w3UX1Y?SIDaZrK{OJ9$} - - - -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 200a104d..00000000 --- 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 51218b57d6bb6e49a33d8ab0bceee0285234e731..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6645 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⩔AL?dpkdz78!zV1a|4p4k`D! zSmfq})i0_pxV_jnn6;19u$v1%{*tgeZ59b-B$z}$=Xv!a**@Xi?mo+--;EjARu_wI z=NL|qSS(p@g^EA4G~l2#kms}e(-M1fe6Uq5A~v*v>)D$E|@&|QoNTqojs&4JH?-yooaEU zTh}1Nwf9h!fXoaVYKk*CLd1r@vso<1xF>wN>uX-1At^n=H*O?j&muA+boh%R85XWo znIT_hA&5OysZF3B;uGL$U-KE(noHfkXIh{*ZDIAXxxU|ngaFTwLs{L=i-_6sB12A! z%ZHLk_~3l(-J+4UU3w1qYCvh42mtkTm*DZ7(=a}Cc{npm>apu&w z#XS#-Rd?<+lS-~qE@(25w16+^z`_%9q`I!Wg9c>p30+wE*vB8-KZ$VT77)*H;B95{ zZbVy|Up``0e|~}*8)l|3^Dx?Yrp|>^tmbW^;@4#^ z%H#ff0VmuzjjudBRnw6_nM}+QQNW>fj^0hdo$*VbOlEUtQbKoqTa!Gymbbz0JF7(! zV8>|Xe!k}C$LKh-k8F`{;Cl5<_k(ZPkqy7dxlERLGr6vzeiUx~F;?WyrYG)e2GyZD z*$&^Y&IeEqriZ@jOxAs-HMdS1SzKBaTm3N0_@(RHqpKK^%5Meo8!va@RWiqaj8`LF zn$t^aYARoUPjQQu|I%^p-TGXvgujfmg{}r>abhAT$n{CJ1!*llip$EiIRj~s5xFKK z9wTj)Ht~|H>PobZ2nt2xs=U+DYNf#U^39-Z(jE?{`Mrw8(W?^^rq4A)7JX4M_e_;6 zzI^MLY*sYB$k4>Zt;bk)+r_4?L~|zcQ?K2sHH*v1OC#|RTWSA^rn3c~3Ch)ZqZFDE zP4(M+-2RJMP5V_}OzXa8!DM#DQ7)<%aL{7O45q$%*mCaS}xjI zv30Z2!deMPJ0z3MNa00cBP^b+R>Y_!uQp^%^Gm&0!h=`g8?~@-4hCOOrId}@a6Cjc zx5<Zzw;1;Rc zQtQqWctmX%jQF5QnwAJVy?U1AOo3g~jd`;6UYL7HE5}&=aG0B^&k3AMK;i2w6TVP| z5p&CMK4ns*YB^))P~LsUPB#^yWNg2UwV-Tr?WB0sQc&P&>#Ku*{ZLoMh`GLo+qj$e z!;gI6nq132Rnp7fSC$ujw&|29Yb|$JH@9lm(G_i4kE%y=4@A}DT$Ear+I_W@<$>#v z)oe9Q28(MZDs@t=-&d+@A+!mMwYqN~agv;_hlWxmT(;4MsbC77e%O&LKg>zu5=HY?W#M9

0E+=tpyET^9*)8b_REDuji46a1Xw=1`sU{rejk|4^g{bpOa#Yh}j>nzb2vcN0uIVv;0;3px>gl)DIL2iQK+>BEY*Si2o#oA^y3> z{a0F;ZA7PYJ@i21oJzxylAs1b!TpSfM2Ga5zpHnt9JgpPce=?*X&yS?ok!!P1}ZEB z+!Ux;>a3F4u~Kn%{I4B_`OnA7UC;2p_CQ8Qv5N}SdFoXpXgA4)1O@DuTeg51?0w63 z$L7kL(XaQSc~szkyd|AUmG!>d)#uf0SvUEbrNe0#TlRjkLjW)~FfqiZstfayqqqBbwz z;7n?pqJb0wj)X&{&=@2XAuEppq#+b?OFht~;#`UN6Yh?#ge}GC1O*SuPx44P`hwv8 zz_t_;B|`_)aUMDZqN5X)J`EkhQVDJrP`ORT3T)_XH^5B*lp+8NgExJ%pRWF(V7AS} zf5Ndj-?lPl4u}z8A01W0Q3&9C|7mE5WC~T?2}jI%+aLMGXJ;Q?)36ptg4Nl=6|0wWEF ziaJrL9ux%_psfO^BN^x6M8s31Nn}T{O(LrU$~!1eYJj?|sD=U(jzq%|a2bRg5-1XI zSrIr~?B_*)CzCo3U^dB-oEMt diff --git a/latex/classGroup.tex b/latex/classGroup.tex deleted file mode 100644 index 736ba545..00000000 --- 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 fac9c1e5..00000000 --- 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 51b366b24db29e2b61d981e49dd3789caba029cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15441 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 diff --git a/latex/classGroup__inherit__graph.md5 b/latex/classGroup__inherit__graph.md5 deleted file mode 100644 index 068bb5ad..00000000 --- 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 7c5d10e0fa80a837c74421635214ce71a98bd05a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6496 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 JHI1}b{|^toTxb9Q diff --git a/latex/classLine.tex b/latex/classLine.tex deleted file mode 100644 index f1d9dcc2..00000000 --- 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 5407a6a6..00000000 --- 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 563f055d352722ed6e46af5535c50326e84365ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15647 zcmd73bzD{5);6qyA|RcTn{HumI;6WBq@=sM1e9)&k}eVH?(P(j?(RlF8s5E8@1ys9 z-tRo$dA>iswUxEzm}Aa0$Cz`C-?-MgCYh|DFdgs(GaOmPUf~rS8-M{|rE3bu#RZ_3 zG_W+XHwLhSMe=X}0DxZD#N6J%7JN3>u{RJj(6iDvfaB(dv$MA~(6NAXPAX85vchFW zZa64fv^fJLv{^lR=QWM^?#WSlNkj&NEyFdwgylAy=+(iMVYOKfjZ*BxwqnPcJ|aS+ z`TBS=gF{xLYqoFOx>MI<*vald<$~uVI1W=0 zauh+5vMkQ{(Go#HuJ!W%4fx~iNvuL~^6~)~&Bp=VRJbI&>wW8suDaw;>iUZk%f9Pv zn7d6#I;$&O?BnFEf7C!so z(3X~0hRS%fg_krZ*7TsJ$$}G0`2qI)qeHw1IrF&lQ;e+e3C&b@cm*OuKgu^SN$@UiBg=<>LOaHtZArHz12OZu#OxGazYGG+)L(7uv`0- zDdKd@-wZ#7VMTOX#(8?ihwGJp2Adtj*}5F4`HoE2{Lsr@r+Sz1p+0l$R`PL^S35K3 z65?v*{I)8#K(udMUcs|1MbzsS<0QRW3=7TEp-*#KTe9JGF>i7+XFc@bQk?W>x(3L| zwXo$Zqw&g_+3V$|LoTYJSJ)ew^K*Ad+)aCW5Wr$J3R}yjM=*FTl|6 zJz}+i^zJAwIGb=I_+o59#?>4)r3nZ%8~_$p(j)v5otq zR^-DMBFZZ56i*_FsFelgDFb_Lx4gpVY1vcxBu_8wO9ZMk7pQ1jKO#{qd`QOV%jlFa51^bSk8?Leze}_x8gPa-CQ1AwN<0P@@B5xfFBz8CwwEhyTU=W$`=4Clu&55Y zmWCqrWm;;l=?V>XsW5usN};(CX5{b!!=)*tfr&z2EqM1=DSKP?WL}CZA@00WEwPQB z6$LMt!`Y(1+nw|s`y)Cx|tuS3vRFQ%*<)JV4iu&UiSU<5Z^guaiiI3uxG=kL!tlW8;6vh0uluydY2*T;He4MQROV`dql=6m!s0fwUe9 zNBO;QNAQ*8`ka!zljmqoWu<)vbB|L2lO0yp4q-|rQfflte2a&(opsE!X8aP%!lJ## zEejX$$BxLG1iQU)e%WCbx5&t)Z4ufH@8qxSy5koTJRiE_C=tLJSnB_bqTnk?{DlNv z$Qc}VfsBmo5Cuq)^{?=JACQHd?L`#q!NC~7#RU<74|*L2Z~;Iszy|;V==F5Kf59Od zT=C;Cy|9&~{cqZabPRM103gG!7!TOiM_3Zp1rJ&tpWJ94EG{A2OWJ`D-%n5JAgU>$jky@X9a*5 z8GoICK-POH1pvL0yx6Z2_!2-# zs%NfaXQ!YnB4lo00Up*1V|xp8Du~KY7x63Hdr$>zC^z`{%W}s5-g4l*A%9rT!~g&R znO-mhfK1H4Uok>tkjnduKRob5`m+J^Pw)KK9#96m)yftm_&>Iv>A$xh^iTVNEKEPm z27wrVzq+^kzV@FU_$dbbX!5^yfrzb+zRCZaCBXdOyMXbZE&wrs6R%&Uvorqv`riDX zI{$P9xB{|903ddVAOF{`un@2^x3c{ouLYK$j!*|%1$izY2_j^DK+X^+LCz2zc{t5q z&(A*thpdi~0e}qf*OVGg4M9)B8 zgdZaO85ZOX?5rGY^$hF)kSP4)o(jK(H#-0mMEgfLypL@Vi{-)b`^V|tJ>bxGU()e9hIx9Yd(nQzg})e|taIPCEJc}DES^mYr>=EWRMtRb>foS*S}VS$j^n3CD=()!CmQ;K8cRLxP>YZj zSy=~@8Os<3D5}ujdr5t~(=fN*RV3`Xdh49Zb=C+I*Eo$`iE`li_Dp?0na7PhoqoUb zO1a*1xiMZM_+q8^5kKn0azoSkTlNm`v8EM+Wp4gGiG?AlyZ;jiU?$fpOR%iT{;#-Lm@>j zFBAX9kPT!AuS1L%1=1aD|F>u zpbp&kBri7=wKnJ@pOAm<>=FGk$NiD4Z~HU8TWQT{T1pYtW=HMQ(-?ijtM~J{ZQfWK z11UlI(ih51DY+znn_EY2$qGnm>Nru-e6bAYRqnGhU^4LTl@3>mH zJq=k!Ei67ogURtYCf4xGfU8KO)30B9x_EMVa(i;2qp~wdM;{x%)9=DhD0tq~FE;&* zWj*S`o;&d%k+5J;)eCfmx-2_z3*|1IuuAbMQQruqf?kMDQES?x+haY(g~IU5?cB?6 zL0o(z(>z(G_%mgW>J3qIz?)OFn@jxNu|&j=PY^O$dw2+ET+bH~`(oEVkG%LQF5e^2 zLWIa^H?6ASp7e=vO#A4_#>J2BMamWB(aV*&;mqOH7<~!tsG3HjB%R=JWieg*k7eOF zTT;7Q+@ASa4O!2b+ekiI*acsGV~v~Zk}AKh4pdO8I!4uUR2e} zFI2JfmNddcMHt`28DbLoQM5s_`9VbrH)}gv91s`nHpe z6*yqoz$*1l$Yw3lK5EcLCnWpSChiQa==)i6rFJ<}3$r6rkp4Ztf+~&-+QW__1kx#{ zM1&=Q_6G(`&-p}(f$kyLS&}3Q(Zr6dP3p81!CShOA@pd$(V#upQYEoOK10$W^JGH> zmdcfLm=nC4kt=)(!I812w=U`&y-mf(?^OMdaU^WLJ%}?*$OKhPQ;hn(8^t%sE#Baf z01bIk=17Lu!vyFptSouP*D_VqX20zkFtV~TYLl;$etFCgph>#?{Id zy!twC?L|#MVWtz8^w>qm-p;Cl3v5Hb-C!emt%;S$R(sEhm@8pJDmT09D&anD#6izO z-`SemL;l($1N;H+&=Z8qXmLxv5apiN4A5gr0YtNw9Y<4oU9@%TrJ4g==m)$s{zUyB z=GM?h9R*9!@N0JKzNcs82#4iwRm-An-?{CIx%-+MD3Xw{e>XmjeQsYZB)b~?NRC#` zcla^eQyZf6G(ZQmF_%>`Ks5a*_g5~%jO&g!X06MopD{75i3y&2P3&!qDDJfd2Bc zZ)|LQ!;*InJr$6wOR~3zWeZh}SS4KjeA-N^uD7oP@#4E**mls-jAP><9LrGp_+$uP zjKaBPd1_*NM0(5SXV>MEarlCPnv}*T2qmAoSg0S7X_M&DmH9SL&&`^rS6odRNYXsE zF|Zl4@eFJ$N3FI*IN|ow9eP3H(uP8~*?M`&M<0_!o}8R5p`{Cz>UMp!kzZQ0lBPR~ zJ`j!Yjgt%4aF`y4Udz0FnCvyI?rXy6LBPXdWXaHwDxpp3Z|*+w2TV6+%i*1)6l3u_ zB)g=KTvgf02$&86(4$XJUZGDsd%mN39OHP>yArTtSQu}%ba@kB5^ocK6o1?A)8DR> z(=w^8!N9$VL=KI1tarTfZRPmp0`?;CBBvuKPp@yKcct%U4K@#r^^&ngIGkEK>9?j4rIJV6@)l-sQe)1K5{_i_bL6+7av@NF$LyP0IGTDMPd6SC+Tq zw`|wCJ8y0~PR%dM!yPaF&a2m@)SEJ+X01P*G?9HLLeuwxI=h@ZvCAToQUZQm|rl7SF1jlEfI%diTORw z?7^vx<(yy}$2lc03U3w*lz)i`n&u?#otp>0ZFsC<>9SUOWoD0;NHdMEiP-?GWa5wo%M+7mjmoea|_C=2*aELvUG6v~o<3 z7s@Uy*BEqPMlA@n@t0>uFqB$XXh(NofBgbeBu*qZ=}?rQBU7l~Tfd}~(p2Zf8<^Lf z(5)nwm!Z7xjm$7_Kr30hv9It!YNU)j4}8|^a`W&j@{P(Jm5gc(ng{fYX%W-(~-YM2^b{l zZLT7ivKWH;@G5#ku~!r%BTt81{$V60*0QzTlb4=t7(V$z7X9e!*g^F;`D1V88Zk?5 ze$S@3+uN>{c^pZVO0>r!m@_sSrOBXNb1XPLCL}7v;pdIv+}YH$@n~j?M07kj)o$&D z8B5(d?4vlBN!k|gX@*<{4R>Rni)_A`(9`8uSB2jI_Gz?ToDOi*V(>rZfh+M4H1A%2 zg(+ID0d+y5iH$_m=OlmyZ!=@#B0A$g@i&7R?K<( zwY12Z9ABE5%YQJs(F|Fp$GtrQ4LdJqRhP9Yc~Z)P!b8RaMV-3ZDYPiV-ALoIAtg=U&VpG56vTDnq+qO%ApydeC8#WGHOqcpQami)$UYT zmaR;3v;`xQ!ey+OaPr(XLPglTR9@<%x4!F~oU(hR#zuE_ zc@NiaP*}L(9Mw7w{jJAaKPusmn3@`6V)`@=3Z>h+U+X2BqUpQW>=BZy*WZ5_v){n~ z=5w9NMIke5vjLMSLee-Zv@x8V*rG=*Z)U%_(*mbkp9(o5l6+zZmJlh#MtcEB?0eGVvTB(m_3aTh|66)Qt0ZRG& z*Wxq%x$Vk(uhzf%7Bb*so63l;y%ef_U-)FtF1=anVV;Yxv*c8orFVfT0vAQt=Yw3r z+y#Cb_da!((U8aOx?|(=WUwl8B0H}ZgTuUcQ^v#4PJ^m$EM3!A#Je8Gjvg85Z;q>_ zW#LxctdgHl%A0J)5C~eW_&Se#Dk<)E=1T%D5raMzN$YZP5eZfU*?{}CXyEtQPp(G$%ekzpO?w-+~k|5ZK<fe+va4bk=ww-|?cT=_oMDlmCt|Hewmh{yO zchFki9rI+(@hEdWe`f~e_>Gm?42sUvH=5c`_)rR)d}f@>zO}W9T52cbVwdW!(R+Iz zYV0<4>R$DXZ9@r_sq3V!k+5n%i~aU!Ib-J?YYxtc)G|mikuRXnq&A>WXBxjfHwm%L za8fGqOSj#mJ!?szt@9TXGiy$KM*$Tt;}`p-HFHK?V>sPV<;ahVBNv-ZFbRtb1?(3; zJV)VgrloQ7JKvYd_YtV5MvpX*^H%nKD)qGm#Zr)MHjGpxOfSSH4>%9hOttK1?8P?- z`+^wGC;K$9cqWNO1^N`o>Jq5nh~HAXc(c$$hEWf8SEk~E@mVTeMfYZqFV>{JKWk7|))my`F7E4Qe!pi+g6 zItinY;#6Ec>rJ9vqFI$i)te@}ro8d%f{T(VlL0;ergVa|owcz4*CFa;3xXztj&(Py zl;~stOq0Mtno~XF+3Gio%n8Zmm6@vMhSg~`)j*NEswmcXH_eL7G4atR%8w;k?M-p~ zQj9)7V*=2dvZR}N`LxRFp36eT^&*<#FQ6u*g$$v-Sbn{yfX-R4nEEJJ!fvbo5Lkp` z_^}v$tmqTAM`mh*-s~6UVpNBCxlZMrypT}ZBn4cbug0Po4MZ45>4f-?6v|C5@hnmr zRn`6Qc7UHh%DlxoMUogYd4zf^JCw?=-0(hjnERl2SooEzBvXaip{9CmfE7hj`5W8h zGAaJKwg`cG^!~5R7|%M&pN0fNlgli%!_2DWxY6Jv%~Z=ax1S?9!I6O8C$`lKha~$e zM}E+jwJ3vs=BL4@f4J)EvHB^4Qv_y(7I&2nDf8V^>JN{oOCOqrljDg=ctIO`W%1^| z&-i3aRm)Szvo|O_9BE#t+Kv@SrehXUv5nS?X3Di4+`~dl3wybopE(Ze0k0b|WY34l z<*3&)#JDk!U1zyuW#z8GO;_vCcOIcU3VtYXn zo-gdVX)eHZjc1Xe>*zqOnOMXZK*X0`GssfKn(6mJk}(IPMB%l-eX}yB!HuT(H z+5j8oyE}!U%!eMMz(-lUbVG2b{Fy_QKD3|6%&BOXkb(?)K@Ne+`E(U=(-O&Ms_gk4 zyEST_qm?Z+F$eaIoAq-+`0xz*$ql6a@oh3BDm@L_Hyk81AKg_N>4Zjd(X47>eGoD1_l~ZuXL_y)9osRix)9AI@ZOZ;cQs)5PN~0p zSr-p$(3<<8Ym9bd=o>bNU#p^^?unKXl1tG>(}Fme-`XPq=wpzeQ*2-v@I6sVa2m^7 zDP**A_T4yhMmzrz$^ce*W1MGcP(;Q6&v#j}=DSRI#*$B8p*k#YY$9Hc)`X1N6=zM+#!S&ZIYc$@DN&d2aZOT=Hhft|%bT~guBy@v$5 z3-jy5&oZsFoQdee?B)dhOULb81}Uyh+#`;0ZyN1TUJ1sP#1uytq4&ke8`P-fzUY{h z&yB+lwxHQtGcRaXB~stQtbAU1obBV=EMwXdLVYE@p;a2UZ&;_pvp}DslA>~ER<}pb z;rT`D-NbobhO}p!OGpD$_Jvh@sce#v!j3=rl<{zMZIg%Neo^XJPx!#iO`ctSS_9nr zt2I+*#fm|Am%vk%he_70Q_lG-))nyWV&Y;H$)ZNXStmr7Y@7oFR|?nh;1@+uuz|_R z;|pt|%nhNKi^nl@gKdW{`==XsmuYOBF14YSB3*NQd3A#;&M6-$1m0f{`fpH7*Q>hE zO?<6hhi#h_TD<#OJrU*%EyFV|z8M}Zb~hS@7M$p#hf47gMy#DyS`_^&O3}mTT*K1K z#397U{6&m3n((#NlepB~g#6x!?o;LV% z{vdcGpwMo|d-wwol5LT*ya*3De2?5YUTOMUqz&nBz@)c0-=2r*ez78%;&qHdjqZ@x zh>}-swQP$;TYfg>x8d&Y@ucAdDte#tjSo{Kg;&{EeHaV=2Am$&Rg@3y;;?Vcm3_XY zHa89|p3QXgOADeg2k382`VFtBmhm^~rH32CB^O{Dkm;jN6^v48F~f?K&{oDZ3aCea z`IzATpvmj;A&TagsB>=a1oO?(2j~$9lV>bDxLE-&1m+6L+P9PGmL8Y;xevgPzM4F% zixp;D*Kx!(RTRW2rj?uhJfdBTLoF-6V?xWG8MgNP{N?wwLcs#qcqDdx0WGCK|%6_+zeGggk$BZDgiegV97NqBn>sqN=Zy;eNtiHk|& zbGJ7ryhwD*!QE7`67#48w$W7)k6R^rJ3!0Ir9J#hyRM&DGUCW1ADZJAV%ML~3&}sy zD|tZ-e{OUx1)U>5+)cH{z;1-$ZuC%w;BSqmw-oOq zSPp2%L`9t%xm<{hIDNzr_%W*H0}OV?VH9SN9U**I!bC}__J$Iyh1R*qgT}shR(XrK z6z+6OK|Xg+n^mOG-7w0ZEcS_5p}!Wd)_5G3o0f&pXzcA7cX$CfS0~VjKAfOE&v(f< z&xcDm>R1o7UK)93la9ds#Y=|tTBx<_)uENvxgADQ++iflZ8_>d1Dt2{AyMP)lDIJk zr#MrAPg&-o_gQ8K4C;Ki--5(>vd@CJvrKC|HQO9Eg|vimi1&hi3l(gaO5(EfvwB>_ zF4B6EB@0+9F=vHVTvV;N!vvovutnl*ru;VvUZ3M+&*0V_VTv} zqR=Vwc}Xxyw=|_GePoWgYun1`D;rv*sL~=0%b8LcjE|a9+4en~xZ^v&vuUC_7Y6Li z?BU0UGNO}eYsl(kitK5qJh}Pr=n|84C1fUdeY$3}M>9`-U30w-r6o zZF@F}yxIiUtcN;Yv_ms4p*n#@AjC}AfI>Y!E$E9iKAnb#+Y7IQpk^xdKsoVH0yaD! z)Iox(9Di8s1A@&$eV2?>pg~3OzSx#5pVH^O7`Gg%*BWZ9nCi9IbVs-1?qmBwbi3p5}lNIighWUI4-am-*P7>nHh?=*{YyV}}Gf1OP3u_q^m#g_TsF_1d>i}y=y_lCM8m7ZGNZ)EJk>8;uQQ)Yco|3?Pe}Q z&)dT$V$Ul-bxJVSCv^(I*hUV*kI?aMd}IH00^yDQX7b~$hDXE=$gWu~f<+HLx}+JI z@}AVA$U{Y-76+nZL7PX=5{dC=z@y3zLL;5S6Ez|%%lcOH2RQIPQ)3Y3x5pJ+<0G9H z6yKD4iejAe6n5!c&YAR_)S1jj>~ImD0G52)bp5RxSv6b>Rf`T179y;p`wRgh3#=cm zJuFV+Co$QEH1tPZ{&+8&VJ6{F%YxO5xq0V!NryPpsxN^Fw|A|4w^s0n3j`&1un*qT zs6)OM|4D_p{}lR@3&YCD%=YVhGVm8i<~Ob)=r1D6e-@IPS+&GSZr%i!|H}f`B>8^( zghBQQf=vdp3KRRJ*2`n1`K3wv+~w7qwen$`xXxD&$%XUhhvn zF5)n6PLGOVDtPGou<)r0YL#aS!k9|u6q>lsM23~b8mEM~Q^)%dvTvy7>EX9Nxmyj% ze;`SY<(Azad8?>0p*|P7qAVA5H=yPpt@AAPjdC(9ZGjnLuAS3kJ8j8k(#c2aot1PS zp!8sNv2l?I>9Ji&Twy#_u1T!*ccohJ6emW(dIXd3j<}nwt*nci== z6&OFe4n42hOphT@>mQ4)Nwdi~Iy~t>E2{>pi~u8kI=b0fwDkzLNM z8EBE_aV;Q3wSD;Kbl*?m&*^4l2mP9D5QG>25kqGC2h#^aWfC;7)3Y_P1`}ECzr905 z(mEDkQj)Nc8lQ|Tji7<4j|;&@r)q06MAw5VO}YH__v>G%`2%$!_Aa(}Pf**g;_W8~7tV zWPFe^9f*x>ib-CJ^Q{;68r+KBb`F88Sb~*I;VYFRsad;(>rz z8ULh#j47JgD~@5zpLv}1OM>Eil66p@5=CH(xcD~vAip*C$JSbs1IR^He&zK;ri$i` z5E&7rMi51Z67tXfK%9k&E+Y6I*)$KjAk-unS-GGb{c#M7P&piE2>%TFQdKkWW@gN8 zzvj$+VczJ#D%D}1C^R7BvmdYFR%uqxiT1ED@f={dI$w9bwSy$?3k3*zq|pUlIo5*K zGm6J+@ zE$gjQG}Iw*eY!1Bk114W8uuxHA|2xKz+Mq zK~X0h;ZnMzKXIs4h#tq<5hHInbSh4&#WTp4cicA^tNJ8Tcq@Zqa5We5=TTDu8vK<&~kwplFyRS^q8Occz7#LA{ay}94(Sl$Y%*^1u5F?=qfV50_eg) zK4h*cTPHQjyf9>)#$Pf+E7hKXKH%GR_{Sa;O+FPz!zZ1_K3j0{VLQseL=*bmsFgU@S)nZAZX| z6Pta8DSIQ?hiPnTg#Igaj|OiY-51PoW~EX=NAqw;#hp^~j3*p#t#p9%Bc`E>E9`ox zV+)fHqh%Y~=P_UDQH>~z??q~11Qyb>ikA!5YDcSXi0HC{_M6p6RurQh6$(EY3Sc`bgL93jLhEQd@r;Wz)im z@twFFs2Zk#-jLwZiB%#vROVN7y3OJ-^Tm)G*OC+;a*xXOqG-S8w+=r zfNE;$+=SC3KL_#WzJ98u-hKEf#=?F7%jXpdTi-tVXcK5yy6f{< z0(DXoQJ1xN4OHw+AhsIA7p=aSd&{!XephQKD}=SrSK%OFn;h#J*Cb<-XpY&8P8gIjYuX z8?CbgaEmIag6)a8A`=3ycW8sit?Rzoc42q1?T)>dRWF-X2 z^KkKuFUhceqw^s5$dbmRkBw|UJNK)LZN_$fXHOv8k#q(}i!%jE*YhTw>x3g3VG(4j zsxuWU#_6k-IPUrm=gje}`AvVlBV#>0gZcsI&?CFfLF^)sM=x8eu>qcAxhvM!*CsET;5EjgHdKeq8BUF-h=g1NsFRUbIk5rYHgw2h@ zRnr?nnYeC3C-V#`de=TB{zrPOj*KaDYl?%H#eIQBt9b=Xp2}i{#4zXLIcBkNveas%M`y3yv4%ILF~iSiG1^70l{C zJ1oJ3jD=T^ns$=Ba8H$MQ|&l(;?dA7ATU%^S#f))h|!)yP2bq3+M~ME{tcTpxKkh` zOGnYKgfyf>N09*&*x05T@y?2Iz0P*@+MTPLvZ#~mp+QJZ$b-yipg+*hn@M{N#A7@Uq?R_q!bI23EDG_4wU2+{x0GN)rjJ_ zrWaDI=Ul6a-~^Zp(=m}V{Sa7A`Rr7uTe}DcwRw@xl6f+i&+=LQT;7wgwmq%c^@_Y1 z-KB~ZWnt=-Sk;fB$yAo4Fbsf@TY3Jw2k-GVDL5y?Be8`S@JOGEYM;QSRqZNT3D?sG z$?)Q}wQY7-2YV+jy;sv@XUIdr^@>^w2vk874sq^kZyN|;LFp(CObpdIZASGX5*Co= z#q)XGXJJbH5+MOr*Z7NCnqvdY>RtNRJGEv{3$fP^ms2<5{!PmJi&+j%rGV^A%zx#) zkeuRIj`u4e_{FaM&)cyyBU*ym0LXp^+#Pr`0>C3YpW%kpq5a`qZm+LE8YXHqyY88y zgkfJq%IkqUgr+w78<7LeN4G+JNFSOxte(adzZb@~u}!IX6f&}vvt3|>@qF;Gm=1Ph zex|t=@%$xgoFFdV0C|YB{)1+o9soN}%hCpDSEdbT1yIrz_A3!q6q5Ka(8CW3FeFj_{}Fh&Pb~k)G=FCt{|ik02_6K*1R-`ns((PDe*uVp z?;dai1s6Loei5@Yw1V^nakjjHkqH>jgYgz0cn6EYJ<@_81{qs@16v4UpcK;w10)lB zm%pkM9IUN>Y|Z$AsebaW|BgO>(90oxsQ}a&!03X70i3CWzwk|O|1=k3 z=MM<>pX~gFZ2_GBZD7Yi01xOMw*A<|@vqDubWa8U9nAgqod1{( z2sQo(WR)<{zwZfx1O6hvJAff2@V5>?zwg_WwYAcB&;xJOq}0GJZ1sMz7{Y-O5(6B=Uk8ANnVFFp zUhKH09gK%F@RWDz!UzbjDZ2drvLv=2HuGSo|*sLACL)xH~-KB0)b%6 z_cs|6GkA~7pEB@>!PxWfGByZ$gdD%w%fJpsqkoezf>G(;Wh~%55r3DlGlAFLA8mmQ zObq`R9|IF4F8)oA4ZI!e?=p7COPN3QfGo^^9}AF?6>P!Z^cYzotNqWmObq|@9}~kr zd=GZ>Kh^IC=4!T?7`CL|*a_kRHT%Tgl% diff --git a/latex/classLine__inherit__graph.md5 b/latex/classLine__inherit__graph.md5 deleted file mode 100644 index 91381274..00000000 --- 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 dd3150d6396d88a266f7a0cba4c8634254a8632f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6136 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 diff --git a/latex/classLinearGradient.tex b/latex/classLinearGradient.tex deleted file mode 100644 index 6d95b274..00000000 --- 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 a438f8a2..00000000 --- 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 de42a237c2ce3fa04e53b57e10b0b388708279aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5914 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 diff --git a/latex/classLinearGradient__inherit__graph.md5 b/latex/classLinearGradient__inherit__graph.md5 deleted file mode 100644 index a438f8a2..00000000 --- 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 de42a237c2ce3fa04e53b57e10b0b388708279aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5914 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 diff --git a/latex/classParser.tex b/latex/classParser.tex deleted file mode 100644 index c8c89f15..00000000 --- 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 38467255..00000000 --- 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 1d32f4250d0d95d52dbca8f7e9fd04a05c682b84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16004 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 W0|%$O-3ereKB+*Zq7s(_qy8@oc@75v diff --git a/latex/classPath.tex b/latex/classPath.tex deleted file mode 100644 index 2d3d6017..00000000 --- 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 7d8b17a8..00000000 --- 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 b8497f92ba39b409d4212ed476b6cb090dcde21f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15558 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 diff --git a/latex/classPath__inherit__graph.md5 b/latex/classPath__inherit__graph.md5 deleted file mode 100644 index d54e3b40..00000000 --- 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 51bc35f9b0b65cb66bcfb8d335559835cd6f420f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6449 zcmb_hc|276`xjXn(qc)ZMj^7y!Wiq=x9mH~GL6B68D@rTB~smzRF>>qLfNuJmh5d* zWJ?RKy~xgGM10Q~bnAA1|NYLHnR7nx=lLwp`+3fJy*}>|G1bzMLP(<^B4tyBs}K|v z4kevA3sF{v!VK|5H>x{S4uH%dP$(3pL-3^H$-vbUOT}y9aU>T!1cQN4sAN3W3*w&~ zdCS103C?kGW}OEkdbQlAL$+9U>Mb!bK7MEZ5ONA0sdCYGKhw3ksA^vhp`Bvaj$A*I zX5>C1EF2ab`ijM|{+^H?vu^$fm@&zwaVU(bR}h{mj^mV zVQn@2zE^}icidB|?~A%c{*H;e1i2DD5tb-WX^sl#bo+KBSvljeYO!J2!h~ZfKjCY) zsZySwVzF_7EKlyfguEKR%5=Y&l0!G2`&7S;h>gg|VCI;5-Ei;e;iOjFHRXic76vI& z9%YB`PVKDgj%iq*9523QC!VVGE&6ejdz-3KZ(~oze&Qh0U>CI%f+xCckp|p>bb}m& zSAb=tf;?ykTe3frL8o8apQ>v?1*nHAD}w-Vz_4(j0flL*LlICI4h#GO2>}e7zc3vV zk@}Ojs}x)c4n=P#6mSAQTa(HEm<$TD4DiN7Vd_L8iAtZ@!uJf74jB@N9-9c2?2DtC zV##=50yrHq^ToQDk_bd91!@nKg+mqOpa=wd`+`8ofgpHspu3ynanwym5Zm(HG^ziz z<1h$3ng6d8x@<9_VL>O# z28a>^9NSSVY(;GkxXRFZao9E?ec>xPGlKoQ`uu&vk;^iCjPgm)oeHAwzIP;lTx zpwPf~J6cU35x}x2Q1AiUe42F0Bwz2}BBi6-p#gzflCeaJH^?(CU>nwl0_@|rTbh8E z7T%A5!<*}BfZ$fd=6DLpmyE+xpkN(s&S~*e+9+Fr(9;a&46FciAUprCg8&2h*XscB zPsIQAJ^-26d~qP4D1{7g|XHX-tV6h z`AH)EMFCIYHTRv=se9Us7kDu%G3O#u$C4bha#S2;-FWL~o%XB5ei>wUQ?ZhK_*Uv@ zAbWe^&@)Pe?nK?6HZskh7u3Qu%%l#?*SHiMX7Rr?VxM09j3c;ASkv62dPdsxAT)HMrXLt{SqH@uhtLD<5>Hj(?L~ETh#956P41q4#Fl zEXpBfJ4&p^=du=QT}7{}p$`nWCQvM&lFL0m8GaHHa0@UrGCCNS%6nkgC+DSHo^t#H z#N@%^vTWBpzSjPlXYpUEMf!*JYmQ9cx2?-upU6pb7(XAocz4MmmTT1fdKK%bCv*FZ zakdu^E?pi^e3R=@v*2$@F^sMfkz{Lx_i{VK72BQPTsubTCoN~)yPuG#UXbFT;(!@l z^c}5AeBgQt8C_!{{3%+nxz)v{L`gwWso!H+@rm)nS6`QOK7XVLR<@qDDO5r$qHEk{Yr4Om26X~q#Sj0 zZ$YV@ra0tWDF;fl@Aa9C;f~HLSyg5CwZ1NnFBf&in2wK(GI?D0L!nXl$DZ=uh0DCr z7iwfSzI0U{cUv335_8H{v3g|acKB*gk1ThqV%g`&$C7#IJ%S(i9x)Mbf?k@RwRbd7 zLiGw@$F4Z{vYzljSnlNCz2lJs%d<0wHSJ@&Pu6jVxCcAf6=0+co3HNq5MORWOtLS# za??fb4F)M|g@0xHz!qIR5{Xt^vb3B%HTS8dzbZ2NtfMk))TSgzY*=sErzM&(C6<~K za174y_BEBqwM^XI4I0e>*Z-7+SeG5ocxuox?_2iG(tvOLOr0)aFGyZ7;chspF*!CSi^kI%fp1>*(jYww##YRdWZt_fknrDkM# z!I46YDOpi4lQEJr#}nrq)cnoUKlX%8Luu;NL|o`iwM-fFJ?*#mjcJ_^M+K&nA9VK& zf3=iKNI2yZ(^_bpM*cqLJ1UF!oqsCcxp;krzh>!NXXYN(wnhGd5oAB zhMt~pWjPd%8!ZlIi5ooC^;HdaaD*Wx(k^SqJOhSp$Tm3!dfYpz70<`{K+>w^PO1MD z;-QhELxd;FsZrfVSFieB?g$RRIPEa_U{0ufk_>B)6-d35QWdWJl2Y2m5Z7{VS4|GA zC}J{tp~lVsMFD&zZ@R%HME@_V+JvQU&IHE;vwGH-Z(FgvGMG@ej}55CMrekKp^S`o zN5M~Up3F;aO|{-AT={Y@V(IItlR=i}s_eU)5z?kS(1Bf@OZU_GMC+t(o{SS2it;@Z zW!orMs_O?oZ|2kH>f>-4C-i#$eV(9a(D|7O@jb;3o<&+{{v-ShN%FmIeP9y{@zV=`%3h^?{hkEK$NfBn zXbw3h!x+g11vBBQS3M`M4){qb@iZD{eXYvHx@wfyymxflczL0zwNxkxZ}6dfQV*k* z=AsAT+i$y5J74ca36D0*h*Sob7iBeCwaIllD&Q>S%Xc>|*u!asLtTEJ4GAA8m_S47 zH5ti2KSMgv`VT$t6XXn{UdsoFN=*%<3wg@3-%F`534T|#@Ur3Kh2-{6%{lJzgOQzf zjE$Gn-FiNSotTvNyzY6;bTOSpfTQYk_ugay9wHxH^!bL@#GenN$E?h)tv`Fc?yP?y zaOY5xfc>Frsq&i>NyT?@t7n*A`l+tJzi>l8WXJJOUfw5P27DdYJf3s__8_0+_{7uW zJcZ&nJkPW0Gu)E(mqUB{L{=ZarG8mZYRJN9KSW_;AhXnFolTR!I3wBnM{oZ^xN zPV2+XkI%bDuk%ZJZ7`p@b5_;%j_dA&3}I?-rIj*;OO1-2&2o#gpWnr*=0K( zzoe{>IcgG@Gy)rydwI)XL{7m;8vCH)s_N^n5AZ`ucP@Ls-(@t3jH&logIE-6AC^iQ zM3!Tjg4ItwN>O2rEjne5v$F3L+AVt6&ZNq9HOZT+s8J{eQi1G5Jz*i`XfNBCB(0uEXB-((om6lpGOfA*|M(IU2XKJ|rS#Fqf%jDPx#a_L*vzdPGohG-U-BtA8 z-o4$!pdHW2{-uDMvk|NJ^z40M{R<(!2iHUkdZj{)F*YRy9Y*d=?Y9^%&--3Soj;Y% zKM?QuV%&t~l8|(k+58Qd`yxjE&EM11b3?c4jyhcL?`Erv%pNVwuC47QkcHFwUuN>R zot=Dhun&eh9wIxJZJ22jc~owWqO7Mvu8tgl7|O`}crRP5w0)cY=` zVe(xAo3k2ATOXcgebc$R5+W|z@>XMoF*&v_-26r;2QhTG7s3;)AXa55Hs~rZfo~N5 zz#6gm+5L6KdGn1+A6Q0Jt zcB%fAIIYckEuSB@Ypp9REoSf;7tMrGHGBNXU99e^ZNJ%-DcoG+irxkFffc>Al=`Th z7sO_nLcO|a>k6zPP6G<8wRgkZm{T2d<~z-3#$x4=VEX|QbLxItTs@jOm78{@o;URP z&cimv0X0|A?4F8#Vd!1TezH+VltN#$jAqu&&1MGlW0WUiLxvlUF*-eb-o&_J=A2ot z$+(Aiz{6F!=&z-wZx@beo=RX(fbT*1}#Uay=ZXCV3S)&Xx7uj5X);T3To)Lh<;D z5(a~ukNyu>ZP-pr&x*@Pvo~giR%i`G_t|ztMpXNlp?TRQ_tV1bU-Z%9>zOCSYMmji z2jm}e91+Pd9XK7z%=notS<3qz+v}OI_;67-J!6`)@`U&<4WyuBX?ZK8AsMceHV1^at9wpEwO@@h6CRH~L>TVQZN4 z<2v$iK%VO+k9;;iCD-Rs{pvlf3r^^pilNKKS`X_zLzjEK2A6H;rt_UIJZ3J{N%W6< z4CB*H^bW5#3~iFh5B5j9a#;9Z;klY6umWf9jEo?P$*PEW=<`0z%wGI_xl#*>Y z`o;C`%Wkv#F<9>%iOh*%8kPFad*5(Ev@`3~n3;C+yCev@4dW?c_!JZ?V`un+^CV;u{&b@{v%fSlA0tB z?qKP_lHez^6TUkZR^BMfDld4fcAVn67(%o2<#UEx2b~`4mIyzri?a)0@UpB(>##TK zKp2k^?HP>=1YJdU&YGN+ZXgu}y`w~#a4^uSd%i>pVwcZPm2?%fejf;zQ)@_Mk>y;h zv>ERo39pY1`0MOMQqffN5_+yoAzV}OZh#2N<8-p+mn^~C*D~DII5eByPK2m@i**@i z^^H!wcH$;4Gmq#562T+dn)B3Bug>MW#%aNYH3T`OQWTTIWg%3Ev}w;PvC(b~OrfUO z={|oQ&s$64wTU{YiZshx=GLwHBSzD(-Zr>5HpzjS_4xq)^tForpdX}kTUU~Y|6uWDZae+g3R?^(N4HbBJx_%MwsrKpP#^z*6vZY3=`_hCrrJHQlk~Z3Yan zTWvt=qL1(^-%!Lq5{)(y&{YXUHz>@8KvXAE2-^U?pAEr<>JExEU=061r<@F^=%CTy z5`I19;9&j0p>i^tHaYpRVus&7N>55)DXzz}WvFpj}2`E9*f0k*tUW zP)Y`p2v~m33%IUd^8zYxo7HDPZ~d~tw&Er!Dq z$RsF28X+eQhl;sVsooSt7@(d4s2dsU?M}c^q)B8q@y$}!1k`O%ebfS#S1~O`BpfLV zN5D}Cc_b1kBLPPrhr`8xo^)Hx1%=toa?->CwM}xPXOJEOpws>usy`X;3IRkzGz9+R zfXV@HOcc}=x`m<8@_{OX62k^c>Y zqmV!dzxu(^a=?@HD+cfcRKl;AEE@jXT4d2kfVN-#P;mL*;y@wbzj1()|9uXW0{W*l zQ^{E1$tTnQ)vzE00;Ptg=fa#s0tyDq*QPwGPjm(90xTMO8B(ZNGL@bgIXF@VA|j$~ Hq67IKqBl3z diff --git a/latex/classPlygon.tex b/latex/classPlygon.tex deleted file mode 100644 index 463ae22f..00000000 --- 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 ee703c41..00000000 --- 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 236e4222ca64af8eb81261dee7080480de787b9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15951 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 diff --git a/latex/classPlygon__inherit__graph.md5 b/latex/classPlygon__inherit__graph.md5 deleted file mode 100644 index a9e6ccdb..00000000 --- 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 712c9d62088404db495fd18619f63fd953bf5d54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7710 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 I)>Z-h4_?Q8asU7T diff --git a/latex/classPlyline.tex b/latex/classPlyline.tex deleted file mode 100644 index b74abcd7..00000000 --- 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 a829d54b..00000000 --- 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 0be37f2218a2e55ee68a9ae9197e28c628961ea0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15947 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 diff --git a/latex/classPolyShape.tex b/latex/classPolyShape.tex deleted file mode 100644 index 60573b9f..00000000 --- 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 f2b8625f..00000000 --- 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 5e1aca5268c1609fc124c698a78789ba79146469..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15572 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 diff --git a/latex/classRadialGradient.tex b/latex/classRadialGradient.tex deleted file mode 100644 index 3d355c10..00000000 --- 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 4d61e0ce..00000000 --- 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 3d7614ec17419e048e058c32685ebec603c281f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11213 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 diff --git a/latex/classRadialGradient__inherit__graph.md5 b/latex/classRadialGradient__inherit__graph.md5 deleted file mode 100644 index f8a23eb0..00000000 --- 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 360422defa9646dac98a686647f99cb96b59a9c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6146 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 E0mg>o-T(jq diff --git a/latex/classRect.tex b/latex/classRect.tex deleted file mode 100644 index 5fd1e0d2..00000000 --- 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 a7b09128..00000000 --- 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 ed210d3f1233988706052dea021c4bf87fe43c96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15592 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 diff --git a/latex/classRect__inherit__graph.md5 b/latex/classRect__inherit__graph.md5 deleted file mode 100644 index 15e4c66e..00000000 --- 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 d62ef041ef6af6fabd7345e2fc50d7ac2178e16f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6379 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 diff --git a/latex/classRenderer.tex b/latex/classRenderer.tex deleted file mode 100644 index 39ef05ee..00000000 --- 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 da294901..00000000 --- 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 7f977f8f106230f3798d525c8934c3073e1c46f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6026 zcmcJTc{r5c`^U4!Bp(v84^sBo%-EGZA3I4|CWA3EVrXWREgE}^gltKKl6}jTZHh!B zw4l%=yJSfjS^Cb9K1<*4b^ZSNJld^~|ga(zDmfClSW2BjA9e#3+dzF8OG7}?*o9IDcpRyZ=;>{)?eKLvY5EE;$SWVYD+W*ssiN<-*XPWNb^K=K-jt#c_D}*Vfq{sf?9w~YKR<&(e+2`AjtBUnfgmds1`U(} zLbifip$KUDyC6GbLFQ<897@l}ALvMTfq_u43J?MY1D&^e>(k@XyAy$o;@YkxV}g&L z@89OK9b?P8vlv@?WC99L^ku|y3)pd+07(Qt^p2%Z?`42KhjT;Q80#^dKbLBQCi?gh z+|WcILpGbgtxT0}|Es{&eogDY6*xoK?VSJt!od*4KPrCMKIr7}{;Jb!MU|7ar^< z+~KG%2#Iu9?7TCazDotRD>w2=W@z``_oT7Du#H`2H|(?;8wf*RI(KoYMCVu@sl4a) zl$iL-BqmR6;W+9*76OxB*gT zYp*@_<&26%O#{gXW|4ekw|{iE{DeJl z-zc^Ah;gBHjs;p*sLn9C{HRR07<%nQv3KF3VPlsawpY*T#-&+TS9jAUb3x2?u?g}> z5xE3uN-B|2Rb63f@0yjad*gI>%|r0HefsMB4c$Egt(gm&LJEt5!G{yhQm>lIAMZR@ z220-`*;^sl(4`>bnjmkTao^%Pf0(YjUw;&9MyY z^wT`1r_8avE_}^|uN&rhcT4wYpY9bJ^+U+F81Z~BT z;i}?|0r4<}TkO}v-E9wEU3r=%(9?Q+?;+EHo_x0i_K5>k!W*RYeH~3mnK0GwvRQAY zoK6Q(Hi`8Hf$`xT`HS+J!|v}6CtkBAfE&)uy?Jx(T3EmRZB5XeM6ll5%JVMYBiB`JU8^gt?OHyQryeDinq-(A#NRtn;@FhP zgek6ka_RCXFH=44RcWN~H{<=4hQoUZ4Sbk6v+{0O93&CAyJ`33Z+? z8`mQb%7msoogQ628^y)!dsF8**hJGr)#OM=*7@-C*!Tp$j_>91Y1L+H1NYrA6$(!> zMuifOmlpQ-i_FBHSmH=Lm}GI+m_@iZf*0F%Ks2`ez+ue?CTVi3a+Y^r<-WS-Wq~uP z%Ya_CX-pV2UdLY{SiiN+KHPfv&^Xs5fJrhjI{}8*GGtNhQh!jEkLy)fbuPWIy7^c& zQ%>{r_r5k6;|=4QAKx(OIl^Z7*x0D+53@Mjr)&3|5A*Hoo)}Y1)vWIkfq2ZC203J8 zVR!S%Vl%&J-vC88@bw!|QDtQo=HV8W$U{Rnix0`1UV1o{0(bfvxVFRrJA z;HiBs?uh{W(xAy}Q9a-4$YNK!Z2Y&&sw1@(rFY2lyhm{2Ubvf;#Q7kbtTgi|RMBzk z?p#|hKWd~!sLfSViDLMp4_LeCj?t3y8P{fyWmy@C0ELa^0%rAMy&a^`J@qMak%}$P zNW)ViS;ubYX}I61D0+3rXH8Tm@5MNAO{8QU{qA|_G_{)2F)D)* z-26~|!}&xN_Q~!!xj617|Jt(sY>|9IE)C(Hiku zM8pp;lG9<5^ZJBzSDCqpw|H&*>mZ4d3xEc>mr}0J%d5)M-5g!(Z2adx&W3!AwJ#`* z=J6wTe}3HmA~UqncjeYoq=L|X`%@aW+D(?-ICJyHk(Wem_}BJSh!+$FQAkhSCC#B{ zHFAgxXiA)#$pyr?gb5#TH7vSO>;WoM>I;~@so6V6v?SF8jz&k_nACbu7NB@^eI{uA z*y!YDCgtfbQJ0|gafa0evmfb5ab@IC-hwW zmYF^HBfX6P`I0A>|i|ElcKgyAQQ1jESoQOI-$Q<3ckevf{7! zn4Ad2kaSZoa41k!LM{&u$XO3*rMN zjkjpp5q+k)!?uLU??gML6fDLe zmxRsL?r>09pQn&Q(6#UHDHevg4wM24y=GVwvi(2p3QGK1fQ%BTjj(i)*}VL^gL6qT zfL$fde-}%S8D{?YxBJfqge#nxkSg&m$330-6~$)4>gl{MFmSR@ZcuIh59EaVt5{oTR&E|>Js&%rD2_GnGxLScUCuRkMX zy)Vsypk$$H}ARft$Do2EyUN6{FltOmrkf;;**5p zFX?#CfGv67wlyxN3t@>M{{&0F3_QU!VS40nVgloRN(W;}^_vX8- zeV9i$9LuGyNFqUgRfB95%vUf5eHIswNaD`4ROrL@oEMqs#Wt!=ksoJf>ArXOJhd7n zl21L!m0xy4zRmz1yc@?^;e0u}P&Co9VS9<83|+qaLQD<4BS*GW>F7^ac^G>KERj##Np6AquA$0COQ8z0R= z8YPZ&x5lwn^ zmgGV$1wlT-il7YEM&FR?=uI zmA;vrKa^sW9^}eI1hIV{^vxVIR67X|9+^UQYGenl2lQkwxzD+!UMe6$3%)B8^Z3tTlzmqyRCmhjfTjVR=zHE`Plf=eXqmp@i+oE(hfXYOPRaiqe;*OMve zWag$Kj%GPu99+jd5lS{?WoJ_ss6FN~ZNRnsF_B%7mj+@M1UP|DKNVd57%UbdEguys zy{B1u;cUXXKa;?_@|d)MUfElimbyx*RVQ*};QCF9dR*G7C^;@|(VAR&3Fb&GO7qZB z*oV=$8hlR(b6}B|{8C>{DZ-XbNAd2L=(Tbxmql7^2zizH@Dca%L~oiEk~OsbazNr$ ztrti3lM}D1S-X@_b{`&~g>R^#8qzGwKF~z9C4AaMwXYFft9dKMd%h@=|Cs7c$)D7b z_LzZ4J9ommQcIpZP&5;p9naSlO?Mr4YfN>0GIkJTc{|JmX|_BQ;K~~KRn5pHj6&mB zzMdhj@GyL8#`tg=l`Fd?=Iq!bHFEie+QVIL*nQHz$9Zx(Y-j(-t)%WHUEd8@Vbw}Leld^Ohx|lt&{XWPuh%=-_A)J4u@ zJW;3dpL-Gb@B<&quFcQzK)2lk7f!zmex=;KL5)FNbn)9O9Q5#W713unhLRZY9$S!J z_POJmad0vB9kYOVN1Md9K|jC+%x-s^7-9GK{anSH_6ms3V*8bDSb#hye;9M(q;22+ zV{UH_e1*(PPs@L?8#9epVRKbZt23Cmo~Hk5(9v+duHB5+&qKELPz~O-{%lE{`u!(C z!n(pCfkDAl9F8eyAjG8=M?~y-EIOh+T^wyy-*lB z6@dQgskeM$S#3WNUS7bYZ>7tT!=kMTkS!CT{WiEa%3p$=8s zG8yw@*h)|se9NJa@;!#eVX$;WLVwMc%a(-pJ^@tQ9?vk2?HG&|(!m273S_W}zq1Mk zoB3Uh?brFalD4?aaXJlQD7EF)LlMzil;?jbgCh`0`dAcUM*uU_Pa8r98#~(mB{y&@ zA=_ndh^O;D93BG%+2ioKcp`4cu{F*f=T5>B>G%f*VXWf+`$niUSknK#5fBE!f~%+l z5ik`X0>VIQj2o)@*X$551{-4BD)eQ->Dh;=|4ca@J^9$-aSXr-Wc(TYJt@DJC2>ByCY^T8W12%xNi1{4fc0YkuWh#C|Mg(-kl4}-yS ze-HW>KHMRC`Y3u``(U=xx3z?yJnt_G=ubd<0Kh4P)2=D&PkRXAPdfA&*>(G&igPxbeHs!;mY z`qx<1-^bGH=eM|U1ejhzJ7Y-%6n*Csws5&EE)dPoim{Dse0=Ch-)4^t+XU}H&+S%S XZ1Y1DfwZMA9Dx7>WMm92jR5}vR;Bny diff --git a/latex/classSVGElement.tex b/latex/classSVGElement.tex deleted file mode 100644 index 64e95496..00000000 --- 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 e90620e1..00000000 --- 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 1d29771e7470487110443c84f3df54df6a72af7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15036 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 diff --git a/latex/classSVGElement__inherit__graph.md5 b/latex/classSVGElement__inherit__graph.md5 deleted file mode 100644 index 23ec47cd..00000000 --- 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 8a471cb52a01082eed1cc16338c5402357f4e643..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12086 zcmdUVc|26@|93=|gp!hqvF~Ox7+YB*`%d;{Ft%ZgENzMqQno}S`;vX%$r4hELXl)2 z`+gJ2@66!7>+biwp8NZ~pMRcH<~rwnKIdH5`*SVlbI$w2rKO-G1QkY5bCu2KZ&O1> zKoAhd+L2mH3ItX|x!U6#Ku`pL=}?0}Ag~hJ8Hd6GrLz?drGT=**rKRqWT-uGSd^6u zwRb|Ep*rTX5>4H#;cIP)IdA1I9{O?1HcIA}i%$f7sj!si+B6(%vY({PH!N~+dB2Y- zA3~f8EMrDzjnrO}!M2ls&!areeKpo=2xGRyRo>{jy)iP7c%5=#YeV>P?~~Z@&q++R zO}nuRL)Tu@EZAInVJ7a_!E^esaJuCT5VBzCPvec1tqXXzTfH?5!ZDxkZY5I~5~4Tl!x03mWFP z>UUeEuT5$Qcir^9efQ}FuS{@P^=fFz8)54g)NGpQcFi3uc9 zc}LLH)04uZLB+|RQg}|peo{p*bZNiz?=xjfTnt{8`>4NMRUJQ4QiF@R(Ye&H+1MI0 z8Tz5Cj9L}TwQc&b%q}ptx?mSeI=FL-huq?b{F@;9k+c&AA$WhioEpRoA9rjNcnRM( zgoCHPcd>Jbh!b5tvC3Af_0X);=&KY>z?Vy&Sc)P?arU^Up{M(&*8wZ)et*ve04E`GkXcMB5250^N+ITUbzrqr65;*im+ z$;21iiyd&cF<9kYCAU?puX0gdcLY+Og@x>H6gt`zRd+LqeQ01gHBY5qm>tju?W6xA zl5Mfwi$9!g>r4!(>=zK?;Tdq*Im7@1U+S4buFmq{HR^9QmO&r0^OKFr9xI8KJKN#X z6eT!gGFz(06WLeozCM$dodN4FHq76b&@x!|Yb?22!#JL@WnLnF{9$Ct<*;K6Y0Bg* zO&`Kfem6cEaxXzon=X>HB*IHsAd=1ogn5WL`x^4LQ;4qPeTy_~{?rCy0K$BG*U6~& zupgM$gmDm*o0`lKa0K#rCA$4<{B^Qn{B@m^r7`YvH`pBy$z+_(#$T;g*0R*2(9%h+ zu2y}+EF#bN33oD(dM4yivUWcLF5oMm8fH5bzL3s-Mz@znG_u^qjxz=oc_;IJE?@EZpG+&9!2pS6PFVP^$PDHuDO1ZB1QedkSu#C3ts56jE=MxQ;~H%r}+g9 zH2)#wjSY>6FY!{%Rl@y;UBJiiCu#X9`4;4^9Br}@%GxOlX1CwM8+K{|UUG)c zrHcO9jce3&O|?99W9VhR`AmHHI_I`>&_$}}qE8vlJIK{(FipR^a@hso7g*|m6MMg4C5$WXCu=() zh!6w>6+Kuh0W0ADL3Lt(RtEy>`M9A#U|CmJ431d0uBSDQ2&ti6o%RqM*3$;3Wraln zRX~W4wx^Y?76$E#^8lHEM8t##1X#}ha-ri6}~sc2?c>L0sW2m0l07bFNqTt$ba0~e?2n(<279Lcg`YE z_}=6eK|p@qAu!%M_ZxQrCOSj}K^!OllDi(t`=4|F`L*Cbe13`jFWey@5eP_JWdB!` zcnJLNF*J1&i{OH6W(_Y-huu@vf{s!g^2(i3IV}@DZO6+v@cUs6W?P8kloMgm;nqJI_uR|5EV%KO;9;lHQs{GU9q z4q`GBfB<1`6JBu%9&v~8C?M_-mPQ?Fvx6w; z_mxu1${q#c0_}x3`$68p)gZ7s$`)-Uhw%pDHp0C{kWk>M2iu<-@<7Z9#DpF|{Ig#j z2uzGnehcS_D9}K{Mu_J0uvV@fZiI-^#^(T50ReF)>flHouu?!>McbfsF3AzV{pd~y z<$>|U+Ms|+54;52@uvtCII$O_5<^--d+!^nap=8~n8)-WDYej*t59XFJESCX3fJjvWkHrHf&o)^F5Y36Q@BVI zeBAi)#f!!q&w{Jv^bBfwTToSJ9}X$@pN)DYElq`A@Z7k$QLsI)%e$ZCHJ- zOO+fz9}~?0`oZ@=ga6z0ZaYb~h3j%@?z)rTdo)=>I@wxuRVf);x#(mhN~RK~0|IQ~ z=6shTd|D}Fgj5?BhXU}Dnd*spS`ZJJ z06of-hS|L0l#^*LW8X2lIo_?}p=xwjilI}WXb$Xi-BIPj#M{j?_f}WY3hb>ZA&jdo zym@jd$0WCJw_ngY3XWn@!HB=VF3{a2l7#M}e9y3U@y=7N*UGbk!RVbUdVF1ryDOCm zO1#+)4ejMCPMk4P=rym8T$$=Ct=obID%$Cr-oqDrCqwPcFV}*7`z{&GFz>^REUaAFPu}W#Jyk7u$!OpGAy(4RnT}D+-<}7#)tfZ zqy_oCYi8)^@L|@ZM^CSMF^6S-VG-fe{=>IvEc=14v>+Rl3o&@91a=Lzp{9~4?Qr$& zcCAw@k6}tr!<1A!jRs^#mp>Y>aGc^S+xfjx(y3Nj@ zSPXeSm(Ic$ued7Ac{f8DEqI^8wjrIaBgI(fR$tP_qo7Dx+(VJDV`K8;q}T#eLFpEj z(bbM~5|`rJCYL{9t0s(#Wi`%fzT|l)DDWnwXQ|vKbJ}=o`@vxN>PuGkj}wpbd3SUF z2)$0e;B>A7`aPiS-R0oy(n^aD8{PtmZ;cGLI8Qv^ur-d*7JZXhCR!m{CK_-x@0)K4 zcb93e2Np)^D|hvda0%yyZban64))j5GlFZ@n9!ZbYvr5rWgq$N-ZSEwuH?MtMVqnZ zhX{y-RkMEiq@47r+d$Np=0>>8W!BWU$IgGBZjoEQy_vXabe$eFDO0OTX>xnpl0%xN zz_cUn@=A1iWL*x{Q6KaOB1s+Vlac(Qw1#i6H>_@%wiIi0=QMOEV)*Vrxx=)#N%-20 zS(n-(C7OJ6jS)jU>rQA_lr)~>9!2|+dso^m1L5%{C??wbXQdvTUO92|ey6zoqo+6# zrfBKi?l56ZyA(`xk`uI3sVP*0S# zdv~UXW-*Lub~Ene4jUWUk1xQT-;}`aome@3H>PZ%EJ*^gvpLSkDlM2FIwq30PO5*W z=a2NWvk5%`?w7(h=BhGP#Rh_MDjB?j!OWs_gC(Cz+hpaU#Xs;xgu!)eD-b=35(WtFVjL&XJd1&S8|5smUVA< zb@k@~pH;6H#pE9Kb?^T0EB)50eyO}nU-?Oe%!1?0{*DT6tv zbIB6)^4(@+uhm`VI(lZh@QSm)bjHX2H}{oppN*FvT@YBiiI35$Ph!a8t+bS#Sg5YP zjd?BOt2SU4Qiv+yBNdh|!=E*+5W6!9z7EeHYzxL>LywxXN#s@NWr=dCDGA08qVoqE zNN&MA=BLZG(}yB zGoQ&1uRfKYD##YN_;u}r8bhzjy-5tZZ)>QAzkmKq-2$^`==1&`g7wJ~2@PutHL*Xu zM>i+bM*|#A8PemC!S;0X43X}1uf#qzlPJgE7t2o1hxbvr+ zV8^o&&w6w3)?+Qo7FAhO#}12mQ3|og!Elx$oXm-LYu0_Ix6|r&c6$2LWxxey+r@ES zRgIp01&16~27zG4hxA(Vk2_?I=FMG3TiRc6YS0EhHcLV%2Yu(2-$$%;{;_ zyDQcc=W!v-anZ~)#Z9a^sJE#1b{T5VwYZNim|Ac|8aSr)Y(<;s3gH!`UPU~QG7>n7 zgcNJw+v{A9zyjY)+~1h=oLc#o*;?fj&1R8h4YfP`s~uUCbMAY0yAdwD8JjZFZzZ*wOQG=Ipcn&K5UcbmXe&3 zwQJ6C`^_-#W(+6OJs)?U`r1vYTjp}+*5-~XGozK%7K+#JHn3Z{kH&wP`QVgYe^wqt zQw@Fg&XCCh4_4z{j%kVAR6X(P#>Dc(kClM-3FBcwp9_uyT z{%uI}jd#8<)9XBo>TTOWIz3+>`H>&rvoF2eS&xs_HaSpYsOS{ z8m!^9qv8jAqnz9qo0Z=-Obr~n@V4xYSb`JAieh*t8oj<7h(>7++C@3K50T&vQMnH* z@zi6qt?b60qdJ~XE(dpJ*93Pa51wzijy#{EUN$TGMB<%QiDS!4fv<({4GNIwulDjE zE~A}aLdA^dMjQj=JvfoY=bJy&^hSic_qosD%9^wnjHcY4lie+JuX%&^P}C|& zgWkWC#qy+$Wj^d`dZcZ<;J3J>Ok>xgBOh!{iluwITR*i<^k0i|ju%1|(tNozkD5g- zjIZ>@5vtPIOKok^TT7Ug*2tKIzi%r$e=13>7=lf)HLYBww2Ag6{ZRE&KrH( zAE4#XKS=Fw3uuBfT6;v+*{0<4vZd@zBMw8HW~|QW@u4T;n=_wP4rOv`q4gVtl>?AJNOOJ#EU$&((^6f z@5{%Imqg^vjvSYh*h!p9Z3tq!RPSnQB1D~4OiNSQ#Y7W*W|?%=;EHric&2k$=Q9%( z=gO$(+S+Pw*RzVQp0d`I8gYwVd$+@0*PueRaBgGRg>kX=3X=?+mR0;h7`BNo)>i9r z?BiuGafQM|RPX$vNwcvbk=80jTQ}+)z-Y*MLG`hcPtHFSKI-^nujGEuJ@G(d3|OQD zseHAfEY`?wRrYfXr?D7$UYmBw?5amzZ~g4C*v$}KD(q;&-DhBsA2ZY3FU6P9U7XY5 z(&;_MlawdHJ2Z5)%(^?JmAiiV`d!s_S#8e#U^Z2}&ZOz6QBL1`=3sK29E+!pSt(0kIA#@PNs?VeptapZAR9MEK$6 zM)A*IPtB|8I_U<7!r@ud>Na#7ch6?g90B1Kd>3WNm6(cNGTe96skMGe&ebPmFzXHR zXDLm5U5~EuEuQBO#0%Z8eU1*gS@}h3&EsrcGt+BNM`@1TE`FxzoDFPs|`MzUTaU<#J7{Y4SI$}nY~jVPnF9WKhM|p zdT032$+>1F@=D&zoJR4AoN|XHYyo26(Gfl=%X#Zn$*rDq_&3-1>vEChG;I*3*A&J< zgESOhNYJI|&s|Ann8_dthy=xVqv{S6#>RtP)+41LvoM^`A%Erf>S! zcZ9Swmrmx2^U^*|#{{>%?GcH8Nj=zAaXwuZs>dvRH#821n64Gb7&U`Zk4-zYg?33h zrfXPmUNb_qz`0MRp5tszReU1+@%n0bu;F&tjr_-(OxX-~#1`&eFgK#VBUQH9^L}2z zG?kf4(}Mr$%?ZO%eQ1(!a%!yUNYqf?iL`_Wu+8LQFhWcle+TcAXx3YzI)*<~80 z(;>1LSrKl+)ERvyv!+3*V>&6ptuhK%Yj*s5UW1rM;?77sdm^v> z$Uy{SfjqN)v?kgsdx4a9Ub88OQhjTAk>+sLv{Yn%)f*5}@@Tnhfoa2y?X6eyvTRql z=UEVrtI`dhVoSVUP~_#Y3VwXT5Pc*;+-sp_*<}raUQ9>}D}CRMJCUfGl;)If(}TPfa-n&+zd@3%sBY-{ z6T0k-jdya+79T&c1kNMH26uf@DqkY2BV1FSEN3rV4(oW0!~T1iYC>%qbxe zbF73Sosw>T>@C;%lG7z&$dJl=0(zYhUV@dw-laA;rC>%Ey9`Px$sZSXViihM9wxL* z@n*9C zs~s{4926KsWP5$UecSDi(t_>6MY?HXPg*sK{k=KjWXINPW zTnLk~c0QE2YTL57e=&U-x9t(zsOe4p%YQtqOOw=#=oQyhwx|-@rM={8ZIRsde42k+ z5=*_niB5ZLrf8Dt5y3A<%L}syY4^M-=)HW~O0n!^R?!aza;l-49r^A8z8_a24QC%u z(Un(B-A6%dpFL{plWWxJBvrB4DS25??R7Rntj}Ul6yMclOu_i&o@Z*?Xr^(KV=gPs zKI@HX=_86Idn2p7TdzcRu`WJ3!xIA^>W5TSub7WY|(yDJz?{*sx*#II4xFf37B-L+*Cd3vVl?CGXBHn*)Yrkht9+n`I5B&<}MT8$K>8u~A`d2W2a zLBexm$(*}Z;Oj^0MAp!|UQNlejf12&1-@qaRgl&4eGT?&CY>Qacfw68sG5t!oCoCn zm7b1TyzrLP1vg6C=#rfVs->N=`&U0=3Wv!oll;VTEDQYl$v;qgt2aJn_wJ>t@gm<` zVE?E;Hd#ZeH5O>7g*UunnduixK1W|TbZn5UwzRjy;#EMNhIbKVPLZl7qx12?Z{(80 zf?vrcoqc6OF#LC>#2mkWH*z*0WOA49J-;dl9*o-z4sKl0m_iDe=~UwI?k ziFVnZEZ122X#tYV>D8wh3yRH|<-!5W2HHk`5&^@tuL9(`c#=--Hxm`j#p$B;uMexb zXx(OHR4gPDD&ss9>bV)?r>Hr5J;E>3)BEzpDnA&B(stC*(t5t->#&;oYV(NyEFZ!XzApr~to_W)T@Fn!r}%CgfP4gk`Yb z3w=ly^}|(lX`7z%uP$x-T#ejE)pNY%E2-mSQw8|B-4;Bo*$onrC z;2%+$)sT7jv*RNtC(TG7P6nFj9RB`jkPUH&kL0YTyKLi;4$??6&T0_Jx|*AR1Ldem zV-Wvl2&jvs$l-+%2~>z)nm(nFo(oh=$^K5~IBAo+miI|-a&NK#DmNR7ibhEduY5W( z7q-ffM!rTXx+z+ct8*@N6i*K6AAWx5=+zQREh*4xl4hkq$|cgiJB_**$8@}&G1HTX zD2JXZNHN<5bFMT9H8!ZZ?^31WnokoxnE#r*LHxkGpS*!Uzz_$Y)Zsr%&HEpN;eUNW z|Gy=vnMHQE`a|dg7jIItzL#&&d88nxtnWMWPBHz)A?pXaY1V@Bw6!(sS`gzBlT2hTOWj5+%nm7T4-U--J;;bPJV%r|CYAl$AlZxfTjmPO{j?P6>-Q~N~! zJ%0SKSS-TTcf)oHF2$SYxpGRVrQ2d{VfI7l^M=5s!wj4HnK>?Hx#6;xZO4V@Y>;_>d1*I7*Mua6b)0GSkoUFueMb3PdGZ2=APm{9xH{I$krW+p1GWN z$LYM{tuz@$-N=krElI~&1L&eJts!R9T{}D{Y8jIZeFdt-?&a~7)2qwIUtSH_k`pXZgVT+q%wAl|)GAi_Cf zJ_;c((cS|Dhy7_Ox2L2CK_P(rAS5CR1GEVwprXRy2a<{k&dM2WBkOAKjM`7Nk@c`4 z&K>6T+zz`UaC>V$+ zVd(s%X#hg+-$gfq_1+B+a)R^#g@&L(5>YuT4-_%&=>Oy!G}Z$r?_h;JaDkfD{xKA` zCpZ1-aKP+O8A;I<$mT@5+JnG`XjfTR5A*>*tl1E4i*q1IJA|qC@BfJ+33`qwaiEBa z5yYRpe+WSG-`f*~5R@TNB%m3>fj^?oCJKnb2bMpVqJTaI0U<;PdXOkFAev$HUD1RjR}gW@`K9v! z>t6*^f~>bUL{-tY1Xt}TTzjIXJjN3kLeQUjA85&6chJIOY&~s&%vxR>D>N1Zf(k=L zg&`nb2OQ4LLjnwBp8=>n*2>KRZQ~(~!P@ifjdyt<@0O6Zr9jAB<5iG=L0}>fCpu0OYw51kAs*H*YM;jvDY2f*SJY1`tW_KL&*X2{`|N2NWjqcOL+*A}FH2 z`TzG!GYfV4TJy2 z0|G}Nf436{X6xVXCjt`%#`>>yAjJuD`EM8!^7pntA#j2;{EHoc{ni#J6iNsdezgO9 z53H~U7!GR%EW=o0V!JNd7nss}tGNyag98y7O;qneU=>$843K+uFb6zvR#+Ty1`w)1 MQgd-BYAR9x4+9Wsa{vGU diff --git a/latex/classStop.tex b/latex/classStop.tex deleted file mode 100644 index 58f17d9f..00000000 --- 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 c4a49a7f..00000000 --- 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 21b2fa3b9a6450c67d851cf871beb12332169077..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9895 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 - - - -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 951f31c4..00000000 --- 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 d9a7a303c9fd377fc9e4ffba24315ce03f891068..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15741 zcmd73bwE^K_b;r1AR!|`WN|&T`*D!P$beACA2#PdFcY|~zB_Q1;{m!6% z^LgLd#}BAthM)9u66h<8bvV)77!~ZDow?9;RPxW00^)%v_usU0Ia_RwIQ^ zO|)mhPUMHf@|fY+{~Iy5q=D6u{yD1ksTL7#(eyDm#= z+f6d#YU~-rW5O%d$9(QfQoT^2ZQ&U7!$~-Xw~%kml-xEs8OLro23Zx6z@?O8GEzXe z3xvLfLZy-y`n7t{dqd`;p)A8|f_H|sHppqq$Xesa@%FRT%Qc33s-+HoZ}{fibm)U) z+FK$klvcM!Ej4TN7%mJ}vRDPtnc615r{j4hu9h!FvS|&7TL*lToKc;SEm*pm$vGbu zmVoG&H&j^R}soP%H zJ76d>h-+(Pl`(wAx!iR4ocYWtcE%39dL-Q1W2Ra)WD(Rh9{j2j?+rJjXbDPDK4RMA zJ7tR#?^!Q4x?cA#6lRTHk9ZJh_X-81aBi1V1&9_Wd34Up+qHGhWNzmvczMsXm0R@gA(;Q^*_?NjTF&0}SkuBOzl*Gg&&&5C-rWwKxZ@P3 zY>sbd5}izk0dAj*x@(UU6dGs_KfbYTnuqv)+y3ZiV>CD#k1-;sB`PM#gt2vJ=4Jjv z`a)bkns;|Llo(~7iewcj$xj=H$RkOh;FY#phzx0=Hid3Jr>rxO3_;XF6|q3?dE2K= zE4hf0i$c8Lp=!;elapp6wLLyS*+RzMbg!VVvEeIH&!J6|;0ThXX?*l33hm^}!YI%h zrI9~_y|;f@i(HHJYt80nC;Y0EdLnd@69U!*$bB>#tJK7VEyoV1jqwqpvcLFuuEsTd zV*%3!M3VG2S4`x@NFOvpv-;>M%0>$GI|BQd#|q$yBmX^s_$y(ghDE+KfI3z|@0Raf zb=0SJt07)HSe(y?%T4^N;`WR_>xVImo1CmDQR znRW0woy7Akav$Chr@SbmfQ&u^1_vGVZVXHc1?m@bd{@I`*lZzpr*79aow{B2(0Bfx1O00{J( z2I~p?_iF_p@E=P6u&KJ)n*i8^ZEfwKx9d@HGKAieSoj{P*&M|1Cd=i~X0_U@-WvrCYggTmP+rUu3|~F8|vqkc1c*Tm1hy0-XQ7 z3fTXx0x$;gAzL5xfs0dOn)b551Nm^ViN2b}w- zIlQ%PaEX-xpj-XGp4y+aTkXK4_={or)2jdB?}Gl6>pwZX@OgfE#xO$-+fA3Vl)fr6t*HQ?nR6GBZx=W%xqX`UJ}Yn4@(bGAj6Ri;;nEXw9w-+#xl}S?)g$lRd^+XD-i!3Xr*$ND z0Oe8H1FD?TxcFdF^G`B{A{gF&^cs1zj0AMgCHpz_MFq?f2RO_mHKo;o-7<_T**0Wt zm0q+~Y7?jPU*8*JO%KUDxDiQiCz1%zLH$U92_bsTgN>cI+UHk^HW69S`-OK3DpwCO zIA9W^q7d2F*mSLL94qosqJO;>)F%3bS?PFUbF?PC!)O_K#SNJ;*nzl5FN!nM+mu{7=}|X8GpO!T4HEcVZH&Z-!TLhgQbuhcyB1 zZqtcu+~g&7XOkId@kwm1tcwn3*m%YPVE?xG_KEfziUt}zbPCZmEUq>oYV{-4vU2A7 z_n?5j497{5n`BL|4IRF>=P}skw(|4d-uTZ@uzE!yj)BujxztRIMdthqJXgb8Mk8jI zi>z+X$+8G-(iAIRZR=E254GDS9c+{cdYzoENnfbEkr>=uNsF-NtMXwId4=8v(&-Bc zk}kr0h#!~9`1M}lbizWcQZYeRuAc%?oUI~1`$IJqC)ttFd!j3`R?D2tHT~~$c?8V1 z?vktQrrK}5bC0+(dRFBGp;D5{^BH>QK96`ovYNiul|ZGA8!k7V{yjPGatpLX_mOP> z?Z!||^p6ewqL65dHP9PJD*uZxjwLPcFi_NdraYHS*nKF9e)^o9KubJv#G#F6%z0i( z|D<@@%D`dD#)w49BeOgBBHVohduWYhMy5{_A8b77d+B)ROMrJ~#I(i$cUel-izNM;dm4>icOJ+S$E~E)xv-Mxs zl-8X!tR{ZoiuXD2AUfVo@xkVw+nD$aX%0;Y8cJBjNV$-89w+yIsDIp4FN;%q?C!NY zgl6H~_=F3S!i9c0N0HA^_fa5JaVr#I&J546{tk~!7=@LJkWtGm)jUESTSz1*T&Up2z4U_9E>IXQqLp z(X(17=>=s%6|p>I7;0nY8R8=EL+@($;fI{b|_FD;bW8M!8%;Ch+&T>mDJ-M*b*{tA132l4so$I@H@p-(=cx~vlO-qTy%e%#i?iz$>Ty|_X$D@)18xdB z+7#ysteNj{=RWp^kJ%W*IZA#(Acjw>AKlSoJ=O0fU zXs{y=^<@dzwYY&QR9$oLnU#EN<%zk(o@&dJ@OLa2DrDhbJ_?Ma$8FD)D}Qi*v#&yV z&fHwl^TxVz{)t>5QG{ojT(0jhZqeMAXR)qhyLrKwPerX&$|Y&yv`1n^WF7H4oJI`& z-%oZ_R#b2X5DHlhrlX~JZ;0bR5I260mm8N;DEp~(sbVxjnP1uI=xg(XeJLUTWI+qA zYajRMP0aaa!d5-~>&uT}r(g7IKkhg9MQmAGlPEX3cI)No)hx^?O#8G~3RbL)k#4J5 zZ=TTUdDPSgaoe#_3bO`QYZ;2wV69*%uybNJfWBu4XWUQDQRU)s;ZewfFUu}(v zO5~Z%YrWHKc*E~)%HGRHpgLR(wfNG|(eWC8wb3DVyZG5;%h>?l9XQiC{po}73tLx~v%NCnPNlN;@NB_lDn%mKk*;aY2SEJz;LjrBm z@~JDwvn>78I@f(_S`Qrp2FbZizY{`gsYH?Wp&--P9m)X-hA>v9V(`Abj*-lp3fdmw z%=Dxu5<%%_{y7<+-uI_htH1M&(5d?BA1DwEn(g^~u>H>4&e_vh#M#gpz|X+%Cgn~q z7>gx?eqTg7W4Yx=i*HL?%Toho1Bik9^Yh>zAACQweR!%i9K7tb?zGObj-sJoe?B~h zAB+=>6N1n#ZGvJFWb&#syT`Yut>>wU^5=XWAq~lITGN;oJ`G|idH5{_s(YFBBz6~6NCrJ!-OKfpb$PZRzr^=V=4N$ zg6xk~RymGuhs^go=#yg!#x|*`yjl$fZ15q8{L;NtZ2AYDAx)s!lGMqbNv9I0lGoSN zc{*zH-6>m-QSdtjpa1wal*NW8$a~U}qB65`QI4-hYrE=p0cIC^;&ndK*Y_kpe=V7H zBL_jbOYMrAd>br{%h>-QXGoTa^x+)mEVRgj#PzDR#&1P0Uff)+CvpvGv?V2p7rwRFEdqkc3=FxF1X4Si|R%XxX(B% z7P3O<J%ka2mL$UfBd9U%y^UV}F(~;Jd@8p@OKZ3_Q z-C7Ki{UNjm(uUDBzHE=s3_oV7$-8nyES6C2c$Yp+AZKSgxvp9ZsvfcRG+o)=Wzm9|9;}XXZ;hL~xecT~ zL0dn+dumNoQCzujt}?Ogd0nf&%^VW1@4xzBDJZYgHIqUMlo?5MC9JhH^sW;?Ih`Q- z4Z8DiAbKocrF6@dls^1{Ro>VBNjy2!ReA+3om@8#C2wYho_jT6Wa$-B6RIxVvS}UKTuzxZ#B){fOKZ(RDD&L!P-uvW6#8odODGd}FO7_G%#%`)=)9 zGu0j`Mg=7s>~gh{mG7)2Z9bGNJTho0XG6IAi*I+U#~JUx!K>D@tclA|%BHJtTj!+39!c^dN08+!7gfREL7IgK?*+pW$1W&bsFM(e#rSav)qBk_ANks%C^C zEQAuQ&ZXm{f=~*=&t|H|s-^|KdA;V{YyMR!7eyj!(r5F2mioqgnopchV>dR|i33Qc z&SsHS=IUyX*2-6`Om`k`du_4V#gi?Ip1AA^8i<&yMt|&F8q>ze$*xO`*Wj>~GZ;+K zD)ZcI@a^Y0&hl20rY(f%udqeZ(&lw^+kZ)|1MXI4yaR1>T4(5mZfXuOm_$0-@Qw^N zg%pi4G_VyyCUFY}!h5TxtBB$!s)*KTA4o1gB1j5o5AdSyEUY`TR1_Q~jG@?K(9Q7o zo5+YdV)R*TYC7@vzstt_WJ;J%p4BVkia=s%wiZO$O5r>sl;jdGmnE9--#KV8?88Z& zrJIMJ>swvH53!Odr_wtu3=On~iW+Ijh`Ptjt$EYX3bG`chd&CQASQ@2K*;TFqr&G4 zi#6MR>m;Z(omDESi#ao#Cgn$udExNPfn^&!Z-tywr!(15X1dg$LTu&CB{juoGhgMP zZFjxhe2E}CZ)@e@vHt23$$5MKa5aLQ-{)HPEa;L_aIro0iJsf`IN`|p9n{#7yCY^> z6uLG1q-Wej$LgVn3=`g29hnMIS9P?O^`teKDbzEoK_yr9XUO$oz1drDb|%|2#~+s# zT5gf!Ul5dvxv#gckcw3*V$$@o#r0orOdRl5`xa&|X?WA*rqy3@xygA02D*(t&tA`U zMRjSo3_gd>1d>A+@RD5+#^n7?i(FJcI##?f#tp|Hibmy#dR9Y8ufd_skd!h#v!Rov zU$qf%NoVDll!W0*Qpq&epO7J53XP)xS4bDc&SrcuLTiVpvv_COyr?jYIpH|m5Yc#t z;y+C~?B)`cZ~TFxlbPOGwG~y5g-mJuLy|#E4RY$EfYHyRr(?V6_Zya21WY${3|pu5 zPO{S(pM33ltzWro=2B5kZl&sJ<1(x;!}fXCh+*4D!mecE@fTeOz|%rWu_z+ZqJ2XS zV5)4nT$s2R9qPB>5Zob$dME7F6={S0aBAPnVM3x7$2YRpE|691TAXh}$%qchTdt4w z3UjH49zxef6a>%8tuqsdCyM6jpLMWRs0enm8D7B1c{_|>k~)cgIse%G0B z;lO^QZSU~|=ofjj%Vx=uHE-=gp@~8JE40IT9{Kr2T7a-(S3Q9Q!EwLW+v9M z?j;Bxy6)Y~>gt&zo!JM&EzvEP-6s)*arh~xU`n5t6cIY?E$aWqn`41fN8tQ;{ zpwYom6io<}qML=tVXEw7Q9E0U8;cm4S5jnOjHU#%kGRhhy-2T8&I&zUDxFAChOp3t z0|UgQQ1U50Jta2{wGW4cK>`X;j7dm4X+=QoTgz$WmaV#0oAP~6BQG>cJ)SH#!i~- zpoItcU$WhJU{RZE`v6zyY!$S1mRqjtSv10Y_UECQxnw8L?(b1dbbBQ>#EZ5NC*4of zl-H!o6^i7=s?SXDSbuDxzq4H%1*6wDDH57LO`VX-uzGo~UGdwG7YOmQ@*WE5)m9$; zdM(!nNThr|3BAtO(&;svpZn2;4)Y&L5Xq__SSCIKp69uBq*yaBY2XvTwXUxDs@X}& z%SrLNLj-jjWt|7jYYp%&`|&z^#nkyd8<1tCWV*lLUBN9Mv1s{i(y8K+w5M+yLe&TL z?7D+vO1}m2%;YwoeoCM$39}zQ-^V1fzjyNFp3zsd3;|u0W<_RgtmpKBsJQZ%O;?;X zMIC49-G2A*&V90F35JHg5`AO;Mj}wh*na2DY$ad!i$N1(B)f)FGvH%gE$Y}85yH*U z4;TZ}Uo)g&+q~T)9-l1m zw8iyI!XWs?T7KIe(X2Qlr3sLj`J7;?{I1o(E#$P$;G2=H1tlLR%LNBPONL=;BPEU?ufq4K)RZDd4xu zlxP*aU89i*s*Yq%U$K6~ynGtc-ec&Lp`ObEQRQLOVS4_!pvAmW#Ai}xbGq$wb*js( zr4g^j?$?U4&p`pHBHNKS`B#ow>au5XmnpbrMXqNw{1mxQKCuYxEWX$Z2Y7im1eC4E zpV}uDA^9P+r+Bmq%{G@@hmexAPc)3pwNR8J;NM&t^7z}LJMAi?#-i{eSZkCuXFLWX z`nRYWcko~hG}kzho4d=HZeL9WgD{FMHUBBW(m2 zlFA|+j5rC1eC3XWC!A37#s1q15m)LGg-eoInKYh>If!zy&3vECOoPRMStp;HJ@&y1 zvJMX9D{Kd$5}Z?YCGG>ihy{j`Q>21=Oh)tc~-K;ruWf8N| zDPYV1UfJ8JjrwzrLyS(62~Thut7-3xNBXpJ^pAV6D@1gCb@VghiP8E@!Wk=N(u*RW zL8)f$X#c=zF>ULtP*ne9lw^fJCGJv8S{%Rocz|)>gGU8v_^NKB30o7>rO8lw<9EK6 zIbW5_Q$vTz0mJ;O90uBF38Q-x1N~RWWk_d>)s0?`;rO4&TCDkX^WRKYP8q~b@?Y~T z`j(Zvqg&W`5E!BwiNTjDpB1u(aHQlMn}V5rzZ3!C-bHjYKi^iPRWzSFJ4?q!Z_SS6 z!qp}D&dmj8J6He67bx027p6~}eBs|5lF2Z&5A=QN8Wq2{F7NV1P=UG#h*I-~+$i@0 z%I-wJpSAL%UbO3J99?c%rkDjLV(au$$I$l~1%-RsWM)bbN`0lq7PS>f&G}|dbIHwo zeX}EaD22cq)JbfNIVIwqd_{IURWShD=gJzBj?PqQ+lJo0p}n-PM2VlN^Y zqr*(Iocv-LobnXIko0U+@=z@n=*cY9W%vEzC8f}_^L@8V4z}-y^sL71)Fo&tf_3e6 zd4AZ^2v>o9Q~`@2_CzO<1I3TSkJG5Fx-pc)D}St!C^z>^ebI!-CDSJD zzk744KqWITx`{Co(DnR)z@97GI>)R;pRQY|OBDD@4eMTY0q(Ytzf(%bDR+!pa$wmg zAlk%`P%Fab8RkugD4PS9XL)-3+ZYt%fZ_BXqqx@XWF@*s&!!8k0Zz+Lemw5;!(2yA zZE-n_GPYTL@D%hs#L2F5UP)%%aI4lUcBZ1tukPIrh5nwQ6W{n%+$@##A)uDfLscdb z$f7DR`TiC3zG_y^$*e0xi}Xv`o>zgeu75qPF~)M#l&iY@Nen_Z{%CZCrb<<#jL<%& zrz6@8!9`u1V9T|ze5+!#u*?|^iPg*_D-<{BZFItHvnG{+*I6M;rKMi8)t0s zcO!`M==_fR+h6&IhqrVKsN;@>RJlK}JQjF&u-{mF=1`Psgi43JF%$4``-79_z9KWR z5TU|06LZIbfoSXLmc*twR%2H1CIY+ZeX}s3UveP6Z7x;i>CC$0~ zz!V(M9rY?wYOCTVMsQKgppqGu9w93 zV0z_`#*sKZ!jOJ>ftbFM`Bt-4e-#!(TmJEq(Bvlf6C>>jM*MwG7TyeRVgG5TEK-{u zOKp5#AyFIS7j)_r-ce3>9rc1f;ZuRW-Jvf7Za0w`7GCGDTe#}aOFm$Y34FDi7!y^z zeRP+iUqr5JVQ1$Z9)+Jf(4bn)-#5%jV!^3Rg4#kL;_@+tk|xAG_TKCHq`kHK z2KTzD%YYa_eDsE+2`XmeDM3O{-gBq^?P47q^8yT_DU`KjtgaIOYLSA_IJtafMkMK)Uuw_ zsA>tZXw6L9;Ipq8^;UH82pT`NK>aLD zYX7TkR@V=R8+%bTT9dQ}n=u$AYArDslLunulgjrLtWN^zG7ZX*$+#ClC`pznhB3Zc zbfXKhoE60mumE5SgIH(JoT)(nv{aMLV0Jp+aJIL&FuLgKnPNc-s+H&^x3H^NOX664 zI}yr9kJi@7F9AhwHq>(SPMR5UJ`|^aKve%G^$EQN70sJvF=HjpRjLJoMi#5ckRc+H zxAe-Sw+#V1j^#}bjiO*PThE(fu@*y=5S`+|yJ+a|*cPwV-%X&NRBzW{u3?5S_F)X?&GpL^QiaPTAhpl)CPgR%@gkJFUWQH zyI2a3Thd?2gXl*W{a?uw04VfDZoCDD8Xun@9|w91t|gfTH;{F)XDHlT=A&38QdyR& z>hRrSRx#$M==GhehYrmk)I--25E7oerYu8rH+B_|02sSwc(^M<8!?98MB;IXClbG= z&6bghirn(2-ZG2Ezef`}iHb7m=ZhWaB0>`WBH4FRJ&@t0d0k-K;3vdP`|M0=v2U_b zLksZ>F<2DMA(*Z-nv)tI?+ElZ>E2^Sk(bQ2m$6?M36}!W5ReVhnE!Z3D}4M)`5uWK zMC>JbF)pt!8;eQSPJJjd)Prbje zKHQu)=r;!FFEB{(A3&Y|B@R+oxz~0Eh*fvU^AZxt+b8G#y!!I5&FE4CYo%W!>nQx znz(f0_Tk2rOnuCLZ{K-p&9iGH^IVU+$kT1A=h^&|9FuHv8LQb#)}Wqbh4Y>5vj-FV zHH9~8a&9A^rgxn(gI2sBZuZ*K&W|ptDSY6ag$%hytqf(p{ord?!QlhctOg;zwff=@=fxgp5-16kb8#MKGdGsvQoKB z_@RU)u*-_t?xlPlU&NprZm6cd+3N<+Z8T5qGpft1A5jxBb1&yaQz$szm}?!`=C~j? z;558x!10Pm@JOf@Er^-CgF);zI1nH6{w?X{bb>33-$V|prw1qN&Qqg}$l#=_bSK>xD|0B^emIKe@)W{v=M@E@EaKLHjjARuf} zEF4^50Eim~C;@@l!M~6e(oh3y3nO7$Gi#Gy04`xiBRHCi7tC`z419g?It!Sc^OhiL zU@v82VP+1!9p;v#0yVKw2k`s^fWa$LzbkNYU>OR2EXbc@J|%V-xUr6*4(ZM4!01ug+Yxi zY|Q{{8Wy&~wvHCR3AZzASQtai;h+!pTQT4(|Nr`MvBSYJ|NQW_GzT#h!o>PDO?2c zfcNhxbFgtG#iFq+KO%k#vk1Xb|5T29|1FnzIVyON^c3-2Q}^T5%$Va&^{MCloY}5j zn$r$NSYT$J|5MZT(wy$27sKY1vw-2M0>inMcB=RMjb%+K4eq*!R5_&ncs+oKz!k{@yah#2AX& zYuJo%pH720K^ruFo-a2>O}LV+LWmp&uFxKRo?j%?Q6&*)mH6xv_N#Rpx>|`yx6)1H zi9NkS+<5Nxx5}o2$1>DN8}S^Dz%Z`IQ|A53H8$MqFD_s`cqU1Z~4=^xMyGB+|g+&ivp?{r5` zdbmFnm+wVI{^wxT?WX&~;QWN? zoJNVTa?u&8Jh@mlyj)?Srxiz$K*wl)mRe^b@x8J$0L_h9hN&*`8exykPu`7HtZ$pc zdv3%qqAs%?rS~|fkd0fWT%zVhtmdlJmQhqN^{TK}oT{pXq%rg7cgiE0pYS%tEZP#q zNXG@JbjM{8ttwQXl|M+}&^J{pPs30odacS9<-Sp2oZnjt32;!iESwnMjL%1?<_PQw z4Jn;ira;B!e9qGIvT$h7m_6Hr4q4p?NX{Sl`>H9 zw zgR!I#ie|LufFWq;xz>8-c(&n*wc56?BPi%9r0a#%ak0+R`-5sJ6w_yK;Z!);v~IOy z_rty|lXou<&CdG|LvE1Fje?HuAfA2sOulAUx<{RajRu#A`%Ds&SazRJHSE}@FP7qA zZx~#&#&hP@0*v;}jYv%D`d!2J9XkdHioo7IJT2xXB+eNoVHy>{#3U^>_N;Zq5=%>Q zl`x03$3=XqTe}?;jr+m)$b@Xj4lnnysoGqlN`zkGC%by5X*?lsYLNImy(*qX>>++M z2TV1(^eqY4H{y0?Pn}&+9XK!U4I;lk2w;6EEYLc61`VC=cI89jucXT(y=y&h`e7So z($vt3qY}u4OlrwawbrCkx|R<}{kp8GfYC-v=S|Sj@$i!+m651d$@F0GLr#e+96dGt zQ1`}tU;ItN2q7-HC;hJ01RL3XH4d7mdAgqt7nJzNQA@a9a+a!C)#W)YB8QGeRE=78 zP_cTZDYa_0@3{!+=zbzIRn=JXxU2fOEuWFCp;xn8bFuA!fH|Z?G&ILR)xU%~wB0}z zhzDwD)r@>?$Ns$*GJ5GL&_!R=A#m3uv^w-oRxBt0N{Od2Vk5f<{w z*PYw5>DMid!8z4NjZ6!sMFa^3>U7MyC)V(XCaZ@g-4j}}3a#CNeykO!V&_+%U6(k~ z4Cpy==`<`rFe1nzbTM`tB{eV(1FOX$XMwjZV}s=QB~B#$VScUiicx5>k!y|aLl?ko zxPgU|<-4GAdh}z1t`|i_*i8$I z|Fc5?a}fVX_R@`P4sHct`R@w0lgx;M_DOt)>z4<2hPMP?4uP0B7;zlCW{MJr{V?b+ z`)?jLwz6GG?&{vV78k~R*TiS{Aig+Sg1`ZiT5&IQWIcc5li6d!fxTiDl-0SJrW%YN zPq^d7h)McsLtTyUGzoPBc!io5SHW8ftwc)*W=AMQv@`_eZeP{flM)}f`YF_Rd&O6( zbX=3pYl~s2efFRxMQ2sApkARf){T)BF>{pmpQ}4=mk(3FVf?UDS=A}g^`WhBx<^pg zMCR;(DN`>9Qd1L8^brw4rvEX70`Ehr5OS;I$bV2JTs^;{2QbVB|CN{l{te0gpGFT# zTB_o*|3&oh6Xgtdl>aXZ9&R1Wzj>N}1y%nUO#MB05S12#%K>lx84~>^fcTHwBTN=0>sz^0*@HzrHx?$k_FW5k0uo- zd;6c+CqHAVUl8+uMjt;B^zgAX0NOxUbioCL`RZVp=MMYo{tZL^pJT_riwl?YX9)Jc zlJj?L17Q2TbQY=Gv3>@7#s;vU4W>AFzyrPw+kWP${OS3FZ_)05@%;b2J~;aSXUHmR zVSGCh>|87Vf$w*Mg_NMb3;_OXR;VJx&e+KamIg|1WMBcY1AtgTT&zFX%sL3J%|UEQNqpyF%l3J_{Rm{;^buK1egMT z(m)(M@Yo1`0c?NKfM8Boto08X5C}`{_&-PkvBN`J`1R+!|7i{o7#4T_oeu;8!{X6@ z&^Wj_|H%i0B{cnO4iGo+-!xuM*x7+!f35`#2K{pm*cS2pt1p-bo=@?&z91k6?9IhL zX`JwQ{2zS0uvqmUG!Sgn|Dtho{%bsTZdjcCkG||Y@K<<$pMwJg{^!1dIAFW}FFuZc zodXybEPDUPc$~0J`jZBQ7{FecKyF_YsaUw1z|R`oN+{deL176&x91UFhg&JY?SpfB ZJ{_S35a{jc1aSg6IZ$b6#1$k^{~zrTmt6n= diff --git a/latex/classText__inherit__graph.md5 b/latex/classText__inherit__graph.md5 deleted file mode 100644 index c815c3f4..00000000 --- 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 94c8ab067a45a2b9603addddb91abec9874e6cfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6437 zcmb_hc|4Te`zC22EhH)OW1zOSyh?z-qnx#ua z$iF7_ta%o~TQ_A#yeQl0J2&_dlQzgpvJc;GM|W}#>2}Wjxa%GFZLwMoi7Y&D>Efw2 zedotZT(?T}3(ZkjY0>MV2Zj%q?@W|(KR$S*@)*R#*7^>PvCZH1(S=@bw!F#VwsPR1a;0i%`cjPHuCAJ#XKkJz+RyVND?2h1 z+pqKw(8lE+Iqs{7>hG^rEbnQ@=ARhw%Ffdej!AXwkCm4qF#0IzZsYLyB;^nI!J^OA zp8Shwv#2HNB>aYDf}~bhTjk!tN!PgVpDIcsW#-tjxhUdX1d{U_W8gO?*Gz($caUO) z5{lW*tSS7A1dDs^lN4Pu3dlR4s>%ew3yOn*6#%NK4!{AZ6At_YqX9OoenNG~B+4(= zE^;tA7=T%iCTIk{)+ST@IT-*o5Ar4eP<0ZCOkvGz=8vbaAOj-FV-=zJ`a4mKalQm_ z0vHQ2@y9tElZhmXA8;H{fB{Nq01n5j-{5dG6J*}(Smve#C(5cJ6I-)fZBqYb$!kk- zq7ca>Wg&3$nsKW`?_PC@Ii9ssgWSg&b;DJuN-bQrV>wl>#IJ?wAP`*7)M<|{)?>=uO!Iwrd|?lQ?09?cYt zfxsP~ZsezC>@^NK$a|%FQ_dNQNX9O4_t)oiY(^nBf)o#C#KW5*&M#@j)THL>SGmdJ z65SE_4sDmffI7W8^7ovjfLo-&BEO=k9;L!if0CUen`4AU_;5NZOovf8(#XZut;0qb zC>D=Xg<(X`Y+7UwZ*CZAdJo-O>wMtI&Mxl>hNM2XF0Hf7WC0fb?MGHWl1p^ZS0LO= zh7sL%Fxu;a<Ht6Pq@Cl*Z zLyg?70z2r-Si=QTHu&b@;4 zJ=s5dPJZmUedOC&hZgtt};WC3dv`wYBfdXkD-d6apX^1lZSd<3?a58 z4J=AE%iiipN?uS-tKS?yRM1fst^6Y9-4Bg=Ax`D)6o?^ap{?=VA(zjT_yAoMyl|KF zqrt9I*YYeB=$kUM!+igeov3|m^*6#>U2*rqNPT--XU0pe@9Gl!BKsz@c{=8=o`3jc zFt*t%Qnpc0wV-O~1Nk#XIZM#lSU>ZTHu?JNmq+8B9U7jU8#$M8?t@*BDc&rkoL>-*zS#Km#y*Gs zP}zx*=Aiek9rF`g`z1Qd&wiUWxMgK;Uz7K^L{)kA{O2>9MJ6%fJcK=a8V+2{L6KBK zoiXa{(aAgXgVe11IqFIquDMGG0`&N!-UToUgsWWHEx!?03Ck<9RY-OTNHZ9K#61SoiB`dNHHv{hm` zo}lvPNfoiv27P?{-7|}jFq>DdH%q@%0s;-5rQbBFyfcGs_+a)Y+n0(Dyn>}hOycjN zX<0bKO2hh6e0)%DuWRd>o3cjDPhuL)QAU~W8SWkBF0W!eTlXf6tP5Oysi@)cm+k<7KX`~<1EeRR^$pJI>^T({p zc2V{bXSo`_*!ygrukWriIDQddC7o!Jc(2&SBsW)7*QPkp7D5*hJCIGt^A~Tgyfbx zQ*fRr^VA~ezYP*g5@O(<@rVecoulRr*|s;@#{C+7ts7Dy*K5sXEv?e+!@b-$;N%95 z*hrg61Z35;mE1Lw_ssTf(qngP&`zn#FM9gi<_4eNM*Xn9 zbiP&y&sJAc8{;qh@X}{t!Ir?;zaWmSr4_;$_nNVs>sB|Xaz7fh>Gc)B_~OUKx-O>9 zlutHDmTA{P_5_|iiZBx{b)BBJpyw<;eQowdF8=CC5svNCol57NKnYT*x>h>p2M8Znp?IpqOJ)(@95#G z$y1w%kCKu|b4F$s>v%E>?+G3|7`1=NZt6g1VAzCZ{IkCUcT3-JD9xSn)_ihT>vg;n<15@5aciYHg*8KWVHJMSGB zaTh!E=d`ms^{u5p@S8QVOAF2=jO3^BbAFxKcd1^gmU{DK^o4f;)zJc_d+PEn;)QG3 zQtpbhUiLeW{1n-Rr z>Y|pK;(AkMR)zwB#CP(`oc$-7(NckLMH8YoLdI^7c{~WvMAhpV@_$ixfz{{HrG~b0 z`qyptJM{6Lw&eD?{V(!7vX!5el&74UQc)@Q3#xv0i|^s|bC06Yp+0Enjn8p3cANhD z*$)!nc{SG)nnet2rSA7AK=6EFZ4)JGPF>1xue)l5UU7XX)OqUk>6yD<=Vx%#=ltB4 zbf;rxf@zjWb%A5Y zz~=`)R?;K4T#H)NaSdOt>qW3l6AvL>}s*i8Io{Z`{2w~M9p)|k=Ylm zsF;|yB06uac*Alc9V!iWIaoSz^LVC5VoD^b``K%=&pKciPmEOTUK9`rwLEVn9y&!c zYGJex7hS0$-JdSBmfk03xyd&b_?-Mnh^qHvbLLX4veG_G)A-buWuONx&)K35B+nV~PKzB#IhoJqP%-*e)840=ZAY(i z<3Z?4Wd6!s+yhv<#*)axq0*HA>P18d$lluA@D7M zv)lM;xV+zQx0~7aL|Buy8WJwfeqwJuC%bH_wHQN+YNRvD$NOGMhZ!Y9#krsnvlHa*GWJ|i3L47NSqx(f|gZ(^W@Bz-(l2{)g1@roGp zHgd2F`S1JKsgXlVC3NqUhXy*G1ww1;1rk*KI%W~##MjMok)N7URz2THAxH;c(CDgv_5!-^e zqV{2^gkmXK=ph!O5G0 z^|$SCykoLgM=On%&DnQGwO11lG34UWtkSwn+etmPZ}`%e@5vCMJY#6n@P>Q(_c)`t zGHJj*;oY&8)IGxOyoL&GVkUmqY>$NLJ{UgBhT#^+dgIe-DYe+}#LiHaK8+728Wm))sLe*nzFj$MUG3mHqoWYNz3K`TETvcL)Xn z)7dI{hnzo>b{#rpJb;avE>nttjpXyl$O9FhnxsD956HGYd;RfN(|x2nE=%*9dUJ1$ z@G&D_K}H1ok#FzBl)WSrPY=#hddV-BhvT1Wb`0zhla~ID=%eFwp5^{{t=Ho5D5v>b z;oNJv2J!5;o+N9rl7O8Pn~(=bgN8O(6%pLV9-Z*9))BAU+;q|+Nug5;W^a`!1shV; zDL9g)VEEjep8sf52_KzC;7i}&Q)CvcT!BStJEmK2dP>`ysrq2+Z1nx1_W=66+eV)` z#_ZePf#IdF8T=WU5{IioG5-HSJ(JEg>Jb?9Pv-wolGeo?rZS{O@N@DddQ-^0Oxb`X z79GQRfy$4ymbQ+$iHsJ(9cSrp1_}^A+jVeWM9&}qvf2bN+gK_KQxJ6Z1CWTHmKv*4 zh#VY-fB|v}XaoSqC?Nqj0*P2tfb=LhPok4L$<>pvCLyW&IWhGlC4?et80PwzbvXnQ z#R4>O-dFYkpxV1VQvAVS1`3B(sXfoO)P(>w@ zTmh&Rk)%%YBd!CinXQP<6gQ?i!}Q_*r=XEc2?v8=F5$ll8mR!FS)8F2|Ch~bKQx>v zXZ=$U7*Ov6$3-KVdAMGXO3aPVEGQ-TYV5%*BwLV(O!*iLCD`(7beOCAJvvO`Z8Zn= ziOx(iSY6iANR#Xj<_P?k@Um95K7z3?+1cL-)T|*+IHE5ZfXl}pbJ;=l|iyRzcQasiZQe|PnyFTsTi)Cw_Nu%8!zMxl@>zy(;tP#6q2H1h&T z>lh3JGWl-|#`ODNb_y_1;rti&Uv@}Ea8LYhheCpT_Fov&{XZ}a8qAX4`+_`y@%|lC zKr8;yR{_I}{_l1u82Zn(z?A+N52dK^2L~u6)Gu>Td~x9Z_htQ)VMaU!rW%G73sW)~ lOqhTE)X*cjfO)a1%(8xQaK02)WY91;oJ(9>+enA&{{U~`QT+e_ diff --git a/latex/classVector2D.tex b/latex/classVector2D.tex deleted file mode 100644 index 45ce1274..00000000 --- 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 1a408d5c..00000000 --- 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 afba24ea..00000000 --- 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 ba75a77621fc8fa7a6f09c9bcbf15776b6ee570b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11027 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 F{s*RDJdywa diff --git a/latex/classmColor.tex b/latex/classmColor.tex deleted file mode 100644 index 317391b9..00000000 --- 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 817dc3e8..00000000 --- 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 341cda3a2da2f309106cdbfe62d35a229bf15493..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9211 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 bJ}-Ws4={Iw+i4()#cWo8d+ diff --git a/latex/doxygen.sty b/latex/doxygen.sty deleted file mode 100644 index 8f59bccf..00000000 --- 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 5f8dc30b..00000000 --- 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 a0eb314f..00000000 --- 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 e4b871fe..00000000 --- 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 5ed680b6..00000000 --- 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 efd6bc2e..00000000 --- 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 bd6fcdcc..00000000 --- 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 edc7d4af..00000000 --- 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 5cefe3eaea3e287c6b03711767b61d9b03c09a99..e86b898483042d19924e3216e248ada59335697d 100644 GIT binary patch delta 124 zcmZ2*ReQlz?S>Y{7N!>F7M2#)7Pc1l7LFFqEnI0ESWJyfO{ZsV;F1Tkw)bw}D&}%_ uF*Y`FGY{7N!>F7M2#)7Pc1l7LFFqEnI0ESd2`K&8BB<;F1Tkw)bw}D&}%_ vGjKC-GBGx{G_r7Ub~JY}H*|9|a4|77v2?VsbaFPfQ?MbVWV`cju2_8l{c9pO diff --git a/latex/refman.tex b/latex/refman.tex deleted file mode 100644 index 7714d3a2..00000000 --- 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 7ed6e702..00000000 --- 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 007c417d..00000000 --- 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 1e6de778..00000000 --- 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 bf93c77891bdd1cc6b466e447c9eb185ae3efd96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10641 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 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'.