REBOL[ title: "AGG demo" author: "rebolek" ] p: [20x20 200x70 150x200 50x230] a1: 20x20 b1: 100x15 c1: 105x120 d1: 10x100 z: 3 angst: 0 angen: 360 angen-dif: .05 angol: 0 zoom: 1 zoom-speed: .999 zoom2: 1 zoom2-speed: .9999 colours: reduce [aqua gold gray green ivory khaki leaf linen magenta main-color maroon mint] bg: make image! 600x600 bg fnt: make face/font [size: 90] slovo: ["C" "Y" "P" "H" "R" "E" "3" "0" "!" "!" "!"] pismeno: first slovo pokus: layout [ backdrop black bx: box 600x600 effect [draw [ fill-pen 1 300x300 0 360 0 1 1 aqua gold gray green ivory khaki leaf linen magenta main-color maroon mint transform 100x100 0 zoom zoom 0x0 ]] with [ rate: 25 feel: make feel [ engage: func [f a e][ switch a [ time [ ;a1: a1 + 1x0 bg: to image! f forall colours [ colours/1: rgb-to-hsv colours/1 colours/1/1: colours/1/1 + z if colours/1/1 = 255 [z: negate z] colours/1: hsv-to-rgb colours/1 angst: angst + 1 angen: angen - angen-dif if any [angen > 365 angen < 350 ][angen-dif: negate angen-dif] angol: angol + .1 zoom: zoom * zoom-speed if any [zoom > 1.1 zoom < .1] [zoom-speed: 1 / zoom-speed] zoom2: zoom2 * zoom2-speed if any [zoom2 > 1.03 zoom2 < .99] [zoom2-speed: 1 / zoom2-speed] ] ;probe head colours colours: head colours slovo: next slovo if tail? slovo [slovo: head slovo] pismeno: first slovo bx/effect/2: compose [transform 300x300 angen zoom2 zoom2 0x0 image bg reset-matrix transform 300x300 angol zoom zoom 0x0 fill-pen 1 300x300 0 360 angst 1 1 (colours) font fnt ;spline a1 b1 c1 d1 10 true text 1 pismeno reset-matrix transform 300x300 angst zoom zoom 0x0 ;spline a1 b1 c1 d1 10 true text 1 pismeno ] ] down [b1: e/offset] over [b1: e/offset] ] show pokus ] ] ] ] view pokus