mirror of
https://github.com/aseprite/aseprite.git
synced 2025-04-18 11:42:47 +00:00
[lua] Add support to iterate tiles
This commit is contained in:
parent
bff884b4c8
commit
695b65fc31
@ -42,6 +42,7 @@ struct ImageIteratorObj {
|
|||||||
using RgbImageIterator = ImageIteratorObj<RgbTraits>;
|
using RgbImageIterator = ImageIteratorObj<RgbTraits>;
|
||||||
using GrayscaleImageIterator = ImageIteratorObj<GrayscaleTraits>;
|
using GrayscaleImageIterator = ImageIteratorObj<GrayscaleTraits>;
|
||||||
using IndexedImageIterator = ImageIteratorObj<IndexedTraits>;
|
using IndexedImageIterator = ImageIteratorObj<IndexedTraits>;
|
||||||
|
using TilemapImageIterator = ImageIteratorObj<TilemapTraits>;
|
||||||
|
|
||||||
template<typename ImageTraits>
|
template<typename ImageTraits>
|
||||||
int ImageIterator_gc(lua_State* L)
|
int ImageIterator_gc(lua_State* L)
|
||||||
@ -95,18 +96,21 @@ int ImageIterator_index(lua_State* L)
|
|||||||
DEFINE_METHODS(Rgb);
|
DEFINE_METHODS(Rgb);
|
||||||
DEFINE_METHODS(Grayscale);
|
DEFINE_METHODS(Grayscale);
|
||||||
DEFINE_METHODS(Indexed);
|
DEFINE_METHODS(Indexed);
|
||||||
|
DEFINE_METHODS(Tilemap);
|
||||||
|
|
||||||
} // anonymous namespace
|
} // anonymous namespace
|
||||||
|
|
||||||
DEF_MTNAME(ImageIteratorObj<RgbTraits>);
|
DEF_MTNAME(ImageIteratorObj<RgbTraits>);
|
||||||
DEF_MTNAME(ImageIteratorObj<GrayscaleTraits>);
|
DEF_MTNAME(ImageIteratorObj<GrayscaleTraits>);
|
||||||
DEF_MTNAME(ImageIteratorObj<IndexedTraits>);
|
DEF_MTNAME(ImageIteratorObj<IndexedTraits>);
|
||||||
|
DEF_MTNAME(ImageIteratorObj<TilemapTraits>);
|
||||||
|
|
||||||
void register_image_iterator_class(lua_State* L)
|
void register_image_iterator_class(lua_State* L)
|
||||||
{
|
{
|
||||||
REG_CLASS(L, RgbImageIterator);
|
REG_CLASS(L, RgbImageIterator);
|
||||||
REG_CLASS(L, GrayscaleImageIterator);
|
REG_CLASS(L, GrayscaleImageIterator);
|
||||||
REG_CLASS(L, IndexedImageIterator);
|
REG_CLASS(L, IndexedImageIterator);
|
||||||
|
REG_CLASS(L, TilemapImageIterator);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename ImageTrais>
|
template<typename ImageTrais>
|
||||||
@ -161,6 +165,10 @@ int push_image_iterator_function(lua_State* L, const doc::Image* image, int extr
|
|||||||
push_new<IndexedImageIterator>(L, image, bounds);
|
push_new<IndexedImageIterator>(L, image, bounds);
|
||||||
lua_pushcclosure(L, image_iterator_step_closure<doc::IndexedTraits>, 1);
|
lua_pushcclosure(L, image_iterator_step_closure<doc::IndexedTraits>, 1);
|
||||||
return 1;
|
return 1;
|
||||||
|
case IMAGE_TILEMAP:
|
||||||
|
push_new<TilemapImageIterator>(L, image, bounds);
|
||||||
|
lua_pushcclosure(L, image_iterator_step_closure<doc::TilemapTraits>, 1);
|
||||||
|
return 1;
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user