REBOL [title: "Simple Rotation Zoomer" author: "Henrik"] texture: func [size /local t][ t: copy [origin 0 space 0] for i 1 size * size 1 [ c: random 220.220.220 append t compose [box 50x50 (c) "REBOL" font [size: 11 shadow: 1x1] effect [gradient 0x1 (c) (c)]] if zero? (i // size) [append t 'return] ] to-image layout/tight t ] img: texture 20 period: does [((to-integer * 1000 now/time/precise) // 20000) / 20000] view layout [ origin 0 b: box 400x400 rate 50 feel [engage: func [face action event][ f: face/size / 2 p: (1.3 + sine (360 * period)) * 5 face/effect: compose/deep [ draw [ transform (f) (360 * period) 1 1 0x0 image img (f - (f * p)) (f + (f * p)) ] ] show face ] ] ]