racket/collects/images/tests/effects-tests.rkt
Neil Toronto db57b78e18 Added lock-icon
Changed most *-icon and *-logo function arguments to keyword arguments

text-icon no longer uses font size

Small doc changes
2012-06-26 15:00:05 -06:00

59 lines
1.6 KiB
Racket
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#lang racket/gui
(require racket/math
images/gui
images/flomap
images/logos)
(define frame-delay 1/30)
(define size 256)
(define blur 8)
(define frame-num 10)
(define end-frame-quality 90)
(define mid-frame-quality 35)
(define background-fm (make-flomap* size size #(1 1 1 1)))
(define (flomap-shadowed fm σ color)
(flomap-cc-superimpose (flomap-shadow fm σ color) fm))
(define plt-fm
(flomap-shadowed (flomap-inset (plt-flomap #:height (- size (* 4 blur))) (* 2 blur))
blur #(1/2 0 0 1/8)))
(define racket-fm
(flomap-shadowed (flomap-inset (racket-flomap #:height (- size (* 4 blur))) (* 2 blur))
blur #(1/2 1/8 0 0)))
(define logo-flomap* (flomap-whirl-morph plt-fm racket-fm))
(define (logo-flomap t)
(flomap-cc-superimpose background-fm (logo-flomap* t)))
(define logo-frames
(time
(append (list (time (flomap->bitmap (logo-flomap 0))))
(time
(for/list ([t (in-range 1 frame-num)])
(flomap->bitmap (logo-flomap (/ t frame-num)))))
(list (time (flomap->bitmap (logo-flomap 1)))))))
(define frame (new frame% [label "Whirl Morph Logo"] [width 256] [height 256]))
(define canvas (make-object bitmap-canvas% frame (first logo-frames)))
(send frame show #t)
(for ([_ (in-range 5)])
(for ([frame (in-list logo-frames)])
(send canvas set-bitmap frame)
(send canvas refresh)
(sleep/yield frame-delay))
(sleep 1)
(for ([frame (in-list (reverse logo-frames))])
(send canvas set-bitmap frame)
(send canvas refresh)
(sleep/yield frame-delay))
(sleep 1))
(send frame show #f)