Skip to content

Commit 029426f

Browse files
authored
Merge pull request #320 from scratchcpp/layering_api
Add sprite layering API
2 parents b07ee25 + 9ea6799 commit 029426f

File tree

10 files changed

+525
-52
lines changed

10 files changed

+525
-52
lines changed

include/scratchcpp/iengine.h

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,9 @@ class LIBSCRATCHCPP_EXPORT IEngine
144144
/*! Sets the maximum number of clones (use -1 or any negative number to disable the limit). */
145145
virtual void setCloneLimit(int limit) = 0;
146146

147+
/*! Returns the current number of clones. */
148+
virtual int cloneCount() const = 0;
149+
147150
/*! Returns true if sprite fencing is enabled. */
148151
virtual bool spriteFencingEnabled() const = 0;
149152

@@ -244,6 +247,21 @@ class LIBSCRATCHCPP_EXPORT IEngine
244247
*/
245248
virtual int findTarget(const std::string &targetName) const = 0;
246249

250+
/*! Moves the given sprite to the front layer. */
251+
virtual void moveSpriteToFront(Sprite *sprite) = 0;
252+
253+
/*! Moves the given sprite to the back layer. */
254+
virtual void moveSpriteToBack(Sprite *sprite) = 0;
255+
256+
/*! Moves the given sprite forward a number of layers. */
257+
virtual void moveSpriteForwardLayers(Sprite *sprite, int layers) = 0;
258+
259+
/*! Moves the given sprite backward a number of layers. */
260+
virtual void moveSpriteBackwardLayers(Sprite *sprite, int layers) = 0;
261+
262+
/*! Moves the given sprite behind some other sprite. */
263+
virtual void moveSpriteBehindOther(Sprite *sprite, Sprite *other) = 0;
264+
247265
/*! Returns the Stage. */
248266
virtual Stage *stage() const = 0;
249267

0 commit comments

Comments
 (0)