From 8674ba11ca5132b2588bcbe52f59bb5077eff2d6 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 22 Apr 2012 23:28:40 +0000 Subject: new pgf package pgf-blur (20apr12) git-svn-id: svn://tug.org/texlive/trunk@26092 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/pgf-blur/README | 15 ++ .../pgf-blur/tikzlibraryshadows.blur.code.tex | 198 +++++++++++++++++++++ 2 files changed, 213 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/pgf-blur/README create mode 100644 Master/texmf-dist/doc/latex/pgf-blur/tikzlibraryshadows.blur.code.tex (limited to 'Master/texmf-dist/doc/latex/pgf-blur') diff --git a/Master/texmf-dist/doc/latex/pgf-blur/README b/Master/texmf-dist/doc/latex/pgf-blur/README new file mode 100644 index 00000000000..d599ee37578 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pgf-blur/README @@ -0,0 +1,15 @@ +Package pgf-blur +---------------- + +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. +See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html +for the details of that license. + +DESCRIPTION: + `pgf-blur' adds blurred/faded/fuzzy shadows to TikZ/PGF + +Run (pdf)latex on pgf-blur.dtx to produce a TikZ library file +and the documentation. diff --git a/Master/texmf-dist/doc/latex/pgf-blur/tikzlibraryshadows.blur.code.tex b/Master/texmf-dist/doc/latex/pgf-blur/tikzlibraryshadows.blur.code.tex new file mode 100644 index 00000000000..bf6fc97d92a --- /dev/null +++ b/Master/texmf-dist/doc/latex/pgf-blur/tikzlibraryshadows.blur.code.tex @@ -0,0 +1,198 @@ +%% +%% 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.0} +\def\filedate{2012/05/06} +\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=3, + /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 + % draw the outer part of the fading, + % starting with lightest, outermost line + \pgfsetroundjoin + \pgfmathsetmacro\pgfbs@max@i{\pgfbs@steps - 1} + \foreach \pgfbs@i in {0,...,\pgfbs@max@i} { + \pgfmathsetmacro\pgfbs@wth{% + 2 * \pgfbs@radius * (1 - \pgfbs@i/\pgfbs@steps)}% + \pgfmathsetmacro\pgfbs@op{% + 100 - (25/\pgfbs@steps) * (2*\pgfbs@i + 1)}% + \pgfsetlinewidth{\pgfbs@wth pt} + \pgfsetstrokecolor{black!\pgfbs@op!pstb@shadow@color} + \pgfbs@usefadepath{stroke} + } + % clip to inside of path + \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 + \foreach \pgfbs@i in {0,...,\pgfbs@max@i} { + \pgfmathsetmacro\pgfbs@wth{% + 2 * \pgfbs@radius * (1 - \pgfbs@i/\pgfbs@steps)}% + \pgfmathsetmacro\pgfbs@op{(25/\pgfbs@steps) * (2*\pgfbs@i + 1)} + \pgfsetlinewidth{\pgfbs@wth pt} + \pgfsetstrokecolor{black!\pgfbs@op!pstb@shadow@color} + \pgfbs@usefadepath{stroke} + } + \endpgfpicture +} +\endinput +%% +%% End of file `tikzlibraryshadows.blur.code.tex'. -- cgit v1.2.3