summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.judge.sty
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/tikzpeople/tikzpeople.shape.judge.sty')
-rw-r--r--graphics/pgf/contrib/tikzpeople/tikzpeople.shape.judge.sty116
1 files changed, 116 insertions, 0 deletions
diff --git a/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.judge.sty b/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.judge.sty
new file mode 100644
index 0000000000..c1539ee9dd
--- /dev/null
+++ b/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.judge.sty
@@ -0,0 +1,116 @@
+%% Copyright 2016 Nils Fleischhacker
+%%
+%% 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
+%%
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Nils Fleischhacker.
+\tikzpeople@addcolorkey{hairshadow}
+
+\newcommand{\tikzpeople@judge@paint}{
+ \tikzpeople@person@paintrighthorn
+ \tikzpeople@judge@paintlefthair
+ \tikzpeople@person@paintshirt
+ \tikzpeople@judge@paintundershirt
+ \tikzpeople@person@painthead
+ \tikzpeople@judge@paintrighthair
+ \tikzpeople@person@paintgoatee
+ \tikzpeople@person@paintlefthorn
+ \tikzpeople@person@painthalo
+}
+
+\newcommand{\tikzpeople@judge@definecolors}{
+ \definecolor{shirt}{RGB}{0,0,0}
+ \definecolor{undershirt}{rgb}{0.9,0.9,0.9}
+ \definecolor{hair}{RGB}{204,161,107}
+ \definecolor{hairshadow}{RGB}{186, 137, 55}
+}
+
+\newcommand{\tikzpeople@judge@definestyles}{
+ \if@tikzpeople@saturated
+ \tikzset{
+ hairshadow/.style={color=\tikzpeople@hairshadow}
+ }
+ \else
+ \tikzset{
+ hairshadow/.style={color=\tikzpeople@hairshadow}
+ }
+ \fi
+}
+
+\newcommand{\tikzpeople@judge@paintlefthair}{
+ \draw[hair,join=bevel, shading angle=45]
+ (25:2.7pt) to[out=330,in=80,out looseness=.5] (3.3pt,-3pt) -- (2pt,-3pt);
+ \path[postaction={decorate},decoration={
+ markings,
+ mark=between positions 0.03 and 1 step .76pt*\scalingfactor with {\pgftransformscale{\scalingfactor}
+ \if@tikzpeople@mirrored
+ \pgftransformyscale{-1}
+ \fi
+ \path[fill=\tikzpeople@hairshadow]
+ (.39pt,-.06pt) ellipse
+ (.39pt and .27pt + 0.02*\pgfkeysvalueof{/pgf/decoration/mark info/sequence number});
+ \path[fill=\tikzpeople@hair\if@tikzpeople@saturated!80\else!50\fi,draw=\tikzpeople@hairshadow]
+ (.39pt,0pt) ellipse
+ (.39pt and .27pt +0.02*\pgfkeysvalueof{/pgf/decoration/mark info/sequence number});
+ }
+ }] (25:2.7pt) to[out=320,in=80,out looseness=.5] (3.3pt,-3pt);
+}
+
+\newcommand{\tikzpeople@judge@paintrighthair}{
+ \fill[hairshadow]
+ (10:3.05pt) arc (10:135:3.05pt) -- (-1pt,.4pt)
+ to[out=60,in=160,out looseness=1.4] (.9pt,1pt)
+ to[out=40,in=95,out looseness=1.4] (10:3.05pt);
+ \path[decorate, decoration={markings,
+ mark=at position .165 with {\coordinate (tikzpeople@tmp1) at (0,\if@tikzpeople@mirrored -1*\fi\scalingfactor*.2pt);},
+ mark=at position .330 with {\coordinate (tikzpeople@tmp2) at (0,\if@tikzpeople@mirrored -1*\fi\scalingfactor*.2pt);},
+ mark=at position .495 with {\coordinate (tikzpeople@tmp3) at (0,\if@tikzpeople@mirrored -1*\fi\scalingfactor*.2pt);},
+ mark=at position .660 with {\coordinate (tikzpeople@tmp4) at (0,\if@tikzpeople@mirrored -1*\fi\scalingfactor*.2pt);},
+ mark=at position .825 with {\coordinate (tikzpeople@tmp5) at (0,\if@tikzpeople@mirrored -1*\fi\scalingfactor*.2pt);},
+ }] (150:3.1pt) to[out=240,in=120,in looseness=.3] (220:4.8pt);
+ \draw[hair,join=bevel, shading angle=-45, postaction={decorate},decoration={
+ markings,
+ mark=between positions 0.614 and 0.82 step .84pt*\scalingfactor with {
+ \pgftransformscale{\scalingfactor}
+ \if@tikzpeople@mirrored
+ \pgftransformyscale{-1}
+ \fi
+ \fill[\tikzpeople@hairshadow]
+ (-.06pt,0) to[out=70,in=190+2*\pgfkeysvalueof{/pgf/decoration/mark info/sequence number},out looseness=.8]
+ ++(46.5+2*\pgfkeysvalueof{/pgf/decoration/mark info/sequence number}:3.7pt-.27pt*\pgfkeysvalueof{/pgf/decoration/mark info/sequence number})
+ to[out=190+2*\pgfkeysvalueof{/pgf/decoration/mark info/sequence number},in=70,in looseness=.8] (.05pt,0);
+ \path[fill=\tikzpeople@hairshadow] (.33pt,0pt) circle (.43pt);
+ \path[fill=\tikzpeople@hair\if@tikzpeople@saturated!80\else!50\fi,draw=\tikzpeople@hairshadow]
+ (.31pt,-.025pt) circle (.37pt);
+ }
+ }] (10:3pt) to[out=90,in=300] (30:3.1pt) arc (30:150:3.1pt) to[out=190,in=140] (tikzpeople@tmp1)
+ to[out=150,in=135] (tikzpeople@tmp2) to[out=155,in=140] (tikzpeople@tmp3) to[out=160,in=145] (tikzpeople@tmp4)
+ to[out=165,in=150] (tikzpeople@tmp5) to[out=170,in=120] (220:4.8pt) to [out=300,in=160,out looseness=1] (260:4.8pt)
+ to [out=100,in=260,out looseness=1] (-1pt,.6pt) to [out=80,in=160,out looseness=1.4] (.9pt,1.4pt)
+ to [out=40,in=92,in looseness=1.1,out looseness=1.6] (10:3pt) -- cycle;
+}
+
+\newcommand{\tikzpeople@judge@paintundershirt}{
+ \begin{scope}
+ \draw[undershirt] (320:3pt) to[out=320,in=0, out looseness=1.5] (295:6.8pt)
+ to[out=290,in=310,looseness=1.3] ++(-1.1pt,-.7pt)
+ to[out=250,in=300,looseness=1.4] ++(-1.2pt,-.2pt)
+ to[out=220,in=280,looseness=1.4] ++(-1.2pt,.3pt)
+ to[out=220,in=260,looseness=1.4] ++(-1.1pt,.5pt)
+ to[out=190,in=230, in looseness=1.3] (235:3pt);
+ \end{scope}
+}
+
+\newcommand{\tikzpeople@judge@colors}{
+ shirt/200/{-1/-1},hair/160/{-.5/1.4},hairshadow/20/{.25/1.3}, skin/0/{.25/.4},
+ undershirt/180/{-.6/-.6}%
+}