Kanzi  3.9.7
Kanzi Engine API
kanzi::PropertyTargetEasingInterpolator Class Reference

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>

Inheritance diagram for kanzi::PropertyTargetEasingInterpolator:
[legend]

Classes

class  SetEnabledMessageArguments
 Message arguments for the PropertyTargetEasingInterpolator::SetEnabledMessage message. More...
 

Public Types

enum  EasingFunction {
  EasingFunction::Linear, EasingFunction::Step, EasingFunction::SmoothStep, EasingFunction::SmootherStep,
  EasingFunction::Back, EasingFunction::Bounce, EasingFunction::Circle, EasingFunction::Cubic,
  EasingFunction::Elastic, EasingFunction::Exponential, EasingFunction::Power, EasingFunction::Quadratic,
  EasingFunction::Quartic, EasingFunction::Quintic, EasingFunction::Sine
}
 Specifies the easing function for the interpolation animation. More...
 
- Public Types inherited from kanzi::NodeComponent
using NodeComponentMessageArguments = NodeComponentTargetMessageArguments
 Legacy name for NodeComponentTargetMessageArguments. More...
 
enum  State { StateDetached, StateDetaching, StateAttaching, StateAttached }
 State indicating if component is attached to a node, detached from any node or in process of attaching/detaching. More...
 
- Public Types inherited from kanzi::PropertyObject
typedef PropertyStorageContainer::const_iterator PropertyStorageConstIterator
 
typedef vector< PropertyStoragePtrPropertyStorageContainer
 
typedef PropertyStorageContainer::iterator PropertyStorageIterator
 
typedef intrusive_ptr< AbstractPropertyTypeDescriptor::PropertyStoragePropertyStoragePtr
 
typedef PropertyStorageContainer::reverse_iterator PropertyStorageReverseIterator
 

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...
 
DomaingetDomain () const
 Returns the domain the object belongs to. More...
 
const MetaclassgetDynamicMetaclass () const override
 Returns the metaclass of the dynamic type of the object. More...
 
MainLoopSchedulergetMainLoopScheduler () const
 Returns the MainLoopScheduler instance of the associated Domain. More...
 
detail::MessageDispatcher * getMessageDispatcher () const
 Returns the message dispatcher of the object. More...
 
ResourceManagergetResourceManager () 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 addPropertyModifierWithoutNotifyingHandlers (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner)
 Adds a property modifier without notifying handlers. More...
 
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)
 
KZ_DEPRECATED void validatePropertyModifiers (AbstractPropertyType propertyType)
 Validates property modifiers and notifies handlers. More...
 
void validatePropertyModifiersAndNotifyHandlers (AbstractPropertyType propertyType)
 Validates property modifiers and notifies handlers. More...
 
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 MetaclassgetStaticMetaclass ()
 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 MetaclassgetStaticMetaclass ()
 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< EasingFunctionEasingFunctionProperty
 Specifies the easing function that defines the interpolation curve. More...
 
static PropertyType< AnimationEasingModeEasingModeProperty
 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< PropertyFieldInterpolatedPropertyFieldProperty
 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::InterpolationIfInterruptedModeInterpolationIfInterruptedModeProperty
 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< SetEnabledMessageArgumentsSetEnabledMessage
 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...
 

Protected Member Functions

void attachOverride () override
 NodeComponent::attachOverride() implementation. More...
 
void detachOverride () override
 NodeComponent::detachOverride() implementation. More...
 
void disable ()
 Disable PropertyTargetEasingInterpolator. More...
 
void enable ()
 Enable PropertyTargetEasingInterpolator. More...
 
void onInterpolationCompleted (TimelinePlayback &playback)
 Sends message about completion of interpolation. More...
 
void onPropertyChanged (AbstractPropertyType propertyType, PropertyNotificationReason reason) override
 PropertyObject::onPropertyChanged() implementation. More...
 
 PropertyTargetEasingInterpolator (Domain *domain, string_view name)
 Constructor. More...
 
