diff options
Diffstat (limited to 'src/corelib/animation/qabstractanimation_p.h')
-rw-r--r-- | src/corelib/animation/qabstractanimation_p.h | 74 |
1 files changed, 25 insertions, 49 deletions
diff --git a/src/corelib/animation/qabstractanimation_p.h b/src/corelib/animation/qabstractanimation_p.h index 6a94d2bb8a..cb9042777a 100644 --- a/src/corelib/animation/qabstractanimation_p.h +++ b/src/corelib/animation/qabstractanimation_p.h @@ -1,41 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtCore module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #ifndef QABSTRACTANIMATION_P_H #define QABSTRACTANIMATION_P_H @@ -65,9 +29,10 @@ QT_BEGIN_NAMESPACE class QAnimationGroup; class QAbstractAnimation; -class QAbstractAnimationPrivate : public QObjectPrivate +class Q_CORE_EXPORT QAbstractAnimationPrivate : public QObjectPrivate { public: + QAbstractAnimationPrivate(); virtual ~QAbstractAnimationPrivate(); static QAbstractAnimationPrivate *get(QAbstractAnimation *q) @@ -83,7 +48,7 @@ public: { q_func()->setDirection(direction); } - void emitDirectionChanged() { emit q_func()->directionChanged(direction); } + void emitDirectionChanged() { Q_EMIT q_func()->directionChanged(direction); } Q_OBJECT_COMPAT_PROPERTY_WITH_ARGS(QAbstractAnimationPrivate, QAbstractAnimation::Direction, direction, &QAbstractAnimationPrivate::setDirection, &QAbstractAnimationPrivate::emitDirectionChanged, @@ -96,7 +61,7 @@ public: Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS(QAbstractAnimationPrivate, int, loopCount, 1) - void emitCurrentLoopChanged() { emit q_func()->currentLoopChanged(currentLoop); } + void emitCurrentLoopChanged() { Q_EMIT q_func()->currentLoopChanged(currentLoop); } Q_OBJECT_COMPAT_PROPERTY_WITH_ARGS(QAbstractAnimationPrivate, int, currentLoop, nullptr, &QAbstractAnimationPrivate::emitCurrentLoopChanged, 0) @@ -117,7 +82,10 @@ class QDefaultAnimationDriver : public QAnimationDriver { Q_OBJECT public: - QDefaultAnimationDriver(QUnifiedTimer *timer); + explicit QDefaultAnimationDriver(QUnifiedTimer *timer); + ~QDefaultAnimationDriver() override; + +protected: void timerEvent(QTimerEvent *e) override; private Q_SLOTS: @@ -132,24 +100,27 @@ private: class Q_CORE_EXPORT QAnimationDriverPrivate : public QObjectPrivate { public: - QAnimationDriverPrivate() : running(false) {} + QAnimationDriverPrivate(); + ~QAnimationDriverPrivate() override; + QElapsedTimer timer; - bool running; + bool running = false; }; class Q_CORE_EXPORT QAbstractAnimationTimer : public QObject { Q_OBJECT public: - QAbstractAnimationTimer() : isRegistered(false), isPaused(false), pauseDuration(0) {} + QAbstractAnimationTimer(); + ~QAbstractAnimationTimer() override; virtual void updateAnimationsTime(qint64 delta) = 0; virtual void restartAnimationTimer() = 0; virtual int runningAnimationCount() = 0; - bool isRegistered; - bool isPaused; - int pauseDuration; + bool isRegistered = false; + bool isPaused = false; + int pauseDuration = 0; }; class Q_CORE_EXPORT QUnifiedTimer : public QObject @@ -159,6 +130,8 @@ private: QUnifiedTimer(); public: + ~QUnifiedTimer() override; + static QUnifiedTimer *instance(); static QUnifiedTimer *instance(bool create); @@ -224,6 +197,7 @@ private: bool slowMode; bool startTimersPending; bool stopTimerPending; + bool allowNegativeDelta; // This factor will be used to divide the DEFAULT_TIMER_INTERVAL at each tick // when slowMode is enabled. Setting it to 0 or higher than DEFAULT_TIMER_INTERVAL (16) @@ -249,6 +223,8 @@ private: QAnimationTimer(); public: + ~QAnimationTimer() override; + static QAnimationTimer *instance(); static QAnimationTimer *instance(bool create); @@ -271,7 +247,7 @@ public: void updateAnimationsTime(qint64 delta) override; //useful for profiling/debugging - int runningAnimationCount() override { return animations.count(); } + int runningAnimationCount() override { return animations.size(); } private Q_SLOTS: void startAnimations(); |