diff --git a/RetroFE/Source/Lua.cpp b/RetroFE/Source/Lua/Lua.cpp similarity index 100% rename from RetroFE/Source/Lua.cpp rename to RetroFE/Source/Lua/Lua.cpp diff --git a/RetroFE/Source/Lua.h b/RetroFE/Source/Lua/Lua.h similarity index 100% rename from RetroFE/Source/Lua.h rename to RetroFE/Source/Lua/Lua.h diff --git a/RetroFE/Source/Lua/LuaDisplay.h b/RetroFE/Source/Lua/LuaDisplay.h new file mode 100644 index 0000000..d338f90 --- /dev/null +++ b/RetroFE/Source/Lua/LuaDisplay.h @@ -0,0 +1,13 @@ +#pragma once + +#include "Lua.h" + +namespace LuaDisplay +{ + int getDimensions(lua_State *l); + int getWidth(lua_State *l); + int getHeight(lua_State *l); + int getCenter(lua_State *l); + int isFullscreen(lua_State *l); + +}; diff --git a/RetroFE/Source/Lua/LuaImage.cpp b/RetroFE/Source/Lua/LuaImage.cpp new file mode 100644 index 0000000..389cffd --- /dev/null +++ b/RetroFE/Source/Lua/LuaImage.cpp @@ -0,0 +1,333 @@ +#include "LuaImage.h" +#include "../Utility/Log.h" +#include "../Graphics/Component/Image.h" + + +int LuaImage::create(lua_State *l) +{ + Image *i = new Image(); + + lua_pushinteger(l, (int)i); + + return 1; +} + +int LuaImage::destroy(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + delete i; + + return 0; +} + +int LuaImage::loadFile(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + std::string file = luaL_checkstring(l, 2); + + bool result = i->load(file); + lua_pushboolean(l, result); + + return 1; +} + +#if 0 +int LuaImage::loadType(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + stdL::string type = luaL_checkstring(l, 2); + stdL::string item = luaL_checkstring(l, 3); + + bool result = i->loadType(type, item); + lua_pushboolean(l, result); + + return 2; +} + + +int LuaImage::isLoaded(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushboolean(l, i->isLoaded()); + + return 1; +} + + +int LuaImage::unload(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + i->unload(); + + return 0; +} + + +int LuaImage::getOriginalWidth(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushnumber(l, i->getOriginalWidth()); + + return 1; +} + + +int LuaImage::getOriginalHeight(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushnumber(l, i->getOriginalHeight()); + + return 1; +} + + +int LuaImage::getOriginalDimensions(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushnumber(l, i->getOriginalWidth()); + lua_pushnumber(l, i->getOriginalHeight()); + + return 2; +} + + +int LuaImage::getX(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushnumber(l, i->info.x); + + return 1; +} + + +int LuaImage::getY(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushnumber(l, i->info.y); + + return 1; +} + + +int LuaImage::getPosition(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushnumber(l, i->info.x); + lua_pushnumber(l, i->info.y); + + return 2; +} + + +int LuaImage::getWidth(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushnumber(l, i->info.width); + + return 1; +} + + +int LuaImage::getHeight(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushnumber(l, i->info.height); + + return 1; +} + + +int LuaImage::getDimensions(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushnumber(l, i->info.width); + lua_pushnumber(l, i->info.height); + + return 2; +} + + +int LuaImage::getRotate(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushnumber(l, i->info.rotate); + + return 1; +} + + +int LuaImage::getAlpha(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushnumber(l, i->info.alpha); + + return 1; +} + + +int LuaImage::getVisible(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushboolean(l, i->info.visible); + + return 1; +} + + +int LuaImage::getHidden(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushboolean(l, !i->info.visible); + + return 1; +} + + +int LuaImage::getLayer(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + + lua_pushnumberl, !i->info.layer); + + return 1; +} + +int LuaImage::setX(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + int val = luaL_checknumber(l, 2); + + i->info.x = val; + + return 0; +} + + +int LuaImage::setY(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + int val = luaL_checknumber(l, 2); + + i->info.y = val; + + return 0; +} + + +int LuaImage::setPosition(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + int x = luaL_checknumber(l, 2); + int y = luaL_checknumber(l, 3); + + i->info.x = x; + i->info.y = y; + + return 0; +} + + +int LuaImage::setWidth(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + int val = luaL_checknumber(l, 2); + + i->info.width = val; + + return 0; +} + + +int LuaImage::setHeight(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + int val = luaL_checknumber(l, 2); + + i->info.height = val; + + return 0; +} + + +int LuaImage::setDimensions(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + int w = luaL_checknumber(l, 2); + int h = luaL_checknumber(l, 3); + + i->info.width = w; + i->info.height = h; + + return 0; +} + + +int LuaImage::setRotate(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + float val = luaL_checknumber(l, 2); + + i->info.rotate = val; + + return 0; +} + + +int LuaImage::setAlpha(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + float val = luaL_checknumber(l, 2); + + i->info.alpha = val; + + return 0; +} + + +int LuaImage::setVisible(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + bool val = luaL_checkboolean(l, 2); + + i->info.visible = val; + + return 0; +} + + +int LuaImage::setHidden(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + bool val = luaL_checkboolean(l, 2); + + i->info.visible = !val; + + return 0; +} + + +int LuaImage::setLayer(lua_State *l) +{ + Image *i = (Image *)luaL_checkinteger(l, 1); + int val = luaL_checknumber(l, 2); + + i->info.layer = val; + + return 0; +} + +#endif \ No newline at end of file diff --git a/RetroFE/Source/Lua/LuaImage.h b/RetroFE/Source/Lua/LuaImage.h new file mode 100644 index 0000000..68fa94a --- /dev/null +++ b/RetroFE/Source/Lua/LuaImage.h @@ -0,0 +1,40 @@ +#pragma once + +#include "Lua.h" + +namespace LuaImage +{ + int create(lua_State *l); + int destroy(lua_State *l); + int loadFile(lua_State *l); + int loadType(lua_State *l); + int isLoaded(lua_State *l); + int unload(lua_State *l); + int getOriginalWidth(lua_State *l); + int getOriginalHeight(lua_State *l); + int getOriginalDimensions(lua_State *l); + int getX(lua_State *l); + int getY(lua_State *l); + int getPosition(lua_State *l); + int getWidth(lua_State *l); + int getHeight(lua_State *l); + int getDimensions(lua_State *l); + int getRotate(lua_State *l); + int getAlpha(lua_State *l); + int getVisible(lua_State *l); + int getHidden(lua_State *l); + int getLayer(lua_State *l); + int getHeight(lua_State *l); + int setX(lua_State *l); + int setY(lua_State *l); + int setPosition(lua_State *l); + int setWidth(lua_State *l); + int setHeight(lua_State *l); + int setDimensions(lua_State *l); + int setRotate(lua_State *l); + int setAlpha(lua_State *l); + int setVisible(lua_State *l); + int setHidden(lua_State *l); + int setLayer(lua_State *l); + int setHeight(lua_State *l); +};