void setEnabledMessageHandler (SetEnabledMessageArguments &arguments)
 Handler for SetEnabled message. More...
 
- Protected Member Functions inherited from kanzi::NodeComponent
template<typename TMessageType , typename TClass , typename TMethod >
Node::MessageSubscriptionToken addNodeComponentMessageHandler (TMessageType &messageType, TClass *messageHandlerObject, TMethod method)
 Kanzi calls the message handler that you add using this function when the target name of the incoming message matches the name of this node component, or if the message is broadcast to all node components with an empty target name. More...
 
template<typename TMessageType >
Node::MessageSubscriptionToken addNodeComponentMessageHandler (TMessageType &messageType, typename TMessageType::FunctionType function)
 Kanzi calls the message handler that you add using this function when the target name of the incoming message matches the name of the node component, or if the message is broadcast to all node components with an empty target name. More...
 
void dispatchAbstractMessage (const AbstractMessageType &messageType, MessageArguments &messageArguments)
 Adds the name of the node component to the abstract message arguments and dispatches the message to the node of the node component. More...
 
template<typename TArgumentsType >
void dispatchMessage (const MessageType< TArgumentsType > &messageType, typename MessageType< TArgumentsType >::ArgumentsType &messageArguments)
 Adds the name of the node component to the message arguments and dispatches the message to the node of the node component. More...
 
 NodeComponent (Domain *domain, string_view name)
 Constructor. More...
 
void removeNodeComponentMessageFilter (Node::MessageSubscriptionToken subscriptionToken)
 Removes message handler added via addNodeComponentMessageHandler function. More...
 
- Protected Member Functions inherited from kanzi::Object
void initialize ()
 
void onCopy (const Object &other)
 
- Protected Member Functions inherited from kanzi::MetaObject
void initialize ()
 
 MetaObject ()
 
- Protected Member Functions inherited from kanzi::PropertyObject
AbstractPropertyTypeDescriptor::ValueSourceEntryacquireLocalValueSourceEntry (AbstractPropertyTypeDescriptor &descriptor, PropertyStoragePtr &propertyStorage)
 Acquires a local value source entry that is free for the assignment of a value. More...
 
AbstractPropertyTypeDescriptor::ModifierStorageacquireModifierStorage (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::PropertyStorage &propertyStorage)
 
AbstractPropertyTypeDescriptor::NotificationStorageacquireNotificationStorage (AbstractPropertyTypeDescriptor &descriptor)
 
PropertyStoragePtr acquirePropertyStorage (AbstractPropertyTypeDescriptor &descriptor)
 
template<typename DataType >
void addPropertyModifierBase (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner, bool notify)
 Adds a property modifier entry to the property modifier stack and validates them. More...
 
void addPropertyValueSource (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::ValueSource *valueSource, PropertyValuePrecedence precedence, void *ownerPointer)
 Internally adds a property value source. More...
 
void addPropertyValueSource (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::ValueSource *valueSource, PropertyValuePrecedence precedence, AbstractPropertyTypeDescriptor::ValueSourceOwner *owner)
 Internally adds a property value source. More...
 
AbstractPropertyTypeDescriptor::ValueSourceEntryconstructLocalValueSourceEntry (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::PropertyStorage &propertyStorage)
 
PropertyStoragePtr constructPropertyStorage (AbstractPropertyTypeDescriptor &descriptor)
 
void copyLocalValue (const AbstractPropertyTypeDescriptor::PropertyStorage &otherPropertyStorage)
 Copy local value from property storage. More...
 
AbstractPropertyTypeDescriptor::ModifierStoragefindModifierStorage (AbstractPropertyTypeDescriptor &descriptor)
 
AbstractPropertyTypeDescriptor::NotificationStoragefindNotificationStorage (AbstractPropertyTypeDescriptor &descriptor) const
 
AbstractPropertyTypeDescriptor::PropertyStoragefindPropertyStorage (AbstractPropertyTypeDescriptor &descriptor) const
 Gets the property storage for given property type descriptor. More...
 
PropertyStoragePtr findPropertyStoragePtr (AbstractPropertyTypeDescriptor &descriptor) const
 Gets property storage intrusive pointer which you can use to hold a reference until the end of the operation. More...
 
AbstractPropertyTypeDescriptorfindPropertyTypeDescriptorByNameAndDataType (string_view name, PropertyDataType dataType) const
 Finds a property type descriptor by name and data type. More...
 
AbstractPropertyTypeDescriptorfindPropertyTypeDescriptorByQualifiedNameAndDataType (string_view qualifiedName, PropertyDataType dataType) const
 Like findPropertyTypeDescriptorByNameAndDataType, but only searches by matching with qualified names. More...
 
AbstractPropertyTypeDescriptorfindPropertyTypeDescriptorByUnqualifiedNameAndDataType (string_view unqualifiedName, PropertyDataType dataType) const
 Like findPropertyTypeDescriptorByNameAndDataType, but only searches by matching with unqualified names. More...
 
AbstractPropertyTypeDescriptor::ValueSourcegetClassValueSource (AbstractPropertyTypeDescriptor &descriptor) const
 
AbstractPropertyTypeDescriptor::ValueSourcegetFinalValueSource (AbstractPropertyTypeDescriptor &descriptor) const
 
AbstractPropertyTypeDescriptor::ValueSourcegetNonClassValueSource (AbstractPropertyTypeDescriptor &descriptor) const
 
AbstractPropertyTypeDescriptor::ValueSourcegetTopValueSource (AbstractPropertyTypeDescriptor &descriptor) const
 Gets the top-level value source for a given property descriptor. More...
 
virtual void notifyPropertyHandlers (PropertyStoragePtr &storagePtr, PropertyNotificationReason reason)
 Notifies all property handlers on a property storage. More...
 
void onCopy (const PropertyObject &other)
 
void removeLocalValue (AbstractPropertyTypeDescriptor &descriptor, PropertyStoragePtr &propertyStorage)
 Removes a local value from the given property storage. More...
 
void removePropertyValueSource (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::ValueSource *valueSource, void *owner)
 Removes a property value source. More...
 
void validatePropertyModifiers (PropertyStoragePtr &propertyStorage)
 Validates property modifiers without notifying handlers. More...
 
void validatePropertyModifiersAndNotifyHandlers (PropertyStoragePtr &propertyStorage)
 Validates property modifiers and notifies handlers. More...
 

Additional Inherited Members

- Protected Types inherited from kanzi::Object
typedef vector< AppliedStyleEntrySharedPtrAppliedStyleContainer
 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...
 

Detailed Description

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:

  • Float
  • ColorRGBA and its R, G, B, and A property fields
  • Vector2 and its X and Y property fields
  • Vector3 and its X, Y, and Z property fields
  • Vector4 and its X, Y, Z, and W property fields
  • SRTValue2D and its Scale X, Scale Y, Rotation Z, Translation X, and Translation Y property fields
  • SRTValue3D and its Scale X, Scale Y, Scale Z, Rotation, Translation X, Translation Y, and Translation Z property fields

Examples

To use a Property Target Easing Interpolator to interpolate a property value:

// Create a Property Target Easing Interpolator.
auto interpolator = PropertyTargetEasingInterpolator::create(domain, "interpolator");
// Set the property type whose value you want the Property Target Easing Interpolator to interpolate.
interpolator->setInterpolatedPropertyType(Node2D::OpacityProperty.getName());
// Set the easing function to Linear.
// Set the easing mode to Ease in-out.
interpolator->setEasingMode(AnimationEaseInOut);
// Set the duration of the interpolation to 500 milliseconds.
interpolator->setInterpolationDuration(chrono::milliseconds(500));
// Add the Property Target Easing Interpolator to a node.
node->addNodeComponent(interpolator);

Member Enumeration Documentation

Specifies the easing function for the interpolation animation.

Enumerator
Linear 

Specifies linear easing function.

See also
LinearEasingFunction
Step 

Specifies step easing function.

See also
StepEasingFunction
SmoothStep 

Specifies smooth step easing function.

