diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.multipart.code.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.multipart.code.tex | 1097 |
1 files changed, 0 insertions, 1097 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.multipart.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.multipart.code.tex deleted file mode 100644 index 41f0fcfb243..00000000000 --- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.multipart.code.tex +++ /dev/null @@ -1,1097 +0,0 @@ -% Copyright 2007 by Till Tantau and Mark Wibrow -% -% This file may be distributed and/or modified -% -% 1. under the LaTeX Project Public License and/or -% 2. under the GNU Public License. -% -% See the file doc/generic/pgf/licenses/LICENSE for more details. - -\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryshapes.multipart.code.tex,v 1.7 2008/01/15 15:41:18 vibrovski Exp $ - -\newbox\pgfnodepartlowerbox - -% -% A circle that is split in the middle into an upper and a lower part. -% -% This node consists of two parts: The upper (main) part is shown in -% the upper half of the circle. The second part is the (optional) -% lower part. -% -% Parts: text, lower - -\pgfdeclareshape{circle split} -{ - % - % Node parts - % - \nodeparts{text,lower} - - % - % Anchors - % - \savedanchor\centerpoint{% - \pgf@x=.5\wd\pgfnodeparttextbox% - \pgfmathsetlength{\pgf@y}{\pgfkeysvalueof{/pgf/inner ysep}}% - \pgf@y=-\pgf@y% - \advance\pgf@y by-\dp\pgfnodeparttextbox% - \advance\pgf@y by-.5\pgflinewidth% - }% - \savedanchor\loweranchor{% - \pgf@x=-.5\wd\pgfnodepartlowerbox% - \advance\pgf@x by.5\wd\pgfnodeparttextbox% - \pgfmathsetlength{\pgf@y}{\pgfkeysvalueof{/pgf/inner ysep}}% - \pgf@y=-2\pgf@y% - \advance\pgf@y by-\ht\pgfnodepartlowerbox% - \advance\pgf@y by-.5\pgflinewidth% - \advance\pgf@y by-\dp\pgfnodeparttextbox% - \advance\pgf@y by-.5\pgflinewidth% - } - - \saveddimen\radius{% - % - % Caculate ``height radius'' - % - %\pgf@ya=.5\ht\pgfnodeparttextbox% -% \advance\pgf@ya by.5\dp\pgfnodeparttextbox% -% \advance\pgf@ya by.5\ht\pgfnodepartlowerbox% -% \advance\pgf@ya by.5\dp\pgfnodepartlowerbox% -% \advance\pgf@ya by.5\pgflinewidth% - % - % MW: Suggested correction for above calculation: Use the tallest box * 2. - % - \pgf@ya=.5\ht\pgfnodeparttextbox% - \advance\pgf@ya by.5\dp\pgfnodeparttextbox% - \pgf@yb=.5\ht\pgfnodepartlowerbox% - \advance\pgf@yb by.5\dp\pgfnodepartlowerbox% - \ifdim\pgf@ya>\pgf@yb\relax% - \pgf@ya2.0\pgf@ya\relax% - \else% - \pgf@ya2.0\pgf@yb\relax% - \fi% - \advance\pgf@ya by.5\pgflinewidth% - \pgfmathsetlength\pgf@yb{\pgfkeysvalueof{/pgf/inner ysep}}% - \advance\pgf@ya by2\pgf@yb% - % - % Caculate ``width radius'' - % - \pgf@xa=.5\wd\pgfnodeparttextbox% - \ifdim\pgf@xa<.5\wd\pgfnodepartlowerbox% - \pgf@xa=.5\wd\pgfnodepartlowerbox% - \fi% - \pgfmathsetlength\pgf@xb{\pgfkeysvalueof{/pgf/inner xsep}}% - \advance\pgf@xa by\pgf@xb% - % - % Calculate length of radius vector: - % - \pgf@process{\pgfpointnormalised{\pgfqpoint{\pgf@xa}{\pgf@ya}}}% - \ifdim\pgf@x>\pgf@y% - \c@pgf@counta=\pgf@x% - \ifnum\c@pgf@counta=0\relax% - \else% - \divide\c@pgf@counta by 255\relax% - \pgf@xa=16\pgf@xa\relax% - \divide\pgf@xa by\c@pgf@counta% - \pgf@xa=16\pgf@xa\relax% - \fi% - \else% - \c@pgf@counta=\pgf@y% - \ifnum\c@pgf@counta=0\relax% - \else% - \divide\c@pgf@counta by 255\relax% - \pgf@ya=16\pgf@ya\relax% - \divide\pgf@ya by\c@pgf@counta% - \pgf@xa=16\pgf@ya\relax% - \fi% - \fi% - \pgf@x=\pgf@xa% - % - % If necessary, adjust radius so that the size requirements are - % met: - % - \pgfmathsetlength{\pgf@xb}{\pgfkeysvalueof{/pgf/minimum width}}% - \pgfmathsetlength{\pgf@yb}{\pgfkeysvalueof{/pgf/minimum height}}% - \ifdim\pgf@x<.5\pgf@xb% - \pgf@x=.5\pgf@xb% - \fi% - \ifdim\pgf@x<.5\pgf@yb% - \pgf@x=.5\pgf@yb% - \fi% - % - % Now, add larger of outer sepearations. - % - \pgfmathsetlength{\pgf@xb}{\pgfkeysvalueof{/pgf/outer xsep}}% - \pgfmathsetlength{\pgf@yb}{\pgfkeysvalueof{/pgf/outer ysep}}% - \ifdim\pgf@xb<\pgf@yb% - \advance\pgf@x by\pgf@yb% - \else% - \advance\pgf@x by\pgf@xb% - \fi% - } - - % - % Anchors - % - \inheritanchorborder[from=circle] - \inheritanchor[from=circle]{north} - \inheritanchor[from=circle]{north west} - \inheritanchor[from=circle]{north east} - \inheritanchor[from=circle]{center} - \inheritanchor[from=circle]{west} - \inheritanchor[from=circle]{east} - \inheritanchor[from=circle]{mid} - \inheritanchor[from=circle]{mid west} - \inheritanchor[from=circle]{mid east} - \inheritanchor[from=circle]{base} - \inheritanchor[from=circle]{base west} - \inheritanchor[from=circle]{base east} - \inheritanchor[from=circle]{south} - \inheritanchor[from=circle]{south west} - \inheritanchor[from=circle]{south east} - \anchor{lower}{\loweranchor} - - % - % Background path - % - \inheritbackgroundpath[from=circle] - \beforebackgroundpath{ - \pgfutil@tempdima=\radius% - \pgfmathsetlength{\pgf@xb}{\pgfkeysvalueof{/pgf/outer xsep}}% - \pgfmathsetlength{\pgf@yb}{\pgfkeysvalueof{/pgf/outer ysep}}% - \ifdim\pgf@xb<\pgf@yb% - \advance\pgfutil@tempdima by-\pgf@yb% - \else% - \advance\pgfutil@tempdima by-\pgf@xb% - \fi% - \advance\pgfutil@tempdima by-.5\pgflinewidth% - \pgfsetshortenstart{0pt}% - \pgfsetshortenend{0pt}% - \pgfsetarrows{-}% - \pgfpathmoveto{\pgfpointadd{\centerpoint}{\pgfqpoint{-1\pgfutil@tempdima}{0pt}}}% - \pgfpathlineto{\pgfpointadd{\centerpoint}{\pgfqpoint{\pgfutil@tempdima}{0pt}}}% - \pgfusepath{stroke}% - } -} - - - - - -% (Most) keys for shape rectangle split. -% -% /pgf/rectangle split parts : Set the number of rectangles to split into. -% /pgf/rectangle split part align : Align the for the boxes in each part -% (also keys for each part) -% /pgf/rectangle split use custom fill : Use a custom (behindbackground path) fill. -% /pgf/rectangle split part fill : Custom fill for ech part. -% (also keys for each part) -% /pgf/rectangle split draw splits : Draw the line between node parts. -% /pgf/rectangle split empty part height : Set the default height for empty boxes. - - -\newif\ifpgfrectanglesplitdrawsplits -\pgfrectanglesplitdrawsplitstrue - -\newif\ifpgfrectanglesplitusecustomfill -\pgfrectanglesplitusecustomfillfalse - -\pgfkeys{/pgf/.cd, - rectangle split parts/.initial=4, - rectangle split empty part height/.initial=1ex, - rectangle split draw splits/.is if=pgfrectanglesplitdrawsplits, - % - rectangle split part align/.code=\pgf@lib@shapes@rectanglesplit@assigntoparts{#1}{align}, - rectangle split text part align/.initial=center, - rectangle split second part align/.initial=center, - rectangle split third part align/.initial=center, - rectangle split fourth part align/.initial=center, - % - rectangle split use custom fill/.is if=pgfrectanglesplitusecustomfill, - rectangle split part fill/.code={% - \pgfrectanglesplitusecustomfilltrue% - \pgf@lib@shapes@rectanglesplit@assigntoparts{#1}{fill}% - }, - rectangle split text part fill/.initial=white, - rectangle split second part fill/.initial=white, - rectangle split third part fill/.initial=white, - rectangle split fourth part fill/.initial=white -} - -% Internal macros for the rectangle split shape. -% -\def\pgf@lib@shapes@rectanglesplit@left{left} -\def\pgf@lib@shapes@rectanglesplit@right{right} - -\def\pgf@lib@shapes@rectanglesplit@assigntoparts#1#2{% - \expandafter\pgf@lib@shapes@rectanglesplit@@assigntoparts#1,\@@,\@@,\@@,\@@,\pgf@lib#2\pgf@lib} -\def\pgf@lib@shapes@rectanglesplit@@assigntoparts#1,#2,#3,#4,#5\pgf@lib#6\pgf@lib{% - \pgfkeys{/pgf/.cd,% - rectangle split text part #6=#1, - rectangle split second part #6=#1, - rectangle split third part #6=#1, - rectangle split fourth part #6=#1 - }% - \ifx#2\@@\else% - \pgfkeys{/pgf/.cd,% - rectangle split second part #6=#2, - rectangle split third part #6=#2, - rectangle split fourth part #6=#2 - }% - \fi% - \ifx#3\@@\else% - \pgfkeys{/pgf/.cd,% - rectangle split third part #6=#3, - rectangle split fourth part #6=#3 - }% - \fi% - \ifx#4\@@\else% - \pgfkeys{/pgf/rectangle split fourth part #6=#4}% - \fi% -}% - -\newbox\pgfnodepartsecondbox -\newbox\pgfnodepartthirdbox -\newbox\pgfnodepartfourthbox - -\pgfdeclareshape{rectangle split}{% - \nodeparts{text,second,third,fourth} - \savedmacro\getrectanglesplitparameters{% - % - % If the height+depth of any box is 0pt use the default empty height. - % - \pgfmathsetlength\pgfutil@tempdima{\pgfkeysvalueof{/pgf/rectangle split empty part height}} - \pgf@y\ht\pgfnodeparttextbox% - \advance\pgf@y\dp\pgfnodeparttextbox% - \ifdim\pgf@y=0pt\relax% - \setbox\pgfnodeparttextbox=\hbox{% - \vrule width0pt height\the\pgfutil@tempdima depth0pt% - }% - \fi% - \pgf@y\ht\pgfnodepartsecondbox% - \advance\pgf@y\dp\pgfnodepartsecondbox% - \ifdim\pgf@y=0pt\relax% - \setbox\pgfnodepartsecondbox=\hbox{% - \vrule width0pt height\the\pgfutil@tempdima depth0pt% - }% - \fi% - \pgf@y\ht\pgfnodepartthirdbox% - \advance\pgf@y\dp\pgfnodepartthirdbox% - \ifdim\pgf@y=0pt\relax% - \setbox\pgfnodepartthirdbox=\hbox{% - \vrule width0pt height\the\pgfutil@tempdima depth0pt% - }% - \fi% - \pgf@y\ht\pgfnodepartfourthbox% - \advance\pgf@y\dp\pgfnodepartfourthbox% - \ifdim\pgf@y=0pt\relax% - \setbox\pgfnodepartfourthbox=\hbox{% - \vrule width0pt height\the\pgfutil@tempdima depth0pt% - }% - \fi% - % - % Empty boxes (without voiding them) if they are not used. - % - \pgfmathtruncatemacro\parts{\pgfkeysvalueof{/pgf/rectangle split parts}}% - \addtosavedmacro{\parts}% - \ifnum\parts<2\relax% - \setbox\pgfnodepartsecondbox=\hbox{}% - \fi% - \ifnum\parts<3\relax% - \setbox\pgfnodepartthirdbox=\hbox{}% - \fi% - \ifnum\parts<4\relax% - \setbox\pgfnodepartfourthbox=\hbox{}% - \fi% - % - % Save the line width. - % - \pgfmathsetlength\pgf@x{\pgflinewidth} - \edef\linewidth{\the\pgf@x}% - \addtosavedmacro{\linewidth}% - % - \pgfmathsetlength\pgf@y{\pgfkeysvalueof{/pgf/inner ysep}}% - \edef\innerysep{\the\pgf@y}% - % - \pgfmathsetlength\pgf@x{\pgfkeysvalueof{/pgf/inner xsep}}% - \edef\innerxsep{\the\pgf@x}% - % - % Get the widths. - % - \pgf@x.5\wd\pgfnodeparttextbox% - \pgf@xa.5\wd\pgfnodepartsecondbox% - \pgf@xb.5\wd\pgfnodepartthirdbox% - \pgf@xc.5\wd\pgfnodepartfourthbox% - % - % Find the maximum width% - % - \pgfutil@tempdima\pgf@x% - \ifdim\pgfutil@tempdima<\pgf@xa% - \pgfutil@tempdima\pgf@xa% - \fi% - \ifdim\pgfutil@tempdima<\pgf@xb% - \pgfutil@tempdima\pgf@xb% - \fi% - \ifdim\pgfutil@tempdima<\pgf@xc% - \pgfutil@tempdima\pgf@xc% - \fi% - % - % Adjust for alignment. - % - \edef\pgf@lib@temp{\pgfkeysvalueof{/pgf/rectangle split text part align}}% - \ifx\pgf@lib@temp\pgf@lib@shapes@rectanglesplit@left% - \pgf@x-\pgfutil@tempdima% - \else% - \ifx\pgf@lib@temp\pgf@lib@shapes@rectanglesplit@right% - \pgf@x-2.0\pgf@x% - \advance\pgf@x\pgfutil@tempdima% - \else% - \pgf@x-\pgf@x% - \fi% - \fi% - % - \edef\pgf@lib@temp{\pgfkeysvalueof{/pgf/rectangle split second part align}}% - \ifx\pgf@lib@temp\pgf@lib@shapes@rectanglesplit@left% - \pgf@xa-\pgfutil@tempdima% - \else% - \ifx\pgf@lib@temp\pgf@lib@shapes@rectanglesplit@right% - \pgf@xa-2.0\pgf@xa% - \advance\pgf@xa\pgfutil@tempdima% - \else% - \pgf@xa-\pgf@xa% - \fi% - \fi% - % - \edef\pgf@lib@temp{\pgfkeysvalueof{/pgf/rectangle split third part align}}% - \ifx\pgf@lib@temp\pgf@lib@shapes@rectanglesplit@left% - \pgf@xb-\pgfutil@tempdima% - \else% - \ifx\pgf@lib@temp\pgf@lib@shapes@rectanglesplit@right% - \pgf@xb-2.0\pgf@xb% - \advance\pgf@xb\pgfutil@tempdima% - \else% - \pgf@xb-\pgf@xb% - \fi% - \fi% - % - \edef\pgf@lib@temp{\pgfkeysvalueof{/pgf/rectangle split fourth part align}}% - \ifx\pgf@lib@temp\pgf@lib@shapes@rectanglesplit@left% - \pgf@xc-\pgfutil@tempdima% - \else% - \ifx\pgf@lib@temp\pgf@lib@shapes@rectanglesplit@right% - \pgf@xc-2.0\pgf@xc% - \advance\pgf@xc\pgfutil@tempdima% - \else% - \pgf@xc-\pgf@xc% - \fi% - \fi% - % - % Make relative to x. - % - \advance\pgf@xa-\pgf@x% - \advance\pgf@xb-\pgf@x% - \advance\pgf@xc-\pgf@x% - \pgf@x0pt% - % - % Find the minimum. - % - \pgfutil@tempdimb\pgf@x% - \ifdim\pgfutil@tempdimb>\pgf@xa% - \pgfutil@tempdimb\pgf@xa% - \fi% - \ifdim\pgfutil@tempdimb>\pgf@xb% - \pgfutil@tempdimb\pgf@xb% - \fi% - \ifdim\pgfutil@tempdimb>\pgf@xc% - \pgfutil@tempdimb\pgf@xc% - \fi% - % - % Anchor for the text box is (0pt, 0pt) - % - \pgfsavepgf@process\textanchor{\pgfqpoint{0pt}{0pt}}% - % - % Anchor for second box. - % - \pgfsavepgf@process\lowestanchor{\pgfqpoint{0pt}{0pt}}% - \let\lowestbox\pgfnodeparttextbox% - \ifnum\parts>1\relax% - \pgfsavepgf@process\secondanchor{% - \pgf@x\pgf@xa% - \pgf@y-\dp\pgfnodeparttextbox% - \advance\pgf@y-\innerysep\relax% - \advance\pgf@y-\pgflinewidth% - \advance\pgf@y-\innerysep\relax% - \advance\pgf@y-\ht\pgfnodepartsecondbox% - }% - \let\lowestanchor\secondanchor% - \let\lowestbox\pgfnodepartsecondbox% - \else% - \let\secondanchor\textanchor% - \fi% - % - % Anchor for third box. - % - \ifnum\parts>2\relax% - \pgfsavepgf@process\thirdanchor{% - \lowestanchor% - \pgf@x\pgf@xb% - \advance\pgf@y-\dp\pgfnodepartsecondbox% - \advance\pgf@y-\innerysep\relax% - \advance\pgf@y-\pgflinewidth% - \advance\pgf@y-\innerysep\relax% - \advance\pgf@y-\ht\pgfnodepartthirdbox% - }% - \let\lowestanchor\thirdanchor% - \let\lowestbox\pgfnodepartthirdbox% - \else% - \let\thirdanchor\secondanchor% - \fi% - % - % Anchor for fourth box. - % - \ifnum\parts>3\relax% - \pgfsavepgf@process\fourthanchor{% - \lowestanchor% - \pgf@x\pgf@xc% - \advance\pgf@y-\dp\lowestbox% - \advance\pgf@y-\innerysep\relax% - \advance\pgf@y-\pgflinewidth% - \advance\pgf@y-\innerysep\relax% - \advance\pgf@y-\ht\pgfnodepartfourthbox% - }% - \let\lowestanchor\fourthanchor% - \let\lowestbox\pgfnodepartfourthbox% - \else% - \let\fourthanchor\thirdanchor% - \fi% - % - \addtosavedmacro{\textanchor}% - \addtosavedmacro{\secondanchor}% - \addtosavedmacro{\thirdanchor}% - \addtosavedmacro{\fourthanchor}% - % - % Adjust the boxwidth for minimum width - % - \pgfmathaddtolength\pgfutil@tempdima{\pgfkeysvalueof{/pgf/inner xsep}}% - \pgfmathsetlength\pgf@x{\pgfkeysvalueof{/pgf/minimum width}}% - \ifdim\pgfutil@tempdima<.5\pgf@x% - \pgfutil@tempdima.5\pgf@x% - \fi% - \pgfmathaddtolength\pgfutil@tempdima{-\pgfkeysvalueof{/pgf/inner xsep}}% - % - % Get some important points. - % - \pgfsavepgf@process\southwest{% - \lowestanchor% - \pgf@x\pgfutil@tempdimb% - \pgfmathaddtolength\pgf@x{-\pgfkeysvalueof{/pgf/inner xsep}}% - \pgfmathaddtolength\pgf@x{-\pgfkeysvalueof{/pgf/outer xsep}}% - \pgf@ya\linewidth\relax% - \advance\pgf@x-.5\pgf@ya% - \advance\pgf@y-\dp\lowestbox% - \advance\pgf@y-.5\pgf@ya% - \pgfmathaddtolength\pgf@y{-\pgfkeysvalueof{/pgf/inner ysep}}% - \pgfmathaddtolength\pgf@y{-\pgfkeysvalueof{/pgf/outer ysep}}% - }% - \pgfsavepgf@process\northeast{% - \pgf@x\pgfutil@tempdimb% - \advance\pgf@x2.0\pgfutil@tempdima% - \pgfmathaddtolength\pgf@x{\pgfkeysvalueof{/pgf/inner xsep}}% - \pgfmathaddtolength\pgf@x{\pgfkeysvalueof{/pgf/outer xsep}}% - \pgf@ya\linewidth\relax% - \advance\pgf@x.5\pgf@ya% - \pgf@y\ht\pgfnodeparttextbox% - \advance\pgf@y.5\pgf@ya% - \pgfmathaddtolength\pgf@y{\pgfkeysvalueof{/pgf/inner ysep}}% - \pgfmathaddtolength\pgf@y{\pgfkeysvalueof{/pgf/outer ysep}}% - }% - \addtosavedmacro{\northeast}% - \addtosavedmacro{\southwest}% - \pgfsavepgf@process\centerpoint{% - \pgfpointadd{\southwest}{% - \pgfpointdiff{\southwest}{\northeast}% - \pgf@x.5\pgf@x% - \pgf@y.5\pgf@y% - }% - }% - \addtosavedmacro{\centerpoint}% - \pgfsavepgf@process\south{% - \centerpoint% - \pgf@xa\pgf@x% - \southwest% - \pgf@x\pgf@xa% - }% - % - % Get the split points. - % - \let\lastsplit\south% - \ifnum\parts>1\relax% - \pgfsavepgf@process\textsplit{% - \pgf@x\pgfutil@tempdimb% - \advance\pgf@x\pgfutil@tempdima% - \pgf@y-\dp\pgfnodeparttextbox% - \advance\pgf@y-\innerysep% - \advance\pgf@y-.5\pgflinewidth% - }% - \else% - \let\textsplit\south% - \fi% - \addtosavedmacro{\textsplit}% - \pgfsavepgf@process\textspliteast{% - \textsplit% - \pgf@ya\pgf@y% - \northeast% - \pgf@y\pgf@ya% - }% - \addtosavedmacro{\textspliteast}% - \pgfsavepgf@process\textsplitwest{% - \textsplit% - \pgf@ya\pgf@y% - \southwest% - \pgf@y\pgf@ya% - }% - \addtosavedmacro{\textsplitwest}% - \ifnum\parts>2\relax% - \pgfsavepgf@process\secondsplit{% - \secondanchor% - \pgf@x\pgfutil@tempdimb% - \advance\pgf@x\pgfutil@tempdima% - \advance\pgf@y-\dp\pgfnodepartsecondbox% - \advance\pgf@y-\innerysep% - \advance\pgf@y-.5\pgflinewidth% - }% - \else% - \let\secondsplit\south% - \fi% - \addtosavedmacro{\secondsplit}% - \pgfsavepgf@process\secondspliteast{% - \secondsplit% - \pgf@ya\pgf@y% - \northeast% - \pgf@y\pgf@ya% - }% - \addtosavedmacro{\secondspliteast}% - \pgfsavepgf@process\secondsplitwest{% - \secondsplit% - \pgf@ya\pgf@y% - \southwest% - \pgf@y\pgf@ya% - }% - \addtosavedmacro{\secondsplitwest}% - \ifnum\parts>3\relax% - \pgfsavepgf@process\thirdsplit{% - \thirdanchor% - \pgf@x\pgfutil@tempdimb% - \advance\pgf@x\pgfutil@tempdima% - \advance\pgf@y-\dp\pgfnodepartthirdbox% - \advance\pgf@y-\innerysep% - \advance\pgf@y-.5\pgflinewidth% - }% - \let\lastsplit\thirdsplit% - \else% - \let\thirdsplit\south% - \fi% - \addtosavedmacro{\thirdsplit}% - \pgfsavepgf@process\thirdspliteast{% - \thirdsplit% - \pgf@ya\pgf@y% - \northeast% - \pgf@y\pgf@ya% - }% - \addtosavedmacro{\thirdspliteast}% - \pgfsavepgf@process\thirdsplitwest{% - \thirdsplit% - \pgf@ya\pgf@y% - \southwest% - \pgf@y\pgf@ya% - }% - \addtosavedmacro{\thirdsplitwest}% - }% - \savedanchor\basepoint{% - \pgfmathsetlength\pgf@x{+.5\wd\pgfnodeparttextbox}% - \pgfmathsetlength\pgf@y{+.5\ht\pgfnodeparttextbox}% - \pgf@y0pt\relax% - }% - \savedanchor\midpoint{% - \pgfmathsetlength\pgf@x{+.5\wd\pgfnodeparttextbox}% - \pgfmathsetlength\pgf@y{+.5ex}% - }% - \anchor{center}{\getrectanglesplitparameters\centerpoint}% - \anchor{base}{\basepoint}% - \anchor{mid}{\midpoint}% - \anchor{second}{\getrectanglesplitparameters\secondanchor}% - \anchor{third}{\getrectanglesplitparameters\thirdanchor}% - \anchor{fourth}{\getrectanglesplitparameters\fourthanchor}% - \anchor{north east}{\getrectanglesplitparameters\northeast} - \anchor{south west}{\getrectanglesplitparameters\southwest} - \anchor{south east}{% - \getrectanglesplitparameters% - \northeast% - \pgf@xa\pgf@x% - \southwest% - \pgf@x\pgf@xa} - \anchor{north west}{% - \getrectanglesplitparameters% - \northeast% - \pgf@ya\pgf@y% - \southwest% - \pgf@y\pgf@ya} - \anchor{south}{% - \getrectanglesplitparameters% - \centerpoint% - \pgf@xa\pgf@x% - \southwest% - \pgf@x\pgf@xa} - \anchor{north}{% - \getrectanglesplitparameters% - \centerpoint% - \pgf@xa\pgf@x% - \northeast% - \pgf@x\pgf@xa} - \anchor{west}{% - \getrectanglesplitparameters% - \centerpoint% - \pgf@ya\pgf@y% - \southwest% - \pgf@y\pgf@ya} - \anchor{east}{% - \getrectanglesplitparameters% - \centerpoint% - \pgf@ya\pgf@y% - \northeast% - \pgf@y\pgf@ya} - \anchor{text split}{\getrectanglesplitparameters\textsplit} - \anchor{text split east}{\getrectanglesplitparameters\textspliteast} - \anchor{text split west}{\getrectanglesplitparameters\textsplitwest} - \anchor{second split}{\getrectanglesplitparameters\secondsplit} - \anchor{second split east}{\getrectanglesplitparameters\secondspliteast} - \anchor{second split west}{\getrectanglesplitparameters\secondsplitwest} - \anchor{third split}{\getrectanglesplitparameters\thirdsplit} - \anchor{third split east}{\getrectanglesplitparameters\thirdspliteast} - \anchor{third split west}{\getrectanglesplitparameters\thirdsplitwest} - \anchor{text east}{% - \getrectanglesplitparameters% - \ifnum\parts>1\relax% - \textsplit% - \pgf@ya\pgf@y - \northeast% - \advance\pgf@y\pgf@ya% - \pgf@y.5\pgf@y% - \pgf@ya\linewidth\relax% - \advance\pgf@y-.25\pgf@ya% - \else% - \centerpoint% - \pgf@ya\pgf@y% - \northeast% - \pgf@y\pgf@ya% - \fi% - } - \anchor{text west}{% - \getrectanglesplitparameters% - \ifnum\parts>1\relax% - \textsplit% - \pgf@ya\pgf@y - \southwest% - \pgf@xa\pgf@x% - \northeast% - \pgf@x\pgf@xa% - \advance\pgf@y\pgf@ya% - \pgf@y.5\pgf@y% - \pgf@ya\linewidth\relax% - \advance\pgf@y-.25\pgf@ya% - \else% - \centerpoint% - \pgf@ya\pgf@y% - \southwest% - \pgf@y\pgf@ya% - \fi% - } - \anchor{second east}{% - \getrectanglesplitparameters% - \ifnum\parts>1\relax% - \northeast% - \pgf@xa\pgf@x% - \secondsplit% - \pgf@ya\pgf@y - \textsplit% - \advance\pgf@y\pgf@ya% - \pgf@y.5\pgf@y% - \pgf@x\pgf@xa% - \else% - \southwest% - \pgf@ya\pgf@y% - \northeast% - \pgf@y\pgf@ya% - \fi% - } - \anchor{second west}{% - \getrectanglesplitparameters% - \ifnum\parts>1\relax% - \southwest% - \pgf@xa\pgf@x% - \secondsplit% - \pgf@ya\pgf@y - \textsplit% - \advance\pgf@y\pgf@ya% - \pgf@y.5\pgf@y% - \pgf@x\pgf@xa% - \else% - \southwest% - \fi% - } - \anchor{third east}{% - \getrectanglesplitparameters% - \ifnum\parts>2\relax% - \northeast% - \pgf@xa\pgf@x% - \thirdsplit% - \pgf@ya\pgf@y - \secondsplit% - \advance\pgf@y\pgf@ya% - \pgf@y.5\pgf@y% - \pgf@x\pgf@xa% - \else% - \southwest% - \pgf@ya\pgf@y% - \northeast% - \pgf@y\pgf@ya% - \fi% - } - \anchor{third west}{% - \getrectanglesplitparameters% - \ifnum\parts>2\relax% - \southwest% - \pgf@xa\pgf@x% - \thirdsplit% - \pgf@ya\pgf@y - \secondsplit% - \advance\pgf@y\pgf@ya% - \pgf@y.5\pgf@y% - \pgf@x\pgf@xa% - \else% - \southwest - \fi% - } - \anchor{fourth east}{% - \getrectanglesplitparameters% - \ifnum\parts>3\relax% - \northeast% - \pgf@xa\pgf@x% - \southwest% - \pgf@ya\linewidth\relax% - \pgf@ya.5\pgf@ya% - \advance\pgf@ya\pgf@y% - \thirdsplit% - \advance\pgf@y\pgf@ya% - \pgf@y.5\pgf@y% - \pgf@x\pgf@xa% - \else% - \northeast% - \pgf@xa\pgf@x% - \southwest% - \pgf@x\pgf@xa% - \fi% - } - \anchor{fourth west}{% - \getrectanglesplitparameters% - \ifnum\parts>3\relax% - \southwest% - \pgf@xa\pgf@x% - \pgf@ya\linewidth\relax% - \pgf@ya.5\pgf@ya% - \advance\pgf@ya\pgf@y% - \thirdsplit% - \advance\pgf@y\pgf@ya% - \pgf@y.5\pgf@y% - \pgf@x\pgf@xa% - \else% - \southwest% - \fi% - } - \backgroundpath{% - \getrectanglesplitparameters% - % - % Remove outer sep. - % - \pgfsavepgf@process\southwest{% - \southwest% - \pgfmathaddtolength\pgf@x{\pgfkeysvalueof{/pgf/outer xsep}}% - \pgfmathaddtolength\pgf@y{\pgfkeysvalueof{/pgf/outer ysep}}% - }% - \pgfsavepgf@process\northeast{% - \northeast% - \pgfmathaddtolength\pgf@x{-\pgfkeysvalueof{/pgf/outer xsep}}% - \pgfmathaddtolength\pgf@y{-\pgfkeysvalueof{/pgf/outer ysep}}% - }% - \pgfsavepgf@process\textsplit{% - \textsplit% - \pgfmathaddtolength\pgf@x{\pgfkeysvalueof{/pgf/outer xsep}}% - }% - \pgfsavepgf@process\secondsplit{% - \secondsplit% - \pgfmathaddtolength\pgf@x{-\pgfkeysvalueof{/pgf/outer xsep}}% - }% - \pgfsavepgf@process\thirdsplit{% - \thirdsplit% - \pgfmathaddtolength\pgf@x{\pgfkeysvalueof{/pgf/outer xsep}}% - }% - \pgfpathrectangle{\southwest}{\pgfpointdiff{\southwest}{\northeast}}% - {% - \pgfsetcornersarced{\pgfqpoint{0pt}{0pt}}% - \ifnum\parts>1\relax% - \pgfpathmoveto{\textsplit\pgf@ya\pgf@y\southwest\pgf@y\pgf@ya}% - \pgfpathlineto{\textsplit\pgf@ya\pgf@y\northeast\pgf@y\pgf@ya}% - \fi% - \ifnum\parts>2\relax% - \pgfpathmoveto{\secondsplit\pgf@ya\pgf@y\southwest\pgf@y\pgf@ya}% - \pgfpathlineto{\secondsplit\pgf@ya\pgf@y\northeast\pgf@y\pgf@ya}% - \fi% - \ifnum\parts>3\relax% - \pgfpathmoveto{\thirdsplit\pgf@ya\pgf@y\southwest\pgf@y\pgf@ya}% - \pgfpathlineto{\thirdsplit\pgf@ya\pgf@y\northeast\pgf@y\pgf@ya}% - \fi% - }% - } - \behindbackgroundpath{% - \ifpgfrectanglesplitusecustomfill% - % - % Remove outer sep. - % - \getrectanglesplitparameters% - \pgfsavepgf@process\southwest{% - \southwest% - \pgfmathaddtolength\pgf@x{\pgfkeysvalueof{/pgf/outer xsep}}% - \pgfmathaddtolength\pgf@y{\pgfkeysvalueof{/pgf/outer ysep}}% - }% - \pgfsavepgf@process\northeast{% - \northeast% - \pgfmathaddtolength\pgf@x{-\pgfkeysvalueof{/pgf/outer xsep}}% - \pgfmathaddtolength\pgf@y{-\pgfkeysvalueof{/pgf/outer ysep}}% - }% - \pgfsavepgf@process\textspliteast{% - \textspliteast% - \pgfmathaddtolength\pgf@x{-\pgfkeysvalueof{/pgf/outer xsep}}% - }% - \pgfsavepgf@process\textsplitwest{% - \textsplitwest% - \pgfmathaddtolength\pgf@x{\pgfkeysvalueof{/pgf/outer xsep}}% - }% - \pgfsavepgf@process\secondspliteast{% - \secondspliteast% - \pgfmathaddtolength\pgf@x{-\pgfkeysvalueof{/pgf/outer xsep}}% - }% - \pgfsavepgf@process\secondsplitwest{% - \secondsplitwest% - \pgfmathaddtolength\pgf@x{\pgfkeysvalueof{/pgf/outer xsep}}% - }% - \pgfsavepgf@process\thirdspliteast{% - \thirdspliteast% - \pgfmathaddtolength\pgf@x{-\pgfkeysvalueof{/pgf/outer xsep}}% - }% - \pgfsavepgf@process\thirdsplitwest{% - \thirdsplitwest% - \pgfmathaddtolength\pgf@x{\pgfkeysvalueof{/pgf/outer xsep}}% - }% - % - % Always fill the text box. - % - \pgfpathmoveto{\textsplitwest}% - \pgfpathlineto{\northeast\pgf@ya\pgf@y\southwest\pgf@y\pgf@ya}% - \pgfpathlineto{\northeast}% - \ifnum\parts>1\relax% - \bgroup% - \pgfsetcornersarced{\pgfqpoint{0pt}{0pt}}% - \fi% - \pgfpathlineto{\textspliteast}% - \pgfpathclose% - \ifnum\parts>1\relax% - \egroup% - \fi% - \pgfsetfillcolor{\pgfkeysvalueof{/pgf/rectangle split text part fill}}% - \pgfusepath{fill}% - % - % Second box. - % - \ifnum\parts>1\relax% - \bgroup% - \pgfsetcornersarced{\pgfqpoint{0pt}{0pt}}% - \pgfpathmoveto{\textsplitwest}% - \pgfpathlineto{\textspliteast}% - \ifnum\parts=2\relax% - \egroup% - \fi% - \pgfpathlineto{\secondspliteast}% - \pgfpathlineto{\secondsplitwest}% - \ifnum\parts=2\relax% - \bgroup% - \pgfsetcornersarced{\pgfqpoint{0pt}{0pt}}% - \fi% - \pgfpathclose% - \pgfsetfillcolor{\pgfkeysvalueof{/pgf/rectangle split second part fill}}% - \pgfusepath{fill}% - \egroup% - \fi% - % - % Third box. - % - \ifnum\parts>2\relax% - \bgroup% - \pgfsetcornersarced{\pgfqpoint{0pt}{0pt}}% - \pgfpathmoveto{\secondsplitwest}% - \pgfpathlineto{\secondspliteast}% - \ifnum\parts=3\relax% - \egroup% - \fi% - \pgfpathlineto{\thirdspliteast}% - \pgfpathlineto{\thirdsplitwest}% - \ifnum\parts=3\relax% - \bgroup% - \pgfsetcornersarced{\pgfqpoint{0pt}{0pt}}% - \fi% - \pgfpathclose% - \pgfsetfillcolor{\pgfkeysvalueof{/pgf/rectangle split third part fill}}% - \pgfusepath{fill}% - \egroup% - \fi% - % - % And the fourth box. - % - \ifnum\parts>3\relax% - \pgfpathmoveto{\thirdsplitwest}% - \pgfpathlineto{\southwest}% - \pgfpathlineto{\southwest\pgf@ya\pgf@y\northeast\pgf@y\pgf@ya}% - \bgroup% - \pgfsetcornersarced{\pgfqpoint{0pt}{0pt}}% - \pgfpathlineto{\thirdspliteast}% - \pgfpathclose% - \egroup% - \pgfsetfillcolor{\pgfkeysvalueof{/pgf/rectangle split fourth part fill}}% - \pgfusepath{fill}% - \fi% - \fi% - } - \anchorborder{% - \pgfutil@tempdima\pgf@x% - \pgfutil@tempdimb\pgf@y% - \getrectanglesplitparameters% - \pgfpointdiff{\southwest}{\northeast}% - \pgf@x.5\pgf@x% - \pgf@y.5\pgf@y% - \edef\pgf@marshall{% - \noexpand\pgfpointborderrectangle{% - \noexpand\pgfqpoint{\the\pgfutil@tempdima}{\the\pgfutil@tempdimb}% - }% - {% - \noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}% - }% - }% - \pgf@marshall% - \pgf@xa\pgf@x% - \pgf@ya\pgf@y% - \centerpoint% - \advance\pgf@x\pgf@xa% - \advance\pgf@y\pgf@ya% - }% -} - - -% Shape: ellipse split. -% -\pgfdeclareshape{ellipse split}{% - \nodeparts{text,lower} - \savedanchor\radii{% - \pgfmathsetlength\pgf@x{\pgfkeysvalueof{/pgf/inner xsep}}% - \pgfmathsetlength\pgf@y{\pgfkeysvalueof{/pgf/inner ysep}}% - \pgf@y2.0\pgf@y% - \advance\pgf@y.5\pgflinewidth% - \pgf@xa.5\wd\pgfnodeparttextbox% - \pgf@xb.5\wd\pgfnodepartlowerbox% - \advance\pgf@xa\pgf@x% - \advance\pgf@xb\pgf@x% - \pgf@ya\ht\pgfnodeparttextbox% - \advance\pgf@ya\dp\pgfnodeparttextbox% - \pgf@yb\ht\pgfnodepartlowerbox% - \advance\pgf@yb\dp\pgfnodepartlowerbox% - \advance\pgf@ya\pgf@y% - \advance\pgf@yb\pgf@y% - \ifdim\pgf@xa>\pgf@xb% - \pgf@x1.414213\pgf@xa% - \else% - \pgf@x1.414213\pgf@xb% - \fi% - \ifdim\pgf@ya>\pgf@yb% - \pgf@y1.414213\pgf@ya% - \else% - \pgf@y1.414213\pgf@yb% - \fi% - \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/minimum width}}% - \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/minimum height}}% - \ifdim\pgf@x<.5\pgf@xa% - \pgf@x.5\pgf@xa% - \fi% - \ifdim\pgf@y<.5\pgf@ya% - \pgf@y.5\pgf@ya% - \fi% - \pgfmathaddtolength\pgf@x{\pgfkeysvalueof{/pgf/outer xsep}}% - \pgfmathaddtolength\pgf@y{\pgfkeysvalueof{/pgf/outer ysep}}% - } - \savedanchor\lower{% - \pgf@x-.5\wd\pgfnodepartlowerbox% - \advance\pgf@x.5\wd\pgfnodeparttextbox% - \pgfmathsetlength\pgf@y{\pgfkeysvalueof{/pgf/inner ysep}}% - \pgf@y-2.0\pgf@y% - \advance\pgf@y-\pgflinewidth% - \advance\pgf@y-\dp\pgfnodeparttextbox% - \advance\pgf@y-\ht\pgfnodepartlowerbox% - } - \savedanchor\centerpoint{% - \pgf@x.5\wd\pgfnodeparttextbox% - \pgfmathsetlength\pgf@y{-\pgfkeysvalueof{/pgf/inner ysep}}% - \advance\pgf@y-\dp\pgfnodeparttextbox% - \advance\pgf@y-.5\pgflinewidth% - }% - \savedanchor\basepoint{% - \pgf@x.5\wd\pgfnodeparttextbox% - \pgf@y0pt\relax% - }% - \savedanchor\midpoint{% - \pgf@x.5\wd\pgfnodeparttextbox% - \pgfmathsetlength\pgf@y{.5ex}% - }% - \anchor{center}{\centerpoint} - \anchor{lower}{\lower} - \anchor{mid}{\midpoint} - \anchor{mid east}{\radii\pgf@xa\pgf@x\midpoint\advance\pgf@x\pgf@xa} - \anchor{mid west}{\radii\pgf@xa\pgf@x\midpoint\advance\pgf@x-\pgf@xa} - \anchor{base}{\basepoint} - \anchor{base east}{\radii\pgf@xa\pgf@x\basepoint\advance\pgf@x\pgf@xa} - \anchor{base west}{\radii\pgf@xa\pgf@x\basepoint\advance\pgf@x-\pgf@xa} - \anchor{north}{\pgfpointadd{\centerpoint}{\radii\pgf@x0pt}}% - \anchor{south}{\pgfpointadd{\centerpoint}{\radii\pgf@x0pt\pgf@y-\pgf@y}}% - \anchor{east}{\pgfpointadd{\centerpoint}{\radii\pgf@y0pt}}% - \anchor{west}{\pgfpointadd{\centerpoint}{\radii\pgf@x-\pgf@x\pgf@y0pt}}% - \anchor{north west}{\pgfpointadd{\centerpoint}{\radii\pgf@x-0.707106\pgf@x\pgf@y0.707106\pgf@y}}% - \anchor{south west}{\pgfpointadd{\centerpoint}{\radii\pgf@x-0.707106\pgf@x\pgf@y-0.707106\pgf@y}}% - \anchor{north east}{\pgfpointadd{\centerpoint}{\radii\pgf@x0.707106\pgf@x\pgf@y0.707106\pgf@y}}% - \anchor{south east}{\pgfpointadd{\centerpoint}{\radii\pgf@x0.707106\pgf@x\pgf@y-0.707106\pgf@y}}% - \backgroundpath{% - \radii% - \pgfmathaddtolength\pgf@x{-\pgfkeysvalueof{/pgf/outer xsep}}% - \pgfmathaddtolength\pgf@y{-\pgfkeysvalueof{/pgf/outer ysep}}% - \pgfutil@tempdima\pgf@x% - \pgfutil@tempdimb\pgf@y% - \pgfpathellipse{\centerpoint}{\pgfqpoint{\the\pgfutil@tempdima}{0pt}}{\pgfqpoint{0pt}{\the\pgfutil@tempdimb}}% - \pgfpathmoveto{\centerpoint\advance\pgf@x-\pgfutil@tempdima}% - \pgfpathlineto{\centerpoint\advance\pgf@x\pgfutil@tempdima}% - } - \anchorborder{% - \pgfextract@process\externalpoint{}% - \radii% - \edef\pgf@marshal{% - \noexpand\pgfpointadd{\noexpand\pgfpointborderellipse{\noexpand\externalpoint}% - {\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}}{\noexpand\centerpoint}% - }% - \pgf@marshal% - }% -} - -\endinput |