summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.builder.sty
blob: 8ff6d9e789f19dd4f3d1ff15492f6cd967a1fb1f (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
%% 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{trousers}

\newcommand{\tikzpeople@builder@paint}{
	\tikzpeople@person@paintshirt
	\tikzpeople@builder@painttrousers
	\tikzpeople@person@paintrighthorn
	\tikzpeople@person@painthead
	\tikzpeople@person@painthairstyletwo
	\tikzpeople@builder@painthat
	\tikzpeople@person@paintlefthorn
	\tikzpeople@person@paintgoatee
	\tikzpeople@person@painthalo
}

\newcommand{\tikzpeople@builder@painttrousers}{
	\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);
			\draw[skin] (200:3.5pt) arc (200:330:4pt);
		\draw[trousers] 
			(225:6pt) .. controls +(310:2pt) and +(250:3pt) .. 
			(320:6pt) -- ++(2pt,-6pt) -- ++(-12pt,0) -- cycle;
		\draw[trousers] 
			(225:3pt) to[out=320,in=100] ++(300:5.5pt) -- ++(-1pt,-1pt) --
			++(-.9pt,.4pt)  to[out=100,in=320] ++(120:5.5pt) -- cycle;
	\end{scope}
	\draw[trousers] 
		(280:2pt) to[out=320,in=100] ++(295:5pt) -- ++(1pt,-.4pt) --
		++(.6pt,1pt) to[out=100,in=320] ++(118:5.5pt) -- cycle;
}

\newcommand{\tikzpeople@builder@painthat}{
	\draw[hat] 
		(160:3.5pt) to[out=320,in=170] (0,0) -- ++(1pt,-.5pt) arc(270:310:5pt) -- 
		++(-.9pt,.5pt) .. controls +(95:3pt) and +(80:4pt) .. (160:3.5pt);
	\draw[color=\tikzpeople@hat] (0,0) arc(270:305:6pt);
	\draw[color=\tikzpeople@hat] (1.2pt,0.2pt) arc (0:70:2.8pt) -- ++(160:1.2pt);
	\draw[color=\tikzpeople@hat] (2.2pt,0.5pt) arc (0:70:2.8pt) -- ++(159:1.5pt);
	\draw[color=\tikzpeople@hat] (3pt,.9pt) arc (0:70:2.8pt) -- ++(160:.5pt);
}

\newcommand{\tikzpeople@builder@definecolors}{
	\definecolor{shirt}{RGB}{232,232,232}
	\definecolor{hat}{RGB}{238,175,0}
	\definecolor{trousers}{RGB}{33,81,171}
  \definecolor{hair}{rgb}{0,0,0}
}
\newcommand{\tikzpeople@builder@definestyles}{
	\if@tikzpeople@saturated
		\tikzset{
			trousers/.style={color=\tikzpeople@trousers,top color=\tikzpeople@trousers!70, bottom color=\tikzpeople@trousers,shading angle=45}
		}
	\else
		\tikzset{
			trousers/.style={color=\tikzpeople@trousers!80,top color=\tikzpeople@trousers!60, bottom color=\tikzpeople@trousers!80,shading angle=45}
		}
	\fi
}

\newcommand{\tikzpeople@builder@colors}{
	trousers/200/{-.8/-.95}, hat/160/{-.35/1.4}, skin/20/{.5/.6}, 
	hair/180/{-.7/.8}, shirt/340/{.3/-.3}%
}