See also
SmoothStepEasingFunction
SmootherStep 

Specifies smoother step easing function.

See also
SmootherStepEasingFunction
Back 

Specifies back easing function.

See also
BackEasingFunction
Bounce 

Specifies bounce easing function.

See also
BounceEasingFunction
Circle 

Specifies circle easing function.

See also
circleEasingFunction
Cubic 

Specifies cubic easing function.

See also
CubicEasingFunction
Elastic 

Specifies elastic easing function.

See also
ElasticEasingFunction
Exponential 

Specifies exponential easing function.

See also
ExponentialEasingFunction
Power 

Specifies power easing function.

See also
PowerEasingFunction
Quadratic 

Specifies quadratic easing function.

See also
QuadraticEasingFunction
Quartic 

Specifies quartic easing function.

See also
QuarticEasingFunction
Quintic 

Specifies quintic easing function.

See also
QuinticEasingFunction
Sine 

Specifies sine easing function.

See also
SineEasingFunction

Constructor & Destructor Documentation

kanzi::PropertyTargetEasingInterpolator::PropertyTargetEasingInterpolator ( Domain domain,
string_view  name 
)
explicitprotected

Constructor.

Parameters
domainThe UI domain to which the PropertyTargetEasingInterpolator belongs.
nameThe name of the PropertyTargetEasingInterpolator.

Member Function Documentation

bool kanzi::PropertyTargetEasingInterpolator::isEnabled ( ) const

Gets the value of the EnabledProperty.

Returns
The value of the EnabledProperty.
See also
setEnabled()
void kanzi::PropertyTargetEasingInterpolator::setEnabled ( bool  enabled)

Sets the value of the EnabledProperty.

See also
isEnabled()
string kanzi::PropertyTargetEasingInterpolator::getInterpolatedPropertyType ( ) const
void kanzi::PropertyTargetEasingInterpolator::setInterpolatedPropertyType ( string_view  value)
PropertyField kanzi::PropertyTargetEasingInterpolator::getInterpolatedPropertyField ( ) const
void kanzi::PropertyTargetEasingInterpolator::setInterpolatedPropertyField ( PropertyField  value)
chrono::milliseconds kanzi::PropertyTargetEasingInterpolator::getInterpolationDuration ( ) const

Gets the value of the InterpolationDurationProperty.

Returns
The value of the InterpolationDurationProperty.
See also
setInterpolationDuration()
void kanzi::PropertyTargetEasingInterpolator::setInterpolationDuration ( chrono::milliseconds  duration)
EasingFunction kanzi::PropertyTargetEasingInterpolator::getEasingFunction ( ) const

Gets the value of the EasingFunctionProperty.

Returns
The value of the EasingFunctionProperty.
See also
setEasingFunction()
void kanzi::PropertyTargetEasingInterpolator::setEasingFunction ( EasingFunction  easingFunction)

Sets the value of the EasingFunctionProperty.

See also
getEasingFunction()
AnimationEasingMode kanzi::PropertyTargetEasingInterpolator::getEasingMode ( ) const

Gets the value of the EasingModeProperty.

Returns
The value of the EasingModeProperty.
See also
setEasingMode().
void kanzi::PropertyTargetEasingInterpolator::setEasingMode ( AnimationEasingMode  easingMode)

Sets the value of the EasingModeProperty.

See also
getEasingMode().
PropertyTargetEasingTimeline::InterpolationIfInterruptedMode kanzi::PropertyTargetEasingInterpolator::getInterpolationIfInterruptedMode ( ) const
void kanzi::PropertyTargetEasingInterpolator::setInterpolationIfInterruptedMode ( PropertyTargetEasingTimeline::InterpolationIfInterruptedMode  mode)
bool kanzi::PropertyTargetEasingInterpolator::isNotifyInterpolationCompleted ( ) const
void kanzi::PropertyTargetEasingInterpolator::setNotifyInterpolationCompleted ( bool  notify)
static PropertyTypeEditorInfoSharedPtr kanzi::PropertyTargetEasingInterpolator::makeEditorInfo ( )
static
static PropertyTargetEasingInterpolatorSharedPtr kanzi::PropertyTargetEasingInterpolator::create ( Domain domain,
string_view  name 
)
static

