3 #include "irrlichttypes_extrabloated.h"
7 class ISimpleTextureSource;
9 class GUIAnimatedImage : public gui::IGUIElement {
11 GUIAnimatedImage(gui::IGUIEnvironment *env, gui::IGUIElement *parent,
12 s32 id, const core::rect<s32> &rectangle);
14 virtual void draw() override;
16 void setTexture(video::ITexture *texture) { m_texture = texture; };
17 video::ITexture *getTexture() const { return m_texture; };
19 void setMiddleRect(const core::rect<s32> &middle) { m_middle = middle; };
20 core::rect<s32> getMiddleRect() const { return m_middle; };
22 void setFrameDuration(u64 duration) { m_frame_duration = duration; };
23 u64 getFrameDuration() const { return m_frame_duration; };
25 void setFrameCount(s32 count) { m_frame_count = std::max(count, 1); };
26 s32 getFrameCount() const { return m_frame_count; };
28 void setFrameIndex(s32 frame) { m_frame_idx = std::max(frame, 0); };
29 s32 getFrameIndex() const { return m_frame_idx; };
32 video::ITexture *m_texture = nullptr;
34 u64 m_global_time = 0;
36 s32 m_frame_count = 1;
37 u64 m_frame_duration = 0;
40 core::rect<s32> m_middle;