Skip to content

Commit fad74ce

Browse files
committed
fix #438: Fix default sprite bounding rectangle
1 parent 8264895 commit fad74ce

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

src/scratch/sprite.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ void Sprite::setLayerOrder(int newLayerOrder)
328328
Rect Sprite::boundingRect() const
329329
{
330330
if (!impl->iface)
331-
return Rect();
331+
return Rect(impl->x, impl->y, impl->x, impl->y);
332332

333333
return impl->iface->boundingRect();
334334
}

test/scratch_classes/sprite_test.cpp

+12
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,18 @@ TEST(SpriteTest, KeepInFence)
558558
ASSERT_EQ(std::round(fencedY * 100) / 100, 150.9);
559559
}
560560

561+
TEST(SpriteTest, DefaultBoundingRect)
562+
{
563+
Sprite sprite;
564+
sprite.setX(65.5);
565+
sprite.setY(-45.01);
566+
Rect rect = sprite.boundingRect();
567+
ASSERT_EQ(rect.left(), 65.5);
568+
ASSERT_EQ(rect.top(), -45.01);
569+
ASSERT_EQ(rect.right(), 65.5);
570+
ASSERT_EQ(rect.bottom(), -45.01);
571+
}
572+
561573
TEST(SpriteTest, GraphicsEffects)
562574
{
563575
Sprite sprite;

0 commit comments

Comments
 (0)