% 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-dvips.def} % Driver commands for dvips \def\pgfsys@invoke#1{\special{ps\ifpgfsys@ps@boxmode\else:\fi: #1}} \def\pgfsys@outerinvoke#1{\special{ps: #1}} \def\pgf@sys@postscript@header#1{\pgfutil@insertatbegincurrentpage{\special{! #1}}} \def\pgf@sys@postscript@object#1{\special{! #1}} % % Load common postscript commands: % \input pgfsys-common-postscript.def % % dvips-specific stuff: % \def\pgfsys@beginpicture{\pgfsys@ps@boxmodefalse\special{ps: }\special{ps::[begin]}\pgfsys@invoke{pgfo}} \def\pgfsys@endpicture{\pgfsys@invoke{pgfc}\special{ps::[end]}} \def\pgfsys@hbox#1{% \pgfsys@begin@idscope% \pgfsys@invoke{pgfs}% \special{ps::[end]}% \wd#1=0pt% \ht#1=0pt% \dp#1=0pt% \box#1 \special{ps::[begin]}% \pgfsys@invoke{pgfr}% \pgfsys@end@idscope% } \def\pgfsys@begininvisible{% \special{ps::[begin]}% \pgfsys@invoke{gsave nulldevice}% \special{ps::[end]}} \def\pgfsys@endinvisible{% \special{ps::[begin]}% \pgfsys@invoke{grestore}% \special{ps::[end]}% } \def\pgfsys@color@unstacked#1{\special{ps: \XC@usecolor{#1}}} \def\pgfsys@imagesuffixlist{.epsi:.eps:.ps:} \def\pgfsys@papersize#1#2{% \special{papersize=#1,#2}% % \expandafter\gdef\expandafter\pgfsys@atbegindocument\expandafter{\pgfsys@atbegindocument\special{papersize=#1,#2}}% } \def\pgfsys@prepare@papersize#1#2{% \expandafter\gdef\expandafter\pgfsys@atbegindocument\expandafter{\pgfsys@atbegindocument\special{papersize=#1,#2}}% } \expandafter\gdef\expandafter\pgfsys@atbegindocument\expandafter{\pgfsys@atbegindocument% \pgf@sys@postscript@header{ /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{a dup 0 rlineto exch 0 exch rlineto neg 0 rlineto closepath}bind def% rectangle /pgfw{setlinewidth}bind def% setlinewidth /pgfs{save pgfpd 72 Resolution div 72 VResolution div neg scale magscale{1 DVImag div dup scale}if pgfx neg pgfy neg translate pgffoa .setopacityalpha}bind def% save /pgfr{pgfsd restore}bind def %restore userdict begin% /pgfo{pgfsd /pgfx currentpoint /pgfy exch def def @beginspecial}bind def %open /pgfc{newpath @endspecial pgfpd}bind def %close /pgfsd{globaldict /pgfdelta /delta where {pop delta} {0} ifelse put}bind def% save delta /pgfpd{/delta globaldict /pgfdelta get def}bind def % put delta /.setopacityalpha where {pop} {/.setopacityalpha{pop}def} ifelse % install .setopacityalpha /.pgfsetfillopacityalpha{/pgffoa exch def /pgffill{gsave pgffoa .setopacityalpha fill 1 .setopacityalpha newpath fill grestore newpath}bind def /pgfeofill{gsave pgffoa .setopacityalpha eofill 1 .setopacityalpha newpath eofill grestore newpath}bind def}bind def /.pgfsetstrokeopacityalpha{/pgfsoa exch def /pgfstr{gsave pgfsoa .setopacityalpha stroke grestore newpath}bind def}bind def /pgffoa 1 def /pgfsoa 1 def end }% } \AtBeginDocument{ % needed for plain TeX \pgfsys@atbegindocument \let\pgfsys@atbegindocument=\pgfutil@empty } % % Position tracking (needs pdftex or luatex in dvi mode) % \ifx\savepos\@undefined \ifx\pdfsavepos\@undefined \else \let\pgf@savepos\pdfsavepos \let\pgf@lastxpos\pdflastxpos \let\pgf@lastypos\pdflastypos \fi \else \let\pgf@savepos\savepos \let\pgf@lastxpos\lastxpos \let\pgf@lastypos\lastypos \fi \ifx\pgf@savepos\@undefined \else \def\pgfsys@markposition#1{% \pgf@savepos% \edef\pgf@temp{#1}% \expandafter\pgfutil@writetoaux\expandafter{% \expandafter\noexpand\expandafter\pgfsyspdfmark\expandafter{\pgf@temp}{\the\pgf@lastxpos}{\the\pgf@lastypos}}% } \def\pgfsyspdfmark#1#2#3{% \expandafter\gdef\csname pgf@sys@pdf@mark@pos@#1\endcsname{\pgfqpoint{#2sp}{#3sp}}% \pgfutil@check@rerun{#1}{{#2}{#3}}% } \def\pgfsys@getposition#1#2{% \edef\pgf@marshal{\let\noexpand#2=\expandafter\noexpand\csname pgf@sys@pdf@mark@pos@#1\endcsname}% \pgf@marshal% } \def\pgf@sys@pdf@mark@pos@pgfpageorigin{\pgfpointorigin} \fi \endinput %%% Local Variables: %%% mode: latex %%% End: