/*
 * Graduates
 *
 * ARexx Example for: new, rectangle (gradients)
 * Author: A. Pratsch
 * This script is Public Domain
 */

options results

address "ArtEffect"

dummy = random(,,time(seconds))

setcolor 0 0 0 bg

new w 400 h 400 fill white "Gradients"

/*
	gradient string: (linear|radial),(rgb|hsb|alpha),steps,roughness:(linecoordinates:x1,y1,x2,y2|circlecoordinates,mx,my,r)
	parameters may not appear if you want to use defaults: e.g. linear,,,10:0,0,100,100" is a valid gradient. Of course the
	line or circle coordinates always must be given.
*/
/*
rectangle gradient "linear,hsb,16,20:0,0,99,99" strength 50 0 0 99 99
rectangle gradient "linear,hsb,256,0:100,0,199,99" strength 50 100 0 199 99

rectangle gradient "radial,rgb,16,20:50,150,50" strength 75 0 100 99 199
rectangle gradient "radial,rgb,256,0:150,150,50" strength 75 100 100 199 199

erasepic

palette rs 0 re 1

do k=0 to 399 by 50
	do i=0 to 399 by 50
		'setcolor 'random(0,255)' 'random(0,255)' 'random(0,255)' reg 0'
		'setcolor 'random(0,255)' 'random(0,255)' 'random(0,255)' reg 1'
		mode = random(1,2);
		if mode=1 then
		do
			j = random(10,50)
			l = random(10,50)

			type = "linear"
			options = i+l","k+j","i+49-l","k+49-j
		end
		else
		do
			type = "radial"
			options = i+25","k+25","random(5,40)
		end

		mode = random(1,2);
		if mode=1 then
			range = "rgb"
		else
			range = "hsb"

		"rectangle gradient "type","range","random(1,256)","random(0,20)":"options" strength "random(10,100)" "i" "k" "i+49" "k+49
	end
end

setcolor 255 0 0 reg 0
setcolor 255 255 0 reg 1
polygon gradient 'radial,rgb,256,0:200,200,200' strength 50 '200,0 280,120 400,120 320,200 400,280 280,280 200,400 120,280 0,280 80,200 0,120 120,120'
*/
poly = "'"
do i=0 to 100
	poly = poly || random(1,400) || "," || random(1,400) || " "
end
poly = poly || "'"

setcolor 255 0 0 reg 0
setcolor 0 0 255 reg 1
"polygon gradient radial,hsb,256,10:200,200,200 strength 100 " poly

setcolor 0 0 0
"circle pt fill mode color strength 50 200 200 50"

setcolor 0 0 255 reg 0
setcolor 255 0 255 reg 1
"ellipse gradient linear,rgb,,:150,150,250,250 strength 100 200 200 50 25"

setcolor 255 0 0
'flood mode color strength 100 1 1'

