]> git.lizzy.rs Git - dragonfireclient.git/blob - src/script/lua_api/l_camera.h
Private nodemeta (#5702)
[dragonfireclient.git] / src / script / lua_api / l_camera.h
1 #ifndef L_CAMERA_H
2 #define L_CAMERA_H
3
4 #include "l_base.h"
5
6 class Camera;
7
8 class LuaCamera : public ModApiBase
9 {
10 private:
11         static const char className[];
12         static const luaL_Reg methods[];
13
14         // garbage collector
15         static int gc_object(lua_State *L);
16
17         static int l_set_camera_mode(lua_State *L);
18         static int l_get_camera_mode(lua_State *L);
19
20         static int l_get_fov(lua_State *L);
21
22         static int l_get_pos(lua_State *L);
23         static int l_get_offset(lua_State *L);
24         static int l_get_look_dir(lua_State *L);
25         static int l_get_look_vertical(lua_State *L);
26         static int l_get_look_horizontal(lua_State *L);
27         static int l_get_aspect_ratio(lua_State *L);
28
29         Camera *m_camera;
30
31 public:
32         LuaCamera(Camera *m);
33         ~LuaCamera() {}
34
35         static void create(lua_State *L, Camera *m);
36
37         static LuaCamera *checkobject(lua_State *L, int narg);
38         static Camera *getobject(LuaCamera *ref);
39         static Camera *getobject(lua_State *L, int narg);
40
41         static void Register(lua_State *L);
42 };
43
44 #endif // L_CAMERA_H