You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
2.7 KiB
106 lines
2.7 KiB
% 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.
|
|
|
|
\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:
|
|
|