Scarab
A thin, game-agnostic 2D engine host built on the sunlight tile-map engine
Loading...
Searching...
No Matches
luaappapi.h
Go to the documentation of this file.
1/*
2 * Copyright (c) since 2021 by PopolonY2k and Leidson Campos A. Ferreira
3 *
4 * This software is provided 'as-is', without any express or implied
5 * warranty. In no event will the authors be held liable for any damages
6 * arising from the use of this software.
7 *
8 * Permission is granted to anyone to use this software for any purpose,
9 * including commercial applications, and to alter it and redistribute it
10 * freely, subject to the following restrictions:
11 *
12 * 1. The origin of this software must not be misrepresented; you must not
13 * claim that you wrote the original software. If you use this software
14 * in a product, an acknowledgment in the product documentation would be
15 * appreciated but is not required.
16 * 2. Altered source versions must be plainly marked as such, and must not be
17 * misrepresented as being the original software.
18 * 3. This notice may not be removed or altered from any source distribution.
19 */
20
21#ifndef __LUAAPPAPI_H__
22#define __LUAAPPAPI_H__
23
24extern "C"
25{
26 #include "lua.h"
27}
28
29
30namespace Scarab {
31 namespace Engine {
32 namespace Lua {
44 class LuaAppApi {
45
46 static int SetAppName( lua_State *pLuaState );
47 static int ScreenFade( lua_State *pLuaState );
48 static int SetFullscreen( lua_State *pLuaState );
49 static int GetFullscreen( lua_State *pLuaState );
50 static int SetTargetFps( lua_State *pLuaState );
51 static int GetTargetFps( lua_State *pLuaState );
52 static int SetDrawFps( lua_State *pLuaState );
53 static int GetDrawFps( lua_State *pLuaState );
54 static int SetWindowResizeable( lua_State *pLuaState );
55 static int GetWindowResizeable( lua_State *pLuaState );
56 static int SetStretchToFill( lua_State *pLuaState );
57 static int GetStretchToFill( lua_State *pLuaState );
58 static int DrawFilledRectangle( lua_State *pLuaState );
59 static int GetPlatform( lua_State *pLuaState );
60 static int Quit( lua_State *pLuaState );
61 static int SetExitKey( lua_State *pLuaState );
62 static int GetExitKey( lua_State *pLuaState );
63 static int GetTime( lua_State *pLuaState );
64 static int VirtualOsTime( lua_State *pLuaState );
65 static int VirtualOsClock( lua_State *pLuaState );
66
67 static void RegisterEnums( lua_State *pLuaState );
68
69 public:
70
83 enum Platform {
87 PLATFORM_UNKNOWN = 3 // compiled on something other than the three platforms above
88 };
89
90 static void Register( lua_State *pLuaState );
91 static void InstallVirtualClock( lua_State *pLuaState );
92 };
93 }
94 }
95}
96
97#endif /* __LUAAPPAPI_H__ */
Application-level Lua primitives - concerns that belong to the running app/game itself,...
Definition luaappapi.h:44
static void Register(lua_State *pLuaState)
Register the application-level Lua-callable functions.
Definition luaappapi.cpp:758
static void InstallVirtualClock(lua_State *pLuaState)
Headless (–headless) only: replace Lua's own os.time()/os.clock() with versions that read the null re...
Definition luaappapi.cpp:694
Platform
Host platform Scarab itself was compiled for, exposed to Lua via app_get_platform() as PLATFORM_* glo...
Definition luaappapi.h:83
@ PLATFORM_MACOS
Definition luaappapi.h:85
@ PLATFORM_LINUX
Definition luaappapi.h:86
@ PLATFORM_UNKNOWN
Definition luaappapi.h:87
@ PLATFORM_WINDOWS
Definition luaappapi.h:84
Definition irendererprovider.h:32