tweaks to support princess movie

svn: r15802
This commit is contained in:
Matthew Flatt 2009-08-26 18:54:55 +00:00
parent 49e57413bf
commit a57b1e71a5
2 changed files with 31 additions and 4 deletions

View File

@ -1,14 +1,19 @@
#lang scheme/base #lang scheme/base
(require slideshow/base (require slideshow/base
slideshow/pict slideshow/pict
scheme/list) scheme/list
scheme/math)
(provide play play-n (provide play play-n
fade-pict fade-pict
slide-pict slide-pict
sequence-animations sequence-animations
reverse-animations reverse-animations
animate-slide) animate-slide
fast-start
fast-edges
fast-middle
split-phase)
(define (fail-gracefully t) (define (fail-gracefully t)
(with-handlers ([exn:fail? (lambda (x) (values 0 0))]) (with-handlers ([exn:fail? (lambda (x) (values 0 0))])
@ -26,6 +31,7 @@
#:name [name title] #:name [name title]
#:layout [layout 'auto] #:layout [layout 'auto]
#:steps [N 10] #:steps [N 10]
#:delay [secs 0.05]
mid) mid)
(slide #:title (if (procedure? title) (title 0) title) (slide #:title (if (procedure? title) (title 0) title)
#:name (if (procedure? name) (name 0) name) #:name (if (procedure? name) (name 0) name)
@ -37,7 +43,7 @@
(slide #:title (if (procedure? title) (title n) title) (slide #:title (if (procedure? title) (title n) title)
#:name (if (procedure? name) (name n) name) #:name (if (procedure? name) (name n) name)
#:layout layout #:layout layout
#:timeout 0.05 #:timeout secs
(mid n))) (mid n)))
(let ([cnt N]) (let ([cnt N])
(let loop ([n cnt]) (let loop ([n cnt])
@ -55,6 +61,7 @@
#:name [name title] #:name [name title]
#:layout [layout 'auto] #:layout [layout 'auto]
#:steps [N 10] #:steps [N 10]
#:delay [secs 0.05]
#:skip-last? [skip-last? #f] #:skip-last? [skip-last? #f]
mid) mid)
(let ([n (procedure-arity mid)]) (let ([n (procedure-arity mid)])
@ -77,6 +84,7 @@
name) name)
#:layout layout #:layout layout
#:steps N #:steps N
#:delay secs
(lambda (n) (lambda (n)
(apply mid (append pre (list n) (cdr post))))) (apply mid (append pre (list n) (cdr post)))))
(loop (cdr post) (cons 1.0 pre))))))) (loop (cdr post) (cons 1.0 pre)))))))
@ -254,3 +262,21 @@
(lambda (p2 ns) (lambda (p2 ns)
(k (if p2 (vc-append gap-size p p2) p) ns)))))]))) (k (if p2 (vc-append gap-size p p2) p) ns)))))])))
(sub1 n)))) (sub1 n))))
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; [0,1] -> [0,1] functions
(define (fast-start n)
(- 1 (* (- 1 n) (- 1 n))))
(define (fast-edges n)
(+ 0.5 (* (sin (- (* n pi) (/ pi 2))) 0.5)))
(define (fast-middle n)
(- 0.5 (/ (cos (* n pi)) 2)))
(define (split-phase opt-n)
(values (* 2 (min opt-n 0.5))
(* 2 (- (max opt-n 0.5) 0.5))))

View File

@ -757,7 +757,8 @@
;; run as low priority: ;; run as low priority:
(queue-callback (queue-callback
(lambda () (lambda ()
(send c-frame next-one)) (when (send f is-shown?)
(send c-frame next-one)))
#f)))]))) #f)))])))
(cond (cond
[config:use-offscreen? [config:use-offscreen?