/*	Param none	*/

options results

address 'rexx_TVPaint'

	tv_SetDrawMode	Color
	tv_AliasOn
	tv_StencilOff
	tv_DensityOff
	tv_CycleOff	
	tv_RangeV
	tv_UpdateUndo
	tv_loadfont	"topaz.font" 8
	tv_SetAPen 255 255 255
	tv_SetBPen 0 0 0 255
	tv_clear

	tv_GetWidth
	x=(result-640)%2
	
	tv_GetHeight
	y=(result-512)%2
	y=y-10

/* uno: design */

	tv_text	x+30 y+100 'Design'
	tv_text	x+30 y+115 'Dessin'

	tv_Pen 0
	tv_line x+95 y+95 x+105 y+105
	tv_line x+105 y+95 x+95 y+105
	tv_circle x+100 y+100 80
	tv_line x+100 y+20 x+100 y+180
	tv_spline x+100 y+20 x+140 y+100 x+100 y+180

	tv_line x+103 y+22 x+110 y+21
	tv_line x+106 y+24 x+118 y+22
	tv_line x+109 y+27 x+123 y+24
	tv_line x+112 y+30 x+129 y+26
	tv_line x+115 y+33 x+134 y+28
	tv_line x+118 y+36 x+139 y+30
	tv_line x+119 y+38 x+143 y+33
	tv_line x+121 y+41 x+147 y+36
	tv_line x+123 y+43 x+152 y+39
	tv_line x+125 y+47 x+155 y+42
	tv_line x+128 y+50 x+161 y+47
	tv_line x+130 y+54 x+163 y+51
	tv_line x+132 y+59 x+166 y+55
	tv_line x+134 y+63 x+169 y+59
	tv_line x+136 y+67 x+171 y+63
	tv_line x+136 y+71 x+173 y+68
	tv_line x+138 y+76 x+175 y+73
	tv_line x+140 y+81 x+140 y+81
	tv_line x+177 y+77 x+139 y+82
	tv_line x+179 y+82 x+139 y+86
	tv_line x+178 y+86 x+138 y+92
	tv_line x+179 y+91 x+138 y+97
	tv_line x+180 y+96 x+140 y+100
	tv_line x+180 y+100 x+139 y+102
	tv_line x+179 y+106 x+140 y+105
	tv_line x+179 y+112 x+139 y+110
	tv_line x+178 y+117 x+139 y+114
	tv_line x+176 y+122 x+138 y+117
	tv_line x+175 y+128 x+138 y+121
	tv_line x+172 y+133 x+135 y+125
	tv_line x+170 y+139 x+135 y+130
	tv_line x+167 y+143 x+134 y+134
	tv_line x+164 y+147 x+133 y+139
	tv_line x+161 y+152 x+131 y+142
	tv_line x+157 y+157 x+129 y+145
	tv_line x+153 y+159 x+127 y+149
	tv_line x+149 y+163 x+126 y+152
	tv_line x+145 y+166 x+123 y+155
	tv_line x+140 y+169 x+122 y+158
	tv_line x+138 y+171 x+119 y+162
	tv_line x+133 y+173 x+116 y+165
	tv_line x+128 y+175 x+114 y+168
	tv_line x+122 y+176 x+111 y+169
	tv_line x+116 y+177 x+109 y+173
	tv_line x+111 y+178 x+107 y+175
	tv_line x+106 y+178 x+101 y+177




/* due: color range */

	tv_cycleON
	tv_SetColor 36
	tv_RectFill x+210 y+10 x+390 y+190 x+310 y+180

	tv_SetColor 240
	tv_AreaCircle x+300 y+100 80 0 0 1
	tv_AreaCircle x+300 y+100 77 x+310 y+180
	tv_cycleOFF

	tv_SetAPen 255 255 255 
	tv_text	x+230 y+100 'Ranges'
	tv_text	x+230 y+115 'Dégradés' 



/* tre: smear */

	tv_cycleON
	tv_AliasOFF
	tv_AreaCircle x+500 y+100 80 x+480 y+180
	tv_cycleOFF

	tv_AliasON
	tv_SetDrawMode Smear
	tv_Pen 4
	do j=1 to 180 by 25
		do i=1 to 180 by 7
			tv_line x+420+i y+j x+410+i y+j+25
		end
	end
	tv_SetDrawMode Color

	tv_SetAPen 255 255 255
	tv_text	x+430 y+100 0 'Paint'
	tv_text	x+430 y+115 0 'Peinture'


/* quattro: density */

	tv_DensityLineX 0 255 255 0
	tv_densityON
	tv_yclear
	tv_xcenter
	tv_SetAPen 0 0 255
	tv_AreaCircle x+100 y+280 75 x+70 y+250
	tv_SetAPen 255 255 0
	tv_AreaCircle x+160 y+280 30 x+150 y+270
	tv_SetAPen 255 0 0
	tv_AreaCircle x+100 y+320 18 x+94 y+314
	tv_SetAPen 255 255 255
	tv_AreaCircle x+150 y+330 12 x+146 y+326
	tv_densityOFF

	tv_SetAPen 255 255 255
	tv_text	x+30 y+280 'Density'
	tv_text	x+30 y+295 'Densité'


