Skip to content

Commit 7289801

Browse files
committed
Add mouse press and release methods to ProjectScene
1 parent 859ea8f commit 7289801

File tree

3 files changed

+40
-0
lines changed

3 files changed

+40
-0
lines changed

ScratchCPPGui/projectscene.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,16 @@ void ProjectScene::handleMouseMove(qreal x, qreal y)
3333
}
3434
}
3535

36+
void ProjectScene::handleMousePress()
37+
{
38+
if (m_engine)
39+
m_engine->setMousePressed(true);
40+
}
41+
42+
void ProjectScene::handleMouseRelease()
43+
{
44+
if (m_engine)
45+
m_engine->setMousePressed(false);
46+
}
47+
3648
} // namespace scratchcppgui

ScratchCPPGui/projectscene.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ class ProjectScene : public QQuickItem
2525
void setEngine(libscratchcpp::IEngine *newEngine);
2626

2727
Q_INVOKABLE void handleMouseMove(qreal x, qreal y);
28+
Q_INVOKABLE void handleMousePress();
29+
Q_INVOKABLE void handleMouseRelease();
2830

2931
signals:
3032
void engineChanged();

test/projectscene/projectscene_test.cpp

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,29 @@ TEST(ProjectScene, HandleMouseMove)
2929
EXPECT_CALL(engine, setMouseY(216.7));
3030
scene.handleMouseMove(46.9, -16.7);
3131
}
32+
33+
TEST(ProjectScene, HandleMousePress)
34+
{
35+
ProjectScene scene;
36+
EngineMock engine;
37+
scene.setEngine(&engine);
38+
39+
EXPECT_CALL(engine, setMousePressed(true));
40+
scene.handleMousePress();
41+
42+
EXPECT_CALL(engine, setMousePressed(true));
43+
scene.handleMousePress();
44+
}
45+
46+
TEST(ProjectScene, HandleMouseRelease)
47+
{
48+
ProjectScene scene;
49+
EngineMock engine;
50+
scene.setEngine(&engine);
51+
52+
EXPECT_CALL(engine, setMousePressed(false));
53+
scene.handleMouseRelease();
54+
55+
EXPECT_CALL(engine, setMousePressed(false));
56+
scene.handleMouseRelease();
57+
}

0 commit comments

Comments
 (0)