diff options
author | bigfoot547 <bigfoot547@users.noreply.github.com> | 2017-05-05 15:07:36 -0500 |
---|---|---|
committer | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-05-05 22:07:36 +0200 |
commit | de028fc056b26e03ee00324888f870f64e28c756 (patch) | |
tree | ba0bdcc2bf2b94bf321aad7a38311c778f6f7606 /src/script/lua_api/l_camera.h | |
parent | e8b00fdf987e9c689f3dbf9c22c0a6269250c3b5 (diff) | |
download | minetest-de028fc056b26e03ee00324888f870f64e28c756.tar.gz minetest-de028fc056b26e03ee00324888f870f64e28c756.tar.bz2 minetest-de028fc056b26e03ee00324888f870f64e28c756.zip |
[CSM] Add camera API (#5609)
* [CSM] Add camera API
roper rebase & squash
* Address nerzhul's review
Diffstat (limited to 'src/script/lua_api/l_camera.h')
-rw-r--r-- | src/script/lua_api/l_camera.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/script/lua_api/l_camera.h b/src/script/lua_api/l_camera.h new file mode 100644 index 000000000..82ab6a47f --- /dev/null +++ b/src/script/lua_api/l_camera.h @@ -0,0 +1,46 @@ +#ifndef L_CAMERA_H +#define L_CAMERA_H + +#include "l_base.h" + +class Camera; + +class LuaCamera : public ModApiBase { +private: + + static const char className[]; + static const luaL_Reg methods[]; + + // garbage collector + static int gc_object(lua_State *L); + + static int l_set_camera_mode(lua_State *L); + static int l_get_camera_mode(lua_State *L); + + static int l_get_fov(lua_State *L); + + static int l_get_pos(lua_State *L); + static int l_get_offset(lua_State *L); + static int l_get_look_dir(lua_State *L); + static int l_get_look_vertical(lua_State *L); + static int l_get_look_horizontal(lua_State *L); + static int l_get_aspect_ratio(lua_State *L); + + Camera *m_camera; + +public: + + LuaCamera(Camera *m); + ~LuaCamera() {} + + static void create(lua_State *L, Camera *m); + + static LuaCamera *checkobject(lua_State *L, int narg); + static Camera *getobject(LuaCamera *ref); + static Camera *getobject(lua_State *L, int narg); + + static void Register(lua_State *L); + +}; + +#endif // L_CAMERA_H |