Skip to content

Commit 50df192

Browse files
committed
rework AnimationDriver
1 parent 613283e commit 50df192

File tree

3 files changed

+9
-12
lines changed

3 files changed

+9
-12
lines changed

com/rectalogic/RenderWindow/animation.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,18 @@ const qint32 FRAMERATE_MILLIS = 40;
99

1010
class AnimationDriver : public QAnimationDriver {
1111
public:
12-
AnimationDriver(qint32 stepMillis = FRAMERATE_MILLIS, QObject* parent = nullptr)
12+
AnimationDriver(QObject* parent = nullptr)
1313
: QAnimationDriver(parent)
14-
, m_step(stepMillis)
1514
{
1615
}
1716

18-
void setStep(qint32 millis)
17+
void setElapsed(qint64 elapsedMillis)
1918
{
20-
m_step = millis;
19+
m_elapsed = elapsedMillis;
2120
}
2221

2322
void advance() override
2423
{
25-
m_elapsed += m_step;
2624
advanceAnimation();
2725
}
2826

@@ -32,6 +30,6 @@ class AnimationDriver : public QAnimationDriver {
3230
}
3331

3432
private:
35-
qint32 m_step;
33+
qint32 m_increment = 0;
3634
qint64 m_elapsed = 0;
3735
};

com/rectalogic/RenderWindow/render_window.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,15 @@ void RenderWindow::componentComplete()
5454
contentItem()->setSize(size());
5555
}
5656

57-
QByteArray RenderWindow::render(qint32 durationMillis)
57+
QByteArray RenderWindow::render(qint64 elapsedMillis)
5858
{
5959
if (!m_isValid) {
6060
emit qmlEngine(this)->exit(1);
6161
return QByteArray();
6262
}
63-
if (durationMillis > 0) {
64-
m_animationDriver->setStep(durationMillis);
65-
m_animationDriver->advance();
66-
}
63+
64+
m_animationDriver->setElapsed(elapsedMillis);
65+
m_animationDriver->advance();
6766

6867
QByteArray data = m_renderControl->renderFrame();
6968
if (data.isNull()) {

com/rectalogic/RenderWindow/render_window.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class RenderWindow : public QQuickWindow, public QQmlParserStatus {
3333
RenderWindow& operator=(RenderWindow&&) = delete;
3434
~RenderWindow() override;
3535

36-
Q_INVOKABLE QByteArray render(qint32 durationMillis = 0);
36+
Q_INVOKABLE QByteArray render(qint64 elapsedMillis);
3737

3838
protected:
3939
void classBegin() override { }

0 commit comments

Comments
 (0)