foreign-c-libraries/retropikzel/gi-repository/test.scm

72 lines
2.1 KiB
Scheme

;(test-begin "gi-repository")
(define gtk (gi-repository "Gtk" "3.0"))
(define gtk-application (gi-object gtk "Gtk" "Application"))
(define app (gi-object-invoke gtk-application "new" "org.hello.world" 0))
(display "HERE: ")
(write app)
(newline)
#|
(define gtk (load-gi-repository "Gtk" "3.0"))
(define gtk-application (gi-repository-find-by-name gtk "Gtk" "Application"))
(display "HERE: gtk-application ")
(write (gi-info-namespace gtk-application))
(newline)
(write (gi-info-name gtk-application))
(newline)
(define gtk-application-new (gi-object-info-find-method gtk-application "new"))
(display "HERE: gtk-application-new ")
(write (gi-info-namespace gtk-application-new))
(newline)
(write (gi-info-name gtk-application-new))
(newline)
(define app
(let ((args (make-c-bytevector 1024)))
(c-bytevector-set! args 'pointer 0 (c-bytevector-null))
(c-bytevector-set! args 'int (c-type-size 'pointer) 0)
(gi-invoke gtk-application-new args 2 'pointer)))
(write app)
(newline)
(define gtk-application-window (gi-repository-find-by-name gtk "Gtk" "ApplicationWindow"))
;(define gtk-application-window-new (gi-object-info-find-method gtk-application-window "new"))
(display "HERE: gtk-application-window ")
(write (gi-info-namespace gtk-application-window))
(newline)
(write (gi-info-name gtk-application-window))
(newline)
(define gtk-application-window-new (gi-object-info-find-method gtk-application-window "new"))
(display "HERE: gtk-application-window-new ")
(write (gi-info-namespace gtk-application-window-new))
(newline)
(write (gi-info-name gtk-application-window-new))
(newline)
(define window
(let ((args (make-c-bytevector 1024)))
(c-bytevector-set! args 'pointer 0 app)
(gi-invoke gtk-application-window-new args 1 'pointer)))
(write window)
(newline)
#;(define return-code
(c-gi-function-info-invoke gtk-application-new
args
2
(c-bytevector-null)
0
app-return-value
invoke-error))
;|#
;(test-end "gi-repository")