summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex')
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex254
1 files changed, 254 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
new file mode 100644
index 00000000000..f417efcab54
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
@@ -0,0 +1,254 @@
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex,v 1.3 2005/09/21 00:05:34 tantau Exp $
+
+% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the GNU Public License, version 2.
+
+% Globals
+
+\newdimen\pgflinewidth
+
+
+% Set the line width to #1.
+%
+% #1 = new line width.
+%
+% Example:
+%
+% \pgfsetlinewidth{3pt}
+
+\def\pgfsetlinewidth#1{%
+ \setlength\pgflinewidth{#1}%
+ \global\pgflinewidth=\pgflinewidth%
+ \pgfsys@setlinewidth{\the\pgflinewidth}%
+ \ignorespaces}
+
+
+% Set the miter limit to #1.
+%
+% #1 = new miter limit factor.
+%
+% Example:
+%
+% \pgfsetmiterlimit{3}
+
+\def\pgfsetmiterlimit#1{%
+ \pgfsys@setmiterlimit{#1}%
+ \ignorespaces}
+
+
+% Set the dash pattern to #1 with phase #2/
+%
+% #1 = a row of numbers of length of ``on'' and ``off'' points.
+% #2 = a phase
+%
+% Example:
+%
+% \pgfsetdash{} {0pt} % solid line
+% \pgfsetdash{{.1cm}} {0pt} % long dashes
+% \pgfsetdash{{1pt}{1ex}}{0pt} % dotted
+
+\def\pgfsetdash#1#2{%
+ \def\pgf@temp{}%
+ \def\pgf@next{\pgf@strip}%
+ \pgf@strip#1{pgf@stop}%
+ \setlength\pgf@x{#2}%
+ \pgfsys@setdash{\pgf@temp}{\the\pgf@x}%
+ \ignorespaces}
+
+\def\pgf@strip#1{%
+ \def\pgf@@temp{#1}%
+ \ifx\pgf@@temp\pgf@stop%
+ \let\pgf@next=\relax%
+ \else%
+ \setlength\pgf@x{#1}%
+ \ifx\pgf@temp\@empty%
+ \edef\pgf@temp{\the\pgf@x}%
+ \else%
+ \edef\pgf@temp{\pgf@temp,\the\pgf@x}%
+ \fi%
+ \fi\pgf@next}
+
+\def\pgf@stop{pgf@stop}
+
+
+% Set color of strokes. This will overrule the normal color.
+%
+% Example:
+%
+% \pgfsetstrokecolor{red}
+
+\def\pgfsetstrokecolor#1{%
+ \colorlet{pgf@tempcolor}{#1}%
+ \@ifundefined{applycolormixins}{}{\applycolormixins{pgf@tempcolor}}%
+ \expandafter\expandafter\expandafter\pgf@setstrokecolor\csname\string\color@pgf@tempcolor\endcsname%
+}
+\def\pgf@setstrokecolor#1#2#3#4#5{%
+ \expandafter\ifx\csname pgfsys@color@#4@stroke\endcsname\relax%
+ \PackageError{pgfbase}{Unsupported color model `#4'. Sorry}{}%
+ \else%
+ \edef\pgf@colmarshal{\expandafter\noexpand\csname pgfsys@color@#4@stroke\endcsname}%
+ \pgf@uncomma#5,,%
+ \pgf@colmarshal%
+ \fi}
+
+\def\pgf@uncomma#1,{%
+ \def\pgf@coltest{#1}%
+ \ifx\pgf@coltest\@empty%
+ \let\pgf@colnext=\relax%
+ \else%
+ \expandafter\def\expandafter\pgf@colmarshal\expandafter{\pgf@colmarshal{#1}}%
+ \let\pgf@colnext=\pgf@uncomma%
+ \fi%
+ \pgf@colnext%
+}
+
+
+% Set color of fills. This will overrule the normal color.
+%
+% Example:
+%
+% \pgfsetfillcolor{gray}
+
+\def\pgfsetfillcolor#1{%
+ \colorlet{pgf@tempcolor}{#1}%
+ \@ifundefined{applycolormixins}{}{\applycolormixins{pgf@tempcolor}}%
+ \expandafter\expandafter\expandafter\pgf@setfillcolor\csname\string\color@pgf@tempcolor\endcsname%
+}
+\def\pgf@setfillcolor#1#2#3#4#5{%
+ \expandafter\ifx\csname pgfsys@color@#4@fill\endcsname\relax%
+ \PackageError{pgfbase}{Unsupported color model `#4'. Sorry}{}%
+ \else%
+ \edef\pgf@colmarshal{\expandafter\noexpand\csname pgfsys@color@#4@fill\endcsname}%
+ \pgf@uncomma#5,,%
+ \pgf@colmarshal%
+ \fi}
+
+
+
+% Sets both the stroke and fill color.
+%
+% Example:
+%
+% \pgfsetcolor{blue}
+
+\def\pgfsetcolor#1{%
+ \colorlet{pgf@tempcolor}{#1}%
+ \@ifundefined{applycolormixins}{}{\applycolormixins{pgf@tempcolor}}%
+ \expandafter\expandafter\expandafter\pgf@setcolor\csname\string\color@pgf@tempcolor\endcsname%
+}
+\def\pgf@setcolor#1#2#3#4#5{%
+ \expandafter\ifx\csname pgfsys@color@#4\endcsname\relax%
+ \PackageError{pgfbase}{Unsupported color model `#4'. Sorry}{}%
+ \else%
+ \edef\pgf@colmarshal{\expandafter\noexpand\csname pgfsys@color@#4\endcsname}%
+ \pgf@uncomma#5,,%
+ \pgf@colmarshal%
+ \fi}
+
+% Code for ensuring the stroke/fill colors are correctly reset.
+\def\XC@bcolor{\pgfsys@color@reset}
+
+% Set a butt line cap.
+%
+% Example:
+%
+% \pgfsetbuttcap
+
+\def\pgfsetbuttcap{\pgfsys@buttcap\ignorespaces}
+
+
+% Set a round line cap.
+%
+% Example:
+%
+% \pgfsetroundcap
+
+\def\pgfsetroundcap{\pgfsys@roundcap\ignorespaces}
+
+
+% Set a rectangular line cap.
+%
+% Example:
+%
+% \pgfsetrectcap
+
+\def\pgfsetrectcap{\pgfsys@rectcap\ignorespaces}
+
+
+% Set a miter line join.
+%
+% Example:
+%
+% \pgfsetmiterjoin
+
+\def\pgfsetmiterjoin{\pgfsys@miterjoin\ignorespaces}
+
+
+% Set a bevel line join.
+%
+% Example:
+%
+% \pgfsetbeveljoin
+
+\def\pgfsetbeveljoin{\pgfsys@beveljoin\ignorespaces}
+
+
+% Set a round line join.
+%
+% Example:
+%
+% \pgfsetroundjoin
+
+\def\pgfsetroundjoin{\pgfsys@roundjoin\ignorespaces}
+
+
+% Sets the even-odd rule for filling and clipping.
+%
+% Example:
+%
+% \pgfseteorule
+
+\def\pgfseteorule{\pgfsys@eoruletrue\ignorespaces}
+
+
+% Sets the non-zero winding number rule for filling and clipping.
+%
+% Example:
+%
+% \pgfsetnonzerorule
+
+\def\pgfsetnonzerorule{\pgfsys@eorulefalse\ignorespaces}
+
+
+% Sets the opacity of stroking operations.
+%
+% #1 = opacity, where 1 means fully opaque and 0 means fully
+% transparent.
+%
+% Example:
+%
+% \pgfsetstrokeopacity{0.5}
+
+\def\pgfsetstrokeopacity#1{%
+ \edef\pgf@temp{{#1}}%
+ \expandafter\pgfsys@stroke@opacity\pgf@temp}
+
+
+% Sets the opacity of stroking operations.
+%
+% #1 = opacity, where 1 means fully opaque and 0 means fully
+% transparent.
+%
+% Example:
+%
+% \pgfsetfillopacity{0.5}
+
+\def\pgfsetfillopacity#1{%
+ \edef\pgf@temp{{#1}}%
+ \expandafter\pgfsys@fill@opacity\pgf@temp}
+
+
+
+\endinput