summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.charlie.sty
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/tikzpeople/tikzpeople.shape.charlie.sty')
-rw-r--r--graphics/pgf/contrib/tikzpeople/tikzpeople.shape.charlie.sty125
1 files changed, 125 insertions, 0 deletions
diff --git a/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.charlie.sty b/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.charlie.sty
new file mode 100644
index 0000000000..b03281da10
--- /dev/null
+++ b/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.charlie.sty
@@ -0,0 +1,125 @@
+%% 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{buttons}
+
+\newcommand{\tikzpeople@charlie@paint}{
+ \tikzpeople@person@paintshirt
+ \tikzpeople@charlie@paintundershirt
+ \tikzpeople@person@paintrighthorn
+ \tikzpeople@person@painthead
+ \tikzpeople@charlie@painthair
+ \tikzpeople@person@paintgoatee
+ \tikzpeople@person@paintlefthorn
+ \tikzpeople@person@painthalo
+}
+
+\newcommand{\tikzpeople@charlie@definecolors}{
+ \definecolor{hair}{RGB}{107,68,35}
+ \definecolor{shirt}{RGB}{0,100,105}
+ \definecolor{buttons}{RGB}{128,70,27}
+}
+
+\newcommand{\tikzpeople@charlie@definestyles}{
+ \if@tikzpeople@saturated
+ \tikzset{
+ collar/.style ={color=\tikzpeople@shirt!70,inner color=\tikzpeople@shirt!50, outer color=\tikzpeople@shirt!50},
+ buttons/.style={color=\tikzpeople@buttons,inner color=\tikzpeople@buttons!80, outer color=\tikzpeople@buttons}
+ }
+ \else
+ \tikzset{
+ collar/.style ={color=\tikzpeople@shirt!30,inner color=\tikzpeople@shirt!10, outer color=\tikzpeople@shirt!30},
+ buttons/.style={color=\tikzpeople@buttons!80,inner color=\tikzpeople@buttons!60, outer color=\tikzpeople@buttons!80}
+ }
+ \fi
+}
+
+\newcommand{\tikzpeople@charlie@painthair}{
+ \if@tikzpeople@female
+ \draw[hair,shading angle=-45]
+ (340:3pt) arc (-20:120:3pt) -- (120:1.4pt) to [out=300,in=90,in looseness=2]
+ (340:3pt) -- cycle;
+ \draw[hair,line join=bevel]
+ (120:3pt) arc (120:230:3pt) to[out=110,in=300,out looseness=2]
+ (120:1.4pt) -- (120:3pt) -- cycle;
+ \else
+ \draw[hair,shading angle=-45]
+ (10:3pt) arc (10:120:3pt) -- (120:1.4pt) to [out=300,in=210,looseness=.5]
+ (10:3pt) -- cycle;
+ \draw[hair,line join=bevel]
+ (120:3pt) arc (120:210:3pt) to[out=90,in=300,looseness=1] (120:1.4pt) --
+ (120:3pt) -- cycle;
+ \fi
+}
+
+\newcommand{\tikzpeople@charlie@paintundershirt}{
+ \begin{scope}
+ \clip
+ (-4.0pt,-8.0pt) .. controls (-2pt,-10pt) and ( 3pt,-9pt) ..
+ ( 5.0pt,-7.0pt) .. controls ( 5pt, 0pt) and (-5pt, 0pt) ..
+ (-4.0pt,-8.0pt) (205:3.1pt) arc (205:335:3.1pt) to[out=200,in=340]
+ (205:3.1pt) --cycle;
+ \draw[color=\tikzpeople@shirt!80,line width=.05*\scalingfactor,cap=round]
+ (2pt,-8.7pt) to[out=90,in=290] (285:3.1pt);
+ {
+ \if@tikzpeople@female
+ \pgftransformshift{\pgfpoint{-.3pt}{0pt}}
+ \else
+ \pgftransformshift{\pgfpoint{.3pt}{0pt}}
+ \fi
+ \path[postaction={decoration={markings,
+ mark=between positions .12 and .8 step 0.16 with {
+ \draw[buttons] (0pt,0pt) circle (.15*\scalingfactor);
+ \path[fill=\tikzpeople@buttons]
+ (0:.02*\scalingfactor) circle (.01*\scalingfactor)
+ (180:.02*\scalingfactor) circle (.01*\scalingfactor);},
+ },decorate}] (2pt,-8.7pt) to[out=90,in=290] (285:3.1pt);
+ }
+ \if@tikzpeople@female
+ \draw[skin]
+ (245:2.9pt) to[out=310,in=160] (286:4pt) to[out=40,in=260]
+ (315:2.8pt) -- cycle;
+ \draw[collar]
+ (245:2.75pt) to[out=310,in=160] (286:3.9pt) to[out=40,in=260]
+ (315:2.7pt) -- (315:2.9pt) to[out=260,in=40]
+ (286:4.1pt) to[out=160,in=310] (245:3pt) --cycle;
+ \else
+ \draw[skin]
+ (245:2.9pt) to[out=300,in=280,looseness=1.3] (315:2.8pt) -- cycle;
+ \draw[collar]
+ (245:2.75pt) to[out=300,in=280,looseness=1.3] (315:2.7pt) --
+ (315:2.9pt) to[out=280,in=300,looseness=1.3] (245:3pt) -- cycle;
+ \fi
+ \begin{scope}
+ \if@tikzpeople@female
+ \clip
+ (245:2.75pt) to[out=310,in=160] (286:3.9pt) to[out=40,in=260]
+ (315:2.7pt) -- (315:2.9pt) to[out=260,in=40]
+ (286:4.1pt) to[out=160,in=310] (245:3pt) --cycle;
+ \else
+ \clip
+ (245:2.75pt) to[out=300,in=280,looseness=1.3] (315:2.7pt) --
+ (315:2.9pt) to[out=280,in=300,looseness=1.3] (245:3pt) -- cycle;
+ \fi
+ \draw[color=\tikzpeople@shirt!40,line width=.05*\scalingfactor,cap=round]
+ (2pt,-8.7pt) to[out=90,in=290] (285:3.1pt);
+ \end{scope}
+ \end{scope}
+}
+
+\newcommand{\tikzpeople@charlie@colors}{
+ shirt/200/{-1/-.75}, hair/160/{-.75/1}, skin/20/{.5/.8},
+ buttons/340/{.39/-.59}%
+}