mirror of
https://github.com/FunKey-Project/RetroFE.git
synced 2026-04-02 10:16:50 +02:00
Adding lua image support.
This commit is contained in:
@@ -1,11 +1,16 @@
|
||||
#include "LuaImage.h"
|
||||
#include "../Utility/Log.h"
|
||||
#include "../Graphics/Component/Image.h"
|
||||
|
||||
ComponentFactory *factory;
|
||||
|
||||
void LuaImage::initialize(ComponentFactory &f)
|
||||
{
|
||||
factory = &f;
|
||||
}
|
||||
|
||||
int LuaImage::create(lua_State *l)
|
||||
{
|
||||
Image *i = new Image();
|
||||
Image *i = factory->createImage();
|
||||
|
||||
lua_pushinteger(l, (int)i);
|
||||
|
||||
@@ -44,7 +49,6 @@ int LuaImage::loadType(lua_State *l)
|
||||
return 2;
|
||||
}
|
||||
|
||||
|
||||
int LuaImage::isLoaded(lua_State *l)
|
||||
{
|
||||
Image *i = (Image *)luaL_checkinteger(l, 1);
|
||||
@@ -62,13 +66,16 @@ int LuaImage::unload(lua_State *l)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
int LuaImage::getOriginalWidth(lua_State *l)
|
||||
{
|
||||
Image *i = (Image *)luaL_checkinteger(l, 1);
|
||||
|
||||
lua_pushnumber(l, i->getOriginalWidth());
|
||||
int w = 0;
|
||||
int h = 0;
|
||||
|
||||
i->getOriginalDimensions(w, h);
|
||||
lua_pushnumber(l, w);
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -77,24 +84,29 @@ int LuaImage::getOriginalWidth(lua_State *l)
|
||||
int LuaImage::getOriginalHeight(lua_State *l)
|
||||
{
|
||||
Image *i = (Image *)luaL_checkinteger(l, 1);
|
||||
int w = 0;
|
||||
int h = 0;
|
||||
|
||||
i->getOriginalDimensions(w, h);
|
||||
lua_pushnumber(l, h);
|
||||
|
||||
lua_pushnumber(l, i->getOriginalHeight());
|
||||
|
||||
return 1;
|
||||
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());
|
||||
int w = 0;
|
||||
int h = 0;
|
||||
|
||||
i->getOriginalDimensions(w, h);
|
||||
lua_pushnumber(l, w);
|
||||
lua_pushnumber(l, h);
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
||||
|
||||
int LuaImage::getX(lua_State *l)
|
||||
{
|
||||
Image *i = (Image *)luaL_checkinteger(l, 1);
|
||||
@@ -125,7 +137,6 @@ int LuaImage::getPosition(lua_State *l)
|
||||
return 2;
|
||||
}
|
||||
|
||||
|
||||
int LuaImage::getWidth(lua_State *l)
|
||||
{
|
||||
Image *i = (Image *)luaL_checkinteger(l, 1);
|
||||
@@ -156,7 +167,6 @@ int LuaImage::getDimensions(lua_State *l)
|
||||
return 2;
|
||||
}
|
||||
|
||||
|
||||
int LuaImage::getRotate(lua_State *l)
|
||||
{
|
||||
Image *i = (Image *)luaL_checkinteger(l, 1);
|
||||
@@ -176,32 +186,11 @@ int LuaImage::getAlpha(lua_State *l)
|
||||
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);
|
||||
lua_pushnumber(l, !i->info.layer);
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -209,7 +198,7 @@ int LuaImage::getLayer(lua_State *l)
|
||||
int LuaImage::setX(lua_State *l)
|
||||
{
|
||||
Image *i = (Image *)luaL_checkinteger(l, 1);
|
||||
int val = luaL_checknumber(l, 2);
|
||||
int val = (int)luaL_checknumber(l, 2);
|
||||
|
||||
i->info.x = val;
|
||||
|
||||
@@ -220,7 +209,7 @@ int LuaImage::setX(lua_State *l)
|
||||
int LuaImage::setY(lua_State *l)
|
||||
{
|
||||
Image *i = (Image *)luaL_checkinteger(l, 1);
|
||||
int val = luaL_checknumber(l, 2);
|
||||
int val = (int)luaL_checknumber(l, 2);
|
||||
|
||||
i->info.y = val;
|
||||
|
||||
@@ -231,8 +220,8 @@ int LuaImage::setY(lua_State *l)
|
||||
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);
|
||||
int x = (int)luaL_checknumber(l, 2);
|
||||
int y = (int)luaL_checknumber(l, 3);
|
||||
|
||||
i->info.x = x;
|
||||
i->info.y = y;
|
||||
@@ -244,7 +233,7 @@ int LuaImage::setPosition(lua_State *l)
|
||||
int LuaImage::setWidth(lua_State *l)
|
||||
{
|
||||
Image *i = (Image *)luaL_checkinteger(l, 1);
|
||||
int val = luaL_checknumber(l, 2);
|
||||
int val = (int)luaL_checknumber(l, 2);
|
||||
|
||||
i->info.width = val;
|
||||
|
||||
@@ -255,7 +244,7 @@ int LuaImage::setWidth(lua_State *l)
|
||||
int LuaImage::setHeight(lua_State *l)
|
||||
{
|
||||
Image *i = (Image *)luaL_checkinteger(l, 1);
|
||||
int val = luaL_checknumber(l, 2);
|
||||
int val = (int)luaL_checknumber(l, 2);
|
||||
|
||||
i->info.height = val;
|
||||
|
||||
@@ -266,8 +255,8 @@ int LuaImage::setHeight(lua_State *l)
|
||||
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);
|
||||
int w = (int)luaL_checknumber(l, 2);
|
||||
int h = (int)luaL_checknumber(l, 3);
|
||||
|
||||
i->info.width = w;
|
||||
i->info.height = h;
|
||||
@@ -279,7 +268,7 @@ int LuaImage::setDimensions(lua_State *l)
|
||||
int LuaImage::setRotate(lua_State *l)
|
||||
{
|
||||
Image *i = (Image *)luaL_checkinteger(l, 1);
|
||||
float val = luaL_checknumber(l, 2);
|
||||
float val = (float)luaL_checknumber(l, 2);
|
||||
|
||||
i->info.rotate = val;
|
||||
|
||||
@@ -290,44 +279,19 @@ int LuaImage::setRotate(lua_State *l)
|
||||
int LuaImage::setAlpha(lua_State *l)
|
||||
{
|
||||
Image *i = (Image *)luaL_checkinteger(l, 1);
|
||||
float val = luaL_checknumber(l, 2);
|
||||
float val = (float)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);
|
||||
int val = (int)luaL_checknumber(l, 2);
|
||||
|
||||
i->info.layer = val;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user