X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fdevice.cpp;h=cb1e4a4895724acc7d90999c54cdafd9226fd281;hb=cf9ecf5f581d2c9688e369b4b2ed49077c48f63e;hp=b60ec44e4681b3e4f0572833a402f904dc9fe62b;hpb=69ed7f57e6295034fa64ab2bf6d10da6882860ef;p=guile-irrlicht.git diff --git a/src/device.cpp b/src/device.cpp index b60ec44..cb1e4a4 100644 --- a/src/device.cpp +++ b/src/device.cpp @@ -27,6 +27,7 @@ #include "driver-types.h" #include "event-receiver.h" #include "gsubr.h" +#include "timer.h" #include "wchar.h" #include "wrapped.h" @@ -37,8 +38,10 @@ extern "C" { { init_device_type (); DEFINE_GSUBR ("create-device", 0, 0, 1, irr_createDevice); + DEFINE_GSUBR ("get-timer", 1, 0, 0, irr_getTimer); DEFINE_GSUBR ("is-window-active?", 1, 0, 0, irr_isWindowActive); DEFINE_GSUBR ("run", 1, 0, 0, irr_run); + DEFINE_GSUBR ("set-resizable!", 2, 0, 0, irr_setResizable); DEFINE_GSUBR ("set-window-caption!", 2, 0, 0, irr_setWindowCaption); DEFINE_GSUBR ("yield", 1, 0, 0, irr_yield); } @@ -54,10 +57,10 @@ extern "C" { SCM window_size = scm_list_2 (scm_from_uint32 (640), scm_from_uint32 (480)); SCM bits = scm_from_uint32 (16); - SCM fullscreen = scm_from_bool (0); - SCM stencilbuffer = scm_from_bool (0); - SCM vsync = scm_from_bool (0); - SCM receiver = scm_from_bool (0); + SCM fullscreen = SCM_BOOL_F; + SCM stencilbuffer = SCM_BOOL_F; + SCM vsync = SCM_BOOL_F; + SCM receiver = SCM_BOOL_F; scm_c_bind_keyword_arguments ("create-device", rest, (scm_t_keyword_arguments_flags)0, scm_from_utf8_keyword ("device-type"), &device_type, @@ -80,6 +83,13 @@ extern "C" { return wrap_device (device); } + SCM + irr_getTimer (SCM wrapped_device) + { + irr::IrrlichtDevice* device = unwrap_device (wrapped_device); + return wrap_timer (device->getTimer ()); + } + SCM irr_isWindowActive (SCM wrapped_device) { @@ -94,6 +104,15 @@ extern "C" { return scm_from_bool (device->run ()); } + SCM + irr_setResizable (SCM wrapped_device, + SCM resize) + { + irr::IrrlichtDevice* device = unwrap_device (wrapped_device); + device->setResizable (scm_to_bool (resize)); + return SCM_UNSPECIFIED; + } + SCM irr_setWindowCaption (SCM wrapped_device, SCM text)