summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def')
-rw-r--r--Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def287
1 files changed, 287 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def
new file mode 100644
index 00000000000..474cdea9f1a
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def
@@ -0,0 +1,287 @@
+% Copyright 2006 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.
+
+
+
+
+
+% The aux files, needed for reading back coordinates
+
+\newwrite\pgfutil@auxout
+\pgfutil@IfFileExists{\jobname.aux}{\input \jobname.aux\relax}{}
+\openout\pgfutil@auxout
+
+
+
+% XColor-like support for plain TeX
+
+\def\pgfutil@definecolor#1#2#3{\csname pgfutil@emu@#2\endcsname{#1}#3\@nil}
+
+\def\pgfutil@emu@rgb#1#2,#3,#4\@nil{\expandafter\def\csname\string\color@#1\endcsname{\xcolor@{}{}{rgb}{#2,#3,#4}}}
+\def\pgfutil@emu@gray#1#2\@nil{\expandafter\def\csname\string\color@#1\endcsname{\xcolor@{}{}{rgb}{#2,#2,#2}}}
+
+\pgfutil@definecolor{white}{gray}{1}
+\pgfutil@definecolor{black}{gray}{0}
+\pgfutil@definecolor{gray}{gray}{0.5}
+\pgfutil@definecolor{red}{rgb}{1,0,0}
+\pgfutil@definecolor{green}{rgb}{0,1,0}
+\pgfutil@definecolor{blue}{rgb}{0,0,1}
+\pgfutil@definecolor{cyan}{rgb}{0,1,1}
+\pgfutil@definecolor{magenta}{rgb}{1,0,1}
+\pgfutil@definecolor{yellow}{rgb}{1,1,0}
+\pgfutil@definecolor{orange}{rgb}{1,0.5,0}
+\pgfutil@definecolor{violet}{rgb}{0.5,0,0.5}
+\pgfutil@definecolor{purple}{rgb}{0.75,0,0.25}
+\pgfutil@definecolor{brown}{rgb}{0.75,0.5,0.25}
+
+\def\pgfutil@color#1{%
+ \pgfutil@colorlet{.}{#1}%
+ \pgfsysprotocol@getcurrentprotocol\pgfutil@emu@temp%
+ {%
+ \pgfsysprotocol@setcurrentprotocol\pgfutil@empty%
+ \pgfsysprotocol@bufferedtrue%
+ \pgfsetcolor{.}%
+ \expandafter\pgfsys@outerinvoke\expandafter{\pgfsysprotocol@currentprotocol}%
+ }%
+ \pgfsysprotocol@setcurrentprotocol\pgfutil@emu@temp%
+ \aftergroup\pgfutil@reset@color%
+}
+
+\def\pgfutil@extractcolorspec#1#2{%
+ \def#2{{#1}}%
+}
+
+\def\pgfutil@convertcolorspec#1#2#3{%
+ \edef#3{\expandafter\expandafter\expandafter\pgfutil@emu@select\csname\string\color@#1\endcsname}%
+}
+
+
+\def\pgfutil@doifcolorelse#1#2#3{%
+ \expandafter\ifx\csname\string\color@#1\endcsname\relax%
+ \let\pgf@next=\pgfutil@secondoftwo%
+ \else
+ \let\pgf@next=\pgfutil@firstoftwo%
+ \fi%
+ \pgf@next{#2}{#3}%
+}
+
+
+\def\pgfutil@reset@color{%
+ \pgfsysprotocol@getcurrentprotocol\pgfutil@emu@temp%
+ {%
+ \pgfsysprotocol@setcurrentprotocol\pgfutil@empty%
+ \pgfsysprotocol@bufferedtrue%
+ \pgfsetcolor{.}%
+ \expandafter\pgfsys@outerinvoke\expandafter{\pgfsysprotocol@currentprotocol}%
+ }%
+ \pgfsysprotocol@setcurrentprotocol\pgfutil@emu@temp%
+}
+\expandafter\def\csname\string\color@.\endcsname{\xcolor@{}{}{rgb}{0,0,0}}
+
+\def\pgfutil@colorlet#1#2{%
+ \edef\pgf@marshal{#2}%
+ \expandafter\pgfutil@in@\expandafter!\expandafter{\pgf@marshal}%
+ \ifpgfutil@in@%
+ % compute mixture
+ {%
+ \expandafter\pgfutil@emu@mix\pgf@marshal!white!\@nil%
+ \xdef\pgf@marshal{\noexpand\def\expandafter\noexpand\csname\string\color@#1\endcsname{%
+ \noexpand\xcolor@{}{}{rgb}{\pgf@sys@tonumber\pgf@xa,\pgf@sys@tonumber\pgf@xb,\pgf@sys@tonumber\pgf@xc}}}%
+ }%
+ \pgf@marshal%
+ \else%
+ \edef\pgf@marshal{\noexpand\let\expandafter\noexpand\csname\string\color@#1\endcsname=%
+ \expandafter\noexpand\csname\string\color@#2\endcsname}%
+ \pgf@marshal%
+ \fi%
+}
+\def\pgfutil@emu@mix#1!#2!#3!#4\@nil{%
+ \expandafter\expandafter\expandafter\pgfutil@emu@unpack\csname\string\color@#1\endcsname%
+ \pgf@ya=\pgf@xa%
+ \pgf@yb=\pgf@xb%
+ \pgf@yc=\pgf@xc%
+ \expandafter\expandafter\expandafter\pgfutil@emu@unpack\csname\string\color@#3\endcsname%
+ \c@pgf@counta=#2\relax%
+ \c@pgf@countb=100\relax%
+ \advance\c@pgf@countb by-\c@pgf@counta\relax%
+ \pgf@xa=\c@pgf@countb\pgf@xa%
+ \advance\pgf@xa by\c@pgf@counta\pgf@ya%
+ \divide\pgf@xa by 100\relax%
+ \pgf@xb=\c@pgf@countb\pgf@xb%
+ \advance\pgf@xb by\c@pgf@counta\pgf@yb%
+ \divide\pgf@xb by 100\relax%
+ \pgf@xc=\c@pgf@countb\pgf@xc%
+ \advance\pgf@xc by\c@pgf@counta\pgf@yc%
+ \divide\pgf@xc by 100\relax%
+}
+\def\pgfutil@emu@unpack#1#2#3#4#5{%
+ \pgfutil@emu@@unpack#5\@nil%
+}
+\def\pgfutil@emu@@unpack#1,#2,#3\@nil{%
+ \pgf@xa=#1pt%
+ \pgf@xb=#2pt%
+ \pgf@xc=#3pt%
+}
+
+\def\pgfutil@emu@select#1#2#3#4#5{#5}
+
+
+
+\let\definecolor=\pgfutil@definecolor
+\let\color=\pgfutil@color
+\let\colorlet=\pgfutil@colorlet
+\let\extractcolorspec=\pgfutil@extractcolorspec
+\let\convertcolorspec=\pgfutil@convertcolorspec
+
+
+
+
+% pgfutil@minipage
+
+\def\pgfutil@minipage[#1]#2{%
+ \hbox to#2\bgroup%
+ \hsize=#2\relax%
+ \vbox\bgroup\leavevmode%
+}
+\def\pgfutil@endminipage{\egroup\egroup}
+
+
+
+% Driver detector (not so good):
+
+\ifx\pdfoutput\@undefined\alloc@0\count\countdef\insc@unt\pdfoutput\fi
+\ifx\pdfoutput\relax\alloc@0\count\countdef\insc@unt\pdfoutput\fi
+\ifcase\pdfoutput%
+ \gdef\Gin@driver{dvips.def}%
+\else%
+ \gdef\Gin@driver{pdftex.def}%
+\fi%
+
+
+% Global colors
+
+\let\pgfutil@globalcolorsfalse=\relax
+\let\pgfutil@globalcolorstrue=\relax
+
+
+
+% Font stuff
+
+\def\pgfutil@font@tiny{\fam\z@\fiverm} % How to do this correctly?
+\def\pgfutil@font@scriptsize{\fam\z@\sevenrm}
+\def\pgfutil@font@footnotesize{\rm}
+\def\pgfutil@font@small{\fam\z@\ninerm}
+\def\pgfutil@font@normalsize{\rm}
+\def\pgfutil@font@large{\rm}
+\def\pgfutil@font@Large{\rm}
+\def\pgfutil@font@huge{\rm}
+\def\pgfutil@font@Huge{\rm}
+
+\def\pgfutil@font@itshape{\it}
+\def\pgfutil@font@bfseries{\bf}
+
+
+
+
+% The following is still messy and needs to be cleanup up (everything
+% prefixed by pgfutil@):
+
+\def\PackageInfo#1#2{}
+\def\PackageWarning#1#2{\immediate\write-1{Package #1: Warning! #2.}}%
+\def\PackageError#1#2#3{\immediate\write-1{Package #1: Error! #2.}}%
+\long\def\AtBeginDocument#1{#1}%
+\long\def\AtBeginDvi#1{#1}%
+\def\providecommand#1#2{\ifx#1\@undefined\def#1{#2}\fi}
+\def\pgflatex@setcounter#1#2{\global\csname c@#1\endcsname#2\relax}%
+\def\setlength#1#2{%
+ \pgf@length@skip=0pt%
+ \edef\pgf@temp{#2}%
+ \expandafter\pgfutil@parse@setlength\pgf@temp+\pgf@stop%
+ #1=\pgf@length@skip%
+}
+\def\pgfutil@parse@setlength#1+#2\pgf@stop{%
+ \advance\pgf@length@skip by#1\relax%
+ \def\pgf@test{#2}%
+ \ifx\pgf@test\pgfutil@empty%
+ \else%
+ \pgfutil@parse@setlength#2\pgf@stop%
+ \fi%
+}
+\def\addtolength#1#2{\setlength{\pgf@length@skip}{#2}\advance#1 \pgf@length@skip\relax}
+\def\selectfont{\rm}
+\def\applycolormixins#1{}
+\ifx\setkeys\@undefined
+\def\setkeys#1#2{%
+ \def\KV@prefix{KV@#1@}%
+ \let\@tempc\relax
+ \KV@do#2,\relax,}
+\def\KV@do#1,{%
+ \ifx\relax#1\pgfutil@empty\else
+ \KV@split#1==\relax
+ \expandafter\KV@do\fi}
+\def\KV@split#1=#2=#3\relax{%
+ \KV@@sp@def\@tempa{#1}%
+ \ifx\@tempa\pgfutil@empty\else
+ \expandafter\let\expandafter\@tempc
+ \csname\KV@prefix\@tempa\endcsname
+ \ifx\@tempc\relax
+ \KV@errx
+ {\@tempa\space undefined}%
+ \else
+ \ifx\pgfutil@empty#3\pgfutil@empty
+ \KV@default
+ \else
+ \KV@@sp@def\@tempb{#2}%
+ \expandafter\@tempc\expandafter{\@tempb}\relax
+ \fi
+ \fi
+ \fi}
+\def\KV@default{%
+ \expandafter\let\expandafter\@tempb
+ \csname\KV@prefix\@tempa @default\endcsname
+ \ifx\@tempb\relax
+ \KV@errx{No value specified for \@tempa}%
+ \else
+ \@tempb\relax
+ \fi}
+\def\KV@errx#1{\PackageError{keyval}{#1}{}}
+\def\@tempa#1{%
+\def\KV@@sp@def##1##2{%
+ \futurelet\KV@tempa\KV@@sp@d##2\@nil\@nil#1\@nil\relax##1}%
+\def\KV@@sp@d{%
+ \ifx\KV@tempa\@sptoken
+ \expandafter\KV@@sp@b
+ \else
+ \expandafter\KV@@sp@b\expandafter#1%
+ \fi}%
+\def\KV@@sp@b#1##1 \@nil{\KV@@sp@c##1}%
+ }
+\@tempa{ }
+\def\KV@@sp@c#1\@nil#2\relax#3{\KV@toks@{#1}\edef#3{\the\KV@toks@}}
+\def\define@key#1#2{%
+ \pgfutil@ifnextchar[{\KV@def{#1}{#2}}{\pgfutil@namedef{KV@#1@#2}####1}}
+\def\KV@def#1#2[#3]{%
+ \pgfutil@namedef{KV@#1@#2@default\expandafter}\expandafter
+ {\csname KV@#1@#2\endcsname{#3}}%
+ \pgfutil@namedef{KV@#1@#2}##1}
+\fi%
+
+
+\newtoks\KV@toks@
+\newdimen\@tempdima
+\newdimen\@tempdimb
+\newcount\@tempcnta
+\newcount\@tempcntb
+\newbox\@tempboxa
+\newskip\pgf@length@skip
+
+
+
+
+\endinput