1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
%% BEGIN pst-grad.tex
%%
%% Gradient fillstyle with PSTricks.
%% See the PSTricks User's Guide for description.
%% This uses the header file `pst-grad.pro'.
%%
%% Based on some EPS files by leeweyr!bill@nuchat.sccsi.com (W. R. Lee).
%%
%%
%% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu.
%% 2006 Herbert Voss, hvoss@tug.org
%%
%% 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)
%% GradientHSB : Use HSB color model
%%
\csname GradientLoaded\endcsname
\let\GradientLoaded\endinput
\ifx\PSTricksLoaded\endinput\else
\def\next{\input pstricks.tex }\expandafter\next
\fi
\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi
\def\fileversion{1.05}
\def\filedate{2006/11/04}
\message{`pst-plot' v\fileversion, \filedate\space (tvz,dg,hv)}
\edef\TheAtCode{\the\catcode`\@}
\catcode`\@=11
\pst@addfams{pst-grad}
\pstheader{pst-grad.pro}
\newrgbcolor{gradbegin}{0 .1 .95}
\newrgbcolor{gradend}{0 1 1}
\define@key[psset]{pst-grad}{gradbegin}{\pst@getcolor{#1}\psgradbegin}
\define@key[psset]{pst-grad}{gradend}{\pst@getcolor{#1}\psgradend}
\define@key[psset]{pst-grad}{gradlines}{%
\pst@getint{#1}\psgradlines
\ifnum\psgradlines<2
\@pstrickserr{gradlines must be at least 2}\@epha
\def\psgradlines{2 }%
\fi}
\define@key[psset]{pst-grad}{gradmidpoint}{\pst@checknum{#1}\psgradmidpoint}
\define@key[psset]{pst-grad}{gradangle}{\pst@getangle{#1}\psk@gradangle}
\psset[pst-grad]{gradangle=0,gradlines=300,gradend=gradend,gradbegin=gradbegin,
gradmidpoint=0.9}
% Denis Girou - April 1998 ------- patch 2 (hv)
% To define the gradient as linear or as circle
\define@boolkey[psset]{pst-grad}[Pst@]{GradientCircle}[true]{}
% Position of the center of the gradient
\define@key[psset]{pst-grad}{GradientPos}{\psset@@GradientPos#1}%
\def\psset@@GradientPos(#1){\edef\ps@GradientPos{#1}}
% Scale factor
\define@key[psset]{pst-grad}{GradientScale}{\def\ps@GradientScale{#1}}
\psset[pst-grad]{GradientScale=1,GradientPos={(0,0)},GradientCircle=false}
%
\define@boolkey[psset]{pst-grad}[Pst@]{gradientHSB}[true]{}
\psset[pst-grad]{gradientHSB=false}
%
\def\psfs@gradient{%
\ifPst@gradientHSB
\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@GradientDict 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
\ifPst@GradientCircle 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-grad.tex
|