1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00
luanti/src/script/lua_api/l_camera.h

46 lines
1,015 B
C
Raw Normal View History

// Luanti
// SPDX-License-Identifier: LGPL-2.1-or-later
// Copyright (C) 2013-2017 celeron55, Perttu Ahola <celeron55@gmail.com>
#pragma once
#include "l_base.h"
class Camera;
2017-05-06 21:30:27 +02:00
class LuaCamera : public ModApiBase
{
private:
static const luaL_Reg methods[];
2017-05-06 21:30:27 +02:00
// garbage collector
static int gc_object(lua_State *L);
2017-05-06 21:30:27 +02:00
static int l_set_camera_mode(lua_State *L);
static int l_get_camera_mode(lua_State *L);
2017-05-06 21:30:27 +02:00
static int l_get_fov(lua_State *L);
2017-05-06 21:30:27 +02:00
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);
2017-05-06 21:30:27 +02:00
static Camera *getobject(LuaCamera *ref);
static Camera *getobject(lua_State *L, int narg);
Camera *m_camera = nullptr;
2017-05-06 21:30:27 +02:00
public:
LuaCamera(Camera *m);
~LuaCamera() = default;
2017-05-06 21:30:27 +02:00
static void create(lua_State *L, Camera *m);
2017-05-06 21:30:27 +02:00
static void Register(lua_State *L);
static const char className[];
};