Minetest 5.9.0-dev
 
Loading...
Searching...
No Matches
l_camera.h
Go to the documentation of this file.
1/*
2Minetest
3Copyright (C) 2013-2017 celeron55, Perttu Ahola <celeron55@gmail.com>
4
5This program is free software; you can redistribute it and/or modify
6it under the terms of the GNU Lesser General Public License as published by
7the Free Software Foundation; either version 2.1 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU Lesser General Public License for more details.
14
15You should have received a copy of the GNU Lesser General Public License along
16with this program; if not, write to the Free Software Foundation, Inc.,
1751 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18*/
19
20#pragma once
21
22#include "l_base.h"
23
24class Camera;
25
26class LuaCamera : public ModApiBase
27{
28private:
29 static const luaL_Reg methods[];
30
31 // garbage collector
32 static int gc_object(lua_State *L);
33
34 static int l_set_camera_mode(lua_State *L);
35 static int l_get_camera_mode(lua_State *L);
36
37 static int l_get_fov(lua_State *L);
38
39 static int l_get_pos(lua_State *L);
40 static int l_get_offset(lua_State *L);
41 static int l_get_look_dir(lua_State *L);
42 static int l_get_look_vertical(lua_State *L);
43 static int l_get_look_horizontal(lua_State *L);
44 static int l_get_aspect_ratio(lua_State *L);
45
46 static Camera *getobject(LuaCamera *ref);
47 static Camera *getobject(lua_State *L, int narg);
48
49 Camera *m_camera = nullptr;
50
51public:
52 LuaCamera(Camera *m);
53 ~LuaCamera() = default;
54
55 static void create(lua_State *L, Camera *m);
56
57 static void Register(lua_State *L);
58
59 static const char className[];
60};
Definition: camera.h:83
Definition: l_camera.h:27
static int l_get_look_dir(lua_State *L)
Definition: l_camera.cpp:125
static int l_get_look_vertical(lua_State *L)
Definition: l_camera.cpp:148
static int l_set_camera_mode(lua_State *L)
Definition: l_camera.cpp:55
static int gc_object(lua_State *L)
Definition: l_camera.cpp:180
static int l_get_aspect_ratio(lua_State *L)
Definition: l_camera.cpp:158
~LuaCamera()=default
static int l_get_pos(lua_State *L)
Definition: l_camera.cpp:104
static const luaL_Reg methods[]
Definition: l_camera.h:29
static const char className[]
Definition: l_camera.h:59
static int l_get_offset(lua_State *L)
Definition: l_camera.cpp:115
static void create(lua_State *L, Camera *m)
Definition: l_camera.cpp:32
static int l_get_fov(lua_State *L)
Definition: l_camera.cpp:85
Camera * m_camera
Definition: l_camera.h:49
static int l_get_camera_mode(lua_State *L)
Definition: l_camera.cpp:73
static int l_get_look_horizontal(lua_State *L)
Definition: l_camera.cpp:137
static Camera * getobject(LuaCamera *ref)
Definition: l_camera.cpp:168
Definition: l_base.h:43