Creates an instance of PropertyTargetEasingInterpolator.

Parameters
domainThe UI domain to which the PropertyTargetEasingInterpolator belongs.
nameThe name of the PropertyTargetEasingInterpolator.
Returns
The created PropertyTargetEasingInterpolator.
void kanzi::PropertyTargetEasingInterpolator::attachOverride ( )
overrideprotectedvirtual

NodeComponent::attachOverride() implementation.

Reimplemented from kanzi::NodeComponent.

void kanzi::PropertyTargetEasingInterpolator::detachOverride ( )
overrideprotectedvirtual

NodeComponent::detachOverride() implementation.

Reimplemented from kanzi::NodeComponent.

void kanzi::PropertyTargetEasingInterpolator::enable ( )
protected
void kanzi::PropertyTargetEasingInterpolator::disable ( )
protected
void kanzi::PropertyTargetEasingInterpolator::onPropertyChanged ( AbstractPropertyType  propertyType,
PropertyNotificationReason  reason 
)
overrideprotectedvirtual

PropertyObject::onPropertyChanged() implementation.

Reimplemented from kanzi::PropertyObject.

void kanzi::PropertyTargetEasingInterpolator::setEnabledMessageHandler ( SetEnabledMessageArguments arguments)
protected

Handler for SetEnabled message.

void kanzi::PropertyTargetEasingInterpolator::onInterpolationCompleted ( TimelinePlayback playback)
protected

Sends message about completion of interpolation.

This function is called by PropertyTargetEasingInterpolator when its interpolation has completed.

Parameters
playbackPlayback the interpolation of which has completed.

Member Data Documentation

MessageType<SetEnabledMessageArguments> kanzi::PropertyTargetEasingInterpolator::SetEnabledMessage
static

To enable or disable a PropertyTargetEasingInterpolator, send this message.

MessageType<NodeComponentSourceMessageArguments> kanzi::PropertyTargetEasingInterpolator::CompletedMessage
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.

PropertyType<bool> kanzi::PropertyTargetEasingInterpolator::EnabledProperty
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.

See also
isEnabled(), setEnabled()
PropertyType<string> kanzi::PropertyTargetEasingInterpolator::InterpolatedPropertyTypeProperty
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).

See also
setInterpolatedPropertyType(), getInterpolatedPropertyType(), InterpolatedPropertyFieldProperty
PropertyType<PropertyField> kanzi::PropertyTargetEasingInterpolator::InterpolatedPropertyFieldProperty
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.

See also
setInterpolatedPropertyField(), getInterpolatedPropertyField(), InterpolatedPropertyTypeProperty
PropertyType<int> kanzi::PropertyTargetEasingInterpolator::InterpolationDurationProperty
static

Specifies the duration of the interpolation in milliseconds.

The default value is 1000.

See also
setInterpolationDuration(), getInterpolationDuration()
PropertyType<EasingFunction> kanzi::PropertyTargetEasingInterpolator::EasingFunctionProperty
static

Specifies the easing function that defines the interpolation curve.

The default value is "Linear".

PropertyType<AnimationEasingMode> kanzi::PropertyTargetEasingInterpolator::EasingModeProperty
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.

See also
getEasingMode(), setEasingMode()
PropertyType<PropertyTargetEasingTimeline::InterpolationIfInterruptedMode> kanzi::PropertyTargetEasingInterpolator::InterpolationIfInterruptedModeProperty
static
PropertyType<bool> kanzi::PropertyTargetEasingInterpolator::NotifyInterpolationCompletedProperty
static

Specifies whether a PropertyTargetEasingInterpolator sends a CompletedMessage message every time the PropertyTargetEasingInterpolator completes an interpolation animation.

The default value is false.

See also
isNotifyInterpolationCompleted(), setNotifyInterpolationCompleted(), CompletedMessage

The documentation for this class was generated from the following file: