Use a Property Target Easing Interpolator when you want to create a smooth transition between the current value of a property and a value that you set dynamically. More...
#include <kanzi/ui/node_component/animation/property_target_easing_interpolator.hpp>
Classes | |
class | SetEnabledMessageArguments |
Message arguments for the PropertyTargetEasingInterpolator::SetEnabledMessage message. More... | |
Public Member Functions | |
EasingFunction | getEasingFunction () const |
Gets the value of the EasingFunctionProperty. More... | |
AnimationEasingMode | getEasingMode () const |
Gets the value of the EasingModeProperty. More... | |
PropertyField | getInterpolatedPropertyField () const |
Gets the value of the InterpolatedPropertyFieldProperty. More... | |
string | getInterpolatedPropertyType () const |
Gets the value of the InterpolatedPropertyTypeProperty. More... | |
chrono::milliseconds | getInterpolationDuration () const |
Gets the value of the InterpolationDurationProperty. More... | |
PropertyTargetEasingTimeline::InterpolationIfInterruptedMode | getInterpolationIfInterruptedMode () const |
Gets the value of the InterpolationIfInterruptedModeProperty. More... | |
bool | isEnabled () const |
Gets the value of the EnabledProperty. More... | |
bool | isNotifyInterpolationCompleted () const |
Gets the value of the NotifyInterpolationCompletedProperty. More... | |
void | setEasingFunction (EasingFunction easingFunction) |
Sets the value of the EasingFunctionProperty. More... | |
void | setEasingMode (AnimationEasingMode easingMode) |
Sets the value of the EasingModeProperty. More... | |
void | setEnabled (bool enabled) |
Sets the value of the EnabledProperty. More... | |
void | setInterpolatedPropertyField (PropertyField value) |
Sets the value of the InterpolatedPropertyFieldProperty. More... | |
void | setInterpolatedPropertyType (string_view value) |
Sets the value of the InterpolatedPropertyTypeProperty. More... | |
void | setInterpolationDuration (chrono::milliseconds duration) |
Sets the value of the InterpolationDurationProperty. More... | |
void | setInterpolationIfInterruptedMode (PropertyTargetEasingTimeline::InterpolationIfInterruptedMode mode) |
Sets the value of the InterpolationIfInterruptedModeProperty. More... | |
void | setNotifyInterpolationCompleted (bool notify) |
Sets the value of the NotifyInterpolationCompletedProperty property. More... | |
Public Member Functions inherited from kanzi::NodeComponent | |
void | attach (NodeWeakPtr node) |
Attaches node component to node. More... | |
void | detach () |
Detaches node component from the node it was attached to. More... | |
string | getName () const |
Gets the name of node component. More... | |
NodeSharedPtr | getNode () const |
Returns the node the node component is attached to or null pointer if node component is not attached to a node. More... | |
State | getState () const |
Gets the state of node component indicating if component is attached to a node, detached from any node or in process of attaching/detaching. More... | |
bool | isAttached () const |
Indicates whether node component is attached to a node. More... | |
bool | isAttaching () const |
Indicates whether node component is in the process of attaching to a node. More... | |
bool | isAttachingOrAttached () const |
Indicates whether node component is in the process of attaching to a node or already attached. More... | |
bool | isDetached () const |
Indicates whether node component is detached from any node. More... | |
bool | isDetaching () const |
Indicates whether node component currently detaching from the node. More... | |
bool | isDetachingOrDetached () const |
Indicates whether node component is in the process of detaching from the node or already detached. More... | |
void | setName (string_view name) |
Sets the name of node component. More... | |
~NodeComponent () override | |
Destructor. More... | |
Public Member Functions inherited from kanzi::Object | |
AppliedStyleEntrySharedPtr | applyObjectStyle (kanzi::StyleSharedPtr style) |
Applies a style to an object. More... | |
void | applyObjectStyles () |
Apply all styles for an object node. More... | |
Domain * | getDomain () const |
Returns the domain the object belongs to. More... | |
const Metaclass * | getDynamicMetaclass () const override |
Returns the metaclass of the dynamic type of the object. More... | |
MainLoopScheduler * | getMainLoopScheduler () const |
Returns the MainLoopScheduler instance of the associated Domain. More... | |
detail::MessageDispatcher * | getMessageDispatcher () const |
Returns the message dispatcher of the object. More... | |
ResourceManager * | getResourceManager () const |
Returns the resource manager of the object. More... | |
ScriptingContextSharedPtr | getScriptingContext () const |
Gets the scripting context of the object. More... | |
Object (Domain *domain) | |
void | setScriptingContext (ScriptingContextSharedPtr context) |
Sets the scripting context of the object. More... | |
void | unapplyObjectStyle (AppliedStyleEntrySharedPtr appliedStyleEntry) |
void | unapplyObjectStyles () |
Unapplies and removes all applied styles. More... | |
~Object () override | |
Public Member Functions inherited from kanzi::MetaObject | |
bool | isTypeOf (const Metaclass *objectType) const |
Determines if the type of this object is the given type or derived from it. More... | |
virtual | ~MetaObject () |
Public Member Functions inherited from kanzi::PropertyObject | |
template<typename DataType > | |
void | addPropertyModifier (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner) |
template<typename DataType > | |
void | addPropertyNotificationHandler (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::NotificationCallback callback, void *owner) |
template<typename DataType > | |
void | addPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, PropertyValuePrecedence precedence, void *ownerPointer) |
template<typename DataType > | |
void | addPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, PropertyValuePrecedence precedence, AbstractPropertyTypeDescriptor::ValueSourceOwner *owner) |
PropertyStorageContainer::iterator | beginPropertyStorage () |
Returns the begin iterator to the internal property storage container. More... | |
PropertyStorageContainer::const_iterator | beginPropertyStorage () const |
Returns the begin iterator to the internal property storage container. More... | |
void | clearPropertyFlag (AbstractPropertyType propertyType, uint32_t flag) |
void | copyLocalValue (const PropertyObject &other, AbstractPropertyType propertyType) |
Copies local value of single property from another object. More... | |
void | copyLocalValues (const PropertyObject &other) |
Copies all local values from another object. More... | |
PropertyStorageContainer::iterator | endPropertyStorage () |
Returns the end iterator to the internal property storage container. More... | |
PropertyStorageContainer::const_iterator | endPropertyStorage () const |
Returns the end iterator to the internal property storage container. More... | |
template<typename DataType > | |
PropertyType< DataType >::Traits::ReturnType | getAbstractProperty (AbstractPropertyType abstractPropertyType) const |
template<typename DataType > | |
PropertyType< DataType >::Traits::ReturnType | getAbstractPropertyBase (AbstractPropertyType abstractPropertyType) const |
template<typename DataType > | |
optional< typename PropertyType< DataType >::Traits::ReturnType > | getOptionalAbstractProperty (AbstractPropertyType abstractPropertyType) const |
template<typename DataType > | |
optional< typename PropertyType< DataType >::Traits::ReturnType > | getOptionalProperty (const PropertyType< DataType > &propertyType) const |
Evaluates the property value in the same way as the overload above but does not default to the value in property metadata if there are no inputs to the property value. More... | |
template<typename DataType > | |
optional< typename PropertyType< DataType >::Traits::ReturnType > | getOptionalPropertyBase (const PropertyType< DataType > &propertyType) const |
Returns the current value of a property disregarding modifiers, but does not default to the value in property metadata if there are no inputs to the property value. More... | |
template<typename DataType > | |
PropertyType< DataType >::Traits::ReturnType | getProperty (const PropertyType< DataType > &propertyType) const |
Returns the current value of a property type. More... | |
template<typename DataType > | |
PropertyType< DataType >::Traits::ReturnType | getPropertyBase (const PropertyType< DataType > &propertyType) const |
Returns the current value of a property disregarding modifiers. More... | |
template<typename DataType > | |
size_t | getPropertyNotificationHandlerCount (const PropertyType< DataType > &propertyType) const |
Gets number of current notification handlers for given property type. More... | |
bool | hasBaseValue (AbstractPropertyType propertyType) const |
Evaluates whether there are any inputs into the property value, disregarding modifiers. More... | |
bool | hasLocalValue (AbstractPropertyType propertyType) const |
Evaluates whether there is a local value set for the property. More... | |
bool | hasNonClassValue (AbstractPropertyType propertyType) const |
Evaluates whether there is a value of any precedence higher than class default value set for the property. More... | |
bool | hasValue (AbstractPropertyType propertyType) const |
Evaluates whether there are any inputs into the property value. More... | |
bool | isPropertyFlagSet (AbstractPropertyType propertyType, uint32_t flag) const |
PropertyObject () | |
void | removeKzbProperties (flat_set< AbstractPropertyType > *keepProperties) |
Remove all KZB properties that are not included in a given set. More... | |
void | removeKzbProperties () |
Remove all KZB properties. More... | |
template<typename DataType > | |
void | removeLocalPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, void *ownerPointer) |
void | removeLocalValue (AbstractPropertyType propertyType) |
Removes the local value associated with the property. More... | |
template<typename DataType > | |
void | removePropertyModifier (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner) |
template<typename DataType > | |
void | removePropertyNotificationHandler (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::NotificationCallback callback, void *owner) |
template<typename DataType > | |
void | removePropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, void *ownerPointer) |
template<typename DataType > | |
void | setAbstractProperty (AbstractPropertyType abstractPropertyType, typename PropertyType< DataType >::Traits::ParameterType value) |
template<typename DataType > | |
void | setProperty (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Traits::ParameterType value) |
Sets the local value of a property type. More... | |
void | setPropertyFlag (AbstractPropertyType propertyType, uint32_t flag) |
void | validatePropertyModifiers (AbstractPropertyType propertyType) |
virtual | ~PropertyObject () |
Static Public Member Functions | |
static PropertyTargetEasingInterpolatorSharedPtr | create (Domain *domain, string_view name) |
Creates an instance of PropertyTargetEasingInterpolator. More... | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Static Public Member Functions inherited from kanzi::NodeComponent | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Static Public Member Functions inherited from kanzi::Object | |
static const Metaclass * | getStaticMetaclass () |
Returns the metaclass of Object class. More... | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Default implementation that returns empty editor info. More... | |
Static Public Member Functions inherited from kanzi::MetaObject | |
static const Metaclass * | getStaticMetaclass () |
Returns the metaclass of Object class. More... | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Default implementation that returns empty editor info. More... | |
Static Public Attributes | |
static MessageType< NodeComponentSourceMessageArguments > | CompletedMessage |
If NotifyInterpolationCompletedProperty is set to true, the node where you attach a PropertyTargetEasingInterpolator sends this message every time when the PropertyTargetEasingInterpolator completes an interpolation. More... | |
static PropertyType< EasingFunction > | EasingFunctionProperty |
Specifies the easing function that defines the interpolation curve. More... | |
static PropertyType< AnimationEasingMode > | EasingModeProperty |
Specifies the easing mode that defines how to apply the easing function to the interpolation. More... | |
static PropertyType< bool > | EnabledProperty |
Specifies whether PropertyTargetEasingInterpolator is enabled. More... | |
static PropertyType< PropertyField > | InterpolatedPropertyFieldProperty |
Sets the property field of the property type that you want to interpolate with a PropertyTargetEasingInterpolator. More... | |
static PropertyType< string > | InterpolatedPropertyTypeProperty |
Sets the property type that you want to interpolate with a PropertyTargetEasingInterpolator in the node to which you attach the PropertyTargetEasingInterpolator. More... | |
static PropertyType< int > | InterpolationDurationProperty |
Specifies the duration of the interpolation in milliseconds. More... | |
static PropertyType< PropertyTargetEasingTimeline::InterpolationIfInterruptedMode > | InterpolationIfInterruptedModeProperty |
Specifies how a PropertyTargetEasingInterpolator handles its interpolation when the user interrupts an interpolation. More... | |
static PropertyType< bool > | NotifyInterpolationCompletedProperty |
Specifies whether a PropertyTargetEasingInterpolator sends a CompletedMessage message every time the PropertyTargetEasingInterpolator completes an interpolation animation. More... | |
static MessageType< SetEnabledMessageArguments > | SetEnabledMessage |
To enable or disable a PropertyTargetEasingInterpolator, send this message. More... | |
Static Public Attributes inherited from kanzi::NodeComponent | |
static PropertyType< string > | NameProperty |
Name property specifies the name of node component. More... | |
Additional Inherited Members | |
Protected Types inherited from kanzi::Object | |
typedef vector< AppliedStyleEntrySharedPtr > | AppliedStyleContainer |
Applied style container. More... | |
Static Protected Member Functions inherited from kanzi::NodeComponent | |
template<typename TMessageType > | |
static void | nodeComponentMessageHandler (const NodeComponent *nodeComponent, const typename TMessageType::FunctionType &function, typename TMessageType::ArgumentsType &messageArguments) |
Handler function for node component messages. More... | |
Protected Attributes inherited from kanzi::Object | |
AppliedStyleContainer | m_appliedStyles |
Listing of applied styles applied to this object. More... | |
Use a Property Target Easing Interpolator when you want to create a smooth transition between the current value of a property and a value that you set dynamically.
In a Property Target Easing Interpolator you can set the easing curve, easing mode, and the duration of the transition. When you set a property value without a Property Target Easing Interpolator, Kanzi applies the value to that property immediately. For example, when you use the Object::setProperty() function, Kanzi applies the value immediately.
Every time the value of the target property changes, Property Target Easing Interpolator starts to apply the animation from the current value of the target property to the new value of the target property. Use the setInterpolationDuration() function to set the value of the InterpolationDurationProperty property which determines the duration of the animation. The Property Target Easing Interpolator applies to the animation:
If the value of the target property changes during an interpolating animation, the Property Target Easing Interpolator stops that animation and starts a new animation. Use the setInterpolationIfInterruptedMode() function to set the value of the InterpolationIfInterruptedModeProperty property which determines from where the animation starts:
There is no interpolation between the old and the new animations.
You can use the Property Target Easing Interpolator to interpolate properties of these data types:
To use a Property Target Easing Interpolator to interpolate a property value:
Specifies the easing function for the interpolation animation.
Enumerator | |
---|---|
Linear | Specifies linear easing function.
|
Step | Specifies step easing function.
|
SmoothStep | Specifies smooth step easing function.
|
SmootherStep | Specifies smoother step easing function.
|
Back | Specifies back easing function.
|
Bounce | Specifies bounce easing function.
|
Circle | Specifies circle easing function.
|
Cubic | Specifies cubic easing function.
|
Elastic | Specifies elastic easing function.
|
Exponential | Specifies exponential easing function.
|
Power | Specifies power easing function.
|
Quadratic | Specifies quadratic easing function.
|
Quartic | Specifies quartic easing function.
|
Quintic | Specifies quintic easing function.
|
Sine | Specifies sine easing function.
|
|
explicitprotected |
Constructor.
domain | The UI domain to which the PropertyTargetEasingInterpolator belongs. |
name | The name of the PropertyTargetEasingInterpolator. |
bool kanzi::PropertyTargetEasingInterpolator::isEnabled | ( | ) | const |
Gets the value of the EnabledProperty.
void kanzi::PropertyTargetEasingInterpolator::setEnabled | ( | bool | enabled | ) |
Sets the value of the EnabledProperty.
string kanzi::PropertyTargetEasingInterpolator::getInterpolatedPropertyType | ( | ) | const |
Gets the value of the InterpolatedPropertyTypeProperty.
void kanzi::PropertyTargetEasingInterpolator::setInterpolatedPropertyType | ( | string_view | value | ) |
Sets the value of the InterpolatedPropertyTypeProperty.
PropertyField kanzi::PropertyTargetEasingInterpolator::getInterpolatedPropertyField | ( | ) | const |
Gets the value of the InterpolatedPropertyFieldProperty.
void kanzi::PropertyTargetEasingInterpolator::setInterpolatedPropertyField | ( | PropertyField | value | ) |
Sets the value of the InterpolatedPropertyFieldProperty.
chrono::milliseconds kanzi::PropertyTargetEasingInterpolator::getInterpolationDuration | ( | ) | const |
Gets the value of the InterpolationDurationProperty.
void kanzi::PropertyTargetEasingInterpolator::setInterpolationDuration | ( | chrono::milliseconds | duration | ) |
Sets the value of the InterpolationDurationProperty.
EasingFunction kanzi::PropertyTargetEasingInterpolator::getEasingFunction | ( | ) | const |
Gets the value of the EasingFunctionProperty.
void kanzi::PropertyTargetEasingInterpolator::setEasingFunction | ( | EasingFunction | easingFunction | ) |
Sets the value of the EasingFunctionProperty.
AnimationEasingMode kanzi::PropertyTargetEasingInterpolator::getEasingMode | ( | ) | const |
Gets the value of the EasingModeProperty.
void kanzi::PropertyTargetEasingInterpolator::setEasingMode | ( | AnimationEasingMode | easingMode | ) |
Sets the value of the EasingModeProperty.
PropertyTargetEasingTimeline::InterpolationIfInterruptedMode kanzi::PropertyTargetEasingInterpolator::getInterpolationIfInterruptedMode | ( | ) | const |
Gets the value of the InterpolationIfInterruptedModeProperty.
void kanzi::PropertyTargetEasingInterpolator::setInterpolationIfInterruptedMode | ( | PropertyTargetEasingTimeline::InterpolationIfInterruptedMode | mode | ) |
Sets the value of the InterpolationIfInterruptedModeProperty.
bool kanzi::PropertyTargetEasingInterpolator::isNotifyInterpolationCompleted | ( | ) | const |
Gets the value of the NotifyInterpolationCompletedProperty.
void kanzi::PropertyTargetEasingInterpolator::setNotifyInterpolationCompleted | ( | bool | notify | ) |
Sets the value of the NotifyInterpolationCompletedProperty property.
|
static |
|
static |
Creates an instance of PropertyTargetEasingInterpolator.
domain | The UI domain to which the PropertyTargetEasingInterpolator belongs. |
name | The name of the PropertyTargetEasingInterpolator. |
|
overrideprotectedvirtual |
NodeComponent::attachOverride() implementation.
Reimplemented from kanzi::NodeComponent.
|
overrideprotectedvirtual |
NodeComponent::detachOverride() implementation.
Reimplemented from kanzi::NodeComponent.
|
protected |
Enable PropertyTargetEasingInterpolator.
|
protected |
Disable PropertyTargetEasingInterpolator.
|
overrideprotectedvirtual |
PropertyObject::onPropertyChanged() implementation.
Reimplemented from kanzi::PropertyObject.
|
protected |
Handler for SetEnabled message.
|
protected |
Sends message about completion of interpolation.
This function is called by PropertyTargetEasingInterpolator when its interpolation has completed.
playback | Playback the interpolation of which has completed. |
|
static |
To enable or disable a PropertyTargetEasingInterpolator, send this message.
|
static |
If NotifyInterpolationCompletedProperty is set to true, the node where you attach a PropertyTargetEasingInterpolator sends this message every time when the PropertyTargetEasingInterpolator completes an interpolation.
|
static |
Specifies whether PropertyTargetEasingInterpolator is enabled.
When you disable PropertyTargetEasinginterpolator, it does not interpolate the value of its target property. By default PropertyTargetEasingInterpolator is enabled.
|
static |
Sets the property type that you want to interpolate with a PropertyTargetEasingInterpolator in the node to which you attach the PropertyTargetEasingInterpolator.
The default value of this property is "" (no property type to interpolate).
|
static |
Sets the property field of the property type that you want to interpolate with a PropertyTargetEasingInterpolator.
The default value of this property is "Whole", meaning that the whole value of the property is interpolated.
|
static |
Specifies the duration of the interpolation in milliseconds.
The default value is 1000.
|
static |
Specifies the easing function that defines the interpolation curve.
The default value is "Linear".
|
static |
Specifies the easing mode that defines how to apply the easing function to the interpolation.
The default value of this property is "Ease In", which applies the easing function in a forward manner, from the beginning till the end.
|
static |
Specifies how a PropertyTargetEasingInterpolator handles its interpolation when the user interrupts an interpolation.
|
static |
Specifies whether a PropertyTargetEasingInterpolator sends a CompletedMessage message every time the PropertyTargetEasingInterpolator completes an interpolation animation.
The default value is false.