File tree Expand file tree Collapse file tree 3 files changed +53
-6
lines changed Expand file tree Collapse file tree 3 files changed +53
-6
lines changed Original file line number Diff line number Diff line change @@ -5,19 +5,17 @@ import ScratchCPPGui
55
66ProjectScene {
77 property string fileName
8- property int stageWidth: 480
9- property int stageHeight: 360
108 property alias fps: loader .fps
119 property alias turboMode: loader .turboMode
1210
1311 id: root
14- width: stageWidth
15- height: stageHeight
16- clip: true
12+ clip: true
1713
1814 ProjectLoader {
1915 id: loader
2016 fileName: root .fileName
17+ stageWidth: parent .width
18+ stageHeight: parent .height
2119 }
2220
2321 RenderedTarget {
Original file line number Diff line number Diff line change @@ -75,6 +75,8 @@ void ProjectLoader::setFileName(const QString &newFileName)
7575
7676 m_engine->setFps (m_fps);
7777 m_engine->setTurboModeEnabled (m_turboMode);
78+ m_engine->setStageWidth (m_stageWidth);
79+ m_engine->setStageHeight (m_stageHeight);
7880
7981 auto handler = std::bind (&ProjectLoader::emitTick, this );
8082 m_engine->setRedrawHandler (std::function<void ()>(handler));
@@ -208,3 +210,39 @@ void ProjectLoader::setTurboMode(bool newTurboMode)
208210
209211 emit turboModeChanged ();
210212}
213+
214+ unsigned int ProjectLoader::stageWidth () const
215+ {
216+ return m_stageWidth;
217+ }
218+
219+ void ProjectLoader::setStageWidth (unsigned int newStageWidth)
220+ {
221+ if (m_stageWidth == newStageWidth)
222+ return ;
223+
224+ m_stageWidth = newStageWidth;
225+
226+ if (m_engine)
227+ m_engine->setStageWidth (m_stageWidth);
228+
229+ emit stageWidthChanged ();
230+ }
231+
232+ unsigned int ProjectLoader::stageHeight () const
233+ {
234+ return m_stageHeight;
235+ }
236+
237+ void ProjectLoader::setStageHeight (unsigned int newStageHeight)
238+ {
239+ if (m_stageHeight == newStageHeight)
240+ return ;
241+
242+ m_stageHeight = newStageHeight;
243+
244+ if (m_engine)
245+ m_engine->setStageHeight (m_stageHeight);
246+
247+ emit stageHeightChanged ();
248+ }
Original file line number Diff line number Diff line change @@ -25,6 +25,8 @@ class ProjectLoader : public QObject
2525 Q_PROPERTY (QQmlListProperty<SpriteModel> sprites READ sprites NOTIFY spritesChanged)
2626 Q_PROPERTY (double fps READ fps WRITE setFps NOTIFY fpsChanged)
2727 Q_PROPERTY (bool turboMode READ turboMode WRITE setTurboMode NOTIFY turboModeChanged)
28+ Q_PROPERTY (unsigned int stageWidth READ stageWidth WRITE setStageWidth NOTIFY stageWidthChanged)
29+ Q_PROPERTY (unsigned int stageHeight READ stageHeight WRITE setStageHeight NOTIFY stageHeightChanged)
2830
2931 public:
3032 explicit ProjectLoader (QObject *parent = nullptr );
@@ -53,15 +55,22 @@ class ProjectLoader : public QObject
5355 bool turboMode () const ;
5456 void setTurboMode (bool newTurboMode);
5557
58+ unsigned int stageWidth () const ;
59+ void setStageWidth (unsigned int newStageWidth);
60+
61+ unsigned int stageHeight () const ;
62+ void setStageHeight (unsigned int newStageHeight);
63+
5664 signals:
5765 void fileNameChanged ();
5866 void loadedChanged ();
5967 void engineChanged ();
6068 void stageChanged ();
6169 void spritesChanged ();
6270 void fpsChanged ();
63-
6471 void turboModeChanged ();
72+ void stageWidthChanged ();
73+ void stageHeightChanged ();
6574
6675 protected:
6776 void timerEvent (QTimerEvent *event) override ;
@@ -80,6 +89,8 @@ class ProjectLoader : public QObject
8089 QFuture<void > m_eventLoop;
8190 double m_fps = 30 ;
8291 bool m_turboMode = false ;
92+ unsigned int m_stageWidth;
93+ unsigned int m_stageHeight;
8394};
8495
8596} // namespace scratchcppgui
You can’t perform that action at this time.
0 commit comments