diff options
Diffstat (limited to 'graphics/pgf/base/tex/generic/systemlayer/pgfsys-common-pdf.def')
-rw-r--r-- | graphics/pgf/base/tex/generic/systemlayer/pgfsys-common-pdf.def | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/graphics/pgf/base/tex/generic/systemlayer/pgfsys-common-pdf.def b/graphics/pgf/base/tex/generic/systemlayer/pgfsys-common-pdf.def new file mode 100644 index 0000000000..e1ad4e7021 --- /dev/null +++ b/graphics/pgf/base/tex/generic/systemlayer/pgfsys-common-pdf.def @@ -0,0 +1,119 @@ +% 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-common-pdf.def} + + +% Common driver commands for all drivers that produce pdf + + +% Path construction: +\def\pgfsys@lineto#1#2{\pgf@sys@bp{#1}\pgf@sys@bp{#2}\pgfsysprotocol@literal{l}} +\def\pgfsys@moveto#1#2{\pgf@sys@bp{#1}\pgf@sys@bp{#2}\pgfsysprotocol@literal{m}} +\def\pgfsys@curveto#1#2#3#4#5#6{% + \pgf@sys@bp{#1}\pgf@sys@bp{#2}\pgf@sys@bp{#3}\pgf@sys@bp{#4}\pgf@sys@bp{#5}\pgf@sys@bp{#6}\pgfsysprotocol@literal{c}} +\def\pgfsys@rect#1#2#3#4{\pgf@sys@bp{#1}\pgf@sys@bp{#2}\pgf@sys@bp{#3}\pgf@sys@bp{#4}\pgfsysprotocol@literal{re}} +\def\pgfsys@closepath{\pgfsysprotocol@literal{h}} + +% Path usage: +\def\pgfsys@stroke{\pgfsysprotocol@literal{S}} +\def\pgfsys@closestroke{\pgfsysprotocol@literal{s}} +\def\pgfsys@fill{\ifpgfsys@eorule\pgfsysprotocol@literal{f*}\else\pgfsysprotocol@literal{f}\fi} +\def\pgfsys@fillstroke{\ifpgfsys@eorule\pgfsysprotocol@literal{B*}\else\pgfsysprotocol@literal{B}\fi} +\def\pgfsys@clipnext{\ifpgfsys@eorule\pgfsysprotocol@literal{W*}\else\pgfsysprotocol@literal{W}\fi} +\def\pgfsys@discardpath{\pgfsysprotocol@literal{n}} + +% Transformation: +\def\pgfsys@transformcm#1#2#3#4#5#6{% + \pgfsysprotocol@literalbuffered{#1 #2 #3 #4}\pgf@sys@bp{#5}\pgf@sys@bp{#6}\pgfsysprotocol@literal{cm}} + +% Scopes +\def\pgfsys@beginscope{\pgfsysprotocol@literal{q}} +\def\pgfsys@endscope{\pgfsysprotocol@literal{Q}} + +% Graphics state +\def\pgfsys@setdash#1#2{% + \pgfsysprotocol@literalbuffered{[}% + \pgfutil@for\pgf@sys@temp:={#1}\do{\pgf@sys@bp{\pgf@sys@temp}}% + \pgfsysprotocol@literalbuffered{]}% + \pgf@sys@bp{#2}\pgfsysprotocol@literal{d}} +\def\pgfsys@setlinewidth#1{\pgf@sys@bp{#1}\pgfsysprotocol@literal{w}} +\def\pgfsys@setmiterlimit#1{\pgfsysprotocol@literal{#1 M}} +\def\pgfsys@buttcap{\pgfsysprotocol@literal{0 J}} +\def\pgfsys@roundcap{\pgfsysprotocol@literal{1 J}} +\def\pgfsys@rectcap{\pgfsysprotocol@literal{2 J}} +\def\pgfsys@miterjoin{\pgfsysprotocol@literal{0 j}} +\def\pgfsys@roundjoin{\pgfsysprotocol@literal{1 j}} +\def\pgfsys@beveljoin{\pgfsysprotocol@literal{2 j}} +\def\pgfsys@color@rgb@stroke#1#2#3{\pgfsysprotocol@literal{#1 #2 #3 RG}} +\def\pgfsys@color@rgb@fill#1#2#3{\pgfsysprotocol@literal{#1 #2 #3 rg}} +\def\pgfsys@color@cmyk@stroke#1#2#3#4{\pgfsysprotocol@literal{#1 #2 #3 #4 K}} +\def\pgfsys@color@cmyk@fill#1#2#3#4{\pgfsysprotocol@literal{#1 #2 #3 #4 k}} +\def\pgfsys@color@cmy@stroke#1#2#3{\pgfsysprotocol@literal{#1 #2 #3 0 K}} +\def\pgfsys@color@cmy@fill#1#2#3{\pgfsysprotocol@literal{#1 #2 #3 0 k}} +\def\pgfsys@color@gray@stroke#1{\pgfsysprotocol@literal{#1 G}} +\def\pgfsys@color@gray@fill#1{\pgfsysprotocol@literal{#1 g}} + +% Visibility +\def\pgfsys@begininvisiblescope{\pgfsys@beginscope{\pgfsys@discardpath\pgfsys@clipnext\pgfsys@moveto{0pt}{0pt}\pgfsys@discardpath}} +\def\pgfsys@endinvisiblescope{\pgfsys@endscope} + +% Opacity +\def\pgfsys@stroke@opacity#1{% + \expandafter\ifx\csname pgf@sys@pdf@so@#1\endcsname\relax% + \expandafter\gdef\csname pgf@sys@pdf@so@#1\endcsname{/pgf@CA#1}% + \pgfutil@addpdfresource@extgs{/pgf@CA#1 << /CA #1 >>}%<< + \fi% + \pgfsysprotocol@literal{\csname pgf@sys@pdf@so@#1\endcsname\space gs}% +} +\def\pgfsys@fill@opacity#1{% + \expandafter\ifx\csname pgf@sys@pdf@fo@#1\endcsname\relax% + \expandafter\gdef\csname pgf@sys@pdf@fo@#1\endcsname{/pgf@ca#1}% + \pgfutil@addpdfresource@extgs{/pgf@ca#1 << /ca #1 >>}%<< + \fi% + \pgfsysprotocol@literal{\csname pgf@sys@pdf@fo@#1\endcsname\space gs}% +} + +% Blending +\def\pgfsys@blend@mode#1{% + \expandafter\ifx\csname pgf@sys@pdf@bm@#1\endcsname\relax% + \expandafter\let\expandafter\pgf@temp\csname pgf@sys@pdf@blend@mode@map@#1\endcsname% + \expandafter\xdef\csname pgf@sys@pdf@bm@#1\endcsname{/pgf@bm\pgf@temp}% + \ifx\pgf@temp\relax% + \pgferror{Unknown blend mode '#1'}% + \def\pgf@temp{Normal}% + \fi% + \edef\pgf@temp{/pgf@bm\pgf@temp << /BM /\pgf@temp >>}%<< + \expandafter\pgfutil@addpdfresource@extgs\expandafter{\pgf@temp}% + \fi% + \pgfsysprotocol@literal{\csname pgf@sys@pdf@bm@#1\endcsname\space gs}% +} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@normal\endcsname{Normal} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@multiply\endcsname{Multiply} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@screen\endcsname{Screen} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@overlay\endcsname{Overlay} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@darken\endcsname{Darken} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@lighten\endcsname{Lighten} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@color dodge\endcsname{ColorDodge} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@color burn\endcsname{ColorBurn} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@hard light\endcsname{HardLight} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@soft light\endcsname{SoftLight} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@difference\endcsname{Difference} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@exclusion\endcsname{Exclusion} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@saturation\endcsname{Saturation} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@color\endcsname{Color} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@hue\endcsname{Hue} +\expandafter\def\csname pgf@sys@pdf@blend@mode@map@luminosity\endcsname{Luminosity} + +\endinput + + +%%% Local Variables: +%%% mode: latex +%%% End: |