/*	cinque: paint */


	tv_SetAPen 255 255 255
	tv_text	x+260 y+330 'Airbrush'
	tv_text	x+260 y+345 'Aérographe'

	tv_AirPower 10
	tv_AirPen 10
	tv_SetAPen 0 0 200
	dx=x-70
	dy=y-65
	do i=1 to 2

		tv_Line dx+317 dy+301 dx+298 dy+417
		/* the P loop */
		tv_Line dx+297 dy+325 dx+292 dy+323
		tv_Line dx+292 dy+323 dx+286 dy+317
		tv_Line dx+286 dy+317 dx+282 dy+309
		tv_Line dx+282 dy+309 dx+281 dy+302
		tv_Line dx+281 dy+302 dx+284 dy+296
		tv_Line dx+284 dy+296 dx+290 dy+291
		tv_Line dx+290 dy+291 dx+299 dy+288
		tv_Line dx+299 dy+288 dx+310 dy+286
		tv_Line dx+310 dy+286 dx+326 dy+286
		tv_Line dx+326 dy+286 dx+338 dy+289
		tv_Line dx+338 dy+289 dx+346 dy+294
		tv_Line dx+346 dy+294 dx+353 dy+301
		tv_Line dx+353 dy+301 dx+356 dy+309
		tv_Line dx+356 dy+309 dx+356 dy+318
		tv_Line dx+356 dy+318 dx+353 dy+324
		tv_Line dx+353 dy+324 dx+348 dy+330
		tv_Line dx+348 dy+330 dx+343 dy+335
		tv_Line dx+343 dy+335 dx+337 dy+338
		tv_Line dx+337 dy+338 dx+330 dy+340
		tv_Line dx+330 dy+340 dx+321 dy+341
		
		/* draw aint */
		tv_Line dx+345 dy+359 dx+342 dy+358
		tv_Line dx+342 dy+358 dx+337 dy+360
		tv_Line dx+337 dy+360 dx+332 dy+366
		tv_Line dx+332 dy+366 dx+330 dy+372
		tv_Line dx+330 dy+372 dx+331 dy+377
		tv_Line dx+331 dy+377 dx+333 dy+377
		tv_Line dx+333 dy+377 dx+341 dy+372
		tv_Line dx+341 dy+372 dx+345 dy+365
		tv_Line dx+345 dy+365 dx+350 dy+355
		tv_Line dx+350 dy+355 dx+344 dy+373
		tv_Line dx+344 dy+373 dx+346 dy+377
		tv_Line dx+346 dy+377 dx+349 dy+377
		tv_Line dx+349 dy+377 dx+362 dy+356
		tv_Line dx+362 dy+356 dx+362 dy+377
		tv_Line dx+362 dy+377 dx+378 dy+361
		tv_Line dx+378 dy+361 dx+378 dy+378
		tv_Line dx+378 dy+378 dx+394 dy+361
		tv_Line dx+394 dy+361 dx+395 dy+374
		tv_Line dx+395 dy+374 dx+397 dy+378
		tv_Line dx+397 dy+378 dx+399 dy+378
		tv_Line dx+399 dy+378 dx+406 dy+369
		tv_Line dx+406 dy+369 dx+414 dy+350
		tv_Line dx+414 dy+350 dx+416 dy+329
		tv_Line dx+416 dy+329 dx+416 dy+364
		tv_Line dx+416 dy+364 dx+419 dy+375
		tv_Line dx+419 dy+375 dx+425 dy+380
		tv_Line dx+425 dy+380 dx+429 dy+380
		tv_Line dx+429 dy+380 dx+434 dy+377
	
		/* the point on the i */
		tv_Line dx+360 dy+344 dx+365 dy+335
	
		/* the t bar */
		tv_Line dx+388 dy+340 dx+458 dy+340

		tv_AirPower 25
		tv_AirPen 10
		tv_SetAPen 255 255 255
		dx=x-65
		dy=y-75
	end

/* 6: colorize */

	tv_SetAPen 100 100 100
	tv_RectFill x+410 y+190 x+590 y+370 x+510 y+180
	tv_SetAPen 200 200 200
	tv_AreaCircle x+500 y+280 80 x+510 y+360

	tv_SetAPen 255 255 255
	tv_text	x+430 y+280 'Colorize'
	tv_text	x+430 y+295 'Colorisation' 

	tv_SetDrawMode Colorize

	tv_SetAPen 255 255 0
	tv_RectFill x+435 y+190 x+461 y+370
	tv_SetAPen 0 255 255
	tv_RectFill x+461 y+190 x+487 y+370
	tv_SetAPen 0 255 0
	tv_RectFill x+487 y+190 x+513 y+370
	tv_SetAPen 255 0 255
	tv_RectFill x+513 y+190 x+539 y+370
	tv_SetAPen 255 0 0
	tv_RectFill x+539 y+190 x+565 y+370
	tv_SetAPen 0 0 255
	tv_RectFill x+565 y+190 x+590 y+370

	tv_SetDrawMode Color



