QskSkinnable::setSkinState added to be able to have transitions between
states that differ in more than one flag
This commit is contained in:
parent
3716b04036
commit
775dca5792
@ -759,12 +759,17 @@ void QskSkinnable::startTransition( QskAspect::Aspect aspect,
|
|||||||
m_data->animators.start( control, aspect, animationHint, from, to );
|
m_data->animators.start( control, aspect, animationHint, from, to );
|
||||||
}
|
}
|
||||||
|
|
||||||
void QskSkinnable::setSkinStateFlag( QskAspect::State state, bool on )
|
void QskSkinnable::setSkinStateFlag( QskAspect::State stateFlag, bool on )
|
||||||
{
|
{
|
||||||
const auto newState = on
|
const auto newState = on
|
||||||
? ( m_data->skinState | state )
|
? ( m_data->skinState | stateFlag )
|
||||||
: ( m_data->skinState & ~state );
|
: ( m_data->skinState & ~stateFlag );
|
||||||
|
|
||||||
|
setSkinState( newState );
|
||||||
|
}
|
||||||
|
|
||||||
|
void QskSkinnable::setSkinState( QskAspect::State newState )
|
||||||
|
{
|
||||||
if ( m_data->skinState == newState )
|
if ( m_data->skinState == newState )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -154,7 +154,9 @@ class QSK_EXPORT QskSkinnable
|
|||||||
void debug( QDebug, QskAspect::State ) const;
|
void debug( QDebug, QskAspect::State ) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
void setSkinState( QskAspect::State );
|
||||||
void setSkinStateFlag( QskAspect::State, bool = true );
|
void setSkinStateFlag( QskAspect::State, bool = true );
|
||||||
|
|
||||||
virtual void updateNode( QSGNode* );
|
virtual void updateNode( QSGNode* );
|
||||||
virtual bool isTransitionAccepted( QskAspect::Aspect ) const;
|
virtual bool isTransitionAccepted( QskAspect::Aspect ) const;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user