racket/draw: fix in-region?' method of
region%'
Merge to v5.3.4 original commit: 917ec51eeebcfe2e2a0057787cd3768b96df1fdb
This commit is contained in:
parent
7e405bffea
commit
1c15f267cd
|
@ -664,6 +664,47 @@
|
|||
(test #f 'no-alpha (send bm2 has-alpha-channel?))
|
||||
(test #f 'no-alpha (send bm3 has-alpha-channel?)))
|
||||
|
||||
;; ----------------------------------------
|
||||
;; Check `in-region?'
|
||||
|
||||
(let ()
|
||||
(define r (new region%))
|
||||
(send r set-rectangle 0 0 100 100)
|
||||
(test #t 'yes/r (send r in-region? 10 10))
|
||||
(test #f 'no/r (send r in-region? 110 110))
|
||||
(test #f 'no/r (send r in-region? 10 110))
|
||||
|
||||
(define r2 (new region%))
|
||||
(send r2 set-rectangle 120 120 10 10)
|
||||
(send r2 union r)
|
||||
|
||||
(test #t 'yes/r (send r in-region? 10 10))
|
||||
(test #t 'yes/r2 (send r2 in-region? 10 10))
|
||||
(test #f 'no/r (send r in-region? 125 125))
|
||||
(test #t 'yes/r2 (send r2 in-region? 125 125))
|
||||
(test #f 'no/r2 (send r2 in-region? 110 110)))
|
||||
|
||||
(let ()
|
||||
(define bm (make-bitmap 50 50))
|
||||
(define dc (send bm make-dc))
|
||||
(send dc translate 10 10)
|
||||
(define r (make-object region% dc))
|
||||
(send r set-rectangle 0 0 100 100)
|
||||
(test #t 'yes (send r in-region? 5 5))
|
||||
(test #f 'no (send r in-region? 110 110)))
|
||||
|
||||
(let ()
|
||||
(define bm (make-bitmap 50 50))
|
||||
(define dc (send bm make-dc))
|
||||
(send dc translate 10 10)
|
||||
;; dc's translation at creation of region sticks:
|
||||
(define r (make-object region% dc))
|
||||
(send r set-rectangle 0 0 100 100)
|
||||
(send dc translate -10 -10)
|
||||
(test #f 'no (send r in-region? 5 5))
|
||||
(test #t 'yes (send r in-region? 105 105)))
|
||||
|
||||
|
||||
;; ----------------------------------------
|
||||
|
||||
(report-errs)
|
||||
|
|
Loading…
Reference in New Issue
Block a user