summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.santa.sty
blob: ad3ea6e84f0b8fe223a2e93334f806a633f87bf1 (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
98
99
100
101
102
103
104
%% 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}
\tikzpeople@addcolorkey{beard}

\newcommand{\tikzpeople@santa@paint}{
	\tikzpeople@person@paintshirt
	\tikzpeople@santa@paintbuttons
	\tikzpeople@person@painthead
	\tikzpeople@santa@paintbeard
	\if@tikzpeople@female
		\tikzpeople@person@painthair
	\fi
	\tikzpeople@santa@painthat
}

\newcommand{\tikzpeople@santa@definecolors}{
	\definecolor{shirt}{rgb}{0.98,0.01,0.01}
	\definecolor{hat}{rgb}{0.98,0.01,0.01}
	\definecolor{details}{RGB}{232,232,232}
	\definecolor{beard}{RGB}{232,232,232}
}

\newcommand{\tikzpeople@santa@definestyles}{
	\if@tikzpeople@saturated
		\tikzset{
			details/.style={color=\tikzpeople@details,top color=\tikzpeople@details!60, bottom color=\tikzpeople@details,shading angle=45},
			beard/.style  ={color=\tikzpeople@beard, top color=\tikzpeople@beard!60, bottom color=\tikzpeople@beard,shading angle=45}
		}
	\else
		\tikzset{
			details/.style={color=\tikzpeople@details!80,top color=\tikzpeople@details!30, bottom color=\tikzpeople@details!90,shading angle=45},
			beard/.style  ={color=\tikzpeople@beard!80, top color=\tikzpeople@beard!30, bottom color=\tikzpeople@beard!90,shading angle=45}
		}
	\fi
	\tikzset{hair/.style=beard};
}

\newcommand{\tikzpeople@santa@painthat}{
	\draw[hat]
		( 0pt,4.65pt) .. controls (-3pt,4.65pt) and (-5pt,2pt) .. (-5pt,0.40pt) .. 
		controls (-5pt,1.00pt) and (-3pt,2pt) .. (0pt,2pt);
	\draw[hat] (-3.1pt,0.5pt) arc (170:10:3.2pt and 5pt);
	\if@tikzpeople@mirrored
		\draw[details, decorate, decoration={bumps,amplitude=-.1*\scalingfactor,segment length=.7*\scalingfactor}]
			(-3.1pt,0.4pt) to[in=180,out=180] (-3.0pt,1.6pt) .. controls (-2pt,1.2pt) 
			and ( 2pt,1.2pt) ..( 3.0pt,1.6pt) to[out=0,in=0] ( 3.1pt,0.4pt) .. 
			controls ( 2pt,0.0pt) and (-2pt,0.0pt) .. (-3.1pt,0.4pt);
		\draw[details, decorate, decoration={bumps,amplitude=.1*\scalingfactor,segment length=.7*\scalingfactor}]
			(-5pt,0.4pt) circle (0.75pt);
	\else
		\draw[details, decorate, decoration={bumps,amplitude=.1*\scalingfactor,segment length=.7*\scalingfactor}] 
			(-3.1pt,0.4pt) to[in=180,out=180] (-3.0pt,1.6pt) .. controls (-2pt,1.2pt) 
			and ( 2pt,1.2pt) ..( 3.0pt,1.6pt) to[out=0,in=0] ( 3.1pt,0.4pt) .. 
			controls ( 2pt,0.0pt) and (-2pt,0.0pt) .. (-3.1pt,0.4pt);
		\draw[details, decorate, decoration={bumps,amplitude=-.1*\scalingfactor,segment length=.7*\scalingfactor}] 
			(-5pt,0.4pt) circle (0.75pt);
	\fi
}

\newcommand{\tikzpeople@santa@paintbeard}{
	\if@tikzpeople@female
	\else
		\if@tikzpeople@mirrored
			\draw[beard, decorate, decoration={bumps,amplitude=-.1*\scalingfactor,segment length=.7*\scalingfactor}] 
				(-3.1pt,1pt) arc (180:360:3.1pt and 3pt) arc (360:180:3.1pt and 5pt);
		\else
			\draw[beard, decorate, decoration={bumps,amplitude=.1*\scalingfactor,segment length=.7*\scalingfactor}] 
				(-3.1pt,1pt) arc (180:360:3.1pt and 3pt) arc (360:180:3.1pt and 5pt);
		\fi
	\fi
}

\newcommand{\tikzpeople@santa@paintbuttons}{
	\if@tikzpeople@mirrored
		\draw[details, decorate, decoration={bumps,amplitude=.1*\scalingfactor,segment length=.7*\scalingfactor}]
			(0.75pt,-5.0pt) circle (.65pt);
		\draw[details, decorate, decoration={bumps,amplitude=.1*\scalingfactor,segment length=.7*\scalingfactor}]
			(1.00pt,-7.2pt) circle (.65pt);
	\else
		\draw[details, decorate, decoration={bumps,amplitude=-.1*\scalingfactor,segment length=.7*\scalingfactor}]
			(0.75pt,-5.0pt) circle (.65pt);
		\draw[details, decorate, decoration={bumps,amplitude=-.1*\scalingfactor,segment length=.7*\scalingfactor}]
			(1.00pt,-7.2pt) circle (.65pt);
	\fi
}

\newcommand{\tikzpeople@santa@colors}{
	shirt/190/{-1/-1}, hat/20/{.5/1.6}, skin/0/{.4/.75}, beard/340/{.25/.1}, 
	details/170/{.1/-.5,-1.5/1,-.5/1.1}%
}