/* sept: wrapping */

	tv_densityON
	tv_SetAPen 0 0 255
	tv_AreaCircle x+100 y+450 70 x+70 y+420
	tv_densityOFF

	tv_cycleON
	tv_wrapx 1
	tv_wrapy 1
	tv_brush x+220 y+200 x+360 y+340
	tv_AreaCircle x+100 y+450 70 x+70 y+420
	tv_wrapx 0
	tv_wrapy 0
	tv_RangeV
	tv_brush 0 0 1 1
	tv_cycleOFF

	tv_SetAPen 255 255 255
	tv_densityON
	tv_AreaCircle x+100 y+450 70 x+70 y+420
	tv_densityOFF

	tv_SetDrawMode Colorize
	tv_SetAPen 255 128 0
	tv_AreaCircle x+100 y+450 70

	tv_SetDrawMode Color
	tv_SetAPen 255 255 255
	tv_text	x+125 y+400 'Wrapping'
	tv_text	x+125 y+415 'Placage'


/* ui: lines */

	tv_Pen 0
	width=180
	height=150
	dx=210+x
	dy=370+y
	va=5
	vb=3
	vc=3
	vd=6
	a=random(0,width,time('S'))
	b=random(0,height,time('S')+a)
	c=random(0,width,time('S')+b)
	d=random(0,height,time('S')+c)

	r=random(0,255,time('S'))
	g=random(0,255,time('S'))
	blue=random(0,255,time('S'))
	wr=10
	wg=12
	wb=8
	do z=1 to 200
		r=r+wr
		if (r>255) | (r<0) then
		do
			wr=-wr
			r=r+wr
		end
		g=g+wg
		if (g>255) | (g<0) then
		do
			wg=-wg
			g=g+wg
		end
		blue=blue+wb
		if (blue>255) | (blue<0) then
		do
			wb=-wb
			blue=blue+wb
		end

		tv_SetApen r g blue

		a=a+va
		if (a>width) | (a<0) then
		do
			va=-va
			a=a+va
		end
		b=b+vb
		if (b>height) | (b<0) then
		do
			vb=-vb
			b=b+vb
		end
		c=c+vc
		if (c>width) | (c<0) then
		do
			vc=-vc
			c=c+vc
		end
		d=d+vd
		if (d>height) | (d<0) then
		do
			vd=-vd
			d=d+vd
		end
		tv_Line dx+a dy+b dx+c dy+d
		
	end

	tv_SetAPen 255 255 255
	tv_text	x+320 y+430 'ARexx'
	tv_text	x+320 y+445 'Interface'


/* etc */

	tv_SetAPen 255 255 255
	tv_line 5 0 0 5
	tv_line 5 1 0 6
	tv_smoothedge 3
	tv_brushcut 0 0 6 6 1

	tv_line x+440 y+496 x+450 y+487
	tv_line x+450 y+487 x+455 y+478
	tv_line x+455 y+478 x+463 y+477
	tv_line x+463 y+477 x+469 y+472
	tv_line x+469 y+472 x+470 y+462
	tv_line x+470 y+462 x+466 y+457
	tv_line x+466 y+457 x+459 y+456
	tv_line x+459 y+456 x+454 y+461
	tv_line x+454 y+461 x+451 y+468
	tv_line x+451 y+468 x+452 y+476
	tv_line x+452 y+476 x+457 y+485
	tv_line x+457 y+485 x+462 y+491
	tv_line x+462 y+491 x+472 y+494
	tv_line x+472 y+494 x+480 y+492
	tv_line x+480 y+492 x+485 y+483
	tv_line x+485 y+483 x+488 y+465
	tv_line x+488 y+465 x+489 y+441
	tv_line x+489 y+441 x+489 y+416
	tv_line x+490 y+415 x+493 y+482
	tv_line x+493 y+482 x+497 y+489
	tv_line x+497 y+489 x+502 y+493
	tv_line x+502 y+493 x+509 y+492
	tv_line x+509 y+492 x+515 y+487
	tv_line x+469 y+434 x+528 y+432
	tv_line x+533 y+460 x+532 y+458
	tv_line x+532 y+458 x+527 y+454
	tv_line x+527 y+454 x+519 y+454
	tv_line x+519 y+454 x+515 y+459
	tv_line x+515 y+459 x+512 y+470
	tv_line x+512 y+470 x+514 y+479
	tv_line x+514 y+479 x+517 y+488
	tv_line x+517 y+488 x+522 y+493
	tv_line x+522 y+493 x+529 y+492
	tv_line x+529 y+492 x+535 y+487
	tv_line x+535 y+487 x+539 y+482
	tv_line x+554 y+485 x+552 y+493
	tv_line x+565 y+485 x+564 y+493
	tv_line x+578 y+483 x+577 y+491
	
	tv_smoothedge 0
	tv_Pen 0
	
/* die ende */

