Current File : //usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-vtex.def |
% Copyright 2019 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{pgfsys-vtex.def}
% Driver commands for vtex
% Invoking things:
\def\pgfsys@invoke#1{\special{pS: grestore #1 gsave}} % to protect against things happeing in between
\def\pgfsys@outerinvoke#1{\special{pS: #1}}
\def\pgf@sys@postscript@header#1{\immediate\special{pS: #1}}
\def\pgf@sys@postscript@object#1{\immediate\special{pS: #1}}
%
% Load common postscript commands:
%
\input pgfsys-common-postscript.def
%
% vtex-specific stuff:
%
% Starting and ending a picture:
\def\pgfsys@beginpicture{\special{pS:
save
/pgfx currentpoint /pgfy exch def def
currentpoint translate
gsave}%
\let\set@color=\pgf@sys@vtex@set@color%
\let\reset@color=\pgf@sys@vtex@reset@color%
}
\def\pgf@sys@vtex@setcolor#1{%
\pgfutil@colorlet{pgf@tempcolor}{#1}%
\pgfutil@ifundefined{applycolormixins}{}{\applycolormixins{pgf@tempcolor}}%
\expandafter\expandafter\expandafter\pgf@sys@vtex@@setcolor\csname\string\color@pgf@tempcolor\endcsname%
}
\def\pgf@sys@vtex@@setcolor#1#2#3#4#5{%
\pgfsysps@color@resetnow%
\expandafter\ifx\csname pgfsys@color@#4\endcsname\relax%
\pgferror{Unsupported color model `#4'. Sorry}%
\else%
\edef\pgf@colmarshal{\expandafter\noexpand\csname pgfsys@color@#4\endcsname}%
\pgf@uncomma#5,,%
\pgf@colmarshal%
\fi}
\def\pgf@sys@vtex@set@color{\pgf@sys@vtex@setcolor{.}\aftergroup\reset@color}
\def\pgf@sys@vtex@reset@color{\pgf@sys@vtex@setcolor{.}}
\def\pgfsys@endpicture{\special{pS:
newpath
grestore
newpath
restore}}
% Graphics:
\def\pgfsys@imagesuffixlist{.epsi:.eps:.ps:.pdf:}
% Starting and ending a box:
\def\pgfsys@hbox#1{%
\pgfsys@invoke{save pgfx neg pgfy neg translate}%
\wd#1=0pt%
\ht#1=0pt%
\dp#1=0pt%
\box#1
\pgfsys@invoke{restore}%
}
\def\pgfsys@color@unstacked#1{\special{pS: \XC@usecolor{#1}}}
\def\pgfsys@fill@opacity#1{\pgf@sys@fail{opacity}}
\def\pgfsys@stroke@opacity#1{\pgf@sys@fail{opacity}}
\AtBeginDocument{
% Always present specials.
\immediate\special{pS:
/pgfsc{} bind def% stroke color is empty by default
/pgffc{} bind def% fill color is empty by default
/pgfstr{stroke} bind def%
/pgffill{fill} bind def%
/pgfeofill{eofill} bind def%
/pgfe{moveto dup 0 rlineto exch 0 exch rlineto neg 0 rlineto closepath} bind def% rectangle
/pgfw{setlinewidth} bind def % setlinewidth
}
}
% vtex commands for changing the paper size
\def\pgfsys@papersize#1#2{\mediawidth#1\mediaheight#2}
\endinput
%%% Local Variables:
%%% mode: latex
%%% End: