@ExperimentalMotionApi
sealed class BaseKeyFrameScope

Known direct subclasses
KeyAttributeScope

Scope to define KeyFrame attributes.

KeyCycleScope

Scope to define cycling KeyFrames.

KeyPositionScope

Scope to define KeyFrame positions.


The base/common scope for individual KeyFrame declarations.

Properties should be registered on keyFramePropertiesValue, however, custom properties must use customPropertiesValue.

Summary

Protected constructors

Protected functions

ObservableProperty<E>
<E : NamedPropertyOrValue?> addNameOnPropertyChange(
    initialValue: E,
    nameOverride: String?
)

Property delegate that updates the keyFramePropertiesValue map on value changes.

ObservableProperty<T>
<T : Any?> addOnPropertyChange(initialValue: T, nameOverride: String?)

When changed, updates the value of type T on the keyFramePropertiesValue map.

Protected constructors

BaseKeyFrameScope

protected BaseKeyFrameScope()

Protected functions

addNameOnPropertyChange

Added in 1.1.0
protected fun <E : NamedPropertyOrValue?> addNameOnPropertyChange(
    initialValue: E,
    nameOverride: String? = null
): ObservableProperty<E>

Property delegate that updates the keyFramePropertiesValue map on value changes.

Where the Key is the property's name unless nameOverride is not null.

The value is the String given by NamedPropertyOrValue.name.

Use when declaring properties that have a named value.

E.g.: var curveFit: CurveFit? by addNameOnPropertyChange(null)

addOnPropertyChange

Added in 1.1.0
protected fun <T : Any?> addOnPropertyChange(initialValue: T, nameOverride: String? = null): ObservableProperty<T>

When changed, updates the value of type T on the keyFramePropertiesValue map.

Where the Key is the property's name unless nameOverride is not null.