summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic/xypic/xypspatt.doc
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/generic/xypic/xypspatt.doc')
-rw-r--r--Master/texmf-dist/source/generic/xypic/xypspatt.doc182
1 files changed, 182 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/generic/xypic/xypspatt.doc b/Master/texmf-dist/source/generic/xypic/xypspatt.doc
new file mode 100644
index 00000000000..e26fce5181a
--- /dev/null
+++ b/Master/texmf-dist/source/generic/xypic/xypspatt.doc
@@ -0,0 +1,182 @@
+%% $Id: xypspatt.doc,v 3.7 1999/02/16 15:12:50 krisrose Exp $
+%%
+%% Xy-pic ``PostScript pattern prolog''.
+%% Copyright (c) 1995-1998 Ross Moore <ross@mpce.mq.edu.au>
+%%
+%% This file is part of the Xy-pic package for graphs and diagrams in TeX.
+%% See the companion README and INSTALL files for further information.
+%% Copyright (c) 1991-1998 Kristoffer H. Rose <krisrose@brics.dk>
+%%
+%% The Xy-pic package is free software; you can redistribute it and/or modify
+%% it under the terms of the GNU General Public License as published by the
+%% Free Software Foundation; either version 2 of the License, or (at your
+%% option) any later version.
+%%
+%% The Xy-pic package is distributed in the hope that it will be useful, but
+%% WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+%% or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+%% for more details.
+%%
+%% You should have received a copy of the GNU General Public License along
+%% with this package; if not, write to the Free Software Foundation, Inc.,
+%% 675 Mass Ave, Cambridge, MA 02139, USA.
+%%
+%% As a special exception, you may use this file and all files derived
+%% from it without restrictions. This special exception was added with
+%% version 3.7 of Xy-pic.
+%%
+%\let\xypspattloaded=\empty %
+
+\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+This file contains the addendum to the dictionary of \PS\ commands which
+need to be available to the \PS\ driver when patterns have been requested.
+
+\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\paragraph*{Header:}\leavevmode
+\DOCHEADER
+\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection*{\PS\ pattern support}
+
+Open a group, set the catcodes to normal and make line-ends active.
+
+\DOCMODE(
+\begingroup \xycatcodes \xyPSobeylines@@%
+%
+\PSdict@@{/XYdict where pop begin XYdict begin}%
+%
+%
+% use as: /name <data> :t to create a pattern object in XYdict
+%
+% eg <data>: /bk[1 1 1]def /fg[0 0 0]def
+% <B1B1B13030300303031B1B1BD8D8D8C0C0C00C0C0C8D8D8D> fg bk
+%
+% (be careful with setmatrix , for consistency across <driver>s
+%
+\PSdict@@{/:patt
+{XYddict begin
+14 dict begin
+/BGnd exch def % null OR color spec in rgb, as an array
+/FGnd exch def % color spec in rgb, as an array
+/PaintData exch def % pattern spec as a Hex string, 16 x 3-component
+/PatternType 1 def
+/PaintType 1 def
+/BBox[0 0 1 1]def
+/TilingType 1 def
+/XStep 1 def
+/YStep 1 def
+/PatternMtx[24 0 0 24 0 0]def
+/PaintProc BGnd null ne % defined according to BGnd and FGnd colours
+ {{begin BGnd aload pop setrgbcolor 0 0 1 1 rF
+ FGnd aload pop setrgbcolor
+ 24 24 true PatternMtx PaintData imagemask end}}
+ {{begin FGnd aload pop setrgbcolor
+ 24 24 true PatternMtx PaintData imagemask end}}
+ ifelse def
+ currentdict PatternMtx end
+ gsave patangle xyland{180 add}if % xyport not{180 add}if
+ rotate macfreq patfreq div dup neg exch scale matrix currentmatrix
+ grestore gsave setmatrix /DeviceRGB setcolorspace makepattern grestore
+ end}def}%
+%
+\PSdict@@{%
+/rF{gsave % stack: x y dx dy rF
+ newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto
+ fill grestore}bind def }%
+%
+\PSdict@@{%
+ /setpatscreen{/pattstring exch store patfreq
+ patangle xyport not{90 add}if
+ {1 add 4 mul cvi pattstring exch get exch 1 add 4 mul cvi 7 sub
+ bitshift 1 and}setscreen}bind def
+ /setcolpattern{setpatscreen 64 div 1 exch sub currentrgbcolor
+ 1 1 3{pop 1 exch sub 3 index mul 1 exch sub 3 1 roll}for
+ setrgbcolor pop}def
+ /setgraypattern{setpatscreen 64 div setgray}def
+ /macfreq 9.375 def /patangle 0 def /patfreq 12.5 def}%
+%
+\PSdict@@{/checkland{%
+ /normland where{pop normland not}{false}ifelse
+ /xyland exch def
+ /por where{pop por}{/isls where{pop isls not /xyland true def}
+ {/land where{pop land not}{true}
+ ifelse}ifelse}ifelse /xyport exch def}def }%
+%
+\PSdict@@{%
+ /setpatfreq{/patfreq exch def}def
+ /setpatangle{/patangle exch def}def
+ /setbackcolor{/backcolor exch def}def
+ /setforecolor{/forecolor exch def}def
+ [1 1 1] setbackcolor xycolarray setforecolor
+ /bg /setbackcolor load def /fg /setforecolor load def
+ /pa /setpatangle load def /pq /setpatfreq load def }%
+%
+\PSdict@@{%
+ /xypattern{checkland counttomark dup 0 eq{pop}
+ {dup 1 eq{pop setpatscreen}
+ {dup 2 eq{pop setcolpattern}
+ {dup 3 eq{pop
+ /setcolorspace where { %
+ /.setcolorspace where{pop pop pop setcolpattern} %hack for Ghostscript
+ {/.buildpattern where {pop % hack for older Ghostscript
+ forecolor backcolor :patt setpattern % hack for older Ghostscript
+ }{pop pop setcolpattern}ifelse}ifelse} % hack for Ghostscript
+% pop forecolor backcolor :patt setpattern} % hack for Ghostscript
+ {pop setcolpattern}ifelse}
+ {5 eq{/setcolorspace where{ %
+ /.setcolorspace where{pop pop pop pop pop setcolpattern} % Ghostscript
+ {/.buildpattern where {pop % hack for older Ghostscript
+ :patt setpattern % hack for older Ghostscript
+ }{pop pop pop pop setcolpattern}ifelse}ifelse} %hack for Ghostscript
+% pop :patt setpattern} % hack for Ghostscript
+ {pop pop pop setcolpattern}ifelse
+ }{}ifelse}ifelse}ifelse}ifelse}ifelse cleartomark }def
+ /xysetpattern{/xypatt exch def}def
+ /sp /xysetpattern load def }%
+%
+\PSdict@@{end end}%
+%
+\endgroup%
+\DOCMODE)
+
+Close the group and clean-up.
+
+\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\paragraph*{The end \& Log}\leavevmode
+
+\DOCMODE(
+\endinput
+
+% $Log: xypspatt.doc,v $
+% Revision 3.7 1999/02/16 15:12:50 krisrose
+% Interim release (Y&Y fonts now free).
+%
+% Revision 3.3 1996/12/18 09:38:37 ross
+% minor change to prevent multiple loading
+%
+% Revision 3.2 1995/09/19 18:21:41 ross
+% Bug fix release.
+%
+% Revision 3.1 1995/09/05 20:28:57 ross
+% Releasing version 3.1!
+%
+% Revision 3.0 1995/07/07 20:13:19 ross
+% Major release w/new User's Guide!
+%
+% Revision 2.13 1995/07/04 15:04:51 ross
+% Ready for release of v3.
+%
+%
+% new for version 3.1.
+\DOCMODE)
+
+\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Tell Emacs that this is a LaTeX document and how it is formatted:
+% Local Variables:
+% mode:latex
+% fill-column:77
+% fill-prefix:""
+% End: