add slide-pict/center
This commit is contained in:
parent
dc4398235a
commit
2d63f11949
|
@ -73,6 +73,17 @@ The @racket[p-from] and @racket[p-to] picts are typically
|
||||||
@racket[launder]ed @racket[ghost]s of @racket[p] within @racket[base],
|
@racket[launder]ed @racket[ghost]s of @racket[p] within @racket[base],
|
||||||
but they can be any picts within @racket[base].}
|
but they can be any picts within @racket[base].}
|
||||||
|
|
||||||
|
@defproc[(slide-pict/center [base pict?]
|
||||||
|
[p pict?]
|
||||||
|
[p-from pict?]
|
||||||
|
[p-to pict?]
|
||||||
|
[n (real-in 0.0 1.0)])
|
||||||
|
pict?]{
|
||||||
|
|
||||||
|
Like @racket[slide-pict], but aligns the center of @racket[p]
|
||||||
|
with @racket[p-from] and @racket[p-to].
|
||||||
|
}
|
||||||
|
|
||||||
@; --------------------------------------------------
|
@; --------------------------------------------------
|
||||||
|
|
||||||
@section{Merging Animations}
|
@section{Merging Animations}
|
||||||
|
|
|
@ -157,6 +157,7 @@
|
||||||
(contract-out
|
(contract-out
|
||||||
[fade-pict (->* ((real-in 0.0 1.0) pict? pict?) (#:combine (-> pict? pict? pict?)) pict?)]
|
[fade-pict (->* ((real-in 0.0 1.0) pict? pict?) (#:combine (-> pict? pict? pict?)) pict?)]
|
||||||
[slide-pict (-> pict? pict? pict? pict? (real-in 0.0 1.0) pict?)]
|
[slide-pict (-> pict? pict? pict? pict? (real-in 0.0 1.0) pict?)]
|
||||||
|
[slide-pict/center (-> pict? pict? pict? pict? (real-in 0.0 1.0) pict?)]
|
||||||
[fade-around-pict (-> (real-in 0.0 1.0) pict? (-> pict? pict?) pict?)]
|
[fade-around-pict (-> (real-in 0.0 1.0) pict? (-> pict? pict?) pict?)]
|
||||||
[sequence-animations (->* () #:rest (listof (-> (real-in 0.0 1.0) pict?))
|
[sequence-animations (->* () #:rest (listof (-> (real-in 0.0 1.0) pict?))
|
||||||
(-> (real-in 0.0 1.0) pict?))]
|
(-> (real-in 0.0 1.0) pict?))]
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
(provide fade-pict
|
(provide fade-pict
|
||||||
slide-pict
|
slide-pict
|
||||||
|
slide-pict/center
|
||||||
fade-around-pict
|
fade-around-pict
|
||||||
sequence-animations
|
sequence-animations
|
||||||
reverse-animations
|
reverse-animations
|
||||||
|
@ -113,6 +114,14 @@
|
||||||
(+ y1 (* (- y2 y1) n))
|
(+ y1 (* (- y2 y1) n))
|
||||||
p)))
|
p)))
|
||||||
|
|
||||||
|
(define (slide-pict/center base p p-from p-to n)
|
||||||
|
(let-values ([(x1 y1) (fail-gracefully (lambda () (cc-find base p-from)))]
|
||||||
|
[(x2 y2) (fail-gracefully (lambda () (cc-find base p-to)))])
|
||||||
|
(pin-over base
|
||||||
|
(- (+ x1 (* (- x2 x1) n)) (/ (pict-width p) 2))
|
||||||
|
(- (+ y1 (* (- y2 y1) n)) (/ (pict-height p) 2))
|
||||||
|
p)))
|
||||||
|
|
||||||
(define (fade-around-pict n base evolved)
|
(define (fade-around-pict n base evolved)
|
||||||
(define tg1 (launder (ghost base)))
|
(define tg1 (launder (ghost base)))
|
||||||
(define tg2 (launder (ghost base)))
|
(define tg2 (launder (ghost base)))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user