QVariantAnimation::Interpolator QVariantAnimationPrivate::getInterpolator(int interpolationType) { QInterpolatorVector *interpolators = registeredInterpolators(); #ifndef QT_NO_THREAD QMutexLocker locker(QMutexPool::globalInstanceGet(interpolators)); #endif QVariantAnimation::Interpolator ret = 0; if (interpolationType < interpolators->count()) { ret = interpolators->at(interpolationType); if (ret) return ret; } switch(interpolationType) { case QMetaType::Int: return castToInterpolator(_q_interpolateVariant<int>); case QMetaType::Double: return castToInterpolator(_q_interpolateVariant<double>); case QMetaType::Float: return castToInterpolator(_q_interpolateVariant<float>); case QMetaType::QLine: return castToInterpolator(_q_interpolateVariant<QLine>); case QMetaType::QLineF: return castToInterpolator(_q_interpolateVariant<QLineF>); case QMetaType::QPoint: return castToInterpolator(_q_interpolateVariant<QPoint>); case QMetaType::QPointF: return castToInterpolator(_q_interpolateVariant<QPointF>); case QMetaType::QSize: return castToInterpolator(_q_interpolateVariant<QSize>); case QMetaType::QSizeF: return castToInterpolator(_q_interpolateVariant<QSizeF>); case QMetaType::QRect: return castToInterpolator(_q_interpolateVariant<QRect>); case QMetaType::QRectF: return castToInterpolator(_q_interpolateVariant<QRectF>); default: return 0; //this type is not handled } }
QVariantAnimation::Interpolator QVariantAnimationPrivate::getInterpolator(int interpolationType) { { QInterpolatorVector *interpolators = registeredInterpolators(); QMutexLocker locker(®isteredInterpolatorsMutex); QVariantAnimation::Interpolator ret = 0; if (interpolationType < interpolators->count()) { ret = interpolators->at(interpolationType); if (ret) return ret; } } switch(interpolationType) { case QMetaType::Int: return castToInterpolator(_q_interpolateVariant<int>); case QMetaType::Double: return castToInterpolator(_q_interpolateVariant<double>); case QMetaType::Float: return castToInterpolator(_q_interpolateVariant<float>); case QMetaType::QLine: return castToInterpolator(_q_interpolateVariant<QLine>); case QMetaType::QLineF: return castToInterpolator(_q_interpolateVariant<QLineF>); case QMetaType::QPoint: return castToInterpolator(_q_interpolateVariant<QPoint>); case QMetaType::QPointF: return castToInterpolator(_q_interpolateVariant<QPointF>); case QMetaType::QSize: return castToInterpolator(_q_interpolateVariant<QSize>); case QMetaType::QSizeF: return castToInterpolator(_q_interpolateVariant<QSizeF>); case QMetaType::QRect: return castToInterpolator(_q_interpolateVariant<QRect>); case QMetaType::QRectF: return castToInterpolator(_q_interpolateVariant<QRectF>); default: return 0; //this type is not handled } }