summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.criminal.sty
blob: 1ed601e3a42df4ba73b8157afcfe579a52bee26e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
%% 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{details}

\newcommand{\tikzpeople@criminal@paint}{
	{
		\pgftransformyshift{-1.2pt}
		\tikzpeople@person@paintrighthorn
	}
	\tikzpeople@person@painthead
	\tikzpeople@person@paintgoatee
	\tikzpeople@person@paintshirt
	\tikzpeople@criminal@paintshirtdetails
	\if@tikzpeople@female
		\tikzpeople@person@painthair
	\fi
	\tikzpeople@criminal@painthat
	{
		\pgftransformyshift{-1.2pt}
		\tikzpeople@person@paintlefthorn
	}
	\tikzpeople@person@painthalo
}

\newcommand{\tikzpeople@criminal@paintshirtdetails}{
	\draw[shirt,shading angle=-45] 
		(205:3.1pt) arc (205:335:3.1pt) to[out=200,in=340] (205:3.1pt) --cycle;
	\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\if@tikzpeople@saturated\else!80\fi,line width=.4*\scalingfactor,cap=round] 
			(2pt,-8.7pt) to[out=90,in=290] (290:3.1pt) to[out=45,in=270] (310:2.25pt);
		\draw[color=\tikzpeople@details,line width=.17*\scalingfactor,cap=round] 
			(2pt,-8.7pt) to[out=90,in=290] (290:3.1pt) to[out=45,in=270] (310:2.25pt);
		\draw[details] 
			(310:2.25pt) ++(-.05pt,0) -- ++(-.1pt,-.5pt) -- ++(.3pt,0) -- 
			++(-.1pt,.5pt);
	\end{scope}
}

\newcommand{\tikzpeople@criminal@painthat}{
	\begin{scope}
		\pgftransformrotate{20}
		\draw[hat] (180:3.1pt) ++(0,.2pt) arc (180:0:3.1pt and 3.5pt);
		\if@tikzpeople@mirrored
			\draw[hat, decorate, decoration={bumps,amplitude=-.1*\scalingfactor,segment length=.7*\scalingfactor}]
				(0:3.2pt) ++(0,-.2pt) to[out=170,in=10] ++(180:6.4pt) to[out=110,in=250]
				++(0,1.2pt) to[out=10,in=170] ++(0:6.4pt) to[out=290,in=70] 
				++(0,-1.22pt) --cycle;
		\else
			\draw[hat, decorate, decoration={bumps,amplitude=.1*\scalingfactor,segment length=.7*\scalingfactor}]
				(0:3.2pt) ++(0,-.2pt) to[out=170,in=10] ++(180:6.4pt) 
				to[out=110,in=250] ++(0,1.2pt) to[out=10,in=170] ++(0:6.4pt) 
				to[out=290,in=70] ++(0,-1.22pt)--cycle;
		\fi
	\end{scope}
}

\newcommand{\tikzpeople@criminal@definecolors}{
	\definecolor{shirt}{RGB}{5,48,167}
	\definecolor{hat}{RGB}{4,4,20}
	\definecolor{details}{RGB}{230,232,234}
	\definecolor{hair}{rgb}{0,0,0}
}
\newcommand{\tikzpeople@criminal@definestyles}{
	\if@tikzpeople@saturated
		\tikzset{
			details/.style={color=\tikzpeople@details,top color=\tikzpeople@details!70, bottom color=\tikzpeople@details,shading angle=45}
		}
	\else
		\tikzset{
			shirt/.style  ={color=\tikzpeople@shirt!80,top color=\tikzpeople@shirt!50, bottom color=\tikzpeople@shirt!80,shading angle=45},
			details/.style={color=\tikzpeople@details,top color=\tikzpeople@details!40, bottom color=\tikzpeople@details!80,shading angle=45}
		}
	\fi
}

\newcommand{\tikzpeople@criminal@colors}{
	shirt/340/{1/-.75}, hat/160/{-.5/1.5}, skin/20/{.5/.75}, 
	details/200/{.27/-.25}%
}