Skip to content

Commit 0fec169

Browse files
committed
Override Target::setLayerOrder in Sprite
1 parent 82bcc88 commit 0fec169

File tree

5 files changed

+25
-1
lines changed

5 files changed

+25
-1
lines changed

include/scratchcpp/sprite.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ class LIBSCRATCHCPP_EXPORT Sprite
6464
void setRotationStyle(const std::string &newRotationStyle);
6565
void setRotationStyle(const char *newRotationStyle);
6666

67+
void setLayerOrder(int newLayerOrder) override;
68+
6769
Rect boundingRect() const;
6870
void keepInFence(double newX, double newY, double *fencedX, double *fencedY) const;
6971

include/scratchcpp/target.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class LIBSCRATCHCPP_EXPORT Target
7373
int findSound(const std::string &soundName) const;
7474

7575
int layerOrder() const;
76-
void setLayerOrder(int newLayerOrder);
76+
virtual void setLayerOrder(int newLayerOrder);
7777

7878
double volume() const;
7979
void setVolume(double newVolume);

src/scratch/sprite.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,12 @@ void Sprite::setRotationStyle(const char *newRotationStyle)
315315
setRotationStyle(std::string(newRotationStyle));
316316
}
317317

318+
/*! Overrides Target#setLayerOrder(). */
319+
void Sprite::setLayerOrder(int newLayerOrder)
320+
{
321+
Target::setLayerOrder(newLayerOrder);
322+
}
323+
318324
/*! Returns the bounding rectangle of the sprite. */
319325
Rect Sprite::boundingRect() const
320326
{

test/scratch_classes/sprite_test.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -493,6 +493,14 @@ TEST(SpriteTest, RotationStyle)
493493
ASSERT_EQ(sprite.rotationStyleStr(), "all around");
494494
}
495495

496+
TEST(SpriteTest, LayerOrder)
497+
{
498+
Sprite sprite;
499+
ASSERT_EQ(sprite.layerOrder(), 0);
500+
sprite.setLayerOrder(2);
501+
ASSERT_EQ(sprite.layerOrder(), 2);
502+
}
503+
496504
TEST(SpriteTest, KeepInFence)
497505
{
498506
Sprite sprite;

test/scratch_classes/stage_test.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,3 +128,11 @@ TEST(StageTest, GraphicsEffects)
128128
ASSERT_EQ(stage.graphicsEffectValue(&effect1), 0);
129129
ASSERT_EQ(stage.graphicsEffectValue(&effect2), 0);
130130
}
131+
132+
TEST(StageTest, LayerOrder)
133+
{
134+
Stage stage;
135+
ASSERT_EQ(stage.layerOrder(), 0);
136+
stage.setLayerOrder(2);
137+
ASSERT_EQ(stage.layerOrder(), 2);
138+
}

0 commit comments

Comments
 (0)