css <[EMAIL PROTECTED]> writes:

> So far it all works fine. But when I first use surface2 to draw the
> line, then blit it to surface1 and then blit surface1 to the screen,
> as the following code does, nothing happens:
> 
> (sdl:with-init ()
>   (sdl:window 300 300)
>   (let ((surface1 (sdl:create-surface 300 300))
>         (surface2 (sdl:create-surface 300 300)))
>     (sdl:draw-line-* 0 0 100 100 :color
>       (sdl:color :r 255 :g 255 :b 255) :surface surface2)
>     (sdl:update-surface surface2)
>     (sdl:blit-surface surface2 surface1)
>     (sdl:update-surface surface1)
>     (sdl:blit-surface surface1)
>     (sdl:update-display))
>   (sdl:with-events ()
>     (:quit-event () t)))

Interesting. I'll look into it. In the meantime you can convert both surfaces 
to the display format, which works for me.

 (sdl:with-init ()
   (sdl:window 300 300)
   (let ((surface1 (sdl:convert-surface :surface (sdl:create-surface 300 300) 
                                        :free-p t)
         (surface2 (sdl:convert-surface :surface (sdl:create-surface 300 300)
                                        :free-p t))
    (sdl:draw-line-* 0 0 100 100 :color
       (sdl:color :r 255 :g 255 :b 255) :surface surface2)
     (sdl:update-surface surface2)
     (sdl:blit-surface surface2 surface1)
     (sdl:update-surface surface1)
     (sdl:blit-surface surface1)
     (sdl:update-display))
   (sdl:with-events ()
     (:quit-event () t)))

- Luke

_______________________________________________
application-builder mailing list
application-builder@lispniks.com
http://www.lispniks.com/mailman/listinfo/application-builder

Reply via email to