%%%%%%%%%%%%%%%%%%%%%%%%%%%% -*- Mode: Plain-Tex -*- %%%%%%%%%%%%%%%%%%%%%%%%%%
%% pst-ghsb.tex --- For the PSTricks HSB mode gradient fillstyle
%% Based on pst-grad.tex from Timothy van Zandt
%%
%% Take care that Hue value is cyclic, so 1=0 !
%%
%% Author : Denis GIROU (CNRS/IDRIS - France) <Denis.Girou@idris.fr>
%% Created the : Tue May 13 11:12:36 1997
%% Last mod. by : Denis GIROU (CNRS/IDRIS - France) <Denis.Girou@idris.fr>
%% Last mod. the : Thu Jan 29 17:20:13 1998
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\fileversion{1.0}
\def\filedate{1997/05/13}
%% 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.
% This defines a new fill style, "gradient", for use with PSTricks,
% which has gradiated color. The following parameters are used:
%
% gradbegin=color : Beginning color.
% gradend=color : Final color.
% gradlines=int : Number of lines to use. The higher the number,
% the slower the rendering.
% gradmidpoint=num : Gradient color goes from gradbegin to gradend,
% and then back to beginning. Midpoint (point
% where "gradend" color appears, is gradmidpoint
% from the top. (0 <= Gmidpoint <= 1).
% gradangle=angle : Rotate image by angle.
\message{ v\fileversion, \filedate}
\csname GradientHSBLoaded\endcsname
\let\GradientHSBLoaded\endinput
\ifx\PSTricksLoaded\endinput\else
\def\next{\input pstricks.tex }\expandafter\next
\fi
\edef\TheAtCode{\the\catcode`\@}
\catcode`\@=11
\pstheader{pst-ghsb.pro}
\newrgbcolor{gradbegin}{0 .1 .95}
\def\psset@gradbegin#1{\pst@getcolor{#1}\psgradbegin}
\psset@gradbegin{gradbegin}
\newrgbcolor{gradend}{0 1 1}
\def\psset@gradend#1{\pst@getcolor{#1}\psgradend}
\psset@gradend{gradend}
\def\psset@gradlines#1{%
\pst@getint{#1}\psgradlines
\ifnum\psgradlines<2
\@pstrickserr{gradlines must be at least 2}\@epha
\def\psgradlines{2 }%
\fi}
\psset@gradlines{300}
\def\psset@gradmidpoint#1{\pst@checknum{#1}\psgradmidpoint}
\psset@gradmidpoint{.9}
\def\psset@gradangle#1{\pst@getangle{#1}\psk@gradangle}
\psset@gradangle{0}
\newif\ifgradientHSB
\def\psset@gradientHSB#1{\@nameuse{gradientHSB#1}}
\psset@gradientHSB{false}
\def\psfs@gradient{%
\ifgradientHSB
\addto@pscode{gsave
gsave \pst@usecolor\psgradbegin currenthsbcolor grestore
gsave \pst@usecolor\psgradend currenthsbcolor grestore
\psgradlines
\psgradmidpoint
\psk@gradangle
tx@GradientHSBDict begin GradientFillHSB end grestore}
\else
\addto@pscode{gsave
gsave \pst@usecolor\psgradbegin currentrgbcolor grestore
gsave \pst@usecolor\psgradend currentrgbcolor grestore
\psgradlines
\psgradmidpoint
\psk@gradangle
tx@GradientDict begin GradientFill end grestore}
\fi}
\catcode`\@=\TheAtCode\relax
\endinput
%% END pst-ghsb.tex
|