diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:46:03 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:46:03 +0000 |
commit | 873660d1a83ece926fe7206288dda9c36b349c1b (patch) | |
tree | a48f77125c309a355b5d0eb58d6b24446abe9d62 /Master/texmf-dist/tex/generic/pst-ghsb | |
parent | 2939242967231097459df0fc3150fabc2f639111 (diff) |
generic 1
git-svn-id: svn://tug.org/texlive/trunk@613 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pst-ghsb')
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-ghsb/pst-ghsb.tex | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/pst-ghsb/pst-ghsb.tex b/Master/texmf-dist/tex/generic/pst-ghsb/pst-ghsb.tex new file mode 100644 index 00000000000..952303e803d --- /dev/null +++ b/Master/texmf-dist/tex/generic/pst-ghsb/pst-ghsb.tex @@ -0,0 +1,132 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%% -*- 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 +%% Last mod. by : Herert Voss <voss _at_ pstricks.de> +%% Last mod. the : June 06 2004 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\fileversion{1.2} +\def\filedate{2004/06/23} + +%% 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. +%% GradientCircle=true : Instead of a linear a circled gradient is build. +%% (version 1.04) +%% GradientPos=(x,y) : the center of the circled gradient +%% (version 1.04) +%% GradientScale=float : scaling factor of the circled gradient +%% (version 1.04) +%% + +\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} + +% Herbert Voss 2004-06-23 +% To define the gradient as linear or as circle +\newif\ifGradientCircle +\def\psset@GradientCircle#1{\@nameuse{GradientCircle#1}} +\psset@GradientCircle{false} + +% Position of the center of the gradient +\def\psset@GradientPos#1{\psset@@GradientPos#1} +\def\psset@@GradientPos(#1){\edef\ps@GradientPos{#1}} +\psset@GradientPos{(0,0)} + +% Scale factor +\def\psset@GradientScale#1{\edef\ps@GradientScale{#1}} +\psset@GradientScale{1} + +\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 +% hv 2004-05-05 begin fixed a spurious blank + tx@GradientHSBDict begin GradientFillHSB end grestore% + }% +% tx@GradientHSBDict begin GradientFillHSB end grestore} +% hv 2004-05-05 end + \else% +% hv 2004-06-25 begin fixed a spurious blank + \pst@getcoor{\ps@GradientPos}{\pst@tempa}% <- "%" hv 2004-06-23 +% hv end + \addto@pscode{% + gsave + \ifGradientCircle true \else false \fi + \ps@GradientScale\space + \pst@tempa\space + 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 |