From b61846baba2a3249671948135345db52ccf94521 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 30 Oct 2006 06:50:14 +0000 Subject: [PATCH] cache bitmap and dc for snip sizing svn: r4708 --- collects/lang/private/imageeq.ss | 8 +++++--- collects/lang/private/teachhelp.ss | 16 ++++++++-------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/collects/lang/private/imageeq.ss b/collects/lang/private/imageeq.ss index 076de83741..2410ec55b2 100644 --- a/collects/lang/private/imageeq.ss +++ b/collects/lang/private/imageeq.ss @@ -11,15 +11,17 @@ (define (image? a) (or (is-a? a image-snip%) (is-a? a cache-image-snip%))) + + (define size-dc (delay (make-object bitmap-dc% (make-object bitmap% 1 1)))) (define (snip-size a) (cond [(is-a? a cache-image-snip%) (send a get-size)] [else - (let ([dc (make-object bitmap-dc% (make-object bitmap% 1 1))] - [wb (box 0)] - [hb (box 0)]) + (let* ([dc (force size-dc)] + [wb (box 0)] + [hb (box 0)]) (send a get-extent dc 0 0 wb hb #f #f #f #f) (values (unbox wb) (unbox hb)))])) diff --git a/collects/lang/private/teachhelp.ss b/collects/lang/private/teachhelp.ss index e9bc855e28..730bbc5df6 100644 --- a/collects/lang/private/teachhelp.ss +++ b/collects/lang/private/teachhelp.ss @@ -28,16 +28,16 @@ (syntax args)) stx)] [id - (syntax-property - (datum->syntax-object - check-proc - (list check-proc - (list 'quote (syntax id)) - tmp-id) - stx) + (syntax-property + (datum->syntax-object + check-proc + (list check-proc + (list 'quote (syntax id)) + tmp-id) + stx) 'stepper-skipto '(syntax-e cdr syntax-e cdr cdr car))]))))) ; this may make other stepper-skipto annotations obsolete. - + (define (appropriate-use what) (case what [(constructor)