Skip to content

Instantly share code, notes, and snippets.

@denyadzi
Created December 26, 2020 06:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save denyadzi/29783ddae315e0bd5b2bb31fd135bddb to your computer and use it in GitHub Desktop.
Save denyadzi/29783ddae315e0bd5b2bb31fd135bddb to your computer and use it in GitHub Desktop.
(use-modules (sdl2 video)
(sdl2 render)
(sdl2 surface)
(sdl2 rect))
(define (do-render renderer)
(let ((surface (load-bmp "santa.bmp"))
(src (make-rect 184 33 322 180)))
(clear-renderer renderer)
(render-copy renderer
(surface->texture renderer surface)
#:srcrect src)
(present-renderer renderer)
(sleep 5)))
(call-with-window (make-window #:show? #t)
(lambda (window)
(call-with-renderer (make-renderer window) do-render)))
@denyadzi
Copy link
Author

Fails with error (libsdl2 v2.0.12) (sdl2 v0.5.0) (guile v2 v2.2 v3)

Backtrace:
In ice-9/boot-9.scm:
1736:10 11 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type )
In unknown file:
10 (apply-smob/0 #<thunk 5640193a39c0>)
In ice-9/boot-9.scm:
718:2 9 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
In ice-9/eval.scm:
619:8 8 (
#(#(#<directory (guile-user) 56401949ff00>)))
In ice-9/boot-9.scm:
2806:4 7 (save-module-excursion )
4351:12 6 (
)
In sdl2/video.scm:
150:15 5 (call-with-window #<window id: 1 title: "Guile SDL2 Window" size: (640 480) position: (1323 300)> _)
In sdl2/render.scm:
110:6 4 (call-with-renderer #<renderer 56401987ba20> _)
In /home/den/codes/scheme/sdl-problem/main.scm:
10:4 3 (do-render #<renderer 56401987ba20>)
In sdl2/render.scm:
286:21 2 (render-copy _ _ #:angle _ #:srcrect _ #:dstrect _ #:center _)
In system/foreign.scm:
160:4 1 (make-c-struct (8 8 8 8) #< bv: #s32(184 33 322 180) ptr: #<pointer 0x564019697980>>)
133:6 0 (write-c-struct #vu8(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 0 (8 8 8 8) #< bv: #s32(184 33 322 180) ptr: #<pointer 0x564019697980>>)

system/foreign.scm:133:6: In procedure write-c-struct:
too few values (8 8 8 8)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment