summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pstricks/pst-fill.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/pstricks/pst-fill.tex')
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/pst-fill.tex471
1 files changed, 0 insertions, 471 deletions
diff --git a/Master/texmf-dist/tex/generic/pstricks/pst-fill.tex b/Master/texmf-dist/tex/generic/pstricks/pst-fill.tex
deleted file mode 100644
index bf980598931..00000000000
--- a/Master/texmf-dist/tex/generic/pstricks/pst-fill.tex
+++ /dev/null
@@ -1,471 +0,0 @@
-%% BEGIN pst-fill.tex
-%%
-%% Filling and tiling with PSTricks 97.
-%%
-%%
-%% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu.
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN
-%% archives in directory macros/latex/base/lppl.txt.
-%%
-%%
-%% Note (hv - August 17, 04 ):
-%% merge the VTeX and TeX versions (patch 4)
-%% Note (hv - June 22, 04 ):
-%% * delete the Pst@Debug option and use the
-%% the one from pstricks to prevent a clash with pst-gr3d
-%% * Patched by MV 09-10-2001 to make it work with VTeX.
-%% Note (D.G. - April 8, 97 and November / December 97):
-%% * With a \PstTiling macro defined (or "tiling" optional parameter
-%% on \usepackage[tiling]{pst-fill}), this file run exactly as
-%% the original boxfill.tex file from Timothy, version 0.94,
-%% except a correction in \pst@ManualFillCycle to avoid a division by 0.
-%% It's the default.
-%% * With a \PstTiling macro defined (or "tiling" optional parameter
-%% on \usepackage[tiling]{pst-fill}) there are several add-ons
-%% and changes to do `tiling' rather than `filling' in "automatic" mode :
-%% - we fix the position of the beginning of tiling,
-%% - we allow normally the framing of the area as expected, using
-%% the line.... parameters
-%% - we define move parameters fillmovex, fillmovey and fillmove,
-%% - we define fillcyclex as previous fillcycle parameter, and add the
-%% fillcycley and fillcycle (both fillcyclex and fillcycley) ones
-%% - we can extend the tiling area using fillloopaddx, fillloopaddy and
-%% fillloopadd parameters,
-%% - we can debug and see the whole tiling area without clipping using
-%% PstDebug parameter,
-%% - for names consistancy, we can use fillangle in place of boxfillangle
-%% and fillsize in place of boxfillsize,
-%% - default value for fillsep is 0 and for fillsize is auto.
-
-% Preliminaries:
-
-\csname PSTboxfillLoaded\endcsname
-\let\PSTboxfillLoaded\endinput
-
-\ifx\PSTricksLoaded\endinput\else
- \def\next{\input pstricks.tex}
- \expandafter\next
-\fi
-
-\def\fileversion{97 patch 4}
-\def\filedate{2004/08/18}
-\message{ v\fileversion, \filedate}
-
-\edef\TheAtCode{\the\catcode`\@}
-\catcode`\@=11
-
-% The box:
-
-\newbox\pst@fillbox
-\def\psboxfill{\pst@killglue\pst@makebox\psboxfill@i}
-\def\psboxfill@i{\setbox\pst@fillbox\box\pst@hbox\ignorespaces}
-
-% Parameters:
-
-\def\psset@boxfillsize#1{%
- \def\pst@tempg{#1}\def\pst@temph{auto}%
- \ifx\pst@tempg\pst@temph
- \let\psk@boxfillsize\relax
- \else
- \psset@@boxfillsize#1(\z@,\z@)\@empty(\z@,\z@)(\@nil
- \fi}
-\def\psset@@boxfillsize#1(#2,#3)#4(#5,#6)#7(#8\@nil{%
- \begingroup
- \ifx\@empty#7\relax
- \pst@dima\z@
- \pst@dimb\z@
- \pssetxlength\pst@dimc{#2}%
- \pssetylength\pst@dimd{#3}%
- \else
- \pssetxlength\pst@dima{#2}%
- \pssetylength\pst@dimb{#3}%
- \pssetxlength\pst@dimc{#5}%
- \pssetylength\pst@dimd{#6}%
- \fi
- \xdef\pst@tempg{%
- \pst@dima=\number\pst@dima sp
- \pst@dimb=\number\pst@dimb sp
- \pst@dimc=\number\pst@dimc sp
- \pst@dimd=\number\pst@dimd sp }%
- \endgroup
- \let\psk@boxfillsize\pst@tempg}
-
-\psset{boxfillsize={(-15cm,-15cm)(15cm,15cm)}}
-
-\def\psset@boxfillcolor#1{\pst@getcolor{#1}\psboxfillcolor}
-%\def\psboxfillcolor{\black}
-\psset@boxfillcolor{black}% hv
-
-\def\psset@boxfillangle#1{\pst@getangle{#1}\psk@boxfillangle}
-\psset@boxfillangle{0}
-
-\def\psset@fillsepx#1{\pst@getlength{#1}\psk@fillsepx}
-\def\psset@fillsepy#1{\pst@getlength{#1}\psk@fillsepy}
-\def\psset@fillsep#1{\psset@fillsepx{#1}\let\psk@fillsepy\psk@fillsepx}
-\psset@fillsep{2pt}
-
-% DG addition begin - Apr. 8, 1997 and Nov. 1997 - Patch 2
-\ifx\PstTiling\@undefined
- \def\psset@fillcycle#1{\pst@getint{#1}\psk@fillcycle}
- \psset@fillcycle{0}
-\else
-% For consistancy, use "fill" as prefix for angle and size
- \def\psset@fillangle#1{\psset@boxfillangle{#1}}
- \def\psset@fillsize#1{\psset{boxfillsize={#1}}}
-% Change some default values with better ones for tilings
- \psset@fillsep{0}
- \psset{fillsize=auto}
-% Define fillcyclex (previously fillcycle), fillcycley and fillcycle for both
- \def\psset@fillcyclex#1{\pst@getint{#1}\psk@fillcyclex}
- \def\psset@fillcycley#1{\pst@getint{#1}\psk@fillcycley}
- \def\psset@fillcycle#1{%
- \psset@fillcyclex{#1}\let\psk@fillcycley\psk@fillcyclex}
- \psset@fillcycle{0}
-% Define fillmove, fillmovex and fillmovey parameters
- \def\psset@fillmovex#1{\pst@getlength{#1}\psk@fillmovex}
- \def\psset@fillmovey#1{\pst@getlength{#1}\psk@fillmovey}
- \def\psset@fillmove#1{\psset@fillmovex{#1}\psset@fillmovey{#1}}
- \psset@fillmove{0pt}
-% Define fillloopaddx, fillloopaddy and fillloopadd parameters
-% if tiling is not complete
- \def\psset@fillloopaddx#1{\pst@getint{#1}\psk@fillloopaddx}
- \def\psset@fillloopaddy#1{\pst@getint{#1}\psk@fillloopaddy}
- \def\psset@fillloopadd#1{%
- \psset@fillloopaddx{#1}\let\psk@fillloopaddy\psk@fillloopaddx}
- \psset@fillloopadd{0}
-% For debugging (to debug, set PstDebug=1)
-% we now use the one from pstricks to prevent a clash with package
-% pst-gr3d 2004-06-22
-% \def\psset@PstDebug#1{\pst@getint{#1}\psk@PstDebug}
- \psset@PstDebug{0}
-\fi
-% DG addition end
-
-% Main macro:
-
-\def\psfs@boxfill{%
- \ifvoid\pst@fillbox
- \@pstrickserr{Fill box is empty. Use \string\psboxfill\space first.}\@ehpa
- \else
- \ifx\psk@boxfillsize\relax
- \pst@AutoBoxFill
- \else
- \pst@ManualBoxFill
- \fi
- \fi}
-
-% Manual box fill:
-
-\def\pst@ManualBoxFill{%
- \leavevmode
- \begingroup
- \pst@FlushCode
- \begin@psclip
- \pstVerb{clip}%
- \expandafter\pst@AddFillBox\psk@boxfillsize
- \end@psclip
- \endgroup}
-
-\def\pst@FlushCode{%
- \pst@Verb{%
- /mtrxc CM def
- CP CP T
- \tx@STV
- \psk@origin
- \psk@swapaxes
- \pst@newpath
- \pst@code
- mtrxc setmatrix
- moveto
- 0 setgray}%
- \gdef\pst@code{}}
-
-\def\pst@AddFillBox#1 #2 #3 #4 {%
- \begingroup
- \setbox\pst@fillbox=\vbox{%
- \hbox{\unhcopy\pst@fillbox\kern\psk@fillsepx\p@}%
- \vskip\psk@fillsepy\p@}%
- \psk@boxfillsize
- \pst@cnta=\pst@dimc
- \advance\pst@cnta-\pst@dima
- \divide\pst@cnta\wd\pst@fillbox
- \pst@cntb=\pst@dimd
- \advance\pst@cntb-\pst@dimb
- \pst@dimd=\ht\pst@fillbox
- \divide\pst@cntb\pst@dimd
- \def\pst@tempa{%
- \pst@tempg
- \copy\pst@fillbox
- \advance\pst@cntc\@ne
- \ifnum\pst@cntc<\pst@cntd\expandafter\pst@tempa\fi}%
- \let\pst@tempg\relax
- \pst@cntc-\tw@
- \pst@cntd\pst@cnta
- \setbox\pst@fillbox=\hbox to \z@{%
- \kern\pst@dima
- \kern-\wd\pst@fillbox
- \pst@tempa
- \hss}%
- \pst@cntd\pst@cntb
-% DG modification begin - Dec. 11, 1997 - Patch 2
- \ifx\PstTiling\@undefined
- \ifnum\psk@fillcycle=\z@\pst@ManualFillCycle\fi
- \else
- \ifnum\psk@fillcyclex=\z@\pst@ManualFillCycle\fi
- \fi
-% DG modification end
- \global\setbox\pst@boxg=\vbox to\z@{%
- \offinterlineskip
- \vss
- \pst@tempa
- \vskip\pst@dimb}%
- \endgroup
- \setbox\pst@fillbox\box\pst@boxg
- \pst@rotate\psk@boxfillangle\pst@fillbox
- \box\pst@fillbox}
-
-\def\pst@ManualFillCycle{%
-% DG modification begin - Dec. 11, 1997 - Patch 2
- \ifx\PstTiling\@undefined
- \pst@cntg=\psk@fillcycle
- \else
- \pst@cntg=\psk@fillcyclex
- \fi
-% DG modification end
- \pst@dimg=\wd\pst@fillbox
-% DG modification begin - Mar. 20, 1997 - Patch 1 (to avoid division by 0)
-% \divide\pst@dimg\pst@cntg
- \ifnum\pst@cntg=\z@
- \else
- \divide\pst@dimg\pst@cntg
- \fi
-% DG modification end
- \ifnum\pst@cntg<\z@\pst@cntg=-\pst@cntg\fi
- \advance\pst@cntg\m@ne
- \pst@cnth=\pst@cntg
- \def\pst@tempg{%
- \ifnum\pst@cnth<\pst@cntg\advance\pst@cnth\@ne\else\pst@cnth\z@\fi
- \moveright\pst@cnth\pst@dimg}}
-
-% Auto box fill: !! Fix dictionary
-
-% DG addition begin - Apr. 8, 1997 and Dec. 1997 - Patch 2
-\ifx\PstTiling\@undefined
-% DG addition end
-% Original version
-\pst@def{AutoFillCycle}<%
- /c ED
- /n 0 def
- /s {
- /x x w c div n mul add def
- /n n c abs 1 sub lt { n 1 add } { 0 } ifelse def
- } def>
-
-\pst@def{BoxFill}<%
- gsave
- gsave \tx@STV CM grestore dtransform CM idtransform
- abs /h ED abs /w ED
- pathbbox
- h div round 2 add cvi /y2 ED
- w div round 2 add cvi /x2 ED
- h div round 2 sub cvi /y1 ED
- w div round 2 sub cvi /x1 ED
- /y2 y2 y1 sub def
- /x2 x2 x1 sub def
- CP
- y1 h mul sub neg /y1 ED
- x1 w mul sub neg /x1 ED
- clip
- y2 {
- /x x1 def
- s
- x2 {
- save CP x y1
-% patch 4 hv --------------
- \ifx\VTeXversion\undefined
- \else
-%============ mv: 09-10-01 ??? this is likely to be a right change
- neg
-%============
- \fi
-% end patch 4
- T moveto Box restore
- /x x w add def
- } repeat
- /y1 y1 h add def
- } repeat
- % Next line not useful... To see that, suppress clipping (DG)
- CP x y1 T moveto Box
- currentpoint currentfont grestore setfont moveto>
-\else
-% DG modification begin - Apr. 8, 1997 and Nov. / Dec. 1997 - Patch 2
-\pst@def{AutoFillCycleX}<%
- /cX ED
- /nX 0 def
- /CycleX {
- /x x w cX div nX mul add def
- /nX nX cX abs 1 sub lt { nX 1 add } { 0 } ifelse def
- } def>
-\pst@def{AutoFillCycleY}<%
- /cY ED
- /mY 0 def
- /nY 0 def
- /CycleY {
- /y1 y1 h cY div mY mul sub def
- nY cY abs 1 sub lt { /nY nY 1 add def /mY 1 def }
- { /nY 0 def /mY cY abs 1 sub neg def } ifelse
- } def>
-
-\pst@def{BoxFill}<%
- gsave
- gsave \tx@STV CM grestore dtransform CM idtransform
- abs /h ED abs /w ED
- pathbbox
- h div round 2 add cvi /y2 ED
- w div round 2 add cvi /x2 ED
- h div round 2 sub cvi /y1 ED
- w div round 2 sub cvi /x1 ED
-% We must enlarge the area if fillangle, fillcycle, fillmove or fillsep are used
- /CoefLoopX 0 def
- /CoefLoopY 0 def
- /CoefMoveX 0 def
- /CoefMoveY 0 def
- \psk@boxfillangle 0 ne {/CoefLoopX 8 def /CoefLoopY 8 def} if
- \psk@fillcyclex 0 ne {/CoefLoopX CoefLoopX 1 add def} if
- \psk@fillcycley 0 ne {/CoefLoopY CoefLoopY 1 add def} if
- \psk@fillmovex 0 ne
- {/CoefLoopX CoefLoopX 2 add def
- \psk@fillmovex 0 gt {/CoefMoveX CoefLoopX def}
- {/CoefMoveX CoefLoopX neg def} ifelse} if
- \psk@fillmovey 0 ne
- {/CoefLoopY CoefLoopY 2 add def
- \psk@fillmovey 0 gt {/CoefMoveY CoefLoopY def}
- {/CoefMoveY CoefLoopY neg def} ifelse} if
- \psk@fillsepx 0 ne {/CoefLoopX CoefLoopX 1 add def} if
- \psk@fillsepy 0 ne {/CoefLoopY CoefLoopY 1 add def} if
- /CoefLoopX CoefLoopX \psk@fillloopaddx add def
- /CoefLoopY CoefLoopY \psk@fillloopaddy add def
-%
- /x2 x2 x1 sub 4 sub CoefLoopX 2 mul add def
- /y2 y2 y1 sub 4 sub CoefLoopY 2 mul add def
-% We must fix the origin of tiling, as it must not vary according other stuff
-% in the page!
- w x1 CoefLoopX add CoefMoveX add mul
- h y1 y2 add 1 sub CoefLoopY sub CoefMoveY sub mul moveto
-%
- CP
- y1 h mul sub neg /y1 ED
- x1 w mul sub neg /x1 ED
-% hv 2004-06-22 to prevent clash with pst-gr3d
-% \psk@PstDebug 0 eq {clip} if
- \Pst@Debug 0 eq {clip} if
-% end hv
- \psk@fillmovex \psk@fillmovey
- gsave \tx@STV CM grestore dtransform CM idtransform
- /hmove ED /wmove ED
-%
- /row 0 def
- y2 {
- /row row 1 add def
- /column 0 def
- /x x1 def
- CycleX
- save
- x2 {
- /column column 1 add def
- CycleY
- save CP x y1
-% patch 4 hv --------------
- \ifx\VTeXversion\undefined
- \else
-%============ mv: 09-10-01 ??? this is likely to be a right change
- neg
-%============
- \fi
-% end patch 4
- T moveto Box restore
- /x x w add def
- 0 hmove translate
- } repeat
- restore
- /y1 y1 h add def
- wmove 0 translate
- } repeat
- currentpoint currentfont grestore setfont moveto>
-\fi
-% DG modification end
-
-\def\pst@AutoBoxFill{%
- \leavevmode
- \begingroup
-% DG addition begin - Dec. 2, 1997 - Patch 2
- \pst@stroke
-% DG addition end
- \pst@FlushCode
- \pst@Verb{\psk@boxfillangle \tx@RotBegin}%
- \pstVerb{\pst@dict /Box \pslbrace end}%
-% DG addition begin - Apr. 8, 1997 and Nov. 5, 1997 - Patch 2
-% Useful when the starting point is not (0,0)
- \ifx\PstTiling\@undefined
- \else
- \ifx\pst@tempa\@undefined % Undefined for instance for \pscharpath
- \else
- \def\pst@temph{0}%
- \ifx\pst@tempa\pst@temph
- \else
- \pstVerb{/TR {pop pop currentpoint translate \pst@tempa\space translate } def}%
- \fi
- \fi
- \fi
-% DG addition end
- \hbox to \z@{\vbox to\z@{\vss\copy\pst@fillbox\vskip-\dp\pst@fillbox}\hss}%
-% DG addition begin - Dec. 8, 1997 - Patch 2
- \ifx\PstTiling\@undefined
-% DG addition end
- \pstVerb{%
- tx@Dict begin \psrbrace def
- \ifnum\psk@fillcycle=\z@
- /s {} def
- \else
- \psk@fillcycle \tx@AutoFillCycle
- \fi
- \pst@number{\wd\pst@fillbox}%
- \psk@fillsepx add
- \pst@number{\ht\pst@fillbox}%
- \pst@number{\dp\pst@fillbox}%
- \psk@fillsepy add add
- \tx@BoxFill
- end}%
-% DG modification begin - Dec. 8, 1997 - Patch 2
- \else
- \pstVerb{%
- tx@Dict begin \psrbrace def
- \ifnum\psk@fillcyclex=\z@
- /CycleX {} def
- \else
- \psk@fillcyclex \tx@AutoFillCycleX
- \fi
- \ifnum\psk@fillcycley=\z@
- /CycleY {} def
- \else
- \psk@fillcycley \tx@AutoFillCycleY
- \fi
- \pst@number{\wd\pst@fillbox}%
- \psk@fillsepx add
- \pst@number{\ht\pst@fillbox}%
- \pst@number{\dp\pst@fillbox}%
- \psk@fillsepy add add
- \tx@BoxFill
- end}%
- \fi
-% DG modification end
- \pst@Verb{\tx@RotEnd}%
- \endgroup}
-
-\catcode`\@=\TheAtCode\relax
-
-\endinput
-%%
-%% END pst-fill.tex