% style `goo': liquid drops that bleed into their neighbours and drip down; % tunables \fancyqr@goo@bleed, \fancyqr@goo@jitter, \fancyqr@goo@round, % \fancyqr@goo@drip \@ifundefined{fancyqr@goo@bleed}{\def\fancyqr@goo@bleed{.34}}{}% \@ifundefined{fancyqr@goo@jitter}{\def\fancyqr@goo@jitter{.26}}{}% \@ifundefined{fancyqr@goo@drip}{\def\fancyqr@goo@drip{.45}}{}% \@ifundefined{fancyqr@goo@round}{\def\fancyqr@goo@round{.5}}{}% \def\fancyqr@goo@sett#1#2{% \ifnum\numexpr#1+#2\relax=2 \def\fancyqr@goo@tf{.10}\else \ifnum\numexpr#1+#2\relax=1 \def\fancyqr@goo@tf{.30}\else \def\fancyqr@goo@tf{.85}\fi\fi \edef\fancyqr@goo@t{\fpeval{1-\fancyqr@goo@tf*\fancyqr@goo@round+.5*\fancyqr@goo@jitter*(rand()-.5)}}% }% \def\fancyqr@goo@quarter#1#2#3#4#5#6{% \curveto(\fpeval{#1+\fancyqr@goo@t*(#3-#1)},\fpeval{#2+\fancyqr@goo@t*(#4-#2)})% (\fpeval{#5+\fancyqr@goo@t*(#3-#5)},\fpeval{#6+\fancyqr@goo@t*(#4-#6)})(#5,#6)% }% \def\fancyqr@goo@tile#1#2#3#4{% \roundjoin\roundcap \ifnum#1=\@ne\edef\fancyqr@goo@u{\fpeval{1+\fancyqr@goo@bleed+\fancyqr@goo@jitter*(rand()-.5)}}% \else\edef\fancyqr@goo@u{\fpeval{1-.5*\fancyqr@goo@jitter*rand()-.4*\fancyqr@goo@drip*rand()}}\fi \ifnum#4=\@ne\edef\fancyqr@goo@d{\fpeval{-\fancyqr@goo@bleed-\fancyqr@goo@drip*rand()+\fancyqr@goo@jitter*(rand()-.5)}}% \else\edef\fancyqr@goo@d{\fpeval{.5*\fancyqr@goo@jitter*rand()-\fancyqr@goo@drip*rand()}}\fi \ifnum#3=\@ne\edef\fancyqr@goo@r{\fpeval{1+\fancyqr@goo@bleed+\fancyqr@goo@jitter*(rand()-.5)}}% \else\edef\fancyqr@goo@r{\fpeval{1-.5*\fancyqr@goo@jitter*rand()}}\fi \ifnum#2=\@ne\edef\fancyqr@goo@l{\fpeval{-\fancyqr@goo@bleed+\fancyqr@goo@jitter*(rand()-.5)}}% \else\edef\fancyqr@goo@l{\fpeval{.5*\fancyqr@goo@jitter*rand()}}\fi \edef\fancyqr@goo@ry{\fpeval{.5+.5*\fancyqr@goo@jitter*(rand()-.5)-.45*\fancyqr@goo@drip*rand()}}% \edef\fancyqr@goo@ly{\fpeval{.5+.5*\fancyqr@goo@jitter*(rand()-.5)-.45*\fancyqr@goo@drip*rand()}}% \ifnum#4=\@ne\let\fancyqr@goo@dc\fancyqr@goo@d \else\edef\fancyqr@goo@dc{\fpeval{\fancyqr@goo@d+\fancyqr@goo@drip*(.45+.55*rand())}}\fi \edef\fancyqr@goo@ux{\fpeval{.5+.5*\fancyqr@goo@jitter*(rand()-.5)}}% \edef\fancyqr@goo@dx{\fpeval{.5+.5*\fancyqr@goo@jitter*(rand()-.5)}}% \moveto(\fancyqr@goo@r,\fancyqr@goo@ry) \fancyqr@goo@sett{#3}{#1}\fancyqr@goo@quarter\fancyqr@goo@r\fancyqr@goo@ry\fancyqr@goo@r\fancyqr@goo@u\fancyqr@goo@ux\fancyqr@goo@u \fancyqr@goo@sett{#1}{#2}\fancyqr@goo@quarter\fancyqr@goo@ux\fancyqr@goo@u\fancyqr@goo@l\fancyqr@goo@u\fancyqr@goo@l\fancyqr@goo@ly \fancyqr@goo@sett{#2}{#4}\fancyqr@goo@quarter\fancyqr@goo@l\fancyqr@goo@ly\fancyqr@goo@l\fancyqr@goo@dc\fancyqr@goo@dx\fancyqr@goo@d \fancyqr@goo@sett{#4}{#3}\fancyqr@goo@quarter\fancyqr@goo@dx\fancyqr@goo@d\fancyqr@goo@r\fancyqr@goo@dc\fancyqr@goo@r\fancyqr@goo@ry \closepath\fillpath }% \newpattern0000{\fancyqr@goo@tile0000}% \newpattern1000{\fancyqr@goo@tile1000}% \newpattern0001{\fancyqr@goo@tile0001}% \newpattern0100{\fancyqr@goo@tile0100}% \newpattern0010{\fancyqr@goo@tile0010}% \newpattern1100{\fancyqr@goo@tile1100}% \newpattern1010{\fancyqr@goo@tile1010}% \newpattern0101{\fancyqr@goo@tile0101}% \newpattern0011{\fancyqr@goo@tile0011}% \newpattern1001{\fancyqr@goo@tile1001}% \newpattern0110{\fancyqr@goo@tile0110}% \newpattern1111{\fancyqr@goo@tile1111}% \newpattern0111{\fancyqr@goo@tile0111}% \newpattern1011{\fancyqr@goo@tile1011}% \newpattern1101{\fancyqr@goo@tile1101}% \newpattern1110{\fancyqr@goo@tile1110}% \fancyqrset{finder=inherit}%