18 static constexpr const char*
TypeName =
"SpriteSheet";
40 static std::unique_ptr<IAssetObject>
CreateFromLua(
const sol::table& config) {
41 return std::unique_ptr<IAssetObject>(
new SpriteSheet(config));
45 return std::unique_ptr<IAssetObject>(
new SpriteSheet(spriteSheetInit));
51 virtual bool onInit()
override;
52 virtual void onQuit()
override;
53 virtual void onLoad()
override;
66 return texturePtr ? texturePtr->
getTexture() :
nullptr;
80 SDL_Color color = {255, 255, 255, 255},
81 SDL_ScaleMode scaleMode = SDL_SCALEMODE_NEAREST
86 SDL_Color color = {255, 255, 255, 255},
87 SDL_ScaleMode scaleMode = SDL_SCALEMODE_NEAREST
91 const SDL_FRect& srcRect,
92 const SDL_FRect& dstRect,
93 SDL_Color color = {255, 255, 255, 255},
94 SDL_ScaleMode scaleMode = SDL_SCALEMODE_NEAREST
108 void drawSprite_lua(
int spriteIndex,
int x,
int y, SDL_Color color, SDL_ScaleMode scaleMode = SDL_SCALEMODE_NEAREST );
109 void drawSprite_dst_lua(
int spriteIndex, SDL_FRect& destRect, SDL_Color color, SDL_ScaleMode scaleMode = SDL_SCALEMODE_NEAREST );
117 sol::object color = sol::nil,
118 sol::object scaleMode = sol::nil
Definition SDOM_AssetHandle.hpp:13
T * as() const
Definition SDOM_AssetHandle.hpp:38
bool isValid() const
Definition SDOM_AssetHandle.hpp:53
Definition SDOM_IAssetObject.hpp:10
IAssetObject()
Definition SDOM_IAssetObject.cpp:29
Definition SDOM_SpriteSheet.hpp:13
int getSpriteHeight() const
Definition SDOM_SpriteSheet.cpp:224
std::pair< int, int > getSpriteSize() const
Definition SDOM_SpriteSheet.cpp:230
void setSpriteHeight(int height)
Definition SDOM_SpriteSheet.cpp:205
int spriteHeight_
Definition SDOM_SpriteSheet.hpp:139
SDL_Texture * getTexture() const noexcept
Definition SDOM_SpriteSheet.hpp:62
static std::unique_ptr< IAssetObject > CreateFromInitStruct(const IAssetObject::InitStruct &baseInit)
Definition SDOM_SpriteSheet.hpp:43
int getSpriteCount_Lua(IAssetObject *obj)
Definition SDOM_SpriteSheet.cpp:592
AssetHandle textureAsset
Definition SDOM_SpriteSheet.hpp:133
int getSpriteHeight_Lua(IAssetObject *obj)
Definition SDOM_SpriteSheet.cpp:573
int getSpriteX(int spriteIndex) const
Definition SDOM_SpriteSheet.cpp:276
AssetHandle getTextureAsset() const
Definition SDOM_SpriteSheet.hpp:136
friend Factory
Definition SDOM_SpriteSheet.hpp:128
virtual bool onUnitTest() override
Runs unit tests for this object.
Definition SDOM_SpriteSheet.cpp:189
void drawSprite_dst_lua(int spriteIndex, SDL_FRect &destRect, SDL_Color color, SDL_ScaleMode scaleMode=SDL_SCALEMODE_NEAREST)
Definition SDOM_SpriteSheet.cpp:620
void setSpriteSize_Lua(IAssetObject *obj, int width, int height)
Definition SDOM_SpriteSheet.cpp:559
virtual void onUnload() override
Definition SDOM_SpriteSheet.cpp:179
int getSpriteWidth_Lua(IAssetObject *obj)
Definition SDOM_SpriteSheet.cpp:566
void setSpriteWidth(int width)
Definition SDOM_SpriteSheet.cpp:199
int getSpriteWidth() const
Definition SDOM_SpriteSheet.cpp:218
int getSpriteCount() const
Definition SDOM_SpriteSheet.cpp:236
void drawSprite_lua(int spriteIndex, int x, int y, SDL_Color color, SDL_ScaleMode scaleMode=SDL_SCALEMODE_NEAREST)
Definition SDOM_SpriteSheet.cpp:614
static std::unique_ptr< IAssetObject > CreateFromLua(const sol::table &config)
Definition SDOM_SpriteSheet.hpp:40
int getSpriteY(int spriteIndex) const
Definition SDOM_SpriteSheet.cpp:307
virtual void onQuit() override
Definition SDOM_SpriteSheet.cpp:72
int getSpriteX_Lua(IAssetObject *obj, int spriteIndex)
Definition SDOM_SpriteSheet.cpp:599
static constexpr const char * TypeName
Definition SDOM_SpriteSheet.hpp:18
sol::table getSpriteSize_Lua(IAssetObject *obj, sol::state_view lua)
Definition SDOM_SpriteSheet.cpp:580
friend Core
Definition SDOM_SpriteSheet.hpp:129
void setSpriteWidth_Lua(IAssetObject *obj, int width)
Definition SDOM_SpriteSheet.cpp:545
int spriteWidth_
Definition SDOM_SpriteSheet.hpp:138
void drawSprite(int spriteIndex, int x, int y, SDL_Color color={255, 255, 255, 255}, SDL_ScaleMode scaleMode=SDL_SCALEMODE_NEAREST)
Definition SDOM_SpriteSheet.cpp:357
bool operator==(const SpriteSheet &other) const
Definition SDOM_SpriteSheet.cpp:337
virtual void onLoad() override
Definition SDOM_SpriteSheet.cpp:81
void setSpriteSize(int width, int height)
Definition SDOM_SpriteSheet.cpp:211
int getSpriteY_Lua(IAssetObject *obj, int spriteIndex)
Definition SDOM_SpriteSheet.cpp:606
virtual void _registerLuaBindings(const std::string &typeName, sol::state_view lua)
Definition SDOM_SpriteSheet.cpp:645
virtual bool onInit() override
Definition SDOM_SpriteSheet.cpp:60
virtual ~SpriteSheet()=default
void drawSprite_ext_Lua(IAssetObject *obj, int spriteIndex, sol::table srcRect, sol::table dstRect, sol::object color=sol::nil, sol::object scaleMode=sol::nil)
Definition SDOM_SpriteSheet.cpp:626
void setSpriteHeight_Lua(IAssetObject *obj, int height)
Definition SDOM_SpriteSheet.cpp:552
Definition SDOM_Texture.hpp:26
SDL_Texture * getTexture() const
Definition SDOM_Texture.hpp:69
Contains all core classes and utilities for the SDOM library.
Definition lua_BindHelpers.hpp:7
Definition SDOM_IAssetObject.hpp:18
std::string name
Definition SDOM_IAssetObject.hpp:19
std::string type
Definition SDOM_IAssetObject.hpp:20
std::string filename
Definition SDOM_IAssetObject.hpp:21
Definition SDOM_SpriteSheet.hpp:22
int spriteWidth
Definition SDOM_SpriteSheet.hpp:29
int spriteHeight
Definition SDOM_SpriteSheet.hpp:30
InitStruct()
Definition SDOM_SpriteSheet.hpp:23