Merged default into minor

--HG--
branch : minor
This commit is contained in:
Alex Szpakowski
2014-06-05 03:02:50 -03:00
68 changed files with 1439 additions and 524 deletions
+1 -1
View File
@@ -87,7 +87,7 @@ CompressedData::Format CompressedData::getFormat() const
void CompressedData::checkMipmapLevelExists(int miplevel) const
{
if (miplevel < 0 || miplevel >= (int) dataImages.size())
throw love::Exception("Mipmap level %d does not exist", miplevel);
throw love::Exception("Mipmap level %d does not exist", miplevel + 1);
}
bool CompressedData::getConstant(const char *in, CompressedData::Format &out)
+7 -6
View File
@@ -37,7 +37,7 @@ int w_CompressedData_getWidth(lua_State *L)
int miplevel = luaL_optinteger(L, 2, 1);
int width = 0;
EXCEPT_GUARD(width = t->getWidth(miplevel >= 1 ? miplevel - 1 : 0);)
luax_catchexcept(L, [&](){ width = t->getWidth(miplevel - 1); });
lua_pushinteger(L, width);
return 1;
@@ -49,7 +49,7 @@ int w_CompressedData_getHeight(lua_State *L)
int miplevel = luaL_optinteger(L, 2, 1);
int height = 0;
EXCEPT_GUARD(height = t->getHeight(miplevel >= 1 ? miplevel - 1 : 0);)
luax_catchexcept(L, [&](){ height = t->getHeight(miplevel - 1); });
lua_pushinteger(L, height);
return 1;
@@ -61,10 +61,11 @@ int w_CompressedData_getDimensions(lua_State *L)
int miplevel = luaL_optinteger(L, 2, 1);
int width = 0, height = 0;
EXCEPT_GUARD(
width = t->getWidth(miplevel >= 1 ? miplevel - 1 : 0);
height = t->getHeight(miplevel >= 1 ? miplevel - 1 : 0);
)
luax_catchexcept(L, [&]()
{
width = t->getWidth(miplevel - 1);
height = t->getHeight(miplevel - 1);
});
lua_pushinteger(L, width);
lua_pushinteger(L, height);
+22 -28
View File
@@ -25,12 +25,14 @@
#include "magpie/Image.h"
#include "filesystem/wrap_Filesystem.h"
namespace love
{
namespace image
{
static Image *instance = 0;
static Image *instance = nullptr;
int w_newImageData(lua_State *L)
{
@@ -42,23 +44,21 @@ int w_newImageData(lua_State *L)
if (w <= 0 || h <= 0)
return luaL_error(L, "Invalid image size.");
ImageData *t = 0;
EXCEPT_GUARD(t = instance->newImageData(w, h);)
ImageData *t = nullptr;
luax_catchexcept(L, [&](){ t = instance->newImageData(w, h); });
luax_pushtype(L, "ImageData", IMAGE_IMAGE_DATA_T, t);
return 1;
}
// Case 2: File(Data).
love::filesystem::FileData *data = love::filesystem::luax_getfiledata(L, 1);
// Convert to FileData, if necessary.
if (lua_isstring(L, 1) || luax_istype(L, 1, FILESYSTEM_FILE_T))
luax_convobj(L, 1, "filesystem", "newFileData");
love::filesystem::FileData *data = luax_checktype<love::filesystem::FileData>(L, 1, "FileData", FILESYSTEM_FILE_DATA_T);
ImageData *t = 0;
EXCEPT_GUARD(t = instance->newImageData(data);)
ImageData *t = nullptr;
luax_catchexcept(L,
[&]() { t = instance->newImageData(data); },
[&]() { data->release(); }
);
luax_pushtype(L, "ImageData", IMAGE_IMAGE_DATA_T, t);
return 1;
@@ -66,14 +66,13 @@ int w_newImageData(lua_State *L)
int w_newCompressedData(lua_State *L)
{
// Convert to FileData, if necessary.
if (lua_isstring(L, 1) || luax_istype(L, 1, FILESYSTEM_FILE_T))
luax_convobj(L, 1, "filesystem", "newFileData");
love::filesystem::FileData *data = love::filesystem::luax_getfiledata(L, 1);
love::filesystem::FileData *data = luax_checktype<love::filesystem::FileData>(L, 1, "FileData", FILESYSTEM_FILE_DATA_T);
CompressedData *t = 0;
EXCEPT_GUARD(t = instance->newCompressedData(data);)
CompressedData *t = nullptr;
luax_catchexcept(L,
[&]() { t = instance->newCompressedData(data); },
[&]() { data->release(); }
);
luax_pushtype(L, "CompressedData", IMAGE_COMPRESSED_DATA_T, t);
return 1;
@@ -81,14 +80,9 @@ int w_newCompressedData(lua_State *L)
int w_isCompressed(lua_State *L)
{
// Convert to FileData, if necessary.
if (lua_isstring(L, 1) || luax_istype(L, 1, FILESYSTEM_FILE_T))
luax_convobj(L, 1, "filesystem", "newFileData");
love::filesystem::FileData *data = luax_checktype<love::filesystem::FileData>(L, 1, "FileData", FILESYSTEM_FILE_DATA_T);
bool compressed = false;
EXCEPT_GUARD(compressed = instance->isCompressed(data);)
love::filesystem::FileData *data = love::filesystem::luax_getfiledata(L, 1);
bool compressed = instance->isCompressed(data);
data->release();
luax_pushboolean(L, compressed);
return 1;
@@ -112,9 +106,9 @@ static const lua_CFunction types[] =
extern "C" int luaopen_love_image(lua_State *L)
{
if (instance == 0)
if (instance == nullptr)
{
EXCEPT_GUARD(instance = new love::image::magpie::Image();)
luax_catchexcept(L, [&](){ instance = new love::image::magpie::Image(); });
}
else
instance->retain();
+3 -3
View File
@@ -62,7 +62,7 @@ int w_ImageData_getPixel(lua_State *L)
int y = luaL_checkint(L, 3);
pixel c;
EXCEPT_GUARD(c = t->getPixel(x, y);)
luax_catchexcept(L, [&](){ c = t->getPixel(x, y); });
lua_pushnumber(L, c.r);
lua_pushnumber(L, c.g);
@@ -98,7 +98,7 @@ int w_ImageData_setPixel(lua_State *L)
c.a = (unsigned char)luaL_optinteger(L, 7, 255);
}
EXCEPT_GUARD(t->setPixel(x, y, c);)
luax_catchexcept(L, [&](){ t->setPixel(x, y, c); });
return 0;
}
@@ -261,7 +261,7 @@ int w_ImageData_encode(lua_State *L)
return luaL_error(L, "Invalid image format '%s'.", fmt);
}
EXCEPT_GUARD(t->encode(file, format);)
luax_catchexcept(L, [&](){ t->encode(file, format); });
return 0;
}