diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def')
-rw-r--r-- | Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def | 91 |
1 files changed, 66 insertions, 25 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def index fa1cf889bd4..f2edbedf3c9 100644 --- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def +++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def @@ -7,7 +7,7 @@ % % See the file doc/generic/pgf/licenses/LICENSE for more details. -\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-common-svg.def,v 1.21 2009/03/20 10:31:30 tantau Exp $ +\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-common-svg.def,v 1.24 2013/08/28 11:00:54 tantau Exp $ % Driver commands for svg @@ -26,13 +26,16 @@ \def\pgf@sys@addtosvgpath#1{\pgfutil@g@addto@macro\pgf@sys@svgpath{#1\space}} \def\pgf@sys@flushsvgpath{\pgfsysprotocol@literal{\pgf@sys@svgpath}\global\let\pgf@sys@svgpath=\pgfutil@empty} \def\pgf@sys@svg@gs#1{% - {\pgfsysprotocol@literal{<g #1>\Hnewline }}\global\advance\pgf@sys@svg@scopecount by1\relax% + {\pgfsysprotocol@literal{<g #1>\pgfsys@svg@newline }}\global\advance\pgf@sys@svg@scopecount by1\relax% } \newcount\pgf@sys@svg@objectcount -\let\Hnewline=\pgfutil@empty -\catcode`\%=12 -\def\pgf@sys@svg@percentchar{%} -\catcode`\%=14 + +{\catcode`\%=12 +\gdef\pgf@sys@svg@percentchar{%} +} +{\catcode`\#=11 +\gdef\pgf@sys@svg@hash{#} +} % Path construction: \def\pgfsys@lineto#1#2{\pgf@sys@addtosvgpath{L }\pgf@sys@svgnum{#1}\pgf@sys@svgnum{#2}} @@ -58,14 +61,14 @@ \pgfsysprotocol@literal{<clipPath id="pgfcp\the\pgf@sys@svg@objectcount"> <path id="pgfpath\the\pgf@sys@svg@objectcount" d="}% \pgf@sys@flushsvgpath% - \pgfsysprotocol@literal{"/>\Hnewline </clipPath>\Hnewline } - \pgfsysprotocol@literal{<use xlink:href="\#pgfpath\the\pgf@sys@svg@objectcount" #1/>\Hnewline }% + \pgfsysprotocol@literal{"/>\pgfsys@svg@newline </clipPath>\pgfsys@svg@newline } + \pgfsysprotocol@literal{<use xlink:href="\#pgfpath\the\pgf@sys@svg@objectcount" #1/>\pgfsys@svg@newline }% \pgf@sys@svg@gs{clip-path="url(\#pgfcp\the\pgf@sys@svg@objectcount)"} \pgf@sys@svg@clipnextfalse% \else% \pgfsysprotocol@literal{<path d="}% \pgf@sys@flushsvgpath% - \pgfsysprotocol@literal{" #1/>\Hnewline } + \pgfsysprotocol@literal{" #1/>\pgfsys@svg@newline } \fi% } \def\pgfsys@stroke{\pgf@sys@svg@possiblyclippedpath{style="fill:none"}} @@ -78,7 +81,7 @@ \pgfsysprotocol@literal{<clipPath id="pgfcp\the\pgf@sys@svg@objectcount"> <path d="}% \pgf@sys@flushsvgpath% - \pgfsysprotocol@literal{"/>\Hnewline </clipPath>\Hnewline } + \pgfsysprotocol@literal{"/>\pgfsys@svg@newline </clipPath>\pgfsys@svg@newline } \pgf@sys@svg@gs{clip-path="url(\#pgfcp\the\pgf@sys@svg@objectcount)"} \pgf@sys@svg@clipnextfalse% \else% @@ -91,7 +94,15 @@ % Transparency: \def\pgfsys@stroke@opacity#1{\pgf@sys@svg@gs{stroke-opacity="#1"}} -\def\pgfsys@fill@opacity#1{\pgf@sys@svg@gs{fill-opacity="#1"}} +\def\pgfsys@fill@opacity#1{\pgf@sys@svg@gs{fill-opacity="#1"}\def\pgf@sys@svg@opacity{#1}} +\def\pgf@sys@svg@opacity{1} +\def\pgfsys@transparencygroupfrombox#1{% + \setbox#1=\hbox{% + \pgfsys@invoke{<g opacity="\pgf@sys@svg@opacity" stroke-opacity="1" fill-opacity="1">\pgfsys@svg@newline }% + \box#1% + \pgfsys@invoke{</g>\pgfsys@svg@newline }% + }% +} % Transformation: \def\pgfsys@transformcm#1#2#3#4#5#6{% @@ -104,11 +115,11 @@ \edef\pgf@sys@svg@thescopecount{\the\pgf@sys@svg@scopecount}% \begingroup% \pgf@sys@svg@scopecount=1\relax% - \pgfsysprotocol@literal{<g>\Hnewline }% + \pgfsysprotocol@literal{<g>\pgfsys@svg@newline }% } \def\pgfsys@endscope{% \loop% - \pgfsysprotocol@literal{</g>\Hnewline }% + \pgfsysprotocol@literal{</g>\pgfsys@svg@newline }% \advance\pgf@sys@svg@scopecount by-1\relax% \ifnum\pgf@sys@svg@scopecount>0\relax% \repeat% @@ -138,8 +149,6 @@ % Color management % -\def\XC@mcolor{\ifpgfpicture\pgfsetcolor{.}\fi} - \def\pgf@sys@svg@color@rgb#1,#2,#3\relax{% {% \pgf@xa=#1pt% @@ -257,7 +266,7 @@ \divide\pgf@x by \c@pgf@counta\relax% \pgf@sys@svg@addtostops{\pgf@sys@tonumber\pgf@x" stop-color="}% \pgf@sys@svg@shading@dorgb#3% - \pgf@sys@svg@addtostops{"/>\noexpand\Hnewline}% + \pgf@sys@svg@addtostops{"/>\noexpand\pgfsys@svg@newline}% } \def\pgf@sys@svg@shading@dorgb#1#2#3{% \pgf@sys@svg@color@rgb#1,#2,#3\relax% @@ -277,9 +286,9 @@ {% \pgf@parsefunc{#3}% \global\advance\pgf@sys@svg@objectcount by1\relax% - \pgf@sys@svg@addtostops{<linearGradient id="pgfsh\the\pgf@sys@svg@objectcount">\noexpand\Hnewline} + \pgf@sys@svg@addtostops{<linearGradient id="pgfsh\the\pgf@sys@svg@objectcount">\noexpand\pgfsys@svg@newline} \pgf@sys@svg@shading@stops% - \pgf@sys@svg@addtostops{</linearGradient>\noexpand\Hnewline}% + \pgf@sys@svg@addtostops{</linearGradient>\noexpand\pgfsys@svg@newline}% \pgf@process{\pgfpoint{\pgf@sys@shading@end@pos}{#2}}% \expandafter\xdef\csname @pgfshading#1!\endcsname{% \def\noexpand\pgf@sys@svg@sh@defs{\noexpand\pgfsysprotocol@literal{\pgf@sys@svg@thestops}}% @@ -287,7 +296,7 @@ width="\pgf@sys@tonumber{\pgf@x}" height="\pgf@sys@tonumber{\pgf@y}" style="fill:url(\noexpand\#pgfsh\the\pgf@sys@svg@objectcount); - stroke:none"/>\noexpand\Hnewline}}% + stroke:none"/>\noexpand\pgfsys@svg@newline}}% \def\noexpand\pgf@sys@svg@pos{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}% }% }% @@ -308,9 +317,9 @@ \global\advance\pgf@sys@svg@objectcount by1\relax% \pgf@sys@svg@addtostops{<linearGradient id="pgfsh\the\pgf@sys@svg@objectcount" - gradientTransform="rotate(90)">\noexpand\Hnewline} + gradientTransform="rotate(90)">\noexpand\pgfsys@svg@newline} \pgf@sys@svg@shading@stops% - \pgf@sys@svg@addtostops{</linearGradient>\noexpand\Hnewline}% + \pgf@sys@svg@addtostops{</linearGradient>\noexpand\pgfsys@svg@newline}% \pgf@process{\pgfpoint{\pgf@sys@shading@end@pos}{#2}}% \expandafter\xdef\csname @pgfshading#1!\endcsname{% \def\noexpand\pgf@sys@svg@sh@defs{\noexpand\pgfsysprotocol@literal{\pgf@sys@svg@thestops}}% @@ -318,7 +327,7 @@ width="\pgf@sys@tonumber{\pgf@y}" height="\pgf@sys@tonumber{\pgf@x}" style="fill:url(\noexpand\#pgfsh\the\pgf@sys@svg@objectcount); - stroke:none"/>\noexpand\Hnewline}}% + stroke:none"/>\noexpand\pgfsys@svg@newline}}% \def\noexpand\pgf@sys@svg@pos{\noexpand\pgfpoint{\the\pgf@y}{\the\pgf@x}}% }% }% @@ -343,9 +352,9 @@ id="pgfsh\the\pgf@sys@svg@objectcount" fx="\pgf@sys@tonumber\pgf@x" fy="\pgf@sys@tonumber\pgf@y" - >\noexpand\Hnewline} + >\noexpand\pgfsys@svg@newline} \pgf@sys@svg@shading@stops% - \pgf@sys@svg@addtostops{</radialGradient>\noexpand\Hnewline}% + \pgf@sys@svg@addtostops{</radialGradient>\noexpand\pgfsys@svg@newline}% \pgf@xa=\pgf@sys@shading@end@pos% \pgf@xb=2\pgf@xa% \expandafter\xdef\csname @pgfshading#1!\endcsname{% @@ -355,7 +364,7 @@ cy="\pgf@sys@tonumber{\pgf@xa}" r="\pgf@sys@tonumber{\pgf@xa}" style="fill:url(\noexpand\#pgfsh\the\pgf@sys@svg@objectcount); - stroke:none"/>\noexpand\Hnewline}}% + stroke:none"/>\noexpand\pgfsys@svg@newline}}% \def\noexpand\pgf@sys@svg@pos{\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@xb}}% }% }% @@ -364,6 +373,8 @@ % Patterns +\iffalse % comment until interpage support is available + \def\pgfsys@declarepattern#1#2#3#4#5#6#7#8#9{% % Start building the pattern dictionary: \pgf@xa=#2\relax% @@ -410,6 +421,36 @@ \pgf@sys@svg@gs@color{fill="url(\#pgfpat#1)"}% } +\fi + + + + +% Fadings + +% +% Opacity masks +% +% \def\pgfsys@fadingfrombox#1#2{% +% \setbox#2=\hbox{% +% \pgfsys@invoke{<mask id="pgfmask#1">}% +% \box#2% +% \pgfsys@invoke{</mask>}% +% }% +% \wd#2=0pt% +% \ht#2=0pt% +% \dp#2=0pt% +% \unskip\box#2% +% } +% \def\pgfsys@usefading#1#2#3#4#5#6#7{% +% \pgf@sys@svg@gs@color{mask="url(\#pgfmask#1)"}% +% } + + + +% + +\def\pgfutil@color{\pgfsetcolor} \endinput |