summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic/xypic/xy16textures.doc
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/generic/xypic/xy16textures.doc')
-rw-r--r--Master/texmf-dist/source/generic/xypic/xy16textures.doc294
1 files changed, 294 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/generic/xypic/xy16textures.doc b/Master/texmf-dist/source/generic/xypic/xy16textures.doc
new file mode 100644
index 00000000000..c4a7545746f
--- /dev/null
+++ b/Master/texmf-dist/source/generic/xypic/xy16textures.doc
@@ -0,0 +1,294 @@
+%% $Id: xy16textures.doc,v 3.3 1996/12/18 14:21:23 ross Exp $
+%%
+%% Xy-pic ``Textures v1.6'' driver interface option.
+%% Copyright (c) 1995-1996 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-1996 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.
+%%
+\ifx\xyloaded\undefined \input xy \fi
+
+\xyprovide{16textures}{Textures v1.6 driver}{\stripRCS$Revision: 3.3 $}%
+ {Ross Moore}{ross@mpce.mq.edu.au}%
+ {Mathematics Department, Macquarie University, NSW~2109, Australia}
+
+\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+This driver provides support for versions 1.5b and 1.6 of Blue Sky Research's
+\Textures\ application for Macintosh\footnote{Macintosh is a trademark of
+Apple Computer Inc.}. It incorporates support for \PS\ colour and the
+\Xy-ps \PS\ back-end. This will {\em not} work with versions 1.7 and later;
+these require the <driver> option |\xyoption{textures}|.
+
+\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\paragraph*{Header:}\leavevmode
+\DOCHEADER
+
+\DOCMODE(
+\xydef@\oldTextures@@#1{\dvimessage@{Textures v1.6}{#1}}
+
+\newdriver{%
+ \xyaddsupport{color}\oldtexturesColor@@
+ \xyaddsupport{crayon}\oldtexturesCrayon@@
+ \xyaddsupport{ps}\oldtexturesPS@@
+ \xyaddsupport{rotate}\oldtexturesRotate@@
+ \xyaddsupport{line}\oldtexturesLine@@
+ \xyaddsupport{frame}\oldtexturesFrames@@
+ \xyaddsupport{tile}\oldtexturesTiles@@
+ \xyaddsupport{cmtip}\relax
+}
+\DOCMODE)
+
+\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+Supported |\special| effects are...
+%
+\begin{itemize}
+
+\item colour, using \PS\
+
+\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+Textures v1.6 cannot manage colours, except within imported graphics.
+It can put colours into the \PS\ output.
+
+\DOCMODE(
+\xydef@\oldTexturesColours@{\oldtexturesPStypes@
+ \let\xylocalColor@=\xyNoColor@@ \def\xycolor@{\xycolor@@}%
+ \expandafter\ifx\csname xyps-psloaded\endcsname\empty\DN@{%
+ \xyinputorelse@{xyps-c}{\xydrivernoload@{ps-c}}%
+ \installPScolor@ }\else\DN@{}\fi \next@
+ \ifx\xycolor@@\xyNoColor@ \let\xycolor@@=\xycolor@raw@@\fi
+ \ifx\xycrayolaloaded\empty \DN@{\xystandardcolors@\oldtexturesCrayon@@{}}%
+ \else\let\next@=\xystandardcolors@ \fi \next@
+ \let\xycolorwarning@=\relax
+ \let\oldtexturesColor@@=\relax
+ \let\UnloadColor@@=\NooldTexturesColor@
+ }
+
+\xydef@\oldtexturesColor@@{\oldTexturesColours@}
+
+\xydef@\NooldTexturesColor@{%
+ \let\xylocalColor@=\xyNoColor@@
+ \let\xycolor@=\xyNoColor@
+ \let\xycolorwarning@=\xycolorwarning@@
+ \let\oldtexturesColor@@=\oldTexturesColours@
+ \let\UnloadColor@@=\UnloadColor@
+ }
+\DOCMODE)
+
+\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\item crayon colours.
+
+\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+The 68 colours are those that |dvips| recognizes by name,
+thanks to Tomas Rokicki.
+
+\DOCMODE(
+\xydef@\oldtexturesCrayon@@{\oldtexturesColor@@\oldtexturesCrayon@}
+\xydef@\oldtexturesCrayon@{\installCrayolaColors@}%
+\DOCMODE)
+
+\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\item \PS\ back-end.
+\DOCMODE(
+\xydef@\oldtexturesPS@@{\oldtexturesPS@}
+
+\xydef@\oldtexturesPSunload@{\UnloadPS@
+ \ifx\xyrealshipout@\undefined\else
+ \ifx\shipout\xyrealshipout@
+ \else \let\shipout=\xyrealshipout@\fi\fi
+ \let\installxyps@@=\relax
+ \let\UnloadPS@@=\UnloadPS@
+ \let\oldtexturesPS@@=\oldtexturesPS@ }
+\DOCMODE)
+
+\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+We must return the binding of |\shipout| to its initial value.
+
+\medskip
+
+Early versions (1.5--1.6) of \Textures\ have two kinds of |\special|,
+for inserting \PS\ code into the dvi-file and two more for reading
+such code from a file:
+%
+\begin{itemize}
+\item |\special{rawpostscript #1}| puts code directly into the \PS\ file.
+\item |\special{postscript #1}| wraps the code within |sps|...|eps|,
+which involves graphics state changes within a |gsave/grestore| pair.
+\end{itemize}
+Each of these has a corresponding version for reading the \PS\ commands
+from a file.
+
+\DOCMODE(
+\xydef@\oldTexturesSpecial@#1{\firstPS@@\special{postscript #1}}
+\xydef@\oldTexturesMacro@#1{\special{postscript {#1}xy}}
+\xydef@\oldTexturesInclude@#1{\firstPS@@\special{rawpostscriptfile #1}}
+\xydef@\oldTexturesRaw@#1{\firstPS@@\special{rawpostscript #1}}
+
+\xydef@\oldtexturesPStypes@{%
+ \xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}%
+ \ifx\PSspecial@@\oldTexturesSpecial@\else
+ \let\PSspecial@@=\oldTexturesSpecial@
+ \let\PSmacro@@=\oldTexturesMacro@
+ \let\PSdict@@=\oldTexturesRaw@
+ \let\PSraw@@=\oldTexturesRaw@
+ \let\PSinclude@@=\oldTexturesInclude@
+ \let\PSspecialdict@@=\oldTexturesRaw@
+ \let\xyPSobeylines@@=\obeyoldTextureslines@
+ \oldTextures@@{PostScript}%
+ \fi
+% \xyinputorelse@{xyps-ps}{\xydrivernoload@{ps-ps}}%
+ \oldtexturesCurrpt@ \@PSshipout }
+
+{\catcode`\^^M=\active %
+ \gdef\next{\catcode`\^^M=\active \let^^M=\par \obeyspaces}}
+\xylet@\obeyoldTextureslines@=\next
+\DOCMODE)
+
+The |currentpoint| is defined for the ``raw'' specials.
+For Textures this is the same as |\xyPScurrpt@@@|, in |xyps-ps.doc|.
+
+\DOCMODE(
+\xydef@\oldtexturesCurrpt@{\let\xyPScurrpt@@=\oldtexturesCurrpt@@}%
+\xydef@\oldtexturesCurrpt@@{\PSspecial@@{xyi}\PSraw@@{userdict begin xyx end}}
+\DOCMODE)
+
+The \PS\ operator called |xyx| is defined in |xyps-ps| for storing the
+location placed on the stack by |xyi|.
+
+\medskip
+
+\Textures~v1.6 requires the \PS\ dictionary to be shipped-out with
+every page. To achieve this efficiently we rebind |\shipout|,
+as described in |xyps-ps.doc|. Next set the flag |\UsePSdict@@true|
+after having rebound |\includePSmessage@| to gobble the attempt to load
+the dictionary directly into the dvi-file.
+
+This installs the \PS\ backend.
+
+\DOCMODE(
+\xydef@\oldtexturesPS@{\oldtexturesPStypes@
+ \let\oldtexturesPS@@=\relax
+ \let\UnloadPS@@=\oldtexturesPSunload@
+ \let\installxyps@@=\@PSshipout \installxyps@ }
+\DOCMODE)
+
+\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\item rotated/scaled diagrams and text, using \PS.
+
+\DOCMODE(
+\xydef@\oldtexturesRotate@@{\oldtexturesRotate@}
+
+\xydef@\oldtexturesRotate@{\oldtexturesPStypes@
+ \expandafter\ifx\csname xyps-psloaded\endcsname\empty\DN@{%
+ \xyinputorelse@{xyps-r}{\xydrivernoload@{ps-r}}%
+ \xyRotScale@@ \installPSrotscale@ }%
+ \else\DN@{\xydriverfail@{rotations are}\UnloadRotate@\relax}\fi
+ \next@ }
+\DOCMODE)
+
+\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\item variable line-widths and poly-lines, using \PS.
+\DOCMODE(
+\xydef@\oldtexturesLine@@{\oldtexturesLine@}
+
+\xydef@\oldtexturesLine@{\oldtexturesPStypes@
+ \expandafter\ifx\csname xyps-psloaded\endcsname\empty\DN@{%
+ \xyinputorelse@{xyps-l}{\xydrivernoload@{ps-l}}%
+ \installPSline@ }%
+ \else\DN@{\xydriverfail@{line-styles are}\UnloadLine@\relax}\fi
+ \next@ }
+\DOCMODE)
+
+\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\item extra frames and fills, using \PS.
+\DOCMODE(
+\xydef@\oldtexturesFrames@@{\oldtexturesFrames@}
+
+\xydef@\oldtexturesFrames@{\oldtexturesPStypes@
+ \expandafter\ifx\csname xyps-psloaded\endcsname\empty\DN@{%
+ \xyinputorelse@{xyps-f}{\xydrivernoload@{ps-f}}%
+ \installPSframes@ }%
+ \else\DN@{\xydriverfail@{frames are}\UnloadPSFrames@\relax}\fi
+ \next@ }
+\DOCMODE)
+
+\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\item patterns and tiles, using \PS.
+\DOCMODE(
+\xydef@\oldtexturesTiles@@{\oldtexturesTiles@}
+
+\xydef@\oldtexturesTiles@{\oldtexturesPStypes@
+ \expandafter\ifx\csname xyps-psloaded\endcsname\empty\DN@{%
+ \xyinputorelse@{xyps-t}{\xydrivernoload@{ps-t}}%
+ \installPSpatterns@ \xystandardpatterns@}%
+ \else\DN@{\xydriverfail@{Patterns are}\UnloadPSpatterns@\relax}\fi
+ \next@ }
+\DOCMODE)
+
+\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\end{itemize}
+
+\DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\paragraph*{The end \& Log}\leavevmode
+
+\DOCMODE(
+\xyendinput
+
+% $Log: xy16textures.doc,v $
+% Revision 3.3 1996/12/18 14:21:23 ross
+% Ross's version
+%
+% Revision 3.3.1.1 1996/12/18 08:45:28 ross
+% *** empty log message ***
+%
+% Revision 3.2 1995/09/19 18:20:20 ross
+% Bug fix release.
+%
+% Revision 3.1 1995/09/05 20:36:33 ross
+% Release!
+%
+% 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.
+\DOCMODE)
+
+\DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\endinput
+
+% Tell Emacs that this is a LaTeX document and how it is formatted:
+% Local Variables:
+% mode:latex
+% fill-column:77
+% End: