Skip to content

Commit 7383238

Browse files
authored
Merge pull request #129 from cschreib/animation
Tweak and fixes for animation
2 parents b43b6a2 + 56d82be commit 7383238

File tree

2 files changed

+39
-3
lines changed

2 files changed

+39
-3
lines changed

include/lxgui/gui_animated_texture.hpp

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class animated_texture : public layered_region {
5757
float get_state() const;
5858

5959
/**
60-
* \brief Check if this animated_texture is paused
60+
* \brief Check if this animated_texture is paused.
6161
* \return 'true' if paused, 'false' otherwise
6262
*/
6363
float is_paused() const;
@@ -90,11 +90,35 @@ class animated_texture : public layered_region {
9090
void set_state(float state);
9191

9292
/**
93-
* \brief Check if this animated_texture is paused
94-
* \return 'true' if paused, 'false' otherwise
93+
* \brief Play or pause this animated_texture.
94+
* \param is_paused 'true' to pause, 'false' to play
9595
*/
9696
void set_paused(bool is_paused);
9797

98+
/**
99+
* \brief Play this animated_texture.
100+
* \note Has no effect if already playing
101+
*/
102+
void play() {
103+
set_paused(false);
104+
}
105+
106+
/**
107+
* \brief Pause this animated_texture.
108+
* \note Has no effect if already paused
109+
*/
110+
void pause() {
111+
set_paused(true);
112+
}
113+
114+
/**
115+
* \brief Stop this animated_texture (stop playing and reset to start).
116+
*/
117+
void stop() {
118+
set_paused(true);
119+
set_state(0.0f);
120+
}
121+
98122
/**
99123
* \brief Sets this texture's texture file.
100124
* \param file_name The file from which to read data

src/gui_animated_texture_glues.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,18 @@ void animated_texture::register_on_lua(sol::state& lua) {
4646
return std::make_tuple(color.r, color.g, color.b, color.a);
4747
});
4848

49+
/** @function pause
50+
*/
51+
type.set_function("pause", member_function<&animated_texture::pause>());
52+
53+
/** @function play
54+
*/
55+
type.set_function("play", member_function<&animated_texture::play>());
56+
57+
/** @function stop
58+
*/
59+
type.set_function("stop", member_function<&animated_texture::stop>());
60+
4961
/** @function set_speed
5062
*/
5163
type.set_function("set_speed", member_function<&animated_texture::set_speed>());

0 commit comments

Comments
 (0)