]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - irrlicht.i
Use SWIG for wrapping C++
[guile-irrlicht.git] / irrlicht.i
diff --git a/irrlicht.i b/irrlicht.i
new file mode 100644 (file)
index 0000000..fad8138
--- /dev/null
@@ -0,0 +1,40 @@
+%module irrlicht
+%{
+#include <irrlicht/irrlicht.h>
+using namespace irr;
+using namespace core;
+using namespace scene;
+using namespace video;
+using namespace io;
+using namespace gui;
+%}
+
+typedef int s32;
+typedef unsigned int u32;
+typedef float f32;
+typedef double f64;
+
+%rename(add) operator+;
+%rename(substract) operator-;
+%rename(product) operator*;
+%rename(divide) operator/;
+%rename(equal) operator==;
+%ignore operator+=;
+%ignore operator-=;
+%ignore operator*=;
+%ignore operator/=;
+%ignore operator!=;
+
+%include dimension2d.h
+%template(dimension2df) irr::core::dimension2d<irr::f32>;
+%template(dimension2ds) irr::core::dimension2d<irr::s32>;
+%template(dimension2du) irr::core::dimension2d<irr::u32>;
+
+%rename("%(undercase)s", %$not %$isconstant, %$not %$isenumitem) "";
+%feature("constasvar");
+
+%include EDriverTypes.h
+%include IrrCompileConfig.h
+%include irrlicht.h
+
+%scheme %{ (load-extension "libguile-irrlicht" "scm_init_irrlicht_module") %}