X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fguile-irrlicht.cpp;h=29fb2fbdb2961200ebe08f70e7d71698e99917e8;hb=56bdd24ab9463c0bba4d5be87b2933e6a817ccee;hp=db77dab18be67cab0fde9a936f20c6738954e92d;hpb=69ed7f57e6295034fa64ab2bf6d10da6882860ef;p=guile-irrlicht.git diff --git a/src/guile-irrlicht.cpp b/src/guile-irrlicht.cpp index db77dab..29fb2fb 100644 --- a/src/guile-irrlicht.cpp +++ b/src/guile-irrlicht.cpp @@ -31,8 +31,11 @@ #include "file-archive.h" #include "file-system.h" #include "gsubr.h" +#include "gui.h" +#include "gui-edit-box.h" #include "gui-element.h" #include "gui-environment.h" +#include "gui-image.h" #include "gui-static-text.h" #include "guile-irrlicht.h" #include "keymap.h" @@ -44,6 +47,7 @@ #include "scene-node.h" #include "scene-node-animator.h" #include "texture.h" +#include "timer.h" #include "vertex3d.h" #include "video-driver.h" #include "wchar.h" @@ -63,8 +67,11 @@ extern "C" { init_event_receiver (); init_file_archive (); init_file_system (); + init_gui (); + init_gui_edit_box (); init_gui_element (); init_gui_environment (); + init_gui_image (); init_gui_static_text (); init_keymap (); init_material (); @@ -75,6 +82,7 @@ extern "C" { init_scene_node (); init_scene_node_animator (); init_texture (); + init_timer (); init_vertex3d (); init_video_driver (); @@ -140,7 +148,9 @@ extern "C" { SCM flag, SCM newvalue) { - if (mesh_scene_node_p (wrapped_obj) || scene_node_p (wrapped_obj)) + if (animated_mesh_scene_node_p (wrapped_obj) || + mesh_scene_node_p (wrapped_obj) || + scene_node_p (wrapped_obj)) { return irr_scene_ISceneNode_setMaterialFlag (wrapped_obj, flag, newvalue); } @@ -174,17 +184,19 @@ extern "C" { irr_setVisible (SCM wrapped_obj, SCM visible) { +#define SET_VISIBLE(OBJ) OBJ->setVisible (scm_to_bool (visible)); + if (cursor_control_p (wrapped_obj)) { - unwrap_cursor_control (wrapped_obj)->setVisible (scm_to_bool (visible)); + SET_VISIBLE (unwrap_cursor_control (wrapped_obj)); } else if (gui_element_p (wrapped_obj)) { - unwrap_gui_element (wrapped_obj)->setVisible (scm_to_bool (visible)); + SET_VISIBLE (unwrap_gui_element (wrapped_obj)); } else if (scene_node_p (wrapped_obj)) { - unwrap_scene_node (wrapped_obj)->setVisible (scm_to_bool (visible)); + SET_VISIBLE (unwrap_scene_node (wrapped_obj)); } else {