%% 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{stripes}

\newcommand{\tikzpeople@sailor@paint}{
	\tikzpeople@person@paintshirt
	\tikzpeople@sailor@paintundershirt
	\tikzpeople@sailor@paintshirtdetails
	\tikzpeople@person@paintrighthorn
	\tikzpeople@person@painthead
	\tikzpeople@person@painthair
	\tikzpeople@sailor@painthat
	\tikzpeople@person@paintgoatee
	\tikzpeople@person@paintlefthorn
	\tikzpeople@person@painthalo
}

\newcommand{\tikzpeople@sailor@paintundershirt}{
	\begin{scope}
		\clip (233:3pt) -- (1.5pt,-6.5pt) -- (312:3pt) -- cycle;
		\draw[undershirt] (233:3.1pt) -- (1.5pt,-6.5pt) -- (312:3.1pt) -- cycle;
		\draw[stripes] (-0.5pt,-4pt) arc (270:300:6pt)
			(-0.5pt,-4.7pt) arc (270:300:6pt) (-0.5pt,-5.4pt) arc (270:300:6pt)
			(-0.5pt,-6.1pt) arc (270:300:6pt);
		\draw[skin] (200:3.5pt) arc (200:330:3.5pt);
	\end{scope}
}

\newcommand{\tikzpeople@sailor@paintshirtdetails}{
	\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[details] 
			(233:3pt) -- (1.5pt,-6.5pt) -- (312:3pt) -- ++(0pt,2pt) -- (3.5pt,-3pt) ..
			controls (3.2pt,-4pt) and (2.2pt,-6pt) .. (1.5pt,-6.5pt) .. controls 
			(-0.5pt,-5.5pt) and (-2pt,-3.9pt) .. (-3.8pt,-5.1pt) -- ++(0pt,2pt) -- 
			cycle;
		\begin{scope}
			\clip
				(233:3pt) -- (1.5pt,-6.5pt) .. controls (-0.5pt,-5.5pt) and 
				(-2pt,-3.9pt) .. (-3.8pt,-5.1pt) -- ++(0pt,2pt);
			\draw[white] 
				(1.5pt,-6.25pt) .. controls (-0.5pt,-5.25pt) and (-2pt,-3.65pt) .. 
				(-3.8pt,-4.85pt);
			\draw[white] 
				(1.5pt,-6pt) .. controls (-0.5pt,-5pt) and (-2pt,-3.4pt) .. 
				(-3.8pt,-4.6pt);
		\end{scope}
		\begin{scope}
			\clip 
				(1.5pt,-6.5pt) -- (312:3pt) -- ++(0pt,2pt) -- (3.5pt,-3pt) .. controls 
				(3.2pt,-4pt) and (2.2pt,-6pt) .. (1.5pt,-6.5pt);
			\draw[white]
				(3.25pt,-2.75pt) .. controls (2.95pt,-4pt) and (1.95pt,-6pt) .. 
				(1.25pt,-6.5pt);
			\draw[white] 
				(3pt,-2.7pt) .. controls (2.7pt,-4pt) and (1.7pt,-6pt) .. (1pt,-6.5pt);
		\end{scope}
	\end{scope}
}

\newcommand{\tikzpeople@sailor@painthat}{
	{
		\pgftransformxshift{-0.2pt}
		\draw[hat] 
			(-2.7pt,2.9pt) -- (-2.3pt,1.5pt) to [out=340,in=200]	( 2.5pt,1.5pt) -- 
			(2.9pt,2.9pt);
		\draw[hat] (0.1pt,2.9pt) ellipse (2.8pt and 0.8pt);
		\begin{scope}
			\clip (0.1pt,2.9pt) ellipse (2.8pt and 0.8pt);
			\draw[hat,shading angle=-45] (0.1pt,2.4pt) ellipse (2pt and 0.7pt);
		\end{scope}
		\draw[details] (0.1pt,3.2pt) ellipse (0.8pt and 0.55pt);
	}
}

\newcommand{\tikzpeople@sailor@definecolors}{
	\definecolor{shirt}{RGB}{232,232,232}
	\definecolor{hat}{RGB}{232,232,232}
	\definecolor{undershirt}{rgb}{0.9,0.9,0.95}
	\definecolor{stripes}{rgb}{0.3,0.3,0.3}
	\definecolor{details}{rgb}{0.02,0.18,0.54}
}

\newcommand{\tikzpeople@sailor@definestyles}{
	\if@tikzpeople@saturated
		\tikzset{
			details/.style={color=\tikzpeople@details,top color=\tikzpeople@details!70, bottom color=\tikzpeople@details,shading angle=45},
			stripes/.style={color=\tikzpeople@stripes,line width=0.15*\scalingfactor,cap=rect}
		}
	\else
		\tikzset{
			details/.style={color=\tikzpeople@details!80,top color=\tikzpeople@details!40, bottom color=\tikzpeople@details!80,shading angle=45},
			stripes/.style={color=\tikzpeople@stripes!80,line width=0.15*\scalingfactor,cap=rect}
		}
	\fi
}

\newcommand{\tikzpeople@sailor@colors}{
	shirt/340/{1.2/-.9}, hair/170/{-.75/.9}, hat/150/{-.6/1.4}, skin/190/{-.6/.4},
	undershirt/210/{.2/-.5}, stripes/0/{.2/-.58}, details/20/{0/1.8,.6/0}%
}
