X-Git-Url: https://git.jsancho.org/?p=guile-irrlicht.git;a=blobdiff_plain;f=irrlicht%2Fgui.scm;fp=irrlicht%2Fgui.scm;h=597032a7f89dd4da2f0382a6a5e8922ec2e39a08;hp=d7dd335653cb06413035e1b6a15b993681d78cec;hb=32d4067d4c588913bbd5ec4450f2f859af789942;hpb=79e12d94cc21232477796a4e76fc2ddb5d88f9dc diff --git a/irrlicht/gui.scm b/irrlicht/gui.scm index d7dd335..597032a 100644 --- a/irrlicht/gui.scm +++ b/irrlicht/gui.scm @@ -59,16 +59,18 @@ (id -1) (text "") (tooltiptext "")) - (let ((addButton (get-irrlicht-proc "addButton" gui-environment parent))) - (addButton gui-environment rectangle parent id text tooltiptext)))) + (let* ((addButton (get-irrlicht-proc "addButton" gui-environment parent)) + (button (addButton gui-environment rectangle parent id text tooltiptext))) + (mem-wrapped button)))) (define-method (add-editbox! (gui-environment ) text rectangle . rest) (let-keywords rest #f ((border #t) (parent (make )) (id -1)) - (let ((addEditBox (get-irrlicht-proc "addEditBox" gui-environment parent))) - (addEditBox gui-environment text rectangle border parent id)))) + (let* ((addEditBox (get-irrlicht-proc "addEditBox" gui-environment parent)) + (editbox (addEditBox gui-environment text rectangle border parent id))) + (mem-wrapped editbox)))) (define-method (add-image! (gui-environment ) image pos . rest) (let-keywords rest #f @@ -76,23 +78,26 @@ (parent (make )) (id -1) (text "")) - (let ((addImage (get-irrlicht-proc "addImage" gui-environment parent))) - (addImage gui-environment image pos use-alpha-channel parent id text)))) + (let* ((addImage (get-irrlicht-proc "addImage" gui-environment parent)) + (img (addImage gui-environment image pos use-alpha-channel parent id text))) + (mem-wrapped img)))) (define-method (add-listbox! (gui-environment ) rectangle . rest) (let-keywords rest #f ((parent (make )) (id -1) (draw-background #f)) - (let ((addListBox (get-irrlicht-proc "addListBox" gui-environment parent))) - (addListBox gui-environment rectangle parent id draw-background)))) + (let* ((addListBox (get-irrlicht-proc "addListBox" gui-environment parent)) + (listbox (addListBox gui-environment rectangle parent id draw-background))) + (mem-wrapped listbox)))) (define-method (add-scrollbar! (gui-environment ) horizontal rectangle . rest) (let-keywords rest #f ((parent (make )) (id -1)) - (let ((addScrollBar (get-irrlicht-proc "addScrollBar" gui-environment parent))) - (addScrollBar gui-environment horizontal rectangle parent id)))) + (let* ((addScrollBar (get-irrlicht-proc "addScrollBar" gui-environment parent)) + (scrollbar (addScrollBar gui-environment horizontal rectangle parent id))) + (mem-wrapped scrollbar)))) (define-method (add-static-text! (gui-environment ) text rectangle . rest) (let-keywords rest #f @@ -101,9 +106,10 @@ (parent (make )) (id -1) (fill-background #f)) - (let ((addStaticText (get-irrlicht-proc "addStaticText" gui-environment parent))) - (addStaticText gui-environment text rectangle border word-wrap parent - id fill-background)))) + (let* ((addStaticText (get-irrlicht-proc "addStaticText" gui-environment parent)) + (static-text (addStaticText gui-environment text rectangle border word-wrap parent + id fill-background))) + (mem-wrapped static-text)))) (define-method (draw-all (gui-environment )) ((get-irrlicht-proc "drawAll" gui-environment)