summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex')
-rw-r--r--graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex83
1 files changed, 83 insertions, 0 deletions
diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex
new file mode 100644
index 0000000000..fa13cb0000
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex
@@ -0,0 +1,83 @@
+% !TeX spellcheck = en_US
+% !TeX root = tikz-ext-manual.tex
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+\section{Shape: Heatmark}
+\begin{pgflibrary}{ext.shapes.heatmark}
+ A circular shape that has customizable rings around it.
+ \inspiration{ShapeHeat-Q}{ShapeHeat-A}
+\end{pgflibrary}
+
+\begin{shape}{heatmark}
+ \begin{key}{/pgf/heatmark arcs=\meta{arcs num} (initially 3)}
+ Sets the number of arc around the circle to \meta{arcs num}.
+ \end{key}
+ \begin{key}{/pgf/heatmark arc width=\meta{arc width} (initially 4pt)}
+ Sets the width of the rings around the circle to \meta{arc width}.
+ \end{key}
+ \begin{key}{/pgf/heatmark arc sep=\meta{sep length} (initially 1pt)}
+ Sets the whitespace between the rings to \meta{sep length}.
+ \end{key}
+ \begin{key}{/pgf/heatmark arc rings=\meta{rings num} (initially 3)}
+ Sets the number of rings around the circle to \meta{rings num}
+ \end{key}
+ \begin{key}{/pgf/heatmark arc sep angle=\meta{sep angle} (initially 20)}
+ Sets the whitespace angle between the arcs in one ring to \meta{sep angle}.
+ \end{key}
+ \begin{key}{/pgf/heatmark inner opacity=\meta{inner opacity} (initially 0.8)}
+ Sets the opacity of the inner ring to \meta{inner opacity}.
+ \end{key}
+ \begin{key}{/pgf/heatmark outer opacity=\meta{low opacity} (initially 0.2)}
+ Sets the opacity of the outer ring to \meta{outer opacity}.
+
+ The opacity of the rings between the outer and the inner ring will be interpolated by these two opacities.
+ \end{key}
+
+This shape takes the value of |/pgf/shape border rotate|%
+\indexKeyO[/pgf/]{shape border rotate} into consideration.
+
+For every ring and for every arc the following styke keys are tried.
+\begin{stylekey}{/pgf/heatmark ring \meta{ring number}}
+\end{stylekey}
+\begin{stylekey}{/pgf/heatmark arc \meta{arc number}}
+\end{stylekey}
+\begin{stylekey}{/pgf/heatmark ring \meta{ring number} arc \meta{arc number}}
+\end{stylekey}
+
+The \pgfname shape is setup in a way that even \tikzname\space
+styles can be used with a little bit work:
+\begin{codeexample}[preamble=\usetikzlibrary{ext.shapes.heatmark}]
+\tikz[
+ shape border rotate=90,
+ /pgf/heatmark ring 1/.append style={/tikz/fill=green},
+ /pgf/heatmark arc 1/.append style={/tikz/fill=blue},
+ /pgf/heatmark ring 2 arc 2/.append style={/tikz/fill=yellow!70!black}
+] \node[heatmark, fill=red] (n) {100};
+\end{codeexample}
+
+It is best to use this shape with no actual border (|draw = none|) and the |outer sep| set to zero.
+\begin{codeexample}[preamble=\usetikzlibrary{ext.shapes.heatmark},width=16cm]
+\begin{tikzpicture}\Huge
+\node[name=s, shape=heatmark, shape example,
+ fill=blue!25, draw=none, outer sep=0pt]
+ {Heatmark\vrule width 1pt height 2cm};
+\foreach \anchor/\placement in
+ {north west/above left, north/above,
+ north east/above right,
+ west/left, center/above, east/right,
+ mid west/right, mid/above, mid east/left,
+ base west/left, base/below, base east/right,
+ south west/below left, south/below,
+ south east/below right,
+ text/left, 10/right, 130/above}
+ \draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)}
+ node[\placement] {\scriptsize\texttt{(s.\anchor)}};
+\end{tikzpicture}
+\end{codeexample}
+\end{shape}
+\endinput \ No newline at end of file