message% can take a bitmap as the label, I believe.

Robby

On Sat, Mar 19, 2011 at 10:01 AM, John Clements
<cleme...@brinckerhoff.org> wrote:
> Someone on stack overflow just asked how to draw a bitmap to the screen, and 
> I couldn't think of an easier way than the following code.  Am I missing 
> something obvious?  An existing bitmap-canvas% class, or something like it?
>
> John
>
>
> #lang racket
>
> (require racket/draw
>         mred)
>
> ;; define a canvas that displays a bitmap when its on-paint
> ;; method is called
> (define bitmap-canvas%
>  (class canvas%
>    (init-field [bitmap #f])
>    (inherit get-dc)
>    (define/override (on-paint)
>      (send (get-dc) draw-bitmap bitmap 0 0))
>    (super-new)))
>
> ;; load the bitmap
> (define bitmap (read-bitmap "/tmp/red-arrow.bmp"))
>
> ;; create a new frame (top-level window)
> (define f (new frame% [label "foo"] [width 100] [height 100]))
>
> ;; create a canvas
> (define the-canvas (new bitmap-canvas% [parent f] [bitmap bitmap]))
>
> ;; show the canvas
> (send f show #t)
>
>
> _________________________________________________
>  For list-related administrative tasks:
>  http://lists.racket-lang.org/listinfo/dev
>

_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Reply via email to