From 4d73360a5198fa035b94a517a3db01c1cc0dff52 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Sun, 18 Dec 2016 21:57:36 +0100 Subject: Pimplify interpolator classes Change-Id: I8f866a0b54923fbac1695e3e28977ccca7461eae Reviewed-by: J-P Nurmi --- src/android/view/animation/animation.pri | 1 + ...tiveandroidacceleratedecelerateinterpolator.cpp | 4 +- ...tiveandroidacceleratedecelerateinterpolator_p.h | 5 -- .../qnativeandroidaccelerateinterpolator.cpp | 27 +++++--- .../qnativeandroidaccelerateinterpolator_p.h | 6 +- .../qnativeandroidanticipateinterpolator.cpp | 27 +++++--- .../qnativeandroidanticipateinterpolator_p.h | 6 +- ...ativeandroidanticipateovershootinterpolator.cpp | 44 ++++++++----- ...ativeandroidanticipateovershootinterpolator_p.h | 7 ++- .../animation/qnativeandroidbounceinterpolator.cpp | 4 +- .../animation/qnativeandroidbounceinterpolator_p.h | 5 -- .../animation/qnativeandroidcycleinterpolator.cpp | 27 +++++--- .../animation/qnativeandroidcycleinterpolator_p.h | 6 +- .../qnativeandroiddecelerateinterpolator.cpp | 27 +++++--- .../qnativeandroiddecelerateinterpolator_p.h | 6 +- .../view/animation/qnativeandroidinterpolator.cpp | 10 ++- .../view/animation/qnativeandroidinterpolator_p.h | 8 +++ .../animation/qnativeandroidinterpolator_p_p.h | 62 +++++++++++++++++++ .../animation/qnativeandroidlinearinterpolator.cpp | 4 +- .../animation/qnativeandroidlinearinterpolator_p.h | 5 -- .../qnativeandroidovershootinterpolator.cpp | 27 +++++--- .../qnativeandroidovershootinterpolator_p.h | 6 +- .../animation/qnativeandroidpathinterpolator.cpp | 72 ++++++++++++++-------- .../animation/qnativeandroidpathinterpolator_p.h | 9 ++- 24 files changed, 283 insertions(+), 122 deletions(-) create mode 100644 src/android/view/animation/qnativeandroidinterpolator_p_p.h diff --git a/src/android/view/animation/animation.pri b/src/android/view/animation/animation.pri index 5349d52..ad325a8 100644 --- a/src/android/view/animation/animation.pri +++ b/src/android/view/animation/animation.pri @@ -13,6 +13,7 @@ HEADERS += \ $$PWD/qnativeandroidcycleinterpolator_p.h \ $$PWD/qnativeandroiddecelerateinterpolator_p.h \ $$PWD/qnativeandroidinterpolator_p.h \ + $$PWD/qnativeandroidinterpolator_p_p.h \ $$PWD/qnativeandroidlinearinterpolator_p.h \ $$PWD/qnativeandroidovershootinterpolator_p.h \ $$PWD/qnativeandroidpathinterpolator_p.h \ diff --git a/src/android/view/animation/qnativeandroidacceleratedecelerateinterpolator.cpp b/src/android/view/animation/qnativeandroidacceleratedecelerateinterpolator.cpp index 82b4179..772b002 100644 --- a/src/android/view/animation/qnativeandroidacceleratedecelerateinterpolator.cpp +++ b/src/android/view/animation/qnativeandroidacceleratedecelerateinterpolator.cpp @@ -38,8 +38,8 @@ QT_BEGIN_NAMESPACE -QNativeAndroidAccelerateDecelerateInterpolator::QNativeAndroidAccelerateDecelerateInterpolator(QObject *parent) : - QNativeAndroidInterpolator(parent) +QNativeAndroidAccelerateDecelerateInterpolator::QNativeAndroidAccelerateDecelerateInterpolator(QObject *parent) + : QNativeAndroidInterpolator(parent) { } diff --git a/src/android/view/animation/qnativeandroidacceleratedecelerateinterpolator_p.h b/src/android/view/animation/qnativeandroidacceleratedecelerateinterpolator_p.h index d981599..c163021 100644 --- a/src/android/view/animation/qnativeandroidacceleratedecelerateinterpolator_p.h +++ b/src/android/view/animation/qnativeandroidacceleratedecelerateinterpolator_p.h @@ -48,10 +48,7 @@ // We mean it. // -#include -#include #include -#include QT_BEGIN_NAMESPACE @@ -66,8 +63,6 @@ Q_SIGNALS: protected: QAndroidJniObject onCreate() override; - -private: }; QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroidaccelerateinterpolator.cpp b/src/android/view/animation/qnativeandroidaccelerateinterpolator.cpp index e0718a0..3b0e243 100644 --- a/src/android/view/animation/qnativeandroidaccelerateinterpolator.cpp +++ b/src/android/view/animation/qnativeandroidaccelerateinterpolator.cpp @@ -35,37 +35,48 @@ ****************************************************************************/ #include "qnativeandroidaccelerateinterpolator_p.h" +#include "qnativeandroidinterpolator_p_p.h" +#include "qnativeandroidoptional_p.h" QT_BEGIN_NAMESPACE -QNativeAndroidAccelerateInterpolator::QNativeAndroidAccelerateInterpolator(QObject *parent) : - QNativeAndroidInterpolator(parent) +class QNativeAndroidAccelerateInterpolatorPrivate : public QNativeAndroidInterpolatorPrivate +{ +public: + QNativeAndroidOptional factor; +}; + +QNativeAndroidAccelerateInterpolator::QNativeAndroidAccelerateInterpolator(QObject *parent) + : QNativeAndroidInterpolator(*(new QNativeAndroidAccelerateInterpolatorPrivate), parent) { } qreal QNativeAndroidAccelerateInterpolator::factor() const { - if (m_factor.isNull()) + Q_D(const QNativeAndroidAccelerateInterpolator); + if (d->factor.isNull()) return 1.0; - return m_factor; + return d->factor; } void QNativeAndroidAccelerateInterpolator::setFactor(qreal factor) { - if (m_factor.isNull() || m_factor != factor) { - m_factor = factor; + Q_D(QNativeAndroidAccelerateInterpolator); + if (d->factor.isNull() || d->factor != factor) { + d->factor = factor; emit factorChanged(); } } QAndroidJniObject QNativeAndroidAccelerateInterpolator::onCreate() { - if (m_factor.isNull()) + Q_D(QNativeAndroidAccelerateInterpolator); + if (d->factor.isNull()) return QAndroidJniObject("android/view/animation/AccelerateInterpolator"); return QAndroidJniObject("android/view/animation/AccelerateInterpolator", "(F)V", - m_factor); + d->factor); } QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroidaccelerateinterpolator_p.h b/src/android/view/animation/qnativeandroidaccelerateinterpolator_p.h index d3e0aa9..ea80563 100644 --- a/src/android/view/animation/qnativeandroidaccelerateinterpolator_p.h +++ b/src/android/view/animation/qnativeandroidaccelerateinterpolator_p.h @@ -49,10 +49,11 @@ // #include -#include QT_BEGIN_NAMESPACE +class QNativeAndroidAccelerateInterpolatorPrivate; + class Q_NATIVEANDROID_EXPORT QNativeAndroidAccelerateInterpolator : public QNativeAndroidInterpolator { Q_OBJECT @@ -71,7 +72,8 @@ protected: QAndroidJniObject onCreate() override; private: - QNativeAndroidOptional m_factor; + Q_DISABLE_COPY(QNativeAndroidAccelerateInterpolator) + Q_DECLARE_PRIVATE(QNativeAndroidAccelerateInterpolator) }; QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroidanticipateinterpolator.cpp b/src/android/view/animation/qnativeandroidanticipateinterpolator.cpp index 4a908a4..0fe0db7 100644 --- a/src/android/view/animation/qnativeandroidanticipateinterpolator.cpp +++ b/src/android/view/animation/qnativeandroidanticipateinterpolator.cpp @@ -35,37 +35,48 @@ ****************************************************************************/ #include "qnativeandroidanticipateinterpolator_p.h" +#include "qnativeandroidinterpolator_p_p.h" +#include "qnativeandroidoptional_p.h" QT_BEGIN_NAMESPACE -QNativeAndroidAnticipateInterpolator::QNativeAndroidAnticipateInterpolator(QObject *parent) : - QNativeAndroidInterpolator(parent) +class QNativeAndroidAnticipateInterpolatorPrivate : public QNativeAndroidInterpolatorPrivate +{ +public: + QNativeAndroidOptional tension; +}; + +QNativeAndroidAnticipateInterpolator::QNativeAndroidAnticipateInterpolator(QObject *parent) + : QNativeAndroidInterpolator(*(new QNativeAndroidAnticipateInterpolatorPrivate), parent) { } qreal QNativeAndroidAnticipateInterpolator::tension() const { - if (m_tension.isNull()) + Q_D(const QNativeAndroidAnticipateInterpolator); + if (d->tension.isNull()) return 1.0; - return m_tension; + return d->tension; } void QNativeAndroidAnticipateInterpolator::setTension(qreal tension) { - if (m_tension.isNull() || m_tension != tension) { - m_tension = tension; + Q_D(QNativeAndroidAnticipateInterpolator); + if (d->tension.isNull() || d->tension != tension) { + d->tension = tension; emit tensionChanged(); } } QAndroidJniObject QNativeAndroidAnticipateInterpolator::onCreate() { - if (m_tension.isNull()) + Q_D(QNativeAndroidAnticipateInterpolator); + if (d->tension.isNull()) return QAndroidJniObject("android/view/animation/AnticipateInterpolator"); return QAndroidJniObject("android/view/animation/AnticipateInterpolator", "(F)V", - m_tension); + d->tension); } QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroidanticipateinterpolator_p.h b/src/android/view/animation/qnativeandroidanticipateinterpolator_p.h index 9e45caa..269eadc 100644 --- a/src/android/view/animation/qnativeandroidanticipateinterpolator_p.h +++ b/src/android/view/animation/qnativeandroidanticipateinterpolator_p.h @@ -49,10 +49,11 @@ // #include -#include QT_BEGIN_NAMESPACE +class QNativeAndroidAnticipateInterpolatorPrivate; + class Q_NATIVEANDROID_EXPORT QNativeAndroidAnticipateInterpolator : public QNativeAndroidInterpolator { Q_OBJECT @@ -71,7 +72,8 @@ protected: QAndroidJniObject onCreate() override; private: - QNativeAndroidOptional m_tension; + Q_DISABLE_COPY(QNativeAndroidAnticipateInterpolator) + Q_DECLARE_PRIVATE(QNativeAndroidAnticipateInterpolator) }; QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroidanticipateovershootinterpolator.cpp b/src/android/view/animation/qnativeandroidanticipateovershootinterpolator.cpp index d666b09..a687f2a 100644 --- a/src/android/view/animation/qnativeandroidanticipateovershootinterpolator.cpp +++ b/src/android/view/animation/qnativeandroidanticipateovershootinterpolator.cpp @@ -35,58 +35,72 @@ ****************************************************************************/ #include "qnativeandroidanticipateovershootinterpolator_p.h" +#include "qnativeandroidinterpolator_p_p.h" +#include "qnativeandroidoptional_p.h" QT_BEGIN_NAMESPACE -QNativeAndroidAnticipateOvershootInterpolator::QNativeAndroidAnticipateOvershootInterpolator(QObject *parent) : - QNativeAndroidInterpolator(parent) +class QNativeAndroidAnticipateOvershootInterpolatorPrivate : public QNativeAndroidInterpolatorPrivate +{ +public: + QNativeAndroidOptional tension; + QNativeAndroidOptional extraTension; +}; + +QNativeAndroidAnticipateOvershootInterpolator::QNativeAndroidAnticipateOvershootInterpolator(QObject *parent) + : QNativeAndroidInterpolator(*(new QNativeAndroidAnticipateOvershootInterpolatorPrivate), parent) { } qreal QNativeAndroidAnticipateOvershootInterpolator::tension() const { - if (m_tension.isNull()) + Q_D(const QNativeAndroidAnticipateOvershootInterpolator); + if (d->tension.isNull()) return 1.0; - return m_tension; + return d->tension; } void QNativeAndroidAnticipateOvershootInterpolator::setTension(qreal tension) { - if (m_tension.isNull() || m_tension != tension) { - m_tension = tension; + Q_D(QNativeAndroidAnticipateOvershootInterpolator); + if (d->tension.isNull() || d->tension != tension) { + d->tension = tension; emit tensionChanged(); } } qreal QNativeAndroidAnticipateOvershootInterpolator::extraTension() const { - if (m_extraTension.isNull()) + Q_D(const QNativeAndroidAnticipateOvershootInterpolator); + if (d->extraTension.isNull()) return 1.0; - return m_extraTension; + return d->extraTension; } void QNativeAndroidAnticipateOvershootInterpolator::setExtraTension(qreal tension) { - if (m_extraTension.isNull() || m_extraTension != tension) { - m_extraTension = tension; + Q_D(QNativeAndroidAnticipateOvershootInterpolator); + if (d->extraTension.isNull() || d->extraTension != tension) { + d->extraTension = tension; emit extraTensionChanged(); } } QAndroidJniObject QNativeAndroidAnticipateOvershootInterpolator::onCreate() { - if (m_tension.isNull() && m_extraTension.isNull()) + Q_D(QNativeAndroidAnticipateOvershootInterpolator); + if (d->tension.isNull() && d->extraTension.isNull()) return QAndroidJniObject("android/view/animation/AnticipateOvershootInterpolator"); - if (!m_tension.isNull()) + if (!d->tension.isNull()) return QAndroidJniObject("android/view/animation/AnticipateOvershootInterpolator", "(F)V", - m_tension); + d->tension); return QAndroidJniObject("android/view/animation/AnticipateOvershootInterpolator", "(FF)V", - m_tension, - m_extraTension); + d->tension, + d->extraTension); } QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroidanticipateovershootinterpolator_p.h b/src/android/view/animation/qnativeandroidanticipateovershootinterpolator_p.h index 34b3d15..483d80c 100644 --- a/src/android/view/animation/qnativeandroidanticipateovershootinterpolator_p.h +++ b/src/android/view/animation/qnativeandroidanticipateovershootinterpolator_p.h @@ -49,10 +49,11 @@ // #include -#include QT_BEGIN_NAMESPACE +class QNativeAndroidAnticipateOvershootInterpolatorPrivate; + class Q_NATIVEANDROID_EXPORT QNativeAndroidAnticipateOvershootInterpolator : public QNativeAndroidInterpolator { Q_OBJECT @@ -76,8 +77,8 @@ protected: QAndroidJniObject onCreate() override; private: - QNativeAndroidOptional m_tension; - QNativeAndroidOptional m_extraTension; + Q_DISABLE_COPY(QNativeAndroidAnticipateOvershootInterpolator) + Q_DECLARE_PRIVATE(QNativeAndroidAnticipateOvershootInterpolator) }; QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroidbounceinterpolator.cpp b/src/android/view/animation/qnativeandroidbounceinterpolator.cpp index ccf68d7..6993188 100644 --- a/src/android/view/animation/qnativeandroidbounceinterpolator.cpp +++ b/src/android/view/animation/qnativeandroidbounceinterpolator.cpp @@ -38,8 +38,8 @@ QT_BEGIN_NAMESPACE -QNativeAndroidBounceInterpolator::QNativeAndroidBounceInterpolator(QObject *parent) : - QNativeAndroidInterpolator(parent) +QNativeAndroidBounceInterpolator::QNativeAndroidBounceInterpolator(QObject *parent) + : QNativeAndroidInterpolator(parent) { } diff --git a/src/android/view/animation/qnativeandroidbounceinterpolator_p.h b/src/android/view/animation/qnativeandroidbounceinterpolator_p.h index 675fea9..ee6ddca 100644 --- a/src/android/view/animation/qnativeandroidbounceinterpolator_p.h +++ b/src/android/view/animation/qnativeandroidbounceinterpolator_p.h @@ -48,10 +48,7 @@ // We mean it. // -#include -#include #include -#include QT_BEGIN_NAMESPACE @@ -66,8 +63,6 @@ Q_SIGNALS: protected: QAndroidJniObject onCreate() override; - -private: }; QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroidcycleinterpolator.cpp b/src/android/view/animation/qnativeandroidcycleinterpolator.cpp index d6d0b4c..768f9e1 100644 --- a/src/android/view/animation/qnativeandroidcycleinterpolator.cpp +++ b/src/android/view/animation/qnativeandroidcycleinterpolator.cpp @@ -35,37 +35,48 @@ ****************************************************************************/ #include "qnativeandroidcycleinterpolator_p.h" +#include "qnativeandroidinterpolator_p_p.h" +#include "qnativeandroidoptional_p.h" QT_BEGIN_NAMESPACE -QNativeAndroidCycleInterpolator::QNativeAndroidCycleInterpolator(QObject *parent) : - QNativeAndroidInterpolator(parent) +class QNativeAndroidCycleInterpolatorPrivate : public QNativeAndroidInterpolatorPrivate +{ +public: + QNativeAndroidOptional cycles; +}; + +QNativeAndroidCycleInterpolator::QNativeAndroidCycleInterpolator(QObject *parent) + : QNativeAndroidInterpolator(*(new QNativeAndroidCycleInterpolatorPrivate), parent) { } qreal QNativeAndroidCycleInterpolator::cycles() const { - if (m_cycles.isNull()) + Q_D(const QNativeAndroidCycleInterpolator); + if (d->cycles.isNull()) return 1.0; - return m_cycles; + return d->cycles; } void QNativeAndroidCycleInterpolator::setCycles(qreal cycles) { - if (m_cycles.isNull() || m_cycles != cycles) { - m_cycles = cycles; + Q_D(QNativeAndroidCycleInterpolator); + if (d->cycles.isNull() || d->cycles != cycles) { + d->cycles = cycles; emit cyclesChanged(); } } QAndroidJniObject QNativeAndroidCycleInterpolator::onCreate() { - if (m_cycles.isNull()) + Q_D(QNativeAndroidCycleInterpolator); + if (d->cycles.isNull()) return QAndroidJniObject("android/view/animation/CycleInterpolator"); return QAndroidJniObject("android/view/animation/CycleInterpolator", "(F)V", - m_cycles); + d->cycles); } QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroidcycleinterpolator_p.h b/src/android/view/animation/qnativeandroidcycleinterpolator_p.h index 69b6420..3f884e4 100644 --- a/src/android/view/animation/qnativeandroidcycleinterpolator_p.h +++ b/src/android/view/animation/qnativeandroidcycleinterpolator_p.h @@ -49,10 +49,11 @@ // #include -#include QT_BEGIN_NAMESPACE +class QNativeAndroidCycleInterpolatorPrivate; + class Q_NATIVEANDROID_EXPORT QNativeAndroidCycleInterpolator : public QNativeAndroidInterpolator { Q_OBJECT @@ -71,7 +72,8 @@ protected: QAndroidJniObject onCreate() override; private: - QNativeAndroidOptional m_cycles; + Q_DISABLE_COPY(QNativeAndroidCycleInterpolator) + Q_DECLARE_PRIVATE(QNativeAndroidCycleInterpolator) }; QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroiddecelerateinterpolator.cpp b/src/android/view/animation/qnativeandroiddecelerateinterpolator.cpp index d498d76..fa4bf7d 100644 --- a/src/android/view/animation/qnativeandroiddecelerateinterpolator.cpp +++ b/src/android/view/animation/qnativeandroiddecelerateinterpolator.cpp @@ -35,37 +35,48 @@ ****************************************************************************/ #include "qnativeandroiddecelerateinterpolator_p.h" +#include "qnativeandroidinterpolator_p_p.h" +#include "qnativeandroidoptional_p.h" QT_BEGIN_NAMESPACE -QNativeAndroidDecelerateInterpolator::QNativeAndroidDecelerateInterpolator(QObject *parent) : - QNativeAndroidInterpolator(parent) +class QNativeAndroidDecelerateInterpolatorPrivate : public QNativeAndroidInterpolatorPrivate +{ +public: + QNativeAndroidOptional factor; +}; + +QNativeAndroidDecelerateInterpolator::QNativeAndroidDecelerateInterpolator(QObject *parent) + : QNativeAndroidInterpolator(*(new QNativeAndroidDecelerateInterpolatorPrivate), parent) { } qreal QNativeAndroidDecelerateInterpolator::factor() const { - if (m_factor.isNull()) + Q_D(const QNativeAndroidDecelerateInterpolator); + if (d->factor.isNull()) return 1.0; - return m_factor; + return d->factor; } void QNativeAndroidDecelerateInterpolator::setFactor(qreal factor) { - if (m_factor.isNull() || m_factor != factor) { - m_factor = factor; + Q_D(QNativeAndroidDecelerateInterpolator); + if (d->factor.isNull() || d->factor != factor) { + d->factor = factor; emit factorChanged(); } } QAndroidJniObject QNativeAndroidDecelerateInterpolator::onCreate() { - if (m_factor.isNull()) + Q_D(QNativeAndroidDecelerateInterpolator); + if (d->factor.isNull()) return QAndroidJniObject("android/view/animation/DecelerateInterpolator"); return QAndroidJniObject("android/view/animation/DecelerateInterpolator", "(F)V", - m_factor); + d->factor); } QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroiddecelerateinterpolator_p.h b/src/android/view/animation/qnativeandroiddecelerateinterpolator_p.h index 290bfb1..c1a2d9e 100644 --- a/src/android/view/animation/qnativeandroiddecelerateinterpolator_p.h +++ b/src/android/view/animation/qnativeandroiddecelerateinterpolator_p.h @@ -49,10 +49,11 @@ // #include -#include QT_BEGIN_NAMESPACE +class QNativeAndroidDecelerateInterpolatorPrivate; + class Q_NATIVEANDROID_EXPORT QNativeAndroidDecelerateInterpolator : public QNativeAndroidInterpolator { Q_OBJECT @@ -71,7 +72,8 @@ protected: QAndroidJniObject onCreate() override; private: - QNativeAndroidOptional m_factor; + Q_DISABLE_COPY(QNativeAndroidDecelerateInterpolator) + Q_DECLARE_PRIVATE(QNativeAndroidDecelerateInterpolator) }; QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroidinterpolator.cpp b/src/android/view/animation/qnativeandroidinterpolator.cpp index cd7affc..c796ec4 100644 --- a/src/android/view/animation/qnativeandroidinterpolator.cpp +++ b/src/android/view/animation/qnativeandroidinterpolator.cpp @@ -35,11 +35,17 @@ ****************************************************************************/ #include "qnativeandroidinterpolator_p.h" +#include "qnativeandroidinterpolator_p_p.h" QT_BEGIN_NAMESPACE -QNativeAndroidInterpolator::QNativeAndroidInterpolator(QObject *parent) : - QNativeAndroidObject(parent) +QNativeAndroidInterpolator::QNativeAndroidInterpolator(QObject *parent) + : QNativeAndroidObject(*(new QNativeAndroidInterpolatorPrivate), parent) +{ +} + +QNativeAndroidInterpolator::QNativeAndroidInterpolator(QNativeAndroidInterpolatorPrivate &dd, QObject *parent) + : QNativeAndroidObject(dd, parent) { } diff --git a/src/android/view/animation/qnativeandroidinterpolator_p.h b/src/android/view/animation/qnativeandroidinterpolator_p.h index 6f541b2..d15b83e 100644 --- a/src/android/view/animation/qnativeandroidinterpolator_p.h +++ b/src/android/view/animation/qnativeandroidinterpolator_p.h @@ -52,6 +52,8 @@ QT_BEGIN_NAMESPACE +class QNativeAndroidInterpolatorPrivate; + class Q_NATIVEANDROID_EXPORT QNativeAndroidInterpolator : public QNativeAndroidObject { Q_OBJECT @@ -60,7 +62,13 @@ public: explicit QNativeAndroidInterpolator(QObject *parent = nullptr); protected: + QNativeAndroidInterpolator(QNativeAndroidInterpolatorPrivate &dd, QObject *parent = nullptr); + QAndroidJniObject onCreate() override; + +private: + Q_DISABLE_COPY(QNativeAndroidInterpolator) + Q_DECLARE_PRIVATE(QNativeAndroidInterpolator) }; QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroidinterpolator_p_p.h b/src/android/view/animation/qnativeandroidinterpolator_p_p.h new file mode 100644 index 0000000..b9b3c30 --- /dev/null +++ b/src/android/view/animation/qnativeandroidinterpolator_p_p.h @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt QML Android module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** 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 http://www.qt.io/terms-conditions. For further +** information use the contact form at http://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.LGPLv3 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.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 later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QNATIVEANDROIDINTERPOLATOR_P_P_H +#define QNATIVEANDROIDINTERPOLATOR_P_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +QT_BEGIN_NAMESPACE + +class QNativeAndroidInterpolatorPrivate : public QNativeAndroidObjectPrivate +{ +public: +}; + +QT_END_NAMESPACE + +#endif // QNATIVEANDROIDINTERPOLATOR_P_P_H diff --git a/src/android/view/animation/qnativeandroidlinearinterpolator.cpp b/src/android/view/animation/qnativeandroidlinearinterpolator.cpp index 2dff06c..23b79fb 100644 --- a/src/android/view/animation/qnativeandroidlinearinterpolator.cpp +++ b/src/android/view/animation/qnativeandroidlinearinterpolator.cpp @@ -38,8 +38,8 @@ QT_BEGIN_NAMESPACE -QNativeAndroidLinearInterpolator::QNativeAndroidLinearInterpolator(QObject *parent) : - QNativeAndroidInterpolator(parent) +QNativeAndroidLinearInterpolator::QNativeAndroidLinearInterpolator(QObject *parent) + : QNativeAndroidInterpolator(parent) { } diff --git a/src/android/view/animation/qnativeandroidlinearinterpolator_p.h b/src/android/view/animation/qnativeandroidlinearinterpolator_p.h index 6dc2a40..3903442 100644 --- a/src/android/view/animation/qnativeandroidlinearinterpolator_p.h +++ b/src/android/view/animation/qnativeandroidlinearinterpolator_p.h @@ -48,10 +48,7 @@ // We mean it. // -#include -#include #include -#include QT_BEGIN_NAMESPACE @@ -66,8 +63,6 @@ Q_SIGNALS: protected: QAndroidJniObject onCreate() override; - -private: }; QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroidovershootinterpolator.cpp b/src/android/view/animation/qnativeandroidovershootinterpolator.cpp index 88a2568..8ee1b6d 100644 --- a/src/android/view/animation/qnativeandroidovershootinterpolator.cpp +++ b/src/android/view/animation/qnativeandroidovershootinterpolator.cpp @@ -35,37 +35,48 @@ ****************************************************************************/ #include "qnativeandroidovershootinterpolator_p.h" +#include "qnativeandroidinterpolator_p_p.h" +#include "qnativeandroidoptional_p.h" QT_BEGIN_NAMESPACE -QNativeAndroidOvershootInterpolator::QNativeAndroidOvershootInterpolator(QObject *parent) : - QNativeAndroidInterpolator(parent) +class QNativeAndroidOvershootInterpolatorPrivate : public QNativeAndroidInterpolatorPrivate +{ +public: + QNativeAndroidOptional tension; +}; + +QNativeAndroidOvershootInterpolator::QNativeAndroidOvershootInterpolator(QObject *parent) + : QNativeAndroidInterpolator(*(new QNativeAndroidOvershootInterpolatorPrivate), parent) { } qreal QNativeAndroidOvershootInterpolator::tension() const { - if (m_tension.isNull()) + Q_D(const QNativeAndroidOvershootInterpolator); + if (d->tension.isNull()) return 2.0; - return m_tension; + return d->tension; } void QNativeAndroidOvershootInterpolator::setTension(qreal tension) { - if (m_tension.isNull() || m_tension != tension) { - m_tension = tension; + Q_D(QNativeAndroidOvershootInterpolator); + if (d->tension.isNull() || d->tension != tension) { + d->tension = tension; emit tensionChanged(); } } QAndroidJniObject QNativeAndroidOvershootInterpolator::onCreate() { - if (m_tension.isNull()) + Q_D(QNativeAndroidOvershootInterpolator); + if (d->tension.isNull()) return QAndroidJniObject("android/view/animation/OvershootInterpolator"); return QAndroidJniObject("android/view/animation/OvershootInterpolator", "(F)V", - m_tension); + d->tension); } QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroidovershootinterpolator_p.h b/src/android/view/animation/qnativeandroidovershootinterpolator_p.h index a3a7a6a..622acb5 100644 --- a/src/android/view/animation/qnativeandroidovershootinterpolator_p.h +++ b/src/android/view/animation/qnativeandroidovershootinterpolator_p.h @@ -49,10 +49,11 @@ // #include -#include QT_BEGIN_NAMESPACE +class QNativeAndroidOvershootInterpolatorPrivate; + class Q_NATIVEANDROID_EXPORT QNativeAndroidOvershootInterpolator : public QNativeAndroidInterpolator { Q_OBJECT @@ -71,7 +72,8 @@ protected: QAndroidJniObject onCreate() override; private: - QNativeAndroidOptional m_tension; + Q_DISABLE_COPY(QNativeAndroidOvershootInterpolator) + Q_DECLARE_PRIVATE(QNativeAndroidOvershootInterpolator) }; QT_END_NAMESPACE diff --git a/src/android/view/animation/qnativeandroidpathinterpolator.cpp b/src/android/view/animation/qnativeandroidpathinterpolator.cpp index e1e7fd9..6683323 100644 --- a/src/android/view/animation/qnativeandroidpathinterpolator.cpp +++ b/src/android/view/animation/qnativeandroidpathinterpolator.cpp @@ -35,89 +35,109 @@ ****************************************************************************/ #include "qnativeandroidpathinterpolator_p.h" +#include "qnativeandroidinterpolator_p_p.h" +#include "qnativeandroidoptional_p.h" QT_BEGIN_NAMESPACE -QNativeAndroidPathInterpolator::QNativeAndroidPathInterpolator(QObject *parent) : - QNativeAndroidInterpolator(parent) +class QNativeAndroidPathInterpolatorPrivate : public QNativeAndroidInterpolatorPrivate +{ +public: + QNativeAndroidOptional controlX; + QNativeAndroidOptional controlY; + QNativeAndroidOptional controlX2; + QNativeAndroidOptional controlY2; +}; + +QNativeAndroidPathInterpolator::QNativeAndroidPathInterpolator(QObject *parent) + : QNativeAndroidInterpolator(*(new QNativeAndroidPathInterpolatorPrivate), parent) { } qreal QNativeAndroidPathInterpolator::controlX() const { - if (m_controlX.isNull()) + Q_D(const QNativeAndroidPathInterpolator); + if (d->controlX.isNull()) return 0.0; - return m_controlX; + return d->controlX; } void QNativeAndroidPathInterpolator::setControlX(qreal x) { - if (m_controlX.isNull() || m_controlX != x) { - m_controlX = x; + Q_D(QNativeAndroidPathInterpolator); + if (d->controlX.isNull() || d->controlX != x) { + d->controlX = x; emit controlXChanged(); } } qreal QNativeAndroidPathInterpolator::controlY() const { - if (m_controlY.isNull()) + Q_D(const QNativeAndroidPathInterpolator); + if (d->controlY.isNull()) return 0.0; - return m_controlY; + return d->controlY; } void QNativeAndroidPathInterpolator::setControlY(qreal y) { - if (m_controlY.isNull() || m_controlY != y) { - m_controlY = y; + Q_D(QNativeAndroidPathInterpolator); + if (d->controlY.isNull() || d->controlY != y) { + d->controlY = y; emit controlYChanged(); } } qreal QNativeAndroidPathInterpolator::controlX2() const { - if (m_controlX2.isNull()) + Q_D(const QNativeAndroidPathInterpolator); + if (d->controlX2.isNull()) return 0.0; - return m_controlX2; + return d->controlX2; } void QNativeAndroidPathInterpolator::setControlX2(qreal x) { - if (m_controlX2.isNull() || m_controlX2 != x) { - m_controlX2 = x; + Q_D(QNativeAndroidPathInterpolator); + if (d->controlX2.isNull() || d->controlX2 != x) { + d->controlX2 = x; emit controlX2Changed(); } } qreal QNativeAndroidPathInterpolator::controlY2() const { - if (m_controlY2.isNull()) + Q_D(const QNativeAndroidPathInterpolator); + if (d->controlY2.isNull()) return 0.0; - return m_controlY2; + return d->controlY2; } void QNativeAndroidPathInterpolator::setControlY2(qreal y) { - if (m_controlY2.isNull() || m_controlY2 != y) { - m_controlY2 = y; + Q_D(QNativeAndroidPathInterpolator); + if (d->controlY2.isNull() || d->controlY2 != y) { + d->controlY2 = y; emit controlY2Changed(); } } QAndroidJniObject QNativeAndroidPathInterpolator::onCreate() { - if (!m_controlX.isNull() && !m_controlY.isNull() && !m_controlX2.isNull() && !m_controlY2.isNull()) + Q_D(QNativeAndroidPathInterpolator); + if (!d->controlX.isNull() && !d->controlY.isNull() && !d->controlX2.isNull() && !d->controlY2.isNull()) return QAndroidJniObject("android/view/animation/PathInterpolator", "(FFFF)V", - m_controlX, - m_controlY, - m_controlX2, - m_controlY2); + d->controlX, + d->controlY, + d->controlX2, + d->controlY2); - if (!m_controlX.isNull() && !m_controlY.isNull()) + if (!d->controlX.isNull() && !d->controlY.isNull()) return QAndroidJniObject("android/view/animation/PathInterpolator", "(FF)V", - m_controlX, - m_controlY); + d->controlX, + d->controlY); return QAndroidJniObject(); } diff --git a/src/android/view/animation/qnativeandroidpathinterpolator_p.h b/src/android/view/animation/qnativeandroidpathinterpolator_p.h index 9d9b9e8..c24e78b 100644 --- a/src/android/view/animation/qnativeandroidpathinterpolator_p.h +++ b/src/android/view/animation/qnativeandroidpathinterpolator_p.h @@ -49,10 +49,11 @@ // #include -#include QT_BEGIN_NAMESPACE +class QNativeAndroidPathInterpolatorPrivate; + class Q_NATIVEANDROID_EXPORT QNativeAndroidPathInterpolator : public QNativeAndroidInterpolator { Q_OBJECT @@ -86,10 +87,8 @@ protected: QAndroidJniObject onCreate() override; private: - QNativeAndroidOptional m_controlX; - QNativeAndroidOptional m_controlY; - QNativeAndroidOptional m_controlX2; - QNativeAndroidOptional m_controlY2; + Q_DISABLE_COPY(QNativeAndroidPathInterpolator) + Q_DECLARE_PRIVATE(QNativeAndroidPathInterpolator) }; QT_END_NAMESPACE -- cgit v1.2.3