diff options
author | Norbert Preining <preining@logic.at> | 2012-04-25 06:01:25 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2012-04-25 06:01:25 +0000 |
commit | 5e811bf9ff26ebadec72036e0467dcbad5766c10 (patch) | |
tree | fdcd261cc8bb27923d9a07537e5d9a9fa17d689f /Master/texmf-dist/tex | |
parent | 68ce2a753c4b20dfd7ecba1a617fb09b400eff92 (diff) |
non-update of pgf-blur to get file placements right
git-svn-id: svn://tug.org/texlive/trunk@26134 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/pgf-blur/tikzlibraryshadows.blur.code.tex | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/pgf-blur/tikzlibraryshadows.blur.code.tex b/Master/texmf-dist/tex/latex/pgf-blur/tikzlibraryshadows.blur.code.tex new file mode 100644 index 00000000000..08cf823c3fa --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf-blur/tikzlibraryshadows.blur.code.tex @@ -0,0 +1,212 @@ +%% +%% This is file `tikzlibraryshadows.blur.code.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% pgf-blur.dtx (with options: `texfile') +%% Copyright 2012 Martin Giese, martingi@ifi.uio.no +%% +%% This file is under the LaTeX Project Public License +%% See CTAN archives in directory macros/latex/base/lppl.txt. +%% +%% DESCRIPTION: +%% `pgf-blur' adds blurred/faded/fuzzy shadows to TikZ/PGF +%% + + +\def\fileversion{1.01} +\def\filedate{2012/04/24} +\message{ v\fileversion, \filedate} +\usetikzlibrary{shadows} +\usetikzlibrary{calc} +\tikzset{ + /tikz/shadow blur radius/.store in=\pgfbs@radius, + /tikz/shadow blur radius=.4ex, + /tikz/shadow blur extra rounding/.store in=\pgfbs@extra@rounding, + /tikz/shadow blur extra rounding=\pgfutil@empty, + /tikz/shadow blur extra rounding/.default=\pgfbs@radius, + /tikz/shadow blur steps/.store in=\pgfbs@steps, + /tikz/shadow blur steps=4, + /tikz/shadow opacity/.store in=\pgfbs@opacity, + /tikz/shadow opacity=40, + /tikz/blur shadow/.style={ + shadow scale=1, + shadow xshift=.5ex, + shadow yshift=-.5ex, + preaction=render blur shadow, + every shadow, + #1, + }, + /tikz/render blur shadow/.code={ + \pgfbs@savebb + \pgfsyssoftpath@getcurrentpath{\pgfbs@input@path}% + \pgfbs@compute@shadow@bbox + \pgfbs@process@rounding{\pgfbs@input@path}{\pgfbs@fadepath}% + \pgfbs@apply@canvas@transform + \colorlet{pstb@shadow@color}{white!\pgfbs@opacity!black}% + \pgfdeclarefading{shadowfading}{\pgfbs@paint@fading}% + \pgfsetfillcolor{black}% + \pgfsetfading{shadowfading}% + {\pgftransformshift{\pgfpoint{\pgfbs@midx}{\pgfbs@midy}}}% + \pgfbs@usebbox{fill}% + \pgfbs@restorebb + }, +} +\def\pgfbs@savebb{% + \edef\pgfbs@restorebb{% + \global\pgf@picminx=\the\pgf@picminx\relax + \global\pgf@picmaxx=\the\pgf@picmaxx\relax + \global\pgf@picminy=\the\pgf@picminy\relax + \global\pgf@picmaxy=\the\pgf@picmaxy\relax + }% +} +\def\restorebb{}% +\def\pgfbs@process@rounding#1#2{ + \expandafter\ifx\pgfbs@extra@rounding\pgfutil@empty% + \pgfprocessround{#1}{#2}% + \else% + \pgfmathsetmacro\pgfbs@exrd@val{\pgfbs@extra@rounding}% + \pgfbs@roundpath{#1}{\pgfbs@exrd@val pt}% + \pgfsyssoftpath@getcurrentpath{\pgfbs@extraroundedpath}% + \pgfprocessround{\pgfbs@extraroundedpath}{#2}% + \fi% +} +\def\pgfbs@roundpath#1#2{% + {% + \def\pgfbs@rp@skipround{% + \let\pgfbs@rp@possibleround\pgfbs@rp@insertround}% + \def\pgfbs@rp@insertround{\pgfsyssoftpath@specialround{#2}{#2}}% + \let\pgfbs@rp@possibleround\pgfbs@rp@insertround% + % + \def\pgfsyssoftpath@movetotoken##1##2{% + \pgfsyssoftpath@moveto{##1}{##2}}% + \def\pgfsyssoftpath@linetotoken##1##2{% + \pgfbs@rp@possibleround\pgfsyssoftpath@lineto{##1}{##2}}% + \def\pgfsyssoftpath@rectcornertoken##1##2##3##4##5{% + \pgf@xa=##1\relax% + \advance\pgf@xa by##4% + \pgf@ya=##2\relax% + \advance\pgf@ya by##5% + \pgfsyssoftpath@moveto{##1}{##2}% + \pgfbs@rp@possibleround% + \pgfsyssoftpath@lineto{\the\pgf@xa}{##2}% + \pgfbs@rp@possibleround% + \pgfsyssoftpath@lineto{\the\pgf@xa}{\the\pgf@ya}% + \pgfbs@rp@possibleround% + \pgfsyssoftpath@lineto{##1}{\the\pgf@ya}% + \pgfbs@rp@possibleround% + \pgfsyssoftpath@closepath}% + \def\pgfsyssoftpath@curvetosupportatoken% + ##1##2##3##4##5##6##7##8{% + \pgfbs@rp@possibleround% + \pgfsyssoftpath@curveto{##1}{##2}{##4}{##5}{##7}{##8}}% + \def\pgfsyssoftpath@closepathtoken##1##2{% + \pgfbs@rp@possibleround\pgfsyssoftpath@closepath}% + \def\pgfsyssoftpath@specialroundtoken##1##2{% + \pgfmathsetmacro\pgfbs@rp@ra{max(##1,#2)}% + \pgfmathsetmacro\pgfbs@rp@rb{max(##2,#2)}% + \pgfsyssoftpath@specialround% + {\pgfbs@rp@ra pt}{\pgfbs@rp@rb pt}% + \let\pgfbs@rp@possibleround\pgfbs@rp@skipround% + } + #1% + } +} +\def\pgfbs@compute@shadow@bbox{% + \edef\pgfbs@minx{\the\pgf@pathminx}% + \edef\pgfbs@miny{\the\pgf@pathminy}% + \edef\pgfbs@maxx{\the\pgf@pathmaxx}% + \edef\pgfbs@maxy{\the\pgf@pathmaxy}% + \pgfmathsetmacro\pgfbs@midx{0.5*(\pgfbs@minx + \pgfbs@maxx)}% + \pgfmathsetmacro\pgfbs@midy{0.5*(\pgfbs@miny + \pgfbs@maxy)}% + \pgfmathsetmacro\pgfbs@minx{\pgfbs@minx - \pgfbs@radius}% + \pgfmathsetmacro\pgfbs@miny{\pgfbs@miny - \pgfbs@radius}% + \pgfmathsetmacro\pgfbs@maxx{\pgfbs@maxx + \pgfbs@radius}% + \pgfmathsetmacro\pgfbs@maxy{\pgfbs@maxy + \pgfbs@radius}% + \pgfmathsetmacro\pgfbs@wd{\pgfbs@maxx - \pgfbs@minx}% + \pgfmathsetmacro\pgfbs@ht{\pgfbs@maxy - \pgfbs@miny}% + \pgfsyssoftpath@setcurrentpath\pgfutil@empty% + \pgfsyssoftpath@rect{\pgfbs@minx pt}{\pgfbs@miny pt}% + {\pgfbs@wd pt}{\pgfbs@ht pt}% + \pgfsyssoftpath@getcurrentpath{\pgfbs@shadow@bbox}% + \pgfsyssoftpath@setcurrentpath\pgfutil@empty% +} + +\def\pgfbs@set@fading@pic@bbox{ + \global\pgf@picminx=\pgfbs@minx pt\relax + \global\pgf@picminy=\pgfbs@miny pt\relax + \global\pgf@picmaxx=\pgfbs@maxx pt\relax + \global\pgf@picmaxy=\pgfbs@maxy pt\relax +} +\def\pgfbs@usefadepath#1{% + \pgfsyssoftpath@setcurrentpath{\pgfbs@fadepath}% + \pgfsyssoftpath@flushcurrentpath% + \pgfusepath{#1}% +} +\def\pgfbs@usebbox#1{% + \pgfsyssoftpath@setcurrentpath{\pgfbs@shadow@bbox}% + \pgfsyssoftpath@flushcurrentpath% + \pgfusepath{#1}% +} +\def\pgfbs@apply@canvas@transform{ + \pgflowlevel{ + \pgftransformshift{\pgfpoint{\pgfbs@midx}{\pgfbs@midy}} + \pgftransformscale{\pgfkeysvalueof{/tikz/shadow scale}} + \pgftransformshift{\pgfpoint% + {\pgfkeysvalueof{/tikz/shadow xshift}-\pgfbs@midx} + {\pgfkeysvalueof{/tikz/shadow yshift}-\pgfbs@midy} + } + } +} +\def\pgfbs@paint@fading{ + \pgfpicture + % fix bounding box. + \pgfbs@set@fading@pic@bbox + % compute increments for line width and opacity + \pgfmathsetmacro\pgfbs@op@step{50/\pgfbs@steps} + \pgfmathsetmacro\pgfbs@wth@step{4*\pgfbs@radius/(2*\pgfbs@steps-1)} + % draw the outer part of the fading, + % starting with lightest, outermost line + \pgfsetroundjoin + \pgfmathsetmacro\pgfbs@max@i{\pgfbs@steps-2} + \pgfmathsetmacro\pgfbs@wth{2*\pgfbs@radius} + \pgfmathsetmacro\pgfbs@op{100-0.5*\pgfbs@op@step} + \foreach \pgfbs@i in {0,...,\pgfbs@max@i} { + \pgfsetlinewidth{\pgfbs@wth pt} + \pgfsetstrokecolor{black!\pgfbs@op!pstb@shadow@color} + \pgfbs@usefadepath{stroke} + \pgfmathsetmacro\pgfbs@wth{\pgfbs@wth-\pgfbs@wth@step} + \global\let\pgfbs@wth=\pgfbs@wth + \pgfmathsetmacro\pgfbs@op{\pgfbs@op-\pgfbs@op@step} + \global\let\pgfbs@op=\pgfbs@op + } + % clip to inside of path + \scope + \pgfbs@usefadepath{clip} + % fill inside with final darkest shadow color + \pgfsetfillcolor{pstb@shadow@color} + \pgfbs@usebbox{fill} + % draw the inner part of the fading, + % starting with the darkest, innermost line + \pgfmathsetmacro\pgfbs@wth{2*\pgfbs@radius} + \pgfmathsetmacro\pgfbs@op{0.5*\pgfbs@op@step} + \foreach \pgfbs@i in {0,...,\pgfbs@max@i} { + \pgfsetlinewidth{\pgfbs@wth pt} + \pgfsetstrokecolor{black!\pgfbs@op!pstb@shadow@color} + \pgfbs@usefadepath{stroke} + \pgfmathsetmacro\pgfbs@wth{\pgfbs@wth-\pgfbs@wth@step} + \global\let\pgfbs@wth=\pgfbs@wth + \pgfmathsetmacro\pgfbs@op{\pgfbs@op+\pgfbs@op@step} + \global\let\pgfbs@op=\pgfbs@op + } + \endscope + % a final stroke to hide clip/antialiasing artifcats + \pgfsetstrokecolor{black!50!pstb@shadow@color} + \pgfsetlinewidth{0.5*\pgfbs@wth@step} + \pgfbs@usefadepath{stroke} + \endpgfpicture +} +\endinput +%% +%% End of file `tikzlibraryshadows.blur.code.tex'. |