%% xy16textures.tex from $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 <[email protected]>
%%
%% 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 <[email protected]>
%%
%% 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}{[email protected]}%
{Mathematics Department, Macquarie University, NSW~2109, Australia}
\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
}
\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@
}
\xydef@\oldtexturesCrayon@@{\oldtexturesColor@@\oldtexturesCrayon@}
\xydef@\oldtexturesCrayon@{\installCrayolaColors@}%
\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@ }
\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
\oldtexturesCurrpt@ \@PSshipout }
{\catcode`\^^M=\active
\gdef\next{\catcode`\^^M=\active \let^^M=\par \obeyspaces}}
\xylet@\obeyoldTextureslines@=\next
\xydef@\oldtexturesCurrpt@{\let\xyPScurrpt@@=\oldtexturesCurrpt@@}%
\xydef@\oldtexturesCurrpt@@{\PSspecial@@{xyi}\PSraw@@{userdict begin xyx end}}
\xydef@\oldtexturesPS@{\oldtexturesPStypes@
\let\oldtexturesPS@@=\relax
\let\UnloadPS@@=\oldtexturesPSunload@
\let\installxyps@@=\@PSshipout \installxyps@ }
\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@ }
\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@ }
\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@ }
\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@ }
\xyendinput
|