% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.

\ProvidesFileRCS{pgflibrarypatterns.code.tex}


% Lines in different directions

\pgfdeclarepatternformonly{horizontal lines}{\pgfpointorigin}{\pgfqpoint{100pt}{1pt}}{\pgfqpoint{100pt}{3pt}}%
{%
  \pgfsetlinewidth{0.4pt}%
  \pgfpathmoveto{\pgfqpoint{0pt}{0.5pt}}%
  \pgfpathlineto{\pgfqpoint{100pt}{0.5pt}}%
  \pgfusepath{stroke}%
}%

\pgfdeclarepatternformonly{vertical lines}{\pgfpointorigin}{\pgfqpoint{1pt}{100pt}}{\pgfqpoint{3pt}{100pt}}%
{%
  \pgfsetlinewidth{0.4pt}%
  \pgfpathmoveto{\pgfqpoint{0.5pt}{0pt}}%
  \pgfpathlineto{\pgfqpoint{0.5pt}{100pt}}%
  \pgfusepath{stroke}%
}%

\pgfdeclarepatternformonly{north east lines}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{4pt}{4pt}}{\pgfqpoint{3pt}{3pt}}%
{%
  \pgfsetlinewidth{0.4pt}%
  \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}%
  \pgfpathlineto{\pgfqpoint{3.1pt}{3.1pt}}%
  \pgfusepath{stroke}%
}%

\pgfdeclarepatternformonly{north west lines}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{4pt}{4pt}}{\pgfqpoint{3pt}{3pt}}%
{%
  \pgfsetlinewidth{0.4pt}%
  \pgfpathmoveto{\pgfqpoint{0pt}{3pt}}%
  \pgfpathlineto{\pgfqpoint{3.1pt}{-0.1pt}}%
  \pgfusepath{stroke}%
}%

% Crossed lines in different directions

\pgfdeclarepatternformonly{grid}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{4pt}{4pt}}{\pgfqpoint{3pt}{3pt}}%
{%
  \pgfsetlinewidth{0.4pt}%
  \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}%
  \pgfpathlineto{\pgfqpoint{0pt}{3.1pt}}%
  \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}%
  \pgfpathlineto{\pgfqpoint{3.1pt}{0pt}}%
  \pgfusepath{stroke}%
}%

\pgfdeclarepatternformonly{crosshatch}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{4pt}{4pt}}{\pgfqpoint{3pt}{3pt}}%
{%
  \pgfsetlinewidth{0.4pt}%
  \pgfpathmoveto{\pgfqpoint{3.1pt}{0pt}}%
  \pgfpathlineto{\pgfqpoint{0pt}{3.1pt}}%
  \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}%
  \pgfpathlineto{\pgfqpoint{3.1pt}{3.1pt}}%
  \pgfusepath{stroke}%
}%


% Dotted regions

\pgfdeclarepatternformonly{dots}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{1pt}{1pt}}{\pgfqpoint{3pt}{3pt}}%
{%
  \pgfpathcircle{\pgfqpoint{0pt}{0pt}}{.5pt}%
  \pgfusepath{fill}%
}%

\pgfdeclarepatternformonly{crosshatch dots}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{2.5pt}{2.5pt}}{\pgfqpoint{3pt}{3pt}}%
{%
  \pgfpathcircle{\pgfqpoint{0pt}{0pt}}{.5pt}%
  \pgfpathcircle{\pgfqpoint{1.5pt}{1.5pt}}{.5pt}%
  \pgfusepath{fill}%
}%




% Star shaped patterns

\pgfdeclarepatternformonly{fivepointed stars}{\pgfpointorigin}{\pgfqpoint{3mm}{3mm}}{\pgfqpoint{3mm}{3mm}}%
{%
  \pgftransformshift{\pgfqpoint{1mm}{1mm}}%
  \pgfpathmoveto{\pgfqpointpolar{18}{1mm}}%
  \pgfpathlineto{\pgfqpointpolar{162}{1mm}}%
  \pgfpathlineto{\pgfqpointpolar{306}{1mm}}%
  \pgfpathlineto{\pgfqpointpolar{90}{1mm}}%
  \pgfpathlineto{\pgfqpointpolar{234}{1mm}}%
  \pgfpathclose%%
  \pgfusepath{fill}%
}%

\pgfdeclarepatternformonly{sixpointed stars}{\pgfpointorigin}{\pgfqpoint{3mm}{3mm}}{\pgfqpoint{3mm}{3mm}}%
{%
  \pgftransformshift{\pgfqpoint{1mm}{1mm}}%
  \pgfpathmoveto{\pgfqpointpolar{30}{1mm}}%
  \pgfpathlineto{\pgfqpointpolar{150}{1mm}}%
  \pgfpathlineto{\pgfqpointpolar{270}{1mm}}%
  \pgfpathclose%
  \pgfpathmoveto{\pgfqpointpolar{-30}{1mm}}%
  \pgfpathlineto{\pgfqpointpolar{-270}{1mm}}%
  \pgfpathlineto{\pgfqpointpolar{-150}{1mm}}%
  \pgfpathclose%
  \pgfsetnonzerorule%
  \pgfusepath{fill}%
}%



% Bricks

\pgfdeclarepatternformonly{bricks}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{5mm}{5mm}}{\pgfqpoint{4mm}{4mm}}%
{%
  \pgfsetlinewidth{0.8pt}%
  \pgfpathmoveto{\pgfqpoint{0mm}{1mm}}%
  \pgfpathlineto{\pgfqpoint{4mm}{1mm}}%
  \pgfpathmoveto{\pgfqpoint{0mm}{3mm}}%
  \pgfpathlineto{\pgfqpoint{4mm}{3mm}}%
  \pgfpathmoveto{\pgfqpoint{1mm}{0mm}}%
  \pgfpathlineto{\pgfqpoint{1mm}{1mm}}%
  \pgfpathmoveto{\pgfqpoint{3mm}{1mm}}%
  \pgfpathlineto{\pgfqpoint{3mm}{3mm}}%
  \pgfpathmoveto{\pgfqpoint{1mm}{3mm}}%
  \pgfpathlineto{\pgfqpoint{1mm}{4mm}}%
  \pgfusepath{stroke}%
}%


% Checkerboards

\pgfdeclarepatternformonly{checkerboard}{\pgfpointorigin}{\pgfqpoint{4mm}{4mm}}{\pgfqpoint{4mm}{4mm}}%
{%
  \pgfpathrectangle{\pgfpointorigin}{\pgfqpoint{2mm}{2mm}}%
  \pgfpathrectangle{\pgfqpoint{2mm}{2mm}}{\pgfqpoint{2mm}{2mm}}%
  \pgfusepath{fill}%
}%



% Backgrounds

\pgfdeclarepatterninherentlycolored{checkerboard light gray}
{\pgfpointorigin}{\pgfqpoint{4mm}{4mm}}{\pgfqpoint{4mm}{4mm}}%
{%
%  \pgfsetfillcolor{black!10}
  \pgfpathrectangle{\pgfpointorigin}{\pgfqpoint{4.1mm}{4.1mm}}% make
                                % slightly larger to ensure that tiles
                                % are really solid
  \pgfusepath{fill}%
  \pgfsetfillcolor{black!20}%
  \pgfpathrectangle{\pgfpointorigin}{\pgfqpoint{2mm}{2mm}}%
  \pgfpathrectangle{\pgfqpoint{2mm}{2mm}}{\pgfqpoint{2mm}{2mm}}%
  \pgfusepath{fill}%
}%

\pgfdeclarepatterninherentlycolored{horizontal lines light gray}
{\pgfpointorigin}{\pgfpoint{100pt}{4pt}}
{\pgfpoint{100pt}{4pt}}
{%
  \pgfsetfillcolor{black!10}%
  \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{100pt}{2.5pt}}%
  \pgfusepath{fill}%
  \pgfsetfillcolor{black!15}%
  \pgfpathrectangle{\pgfpoint{0pt}{2pt}}{\pgfpoint{100pt}{2.5pt}}%
  \pgfusepath{fill}%
}%

\pgfdeclarepatterninherentlycolored{horizontal lines gray}
{\pgfpointorigin}{\pgfpoint{100pt}{4pt}}
{\pgfpoint{100pt}{4pt}}
{%
  \pgfsetfillcolor{black!30}%
  \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{100pt}{2.5pt}}%
  \pgfusepath{fill}%
  \pgfsetfillcolor{black!35}%
  \pgfpathrectangle{\pgfpoint{0pt}{2pt}}{\pgfpoint{100pt}{2.5pt}}%
  \pgfusepath{fill}%
}%

\pgfdeclarepatterninherentlycolored{horizontal lines dark gray}
{\pgfpointorigin}{\pgfpoint{100pt}{4pt}}
{\pgfpoint{100pt}{4pt}}
{%
  \pgfsetfillcolor{black!90}%
  \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{100pt}{2.5pt}}%
  \pgfusepath{fill}%
  \pgfsetfillcolor{black!85}%
  \pgfpathrectangle{\pgfpoint{0pt}{2pt}}{\pgfpoint{100pt}{2.5pt}}%
  \pgfusepath{fill}%
}%

\pgfdeclarepatterninherentlycolored{horizontal lines light blue}
{\pgfpointorigin}{\pgfpoint{100pt}{4pt}}
{\pgfpoint{100pt}{4pt}}
{%
  \pgfsetfillcolor{blue!10}%
  \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{100pt}{2.5pt}}%
  \pgfusepath{fill}%
  \pgfsetfillcolor{blue!15}%
  \pgfpathrectangle{\pgfpoint{0pt}{2pt}}{\pgfpoint{100pt}{2.5pt}}%
  \pgfusepath{fill}%
}%

\pgfdeclarepatterninherentlycolored{horizontal lines dark blue}
{\pgfpointorigin}{\pgfpoint{100pt}{4pt}}
{\pgfpoint{100pt}{4pt}}
{%
  \pgfsetfillcolor{blue!90}%
  \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{100pt}{2.5pt}}%
  \pgfusepath{fill}%
  \pgfsetfillcolor{blue!85}%
  \pgfpathrectangle{\pgfpoint{0pt}{2pt}}{\pgfpoint{100pt}{2.5pt}}%
  \pgfusepath{fill}%
}%


\pgfdeclarepatterninherentlycolored{crosshatch dots gray}
{\pgfpointorigin}{\pgfpoint{8pt}{8pt}}
{\pgfpoint{8pt}{8pt}}
{%
  \pgfsetfillcolor{black!20}%
  \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{8pt}{8pt}}%
  \pgfusepath{fill}%
  \pgfsetfillcolor{black!10}%
  \pgfpathcircle{\pgfpoint{2pt}{1.75pt}}{1pt}%
  \pgfpathcircle{\pgfpoint{6pt}{5.75pt}}{1pt}%
  \pgfusepath{fill}%
  \pgfsetfillcolor{black!70}%
  \pgfpathcircle{\pgfpoint{2pt}{2.25pt}}{1pt}%
  \pgfpathcircle{\pgfpoint{6pt}{6.25pt}}{1pt}%
  \pgfusepath{fill}%
}%

\pgfutil@definecolor{pgf@lightsteelblue}{rgb}{0.6875,0.765625,0.8671875}%
\pgfutil@colorlet{pgf@darklightsteelblue}{black!50!pgf@lightsteelblue}%

\pgfdeclarepatterninherentlycolored{crosshatch dots light steel blue}
{\pgfpointorigin}{\pgfpoint{8pt}{8pt}}
{\pgfpoint{8pt}{8pt}}
{%
  \pgfsetfillcolor{pgf@lightsteelblue}%
  \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{8pt}{8pt}}%
  \pgfusepath{fill}%
  \pgfsetfillcolor{pgf@darklightsteelblue!10}%
  \pgfpathcircle{\pgfpoint{2pt}{1.75pt}}{1pt}%
  \pgfpathcircle{\pgfpoint{6pt}{5.75pt}}{1pt}%
  \pgfusepath{fill}%
  \pgfsetfillcolor{pgf@darklightsteelblue!70}%
  \pgfpathcircle{\pgfpoint{2pt}{2.25pt}}{1pt}%
  \pgfpathcircle{\pgfpoint{6pt}{6.25pt}}{1pt}%
  \pgfusepath{fill}%
}%


\endinput