summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.duck.sty
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/tikzpeople/tikzpeople.shape.duck.sty')
-rw-r--r--graphics/pgf/contrib/tikzpeople/tikzpeople.shape.duck.sty104
1 files changed, 104 insertions, 0 deletions
diff --git a/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.duck.sty b/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.duck.sty
new file mode 100644
index 0000000000..e50f54fd06
--- /dev/null
+++ b/graphics/pgf/contrib/tikzpeople/tikzpeople.shape.duck.sty
@@ -0,0 +1,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{bill}
+\tikzpeople@addcolorkey{tongue}
+
+\newcommand{\tikzpeople@duck@paint}{
+ \tikzpeople@person@paintshirt
+ \tikzpeople@duck@painttorso
+ \tikzpeople@person@paintrighthorn
+ \tikzpeople@person@painthead
+ \tikzpeople@duck@paintbill
+ \tikzpeople@person@painthair
+ \tikzpeople@person@paintlefthorn
+ \tikzpeople@person@painthalo
+}
+
+\newcommand{\tikzpeople@duck@definecolors}{
+ \definecolor{skin}{RGB}{252,167,0}
+ \definecolor{bill}{RGB}{247, 78, 19}
+ \definecolor{hair}{named}{black}
+ \definecolor{tongue}{RGB}{246,38,10}
+}
+
+\newcommand{\tikzpeople@duck@definestyles}{
+ \if@tikzpeople@saturated
+ \tikzset{
+ shirt/.style ={skin},
+ bill/.style ={color=\tikzpeople@bill,top color=\tikzpeople@bill!70,bottom color=\tikzpeople@bill,shading angle=45},
+ tongue/.style ={color=\tikzpeople@tongue,top color=\tikzpeople@tongue!30!\tikzpeople@bill,bottom color=\tikzpeople@tongue},
+ feathers/.style={color=\tikzpeople@skin,decoration={zigzag,segment length=\scalingfactor*.8pt,amplitude=\scalingfactor*.25pt},decorate,line width=\scalingfactor*.05pt}
+ }
+ \else
+ \tikzset{
+ shirt/.style ={skin},
+ bill/.style ={color=\tikzpeople@bill!80,top color=\tikzpeople@bill!50,bottom color=\tikzpeople@bill!80,shading angle=45},
+ tongue/.style ={color=\tikzpeople@tongue!80,outer color=\tikzpeople@tongue!20!\tikzpeople@bill!80,inner color=\tikzpeople@tongue!80},
+ feathers/.style={color=\tikzpeople@skin!80,decoration={zigzag,segment length=\scalingfactor*.8pt,amplitude=\scalingfactor*.25pt},decorate,line width=\scalingfactor*.05pt}
+ }
+ \fi
+}
+
+\newcommand{\tikzpeople@duck@painttorso}{
+ \begin{scope}
+ \clip
+ (-4pt,-8pt) .. controls (-2pt,-10pt) and (3pt,-9pt) ..
+ ( 5pt,-7pt) .. controls ( 5pt, 0pt) and (-5pt,0pt) ..
+ (-4pt,-8pt);
+ \draw[feathers]
+ (-3.5 pt,-4.2pt) .. controls (-2pt,-6.2pt) and (3pt,-5.2pt) ..
+ ( 4.3pt,-3.7pt);
+ \draw[feathers]
+ (-4.2pt,-5.7pt) .. controls (-2pt,-7.7pt) and (3pt,-6.7pt) ..
+ (4.7pt, -4.9pt);
+ \draw[feathers]
+ (-4.3pt,-7.2pt) .. controls (-2pt,-9.2pt) and (3pt,-8.2pt) ..
+ (5pt, -6.2pt);
+ \end{scope}
+}
+
+\newcommand{\tikzpeople@duck@paintbill}{
+ \path
+ (263:1.6pt) coordinate (tikzpeople@bill1) +(0,.12pt) coordinate
+ (tikzpeople@bill2) +(0,-.12pt) coordinate (tikzpeople@bill3) (340:3pt)
+ ++(350:1.5pt) coordinate (tikzpeople@bill4) +(0,.12pt) coordinate
+ (tikzpeople@bill5) +(0,-.12pt) coordinate (tikzpeople@bill6) ++(200:1.8pt)
+ coordinate (tikzpeople@bill7) +(0,.12pt) coordinate (tikzpeople@bill8)
+ +(0,-.15pt) coordinate (tikzpeople@bill9)--cycle;
+ \draw[bill]
+ (tikzpeople@bill3) to[out=320,in=190] (tikzpeople@bill6);
+ \draw[tongue]
+ (tikzpeople@bill7) to[out=5,in=215] (tikzpeople@bill4) to[out=170,in=10]
+ (tikzpeople@bill7)--cycle;
+ \draw[bill]
+ (tikzpeople@bill1) to[out=340,in=190] (tikzpeople@bill7) to[out=5,in=215]
+ (tikzpeople@bill4) to[out=0,in=0] (tikzpeople@bill6) to[out=220,in=0]
+ (tikzpeople@bill9) to[out=190,in=340] (tikzpeople@bill3) to[out=160,in=160]
+ (tikzpeople@bill1)--cycle;
+ \draw[bill]
+ (tikzpeople@bill1) to[out=340,in=190] (tikzpeople@bill7) to[out=0,in=180]
+ (tikzpeople@bill4) to[out=0,in=0] (tikzpeople@bill5) to[out=170,in=10]
+ (tikzpeople@bill8) to[out=190,in=340] (tikzpeople@bill2) to[out=160,in=160]
+ (tikzpeople@bill1)--cycle;
+ \draw[bill,line join=bevel]
+ (tikzpeople@bill2) to[out=340,in=190] (tikzpeople@bill8) to[out=10,in=170]
+ (tikzpeople@bill5) to[out=160,in=330] (340:3pt) to[out=180,in=0] (337:1.7pt)
+ to[out=180,in=0,in looseness=1.2] (tikzpeople@bill2)--cycle;
+}
+
+\newcommand{\tikzpeople@duck@colors}{
+ skin/200/{-1/-.6}, hair/160/{-.75/.8}, bill/20/{.6/.5}, tongue/0/{.9/.42}%
+}