X-Git-Url: https://git.jsancho.org/?p=guile-irrlicht.git;a=blobdiff_plain;f=irrlicht.i;fp=irrlicht.i;h=8e90421e492b0d877fa4f777b2803e6a54bb8e18;hp=40acea193201dd5ee015b388d384c5120c481049;hb=7a8bf944735c240977443b32e33d54c81dbeba29;hpb=3b7aef4a6faa68a67d3c8f1f355a169a42c8651e diff --git a/irrlicht.i b/irrlicht.i index 40acea1..8e90421 100644 --- a/irrlicht.i +++ b/irrlicht.i @@ -31,11 +31,57 @@ using namespace io; using namespace gui; %} +%typecheck(SWIG_TYPECHECK_POINTER) const IRR_CHAR_TYPE & +{ + $1 = scm_is_string ($input); +} +%typemap(in) const IRR_CHAR_TYPE & +{ + $1 = ($ltype) scm_to_utf8_string ($input); +} +%typemap(freearg) const IRR_CHAR_TYPE & +{ + free ($1); +} + +%typecheck(SWIG_TYPECHECK_POINTER) const IRR_WCHAR_TYPE & +{ + $1 = scm_is_string ($input); +} +%typemap(in) const IRR_WCHAR_TYPE & +{ + $1 = ($ltype) scm_to_utf32_string ($input); +} +%typemap(freearg) const IRR_WCHAR_TYPE & +{ + free ($1); +} + +%typecheck(SWIG_TYPECHECK_POINTER) const IRR_IO_PATH & +{ + $1 = scm_is_string ($input); +} +%typemap(in) const IRR_IO_PATH & +{ + $1 = new $*1_ltype (scm_to_utf8_string ($input)); +} +%typemap(freearg) const IRR_IO_PATH & +{ + delete $1; +} + +%include irrString.h +%apply const IRR_CHAR_TYPE & { const irr::core::stringc & }; +%apply const IRR_WCHAR_TYPE & { const wchar_t *, const irr::core::stringw & }; +%apply const IRR_IO_PATH & { const irr::io::path &, const path &, irr::io::path &, path & }; + typedef int s32; typedef unsigned int u32; typedef float f32; typedef double f64; +#define _IRR_DEPRECATED_ + %rename(add) operator+; %rename(substract) operator-; %rename(product) operator*; @@ -49,14 +95,67 @@ typedef double f64; %include dimension2d.h %template(dimension2df) irr::core::dimension2d; -%template(dimension2ds) irr::core::dimension2d; %template(dimension2du) irr::core::dimension2d; +%template(dimension2di) irr::core::dimension2d; + +%include rect.h +%template(rectf) irr::core::rect; +%template(recti) irr::core::rect; + +%include vector3d.h +%template(vector3df) irr::core::vector3d; +%template(vector3di) irr::core::vector3d; %rename("%(undercase)s", %$not %$isconstant, %$not %$isenumitem) ""; %feature("constasvar"); %include EDriverTypes.h +%include EMaterialFlags.h %include IrrCompileConfig.h + +%rename("%(regex:/(.*)SColor(.*)/\\1s_color\\2/)s") ""; +%rename(get_color_alpha) irr::video::SColor::getAlpha; +%rename(get_color_red) irr::video::SColor::getRed; +%rename(get_color_green) irr::video::SColor::getGreen; +%rename(get_color_blue) irr::video::SColor::getBlue; +%rename(get_color_average) irr::video::SColor::getAverage; +%rename(get_colorf_alpha) irr::video::SColorf::getAlpha; +%rename(get_colorf_red) irr::video::SColorf::getRed; +%rename(get_colorf_green) irr::video::SColorf::getGreen; +%rename(get_colorf_blue) irr::video::SColorf::getBlue; +%rename(get_colorf_average) irr::video::SColorf::getAverage; +%include SColor.h + +%rename("%(regex:/(.*)IAnimatedMesh(.*)/\\1animated_mesh\\2/)s") ""; +%rename (set_md2_animation) setMD2Animation; +%include IAnimatedMesh.h +%include IAnimatedMeshMD2.h +%include SAnimatedMesh.h + +%rename("%(regex:/(.*)ISceneNode(.*)/\\1scene_node\\2/)s") ""; +%include ISceneNode.h + +%rename("%(regex:/(.*)IAnimatedMeshSceneNode(.*)/\\1animated_mesh_scene_node\\2/)s") ""; +%include IAnimatedMeshSceneNode.h + +%rename("%(regex:/(.*)IGUIStaticText(.*)/\\1gui_static_text\\2/)s") ""; +%include IGUIStaticText.h + +%rename(get_gui_environment) getGUIEnvironment; +%rename("%(regex:/(.*)IGUIEnvironment(.*)/\\1gui_environment\\2/)s") ""; +%include IGUIEnvironment.h + +%rename("%(regex:/(.*)ISceneManager(.*)/\\1scene_manager\\2/)s") ""; +%include ISceneManager.h + +%ignore irr::video::IVideoDriver::createImage; +%rename(apply_material) apply; +%rename("%(regex:/(.*)IVideoDriver(.*)/\\1video_driver\\2/)s") ""; +%include IVideoDriver.h + +%rename(yield_device) yield; +%rename(sleep_device) sleep; +%include IrrlichtDevice.h %include irrlicht.h %scheme %{ (load-extension "libguile-irrlicht" "scm_init_irrlicht_module") %}