Hi Racket Users,
Anyone else noticed that device contexts always smooth, regardless of
whether they are bitmap or canvas dcs and regardless of what you have
passed to the message `set-smoothing`.
On my system, the function
(require racket/match
racket/class
racket/gui)
(define (scale-bitmap bitmap . args)
(match args
[(list scale)
(scale-bitmap bitmap scale scale)]
[(list scale-x scale-y)
(let* ((w (send bitmap get-width))
(h (send bitmap get-height))
(new-w (* scale-x w))
(new-h (* scale-y h))
(target (make-object bitmap% new-w new-h #f #t))
(target-dc (new bitmap-dc% [bitmap target])))
(send target-dc set-smoothing 'unsmoothed)
(send target-dc set-scale scale-x scale-y)
(send target-dc draw-bitmap bitmap 0 0)
target)]))
Returns an appropriately scaled bitmap, but it is smoothed. You can
move that call to set-smoothing anywhere you want without getting the
right behavior. I've poked around in the sources a bit, but can't see
anything obviously out of whack, but its a lot of calls out to cairo.
Any ideas?
(This is my first post, by the way - hope I'm doing everything right?)
-V
_________________________________________________
For list-related administrative tasks:
http://lists.racket-lang.org/listinfo/users