summaryrefslogtreecommitdiff
path: root/graphics/pgf/base/tex/generic/systemlayer/pgfsys-dvipdfm.def
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/base/tex/generic/systemlayer/pgfsys-dvipdfm.def')
-rw-r--r--graphics/pgf/base/tex/generic/systemlayer/pgfsys-dvipdfm.def110
1 files changed, 110 insertions, 0 deletions
diff --git a/graphics/pgf/base/tex/generic/systemlayer/pgfsys-dvipdfm.def b/graphics/pgf/base/tex/generic/systemlayer/pgfsys-dvipdfm.def
new file mode 100644
index 0000000000..df1209aefb
--- /dev/null
+++ b/graphics/pgf/base/tex/generic/systemlayer/pgfsys-dvipdfm.def
@@ -0,0 +1,110 @@
+% 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-dvipdfm.def}
+
+% Driver commands for dvipdfm
+
+%
+% Load common pdf and pdf in dvi commands:
+%
+\input pgfsys-common-pdf.def
+\input pgfsys-common-pdf-via-dvi.def
+
+%
+% dvipdfm-specific stuff:
+%
+
+\def\pgfsys@hbox#1{%
+ \pgfsys@begin@idscope%
+ \pgfsys@invoke{q -1 0 0 -1 0 0 cm}%
+ \special{pdf: content -1 0 0 -1 0 0 cm 3 Tr q}% translate to
+ % original coordinate system and do
+ % not show anything
+ {\hbox to 0pt{\pgfutil@font@normalfont\pgfutil@selectfont.\hss}}% enforce font change
+ \pgfsys@invoke{0 Tr}%
+ \pgfsys@invoke{0 J [] 0 d}% reset line cap and dash
+ \wd#1=0pt%
+ \ht#1=0pt%
+ \dp#1=0pt%
+ \box#1
+ \pgfsys@invoke{n Q Q}%
+ \pgfsys@end@idscope%
+}
+\def\pgfsys@hboxsynced#1{%
+ {%
+ \pgfsys@begin@idscope%
+ \pgfsys@beginscope%
+ \setbox\pgf@hbox=\hbox{%
+ \hskip\pgf@pt@x%
+ \raise\pgf@pt@y\hbox{%
+ \pgf@pt@x=0pt%
+ \pgf@pt@y=0pt%
+ \special{pdf: content q}%
+ \pgflowlevelsynccm%
+ \pgfsys@invoke{q -1 0 0 -1 0 0 cm}%
+ \special{pdf: content -1 0 0 -1 0 0 cm q}% translate to original coordinate system
+ \pgfsys@invoke{0 J [] 0 d}% reset line cap and dash
+ \wd#1=0pt%
+ \ht#1=0pt%
+ \dp#1=0pt%
+ \box#1%
+ \pgfsys@invoke{n Q Q Q}%
+ }%
+ \hss%
+ }%
+ \wd\pgf@hbox=0pt%
+ \ht\pgf@hbox=0pt%
+ \dp\pgf@hbox=0pt%
+ \pgfsys@hbox\pgf@hbox%
+ \pgfsys@endscope%
+ \pgfsys@end@idscope%
+ }%
+}
+
+\def\pgfsys@beginpicture{%
+ \pgfsys@invoke{3 Tr}%
+ \hbox to 0pt{\pgfutil@font@normalfont\pgfutil@selectfont.\hss}% enforce font change
+ \pgfsys@invoke{0 Tr}%
+ \special{pdf: content q}}
+\def\pgfsys@endpicture{%
+ \pgfsys@invoke{n Q}%
+}
+
+\def\pgfsys@invoke#1{\special{pdf: content Q #1 q}} % ugly, but necessary...
+
+\def\pgfsys@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}%
+ }
+}
+
+%
+% Position tracking (needs pdftex >= 1.40.0-alpha-20051205 in dvi mode)
+%
+\ifx\pdftexversion\@undefined
+\else
+ \ifnum\pdftexversion>139
+ \pgf@sys@pdf@dvi@tracker
+ \fi
+\fi
+
+\endinput
+
+%%% Local Variables:
+%%% mode: latex
+%%% End: