[racket] Using big-bang with picts

From: Spencer Florence (florence at ccs.neu.edu)
Date: Mon Feb 17 14:41:17 EST 2014

I've run into this before. The way we solved it was to rotate bitmaps my 0
degrees: Its silly, but it works.

So

(define (world->image p)
  (rotate (pict->bitmap p))


On Mon, Feb 17, 2014 at 2:38 PM, Robby Findler
<robby at eecs.northwestern.edu>wrote:

> This does look like a bug in 2htdp/universe, tho.
>
> Looking at the universe code, it is not dealing with the case that it gets
> a bitmap% object. 2htdp/image's image? predicate accepts those. Probably a
> diff something along these lines is the right fix (warning, untested!)
>
> ☕  git diff .
> diff --git a/pkgs/htdp-pkgs/htdp-lib/2htdp/private/world.rkt
> b/pkgs/htdp-pkgs/htdp-lib/2htdp/private/world.rkt
> index 103ca45..98d46ff 100644
> --- a/pkgs/htdp-pkgs/htdp-lib/2htdp/private/world.rkt
> +++ b/pkgs/htdp-pkgs/htdp-lib/2htdp/private/world.rkt
> @@ -232,7 +232,10 @@
>        ;; Image -> Void
>        ;; show the image in the visible world
>        (define/public (show pict0)
> -        (define pict (add-game-pad pict0))
> +        (define pict1 (if (is-a? pict0 bitmap%)
> +                          (make-object bitmap-snip% pict0)
> +                          pict0))
> +        (define pict (add-game-pad pict1))
>          (send visible begin-edit-sequence)
>          (send visible lock #f)
>          (let ([s (send visible find-first-snip)]
>
>
>
> On Mon, Feb 17, 2014 at 12:40 PM, Jens Axel Søgaard <jensaxel at soegaard.net
> > wrote:
>
>> Hi All,
>>
>> Is there a way to use big-bang with picts?
>> In other words, how can I convert a pict into something that big-bang
>> will display?
>>
>> The attempt below fails with this error:
>>
>>     collects/racket/private/class-internal.rkt:4387:0: send: no such
>> method
>>     method name: copy
>>     class name: bitmap%
>>
>> #lang racket
>> (require pict (only-in 2htdp/universe big-bang on-tick to-draw))
>>
>> (define (world->image w)
>>   (pict->bitmap (circle w)))
>>
>> (big-bang 100
>>           [on-tick add1]
>>           [to-draw world->image])
>>
>>
>> --
>> Jens Axel Søgaard
>>
>> ____________________
>>   Racket Users list:
>>   http://lists.racket-lang.org/users
>>
>
>
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20140217/78f77531/attachment-0001.html>

Posted on the users mailing list.