summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def')
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def50
1 files changed, 34 insertions, 16 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
index 672d791e389..5a42f65a8b8 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
@@ -86,21 +86,30 @@
\def\pgfsys@hboxsynced#1{%
\pgfsys@begin@idscope%
\pgfsys@beginscope%
- \setbox#1=\hbox{\box#1}%
- \wd#1=0pt%
- \ht#1=0pt%
- \dp#1=0pt%
- \pgfsys@dvipdfmx@suspendcontent%
- \pgfsys@invoke{0 J [] 0 d}% reset line cap and dash
- \pgfsys@dvipdfmx@start@force@reset@color%
- \pgf@sys@bp@correct\pgf@pt@x%
- \pgf@sys@bp@correct\pgf@pt@y%
- \special{pdf:btrans matrix \pgf@pt@aa\space \pgf@pt@ab\space \pgf@pt@ba\space \pgf@pt@bb\space
- \pgf@sys@tonumber{\pgf@pt@x} \pgf@sys@tonumber{\pgf@pt@y}}%
- \box#1%
- \special{pdf:etrans}%
- \pgfsys@dvipdfmx@stop@force@reset@color%
- \pgfsys@dvipdfmx@unsuspendcontent%
+ \setbox\pgf@hbox=\hbox{%
+ \hskip\pgf@pt@x%
+ \raise\pgf@pt@y\hbox{%
+ \pgf@pt@x=0pt%
+ \pgf@pt@y=0pt%
+ \wd#1=0pt%
+ \ht#1=0pt%
+ \dp#1=0pt%
+ \pgflowlevelsynccm%
+ \special{pdf: content q}%
+ \pgfsys@invoke{q -1 0 0 -1 0 0 cm}%
+ \special{pdf: content -1 0 0 -1 0 0 cm q}% \pgfsys@dvipdfmx@suspendcontent
+ \pgfsys@invoke{0 J [] 0 d}% reset line cap and dash
+ \pgfsys@dvipdfmx@start@force@reset@color%
+ \box#1%
+ \pgfsys@dvipdfmx@stop@force@reset@color%
+ \pgfsys@invoke{n Q Q Q}% \pgfsys@dvipdfmx@unsuspendcontent
+ }%
+ \hss%
+ }%
+ \wd\pgf@hbox=0pt%
+ \ht\pgf@hbox=0pt%
+ \dp\pgf@hbox=0pt%
+ \box\pgf@hbox%
\pgfsys@endscope%
\pgfsys@end@idscope%
}
@@ -336,7 +345,7 @@
% Patterns came from pgfsys-pdftex.def
% dvipdfmx provides a new special `pdf:stream' for a stream object.
-\def\pgfsys@declarepattern#1#2#3#4#5#6#7#8#9{%
+\def\pgfsys@declarepattern#1#2#3#4#5#6#7{%
% Start building the pattern dictionary:
\pgf@xa=#2\relax%
\pgf@ya=#3\relax%
@@ -350,6 +359,14 @@
\pgf@sys@bp@correct\pgf@yb%
\pgf@sys@bp@correct\pgf@xc%
\pgf@sys@bp@correct\pgf@yc%
+ \pgfsys@@declarepattern{#1}%
+}
+
+\def\pgfsys@@declarepattern#1#2#3#4#5#6#7#8#9{%
+ \pgfutil@tempdima=#6\relax%
+ \pgfutil@tempdimb=#7\relax%
+ \pgf@sys@bp@correct\pgfutil@tempdima%
+ \pgf@sys@bp@correct\pgfutil@tempdimb%
% Now create the pattern object:
\pgfsys@dvipdfmx@patternobj{%
\pgfsys@dvipdfmx@stream{@pgfpatternobject#1}{#8}{%
@@ -360,6 +377,7 @@
/BBox [\pgf@sys@tonumber\pgf@xa\space\pgf@sys@tonumber\pgf@ya\space\pgf@sys@tonumber\pgf@xb\space\pgf@sys@tonumber\pgf@yb]
/XStep \pgf@sys@tonumber\pgf@xc\space
/YStep \pgf@sys@tonumber\pgf@yc\space
+ /Matrix [#2\space#3\space#4\space#5\space\pgf@sys@tonumber\pgfutil@tempdima\space\pgf@sys@tonumber\pgfutil@tempdimb]
/Resources << >> %<<
}%
}%