From 4e7b696730d0cc08151d5037b9e2a2b51abee422 Mon Sep 17 00:00:00 2001 From: emb <> Date: Tue, 17 Nov 2015 21:15:56 -0600 Subject: [PATCH] Added LUA log comments APIs --- RetroFE/Source/CMakeLists.txt | 2 + RetroFE/Source/Lua/LuaLog.cpp | 48 ++++++++++++++++++++++ RetroFE/Source/RetroFE.cpp | 76 +++++++++-------------------------- RetroFE/Source/RetroFE.h | 2 + 4 files changed, 72 insertions(+), 56 deletions(-) create mode 100644 RetroFE/Source/Lua/LuaLog.cpp diff --git a/RetroFE/Source/CMakeLists.txt b/RetroFE/Source/CMakeLists.txt index 22b2ff1..f5284c8 100644 --- a/RetroFE/Source/CMakeLists.txt +++ b/RetroFE/Source/CMakeLists.txt @@ -99,6 +99,7 @@ set(RETROFE_HEADERS "${RETROFE_DIR}/Source/Lua/Lua.h" "${RETROFE_DIR}/Source/Lua/LuaDisplay.h" "${RETROFE_DIR}/Source/Lua/LuaImage.h" + "${RETROFE_DIR}/Source/Lua/LuaLog.h" "${RETROFE_DIR}/Source/RetroFE.h" "${RETROFE_DIR}/Source/SDL.h" "${RETROFE_DIR}/Source/Version.h" @@ -114,6 +115,7 @@ set(RETROFE_SOURCES "${RETROFE_DIR}/Source/Lua/Lua.cpp" "${RETROFE_DIR}/Source/Lua/LuaDisplay.cpp" "${RETROFE_DIR}/Source/Lua/LuaImage.cpp" + "${RETROFE_DIR}/Source/Lua/LuaLog.cpp" "${RETROFE_DIR}/Source/Main.cpp" "${RETROFE_DIR}/Source/RetroFE.cpp" "${RETROFE_DIR}/Source/SDL.cpp" diff --git a/RetroFE/Source/Lua/LuaLog.cpp b/RetroFE/Source/Lua/LuaLog.cpp new file mode 100644 index 0000000..90534db --- /dev/null +++ b/RetroFE/Source/Lua/LuaLog.cpp @@ -0,0 +1,48 @@ +#include "LuaLog.h" +#include "../Utility/Log.h" +#include + +int LuaLog::debug(lua_State *l) +{ + std::string message = luaL_checkstring(l, 1); + + Logger::write(Logger::ZONE_DEBUG, "Script", message); + + return 0; +} + +int LuaLog::info(lua_State *l) +{ + std::string message = luaL_checkstring(l, 1); + + Logger::write(Logger::ZONE_INFO, "Script", message); + + return 0; +} + +int LuaLog::warning(lua_State *l) +{ + std::string message = luaL_checkstring(l, 1); + + Logger::write(Logger::ZONE_WARNING, "Script", message); + + return 0; +} + +int LuaLog::notice(lua_State *l) +{ + std::string message = luaL_checkstring(l, 1); + + Logger::write(Logger::ZONE_NOTICE, "Script", message); + + return 0; +} + +int LuaLog::error(lua_State *l) +{ + std::string message = luaL_checkstring(l, 1); + + Logger::write(Logger::ZONE_ERROR, "Script", message); + + return 0; +} \ No newline at end of file diff --git a/RetroFE/Source/RetroFE.cpp b/RetroFE/Source/RetroFE.cpp index 6fceb98..9d90ab8 100644 --- a/RetroFE/Source/RetroFE.cpp +++ b/RetroFE/Source/RetroFE.cpp @@ -22,6 +22,7 @@ #include "Graphics/Component/Component.h" #include "Lua/LuaDisplay.h" #include "Lua/LuaImage.h" +#include "Lua/LuaLog.h" #include #ifdef __linux @@ -47,57 +48,6 @@ static int lua_registerOnInit(lua_State *l) return 0; } #if 0 -Image *i = NULL; -static int lua_imageCreate(lua_State *l) -{ - std::string filename = lua_tostring(l, 1); - i = new Image(filename); - i->Initialize(); - lua_pushinteger(l, (int)i); - components[i] = i; - return 1; -} - -static int lua_imageDelete(lua_State *l) -{ - Image *i = (Image *)lua_tointeger(l, 1); - if(components.find(i) != components.end()) { - components.erase(i); - } - i->deInitialize(); - delete i; - return 0; -} - -static int lua_imageSetSize(lua_State *l) -{ - Image *i = (Image *)lua_tointeger(l, 1); - i->info.width = (int)lua_tointeger(l, 2); - i->info.height = (int)lua_tointeger(l, 3); - return 0; -} - -static int lua_imageSetPosition(lua_State *l) -{ - Image *i = (Image *)lua_tointeger(l, 1); - i->info.x = (int)lua_tointeger(l, 2); - i->info.y = (int)lua_tointeger(l, 3); - return 0; -} - -static int lua_imageSetRotate(lua_State *l) -{ - Image *i = (Image *)lua_tointeger(l, 1); - i->info.rotate = (float)lua_tonumber(l, 2); - return 0; -} -static int lua_imageSetAlpha(lua_State *l) -{ - Image *i = (Image *)lua_tointeger(l, 1); - i->info.alpha = (float)lua_tonumber(l, 2); - return 0; -} - static int lua_imageAnimate(lua_State *l) { Image *i = (Image *)lua_tointeger(l, 1); @@ -142,7 +92,7 @@ static int lua_imageAddAnimation(lua_State *l) } #endif -static const luaL_Reg luaImageFuncs[] = { +const luaL_Reg RetroFE::luaImageFuncs[] = { // Creation {"create", LuaImage::create}, {"loadFile", LuaImage::loadFile}, @@ -184,6 +134,14 @@ const luaL_Reg RetroFE::luaDisplayFuncs[] = { {NULL, NULL} }; +const luaL_Reg RetroFE::luaLogFuncs[] = { + {"debug", LuaLog::debug}, + {"info", LuaLog::info}, + {"notice", LuaLog::notice}, + {"warning", LuaLog::warning}, + {"error", LuaLog::error}, + {NULL, NULL} +}; void RetroFE::initializeLua() { @@ -192,18 +150,24 @@ void RetroFE::initializeLua() lua_newtable(lua_.state); luaL_setfuncs (lua_.state, luaDisplayFuncs, 0); - lua_pushvalue(lua_.state,-1); + lua_pushvalue(lua_.state, -1); lua_setglobal(lua_.state, "display"); lua_newtable(lua_.state); luaL_setfuncs (lua_.state, luaImageFuncs, 0); - lua_pushvalue(lua_.state,-1); + lua_pushvalue(lua_.state, -1); lua_setglobal(lua_.state, "image"); + + lua_newtable(lua_.state); + luaL_setfuncs (lua_.state, luaLogFuncs, 0); + lua_pushvalue(lua_.state, -1); + lua_setglobal(lua_.state, "log"); + } void RetroFE::reloadLuaScripts() { - std::string path = config_.absolutePath + "layouts/LUATest/Page.lua"; + std::string path = config_.absolutePath + "/layouts/LUATest/Page.lua"; luaL_loadfile(lua_.state, path.c_str()); lua_pcall(lua_.state, 0, LUA_MULTRET, 0); } @@ -273,4 +237,4 @@ void RetroFE::run() } -} +} \ No newline at end of file diff --git a/RetroFE/Source/RetroFE.h b/RetroFE/Source/RetroFE.h index 9000823..43cba46 100644 --- a/RetroFE/Source/RetroFE.h +++ b/RetroFE/Source/RetroFE.h @@ -34,4 +34,6 @@ private: Configuration &config_; Lua lua_; static const luaL_Reg luaDisplayFuncs[]; + static const luaL_Reg luaLogFuncs[]; + static const luaL_Reg luaImageFuncs[]; };