summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def
diff options
context:
space:
mode:
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.def91
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