Add SpriteBatch:getImage (issue #321)

This commit is contained in:
Bart van Strien
2012-01-08 13:46:01 +01:00
parent 7c1e1fd0db
commit 1509403ca7
5 changed files with 19 additions and 0 deletions
+1
View File
@@ -33,6 +33,7 @@ LOVE 0.8.0 [Rubber Piggy]
* Added SpriteBatch:set. * Added SpriteBatch:set.
* Added new events system, with support for custom events and long event names. * Added new events system, with support for custom events and long event names.
* Added sound attenuation by distance. * Added sound attenuation by distance.
* Added SpriteBatch:getImage.
* Fixed wrapping for single words. * Fixed wrapping for single words.
* Fixed tracebacks not showing filenames. * Fixed tracebacks not showing filenames.
@@ -176,6 +176,11 @@ namespace opengl
image->retain(); image->retain();
} }
Image *SpriteBatch::getImage()
{
return image;
}
void SpriteBatch::setColor(const Color & color) void SpriteBatch::setColor(const Color & color)
{ {
if (!this->color) if (!this->color)
@@ -90,6 +90,7 @@ namespace opengl
void unlock(); void unlock();
void setImage(Image * newimage); void setImage(Image * newimage);
Image *getImage();
/** /**
* Set the current color for this SpriteBatch. The geometry added * Set the current color for this SpriteBatch. The geometry added
@@ -18,6 +18,7 @@
* 3. This notice may not be removed or altered from any source distribution. * 3. This notice may not be removed or altered from any source distribution.
**/ **/
#include "Image.h"
#include "wrap_SpriteBatch.h" #include "wrap_SpriteBatch.h"
namespace love namespace love
@@ -129,6 +130,15 @@ namespace opengl
return 0; return 0;
} }
int w_SpriteBatch_getImage(lua_State * L)
{
SpriteBatch * t = luax_checkspritebatch(L, 1);
Image * image = t->getImage();
image->retain();
luax_newtype(L, "Image", GRAPHICS_IMAGE_T, (void*)image);
return 1;
}
int w_SpriteBatch_setColor(lua_State * L) int w_SpriteBatch_setColor(lua_State * L)
{ {
SpriteBatch * t = luax_checkspritebatch(L, 1); SpriteBatch * t = luax_checkspritebatch(L, 1);
@@ -157,6 +167,7 @@ namespace opengl
{ "bind", w_SpriteBatch_bind }, { "bind", w_SpriteBatch_bind },
{ "unbind", w_SpriteBatch_unbind }, { "unbind", w_SpriteBatch_unbind },
{ "setImage", w_SpriteBatch_setImage }, { "setImage", w_SpriteBatch_setImage },
{ "getImage", w_SpriteBatch_getImage },
{ "setColor", w_SpriteBatch_setColor }, { "setColor", w_SpriteBatch_setColor },
{ 0, 0 } { 0, 0 }
}; };
@@ -39,6 +39,7 @@ namespace opengl
int w_SpriteBatch_lock(lua_State * L); int w_SpriteBatch_lock(lua_State * L);
int w_SpriteBatch_unlock(lua_State * L); int w_SpriteBatch_unlock(lua_State * L);
int w_SpriteBatch_setImage(lua_State * L); int w_SpriteBatch_setImage(lua_State * L);
int w_SpriteBatch_getImage(lua_State * L);
extern "C" int luaopen_spritebatch(lua_State * L); extern "C" int luaopen_spritebatch(lua_State * L);