diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymindmap.code.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymindmap.code.tex | 139 |
1 files changed, 108 insertions, 31 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymindmap.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymindmap.code.tex index 06f42f5c457..981d747a3e5 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymindmap.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymindmap.code.tex @@ -7,7 +7,7 @@ % % See the file doc/generic/pgf/licenses/LICENSE for more details. -\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymindmap.code.tex,v 1.5 2008/02/10 16:29:07 tantau Exp $ +\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymindmap.code.tex,v 1.9 2009/11/12 09:53:02 ludewich Exp $ \usetikzlibrary{trees,decorations} @@ -99,11 +99,12 @@ \tikzstyle{circle connection bar}= [to path={ \pgfextra{\tikz@compute@circle@radii\tikz@compute@segmentamplitude} - [fill=\tikz@concept@color,draw=none] [every circle connection bar] decorate [decoration=circle connection bar] { -- (\tikztotarget) \tikztonodes} -}] +}, +append after command={[fill=\tikz@concept@color,draw=none]} +] \tikzstyle{every circle connection bar}=[] \def\tikz@compute@circle@radii{% @@ -132,21 +133,87 @@ \tikzoption{circle connection bar switch color}{\tikz@parse@switch#1\pgf@unique} \def\tikz@parse@switch from (#1) to (#2)\pgf@unique{% - \def\tikz@to@path{% - \pgfextra{% - \pgfutil@colorlet{tikz@switch@from}{#1}% - \pgfutil@colorlet{tikz@switch@to}{#2}% - \tikz@compute@circle@radii\tikz@compute@segmentamplitude% - \tikz@compute@rotation% - } - [fill=none,draw=none] - [every circle connection bar] - decorate [decoration=circle connection bar] - {-- (\tikztotarget) \tikztonodes} - [shading=tikz@shade@bar] + \tikzset{to path={% + \pgfextra{% + \tikz@compute@circle@radii\tikz@compute@segmentamplitude% + \global\let\tikz@lib@save@start=\tikztostart% + \global\let\tikz@lib@save@target=\tikztotarget% + \pgfkeysgetvalue{/pgf/decoration/start radius}\pgf@temp% + \global\let\tikz@lib@saved@start@radius=\pgf@temp% + \pgfkeysgetvalue{/pgf/decoration/end radius}\pgf@temp% + \global\let\tikz@lib@saved@end@radius=\pgf@temp% + }% + [every circle connection bar] + decorate [decoration=circle connection bar] + { -- (\tikztotarget) \tikztonodes} + }, + append after command={ + [fill=none,draw=none,path picture=\tikz@lib@shade@pic] + \pgfextra{ + \pgfutil@colorlet{tikz@switch@from}{#1}% + \pgfutil@colorlet{tikz@switch@to}{#2}% + }} } } +\def\tikz@lib@shade@pic{% + % We have to draw the shading... + % compute start point: + \pgftransformreset% + \pgf@process{\pgfpointnormalised{\pgfpointdiff{\pgfpointanchor{\tikz@lib@save@start}{center}}{\pgfpointanchor{\tikz@lib@save@target}{center}}}}% + \edef\tikz@lib@mm@vec{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + \pgfmathsetlength\pgf@xc{\tikz@lib@saved@start@radius} + \pgf@process{\pgfpointadd{\pgfpointtransformed{\pgfpointanchor{\tikz@lib@save@start}{center}}} + {\pgfpointscale{\pgf@sys@tonumber{\pgf@xc}}{\tikz@lib@mm@vec}}} + \edef\tikz@lib@mm@start{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + \pgfmathsetlength\pgf@xc{\tikz@lib@saved@end@radius} + \pgf@process{\pgfpointdiff{\tikz@lib@mm@start}{\pgfpointadd{\pgfpointtransformed{\pgfpointanchor{\tikz@lib@save@target}{center}}} + {\pgfpointscale{-\pgf@sys@tonumber{\pgf@xc}}{\tikz@lib@mm@vec}}}} + \edef\tikz@lib@mm@end{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + \pgftransformshift{\tikz@lib@mm@start} + \pgflowlevelsynccm + \pgf@process{\tikz@lib@mm@vec} + { + \pgf@xa=-\pgf@x% + \pgftransformcm{\pgf@sys@tonumber{\pgf@x}}{\pgf@sys@tonumber{\pgf@y}}% + {\pgf@sys@tonumber{\pgf@y}}{\pgf@sys@tonumber{\pgf@xa}}% + {\pgfpointorigin}% + \pgf@process{\pgfpointtransformed{\tikz@lib@mm@end}}% + \expandafter + } + \edef\tikz@lib@mm@length{\the\pgf@x}% + \pgf@process{\tikz@lib@mm@vec} + \pgf@ya=-\pgf@y% + \pgftransformcm{\pgf@sys@tonumber{\pgf@x}}{\pgf@sys@tonumber{\pgf@y}}% + {\pgf@sys@tonumber{\pgf@ya}}{\pgf@sys@tonumber{\pgf@x}}% + {\pgfpointorigin}% + % Y scale: + \pgfmathsetlength\pgf@y{\tikz@lib@saved@start@radius}% + \pgfmathsetlength\pgf@ya{\tikz@lib@saved@end@radius}% + \ifdim\pgf@y<\pgf@ya% + \pgf@y=\pgf@ya% + \fi% + \pgf@y=0.01992528\pgf@y% + \pgftransformyscale{\pgf@sys@tonumber{\pgf@y}}% + \pgfpathrectanglecorners + {\pgfpoint{-\tikz@lib@saved@start@radius}{-50bp}} + {\pgfpoint{1pt}{50bp}} + \pgfsetfillcolor{tikz@switch@from} + \pgfusepath{fill} + \pgfpathrectanglecorners + {\pgfpoint{\tikz@lib@mm@length+\tikz@lib@saved@end@radius}{-50bp}} + {\pgfpoint{\tikz@lib@mm@length-1pt}{50bp}} + \pgfsetfillcolor{tikz@switch@to} + \pgfusepath{fill} + % X scale: + \pgf@x=\tikz@lib@mm@length% + \pgf@x=0.009962\pgf@x% + \pgftransformxscale{\pgf@sys@tonumber{\pgf@x}}% + \pgftransformxshift{50bp} + \pgflowlevelsynccm% + \pgfuseshading{tikz@shade@bar} +} + \tikzoption{concept color}{% \let\tikz@old@concept@color=\tikz@concept@color% \def\tikz@edge@to@parent@path{ @@ -158,24 +225,8 @@ \pgfdeclarehorizontalshading[tikz@switch@from,tikz@switch@to]{tikz@shade@bar}{100bp}{% color(0pt)=(tikz@switch@from); - color(50bp)=(tikz@switch@from); - color(55bp)=(tikz@switch@to); color(100bp)=(tikz@switch@to)} -\def\tikz@compute@rotation{% - \pgf@process{\pgfpointnormalised{\pgfpointdiff{\pgfpointanchor{\tikztostart}{center}}{\pgfpointanchor{\tikztotarget}{center}}}}% - \pgf@ya=-\pgf@y% - \edef\pgf@marshal{% - \noexpand\pgfsetadditionalshadetransform{% - \noexpand\pgftransformcm - {\pgf@sys@tonumber{\pgf@x}}{\pgf@sys@tonumber{\pgf@y}}% - {\pgf@sys@tonumber{\pgf@ya}}{\pgf@sys@tonumber{\pgf@x}}% - {\noexpand\pgfpointorigin}% - }% - }% - \pgf@marshal% -} - @@ -234,6 +285,32 @@ level distance=1.85cm,% sibling angle=30,% font=\pgfutil@font@tiny] + +\tikzstyle{small mindmap}= + [% + root concept/.style={minimum size=2.3cm,text width=2.1cm,font=\pgfutil@font@footnotesize}, + level 1 concept/.style={% + minimum size=1.5cm, + level distance=2.8cm, + text width=1.4cm, + sibling angle=75, + font=\pgfutil@font@scriptsize},% + level 2 concept/.style={% + minimum size=1.1cm,% + level distance=2.2cm,% + text width=1.1cm,% + sibling angle=60,% + font=\pgfutil@font@tiny},% + level 3 concept/.style={% + level 2 concept, + sibling angle=30,% + font=\pgfutil@font@tiny},% + level 4 concept/.style={% + level 3 concept, + }, + mindmap,% + line width=2pt + ] \tikzstyle{large mindmap}= [% |