QskSkinnable::runnigHintAnimator added
This commit is contained in:
parent
d4ad863b7a
commit
cec07e78ff
|
@ -10,6 +10,7 @@
|
||||||
#include "QskWindow.h"
|
#include "QskWindow.h"
|
||||||
#include "QskEvent.h"
|
#include "QskEvent.h"
|
||||||
#include "QskPlatform.h"
|
#include "QskPlatform.h"
|
||||||
|
#include "QskHintAnimator.h"
|
||||||
|
|
||||||
#include <qpa/qplatformintegration.h>
|
#include <qpa/qplatformintegration.h>
|
||||||
|
|
||||||
|
@ -239,13 +240,7 @@ bool QskPopup::isOpen() const
|
||||||
|
|
||||||
bool QskPopup::isTransitioning() const
|
bool QskPopup::isTransitioning() const
|
||||||
{
|
{
|
||||||
if ( m_data->transitionAspect.value() == 0 )
|
return runningHintAnimator( m_data->transitionAspect ) != nullptr;
|
||||||
return false;
|
|
||||||
|
|
||||||
QskSkinHintStatus status;
|
|
||||||
(void) effectiveSkinHint( m_data->transitionAspect, &status );
|
|
||||||
|
|
||||||
return status.source == QskSkinHintStatus::Animator;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QRectF QskPopup::overlayRect() const
|
QRectF QskPopup::overlayRect() const
|
||||||
|
|
|
@ -988,6 +988,23 @@ bool QskSkinnable::moveSkinHint( QskAspect aspect, const QVariant& value )
|
||||||
return moveSkinHint( aspect, effectiveSkinHint( aspect ), value );
|
return moveSkinHint( aspect, effectiveSkinHint( aspect ), value );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const QskHintAnimator* QskSkinnable::runningHintAnimator(
|
||||||
|
QskAspect aspect, int index ) const
|
||||||
|
{
|
||||||
|
const auto& animators = m_data->animators;
|
||||||
|
|
||||||
|
if ( animators.isEmpty() )
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
|
aspect = qskAnimatorAspect( aspect );
|
||||||
|
|
||||||
|
auto animator = animators.animator( aspect, index );
|
||||||
|
if ( animator == nullptr && index >= 0 )
|
||||||
|
animator = animators.animator( aspect, -1 );
|
||||||
|
|
||||||
|
return animator;
|
||||||
|
}
|
||||||
|
|
||||||
QVariant QskSkinnable::animatedHint(
|
QVariant QskSkinnable::animatedHint(
|
||||||
QskAspect aspect, QskSkinHintStatus* status ) const
|
QskAspect aspect, QskSkinHintStatus* status ) const
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,6 +25,7 @@ class QQuickItem;
|
||||||
class QskArcMetrics;
|
class QskArcMetrics;
|
||||||
class QskControl;
|
class QskControl;
|
||||||
class QskAnimationHint;
|
class QskAnimationHint;
|
||||||
|
class QskHintAnimator;
|
||||||
class QskColorFilter;
|
class QskColorFilter;
|
||||||
class QskBoxShapeMetrics;
|
class QskBoxShapeMetrics;
|
||||||
class QskBoxBorderMetrics;
|
class QskBoxBorderMetrics;
|
||||||
|
@ -262,6 +263,8 @@ class QSK_EXPORT QskSkinnable
|
||||||
bool startHintTransitions( const QVector< QskAspect::Subcontrol >&,
|
bool startHintTransitions( const QVector< QskAspect::Subcontrol >&,
|
||||||
QskAspect::States, QskAspect::States, int index = -1 );
|
QskAspect::States, QskAspect::States, int index = -1 );
|
||||||
|
|
||||||
|
const QskHintAnimator* runningHintAnimator( QskAspect, int index = -1 ) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void updateNode( QSGNode* );
|
virtual void updateNode( QSGNode* );
|
||||||
virtual bool isTransitionAccepted( QskAspect ) const;
|
virtual bool isTransitionAccepted( QskAspect ) const;
|
||||||
|
|
Loading…
Reference in New Issue