class new in Git master
#include <Magnum/Ui/BaseLayerAnimator.h>
BaseLayerStyleAnimator Base layer style animator.
Base classes
- class AbstractVisualLayerStyleAnimator new in Git master
- Base for AbstractVisualLayer style animators.
Constructors, destructors, conversion operators
- BaseLayerStyleAnimator(AnimatorHandle handle) explicit
- Constructor.
- BaseLayerStyleAnimator(const AbstractStyleAnimator&) deleted
- Copying is not allowed.
- BaseLayerStyleAnimator(BaseLayerStyleAnimator&&) noexcept
- Move constructor.
Public functions
- auto operator=(const BaseLayerStyleAnimator&) -> BaseLayerStyleAnimator& deleted
- Copying is not allowed.
- auto operator=(BaseLayerStyleAnimator&&) -> BaseLayerStyleAnimator& noexcept
- Move assignment.
- auto create(UnsignedInt sourceStyle, UnsignedInt targetStyle, Float(*)(Float) easing, Nanoseconds played, Nanoseconds duration, DataHandle data, UnsignedInt repeatCount = 1, AnimationFlags flags = {}) -> AnimationHandle
- Create an animation.
-
template<class StyleIndex>auto create(StyleIndex sourceStyle, StyleIndex targetStyle, Float(*)(Float) easing, Nanoseconds played, Nanoseconds duration, DataHandle data, UnsignedInt repeatCount = 1, AnimationFlags flags = {}) -> AnimationHandle
- Create an animation with a style index in a concrete enum type.
- auto create(UnsignedInt sourceStyle, UnsignedInt targetStyle, Float(*)(Float) easing, Nanoseconds played, Nanoseconds duration, DataHandle data, AnimationFlags flags) -> AnimationHandle
- Create an animation.
-
template<class StyleIndex>auto create(StyleIndex sourceStyle, StyleIndex targetStyle, Float(*)(Float) easing, Nanoseconds played, Nanoseconds duration, DataHandle data, AnimationFlags flags) -> AnimationHandle
- Create an animation with a style index in a concrete enum type.
- auto create(UnsignedInt sourceStyle, UnsignedInt targetStyle, Float(*)(Float) easing, Nanoseconds played, Nanoseconds duration, LayerDataHandle data, UnsignedInt repeatCount = 1, AnimationFlags flags = {}) -> AnimationHandle
- Create an animation assuming the data it's attached to belongs to the layer the animator is registered with.
-
template<class StyleIndex>auto create(StyleIndex sourceStyle, StyleIndex targetStyle, Float(*)(Float) easing, Nanoseconds played, Nanoseconds duration, LayerDataHandle data, UnsignedInt repeatCount = 1, AnimationFlags flags = {}) -> AnimationHandle
- Create an animation with a style index in a concrete enum type assuming the data it's attached to belongs to the layer the animator is registered with.
- auto create(UnsignedInt sourceStyle, UnsignedInt targetStyle, Float(*)(Float) easing, Nanoseconds played, Nanoseconds duration, LayerDataHandle data, AnimationFlags flags) -> AnimationHandle
- Create an animation assuming the data it's attached to belongs to the layer the animator is registered with.
-
template<class StyleIndex>auto create(StyleIndex sourceStyle, StyleIndex targetStyle, Float(*)(Float) easing, Nanoseconds played, Nanoseconds duration, LayerDataHandle data, AnimationFlags flags) -> AnimationHandle
- Create an animation with a style index in a concrete enum type assuming the data it's attached to belongs to the layer the animator is registered with.
- void remove(AnimationHandle handle)
- Remove an animation.
- void remove(AnimatorDataHandle handle)
- Remove an animation assuming it belongs to this animator.
- auto easing(AnimationHandle) -> auto
- Animation easing function.
- auto easing(AnimatorDataHandle) -> auto
- Animation easing function assuming it belongs to this animator.
-
auto uniforms(AnimationHandle handle) const -> Containers::
Pair<BaseLayerStyleUniform, BaseLayerStyleUniform> - Animation source and target uniforms.
-
auto uniforms(AnimatorDataHandle handle) const -> Containers::
Pair<BaseLayerStyleUniform, BaseLayerStyleUniform> - Animation source and target uniforms assuming it belongs to this animator.
-
auto paddings(AnimationHandle handle) const -> Containers::
Pair<Vector4, Vector4> - Animation source and target paddings.
-
auto paddings(AnimatorDataHandle handle) const -> Containers::
Pair<Vector4, Vector4> - Animation source and target paddings assuming it belongs to this animator.
-
auto advance(Containers::
BitArrayView active, const Containers:: StridedArrayView1D<const Float>& factors, Containers:: BitArrayView remove, Containers:: ArrayView<BaseLayerStyleUniform> dynamicStyleUniforms, const Containers:: StridedArrayView1D<Vector4>& dynamicStylePaddings, const Containers:: StridedArrayView1D<UnsignedInt>& dataStyles) -> BaseLayerStyleAnimations - Advance the animations.
Function documentation
Magnum:: Ui:: BaseLayerStyleAnimator:: BaseLayerStyleAnimator(AnimatorHandle handle) explicit
Constructor.
Parameters | |
---|---|
handle | Handle returned by AbstractUserInterface:: |
Magnum:: Ui:: BaseLayerStyleAnimator:: BaseLayerStyleAnimator(BaseLayerStyleAnimator&&) noexcept
Move constructor.
Performs a destructive move, i.e. the original object isn't usable afterwards anymore.
AnimationHandle Magnum:: Ui:: BaseLayerStyleAnimator:: create(UnsignedInt sourceStyle,
UnsignedInt targetStyle,
Float(*)(Float) easing,
Nanoseconds played,
Nanoseconds duration,
DataHandle data,
UnsignedInt repeatCount = 1,
AnimationFlags flags = {})
Create an animation.
Parameters | |
---|---|
sourceStyle | Style index to animate from |
targetStyle | Style index to animate to |
easing | Easing function between 0.0f and 1.0f , used for all style uniform values as well as the padding. Pick one from Animation:: |
played | Time at which the animation is played. Use Nanoseconds:: |
duration | Duration of a single play of the animation |
data | Data the animation is attached to. Use DataHandle:: |
repeatCount | Repeat count. Use 0 for an indefinitely repeating animation. |
flags | Flags |
Expects that BaseLayer::sourceStyle
and targetStyle
are less than BaseLayer::easing
is not nullptr
. Delegates to AbstractAnimator::
The animation affects the BaseLayerStyleUniform and the padding value, if it differs between the styles.
template<class StyleIndex>
AnimationHandle Magnum:: Ui:: BaseLayerStyleAnimator:: create(StyleIndex sourceStyle,
StyleIndex targetStyle,
Float(*)(Float) easing,
Nanoseconds played,
Nanoseconds duration,
DataHandle data,
UnsignedInt repeatCount = 1,
AnimationFlags flags = {})
Create an animation with a style index in a concrete enum type.
Casts sourceStyle
and targetStyle
to UnsignedInt and delegates to create(UnsignedInt, UnsignedInt, Float(*)(Float), Nanoseconds, Nanoseconds, DataHandle, UnsignedInt, AnimationFlags).
AnimationHandle Magnum:: Ui:: BaseLayerStyleAnimator:: create(UnsignedInt sourceStyle,
UnsignedInt targetStyle,
Float(*)(Float) easing,
Nanoseconds played,
Nanoseconds duration,
DataHandle data,
AnimationFlags flags)
Create an animation.
Same as calling create(UnsignedInt, UnsignedInt, Float(*)(Float), Nanoseconds, Nanoseconds, DataHandle, UnsignedInt, AnimationFlags) with repeatCount
set to 1
.
template<class StyleIndex>
AnimationHandle Magnum:: Ui:: BaseLayerStyleAnimator:: create(StyleIndex sourceStyle,
StyleIndex targetStyle,
Float(*)(Float) easing,
Nanoseconds played,
Nanoseconds duration,
DataHandle data,
AnimationFlags flags)
Create an animation with a style index in a concrete enum type.
Casts sourceStyle
and targetStyle
to UnsignedInt and delegates to create(UnsignedInt, UnsignedInt, Float(*)(Float), Nanoseconds, Nanoseconds, DataHandle, AnimationFlags).
AnimationHandle Magnum:: Ui:: BaseLayerStyleAnimator:: create(UnsignedInt sourceStyle,
UnsignedInt targetStyle,
Float(*)(Float) easing,
Nanoseconds played,
Nanoseconds duration,
LayerDataHandle data,
UnsignedInt repeatCount = 1,
AnimationFlags flags = {})
Create an animation assuming the data it's attached to belongs to the layer the animator is registered with.
Compared to create(UnsignedInt, UnsignedInt, Float(*)(Float), Nanoseconds, Nanoseconds, DataHandle, UnsignedInt, AnimationFlags) delegates to AbstractAnimator::
template<class StyleIndex>
AnimationHandle Magnum:: Ui:: BaseLayerStyleAnimator:: create(StyleIndex sourceStyle,
StyleIndex targetStyle,
Float(*)(Float) easing,
Nanoseconds played,
Nanoseconds duration,
LayerDataHandle data,
UnsignedInt repeatCount = 1,
AnimationFlags flags = {})
Create an animation with a style index in a concrete enum type assuming the data it's attached to belongs to the layer the animator is registered with.
Casts sourceStyle
and targetStyle
to UnsignedInt and delegates to create(UnsignedInt, UnsignedInt, Float(*)(Float), Nanoseconds, Nanoseconds, LayerDataHandle, UnsignedInt, AnimationFlags).
AnimationHandle Magnum:: Ui:: BaseLayerStyleAnimator:: create(UnsignedInt sourceStyle,
UnsignedInt targetStyle,
Float(*)(Float) easing,
Nanoseconds played,
Nanoseconds duration,
LayerDataHandle data,
AnimationFlags flags)
Create an animation assuming the data it's attached to belongs to the layer the animator is registered with.
Same as calling create(UnsignedInt, UnsignedInt, Float(*)(Float), Nanoseconds, Nanoseconds, LayerDataHandle, UnsignedInt, AnimationFlags) with repeatCount
set to 1
.
template<class StyleIndex>
AnimationHandle Magnum:: Ui:: BaseLayerStyleAnimator:: create(StyleIndex sourceStyle,
StyleIndex targetStyle,
Float(*)(Float) easing,
Nanoseconds played,
Nanoseconds duration,
LayerDataHandle data,
AnimationFlags flags)
Create an animation with a style index in a concrete enum type assuming the data it's attached to belongs to the layer the animator is registered with.
Casts sourceStyle
and targetStyle
to UnsignedInt and delegates to create(UnsignedInt, UnsignedInt, Float(*)(Float), Nanoseconds, Nanoseconds, LayerDataHandle, UnsignedInt, AnimationFlags).
void Magnum:: Ui:: BaseLayerStyleAnimator:: remove(AnimationHandle handle)
Remove an animation.
Expects that handle
is valid. Recycles a dynamic style used by given animation with BaseLayer::
void Magnum:: Ui:: BaseLayerStyleAnimator:: remove(AnimatorDataHandle handle)
Remove an animation assuming it belongs to this animator.
Compared to remove(AnimationHandle) delegates to AbstractAnimator::
auto Magnum:: Ui:: BaseLayerStyleAnimator:: easing(AnimationHandle)
Animation easing function.
Expects that handle
is valid. The returned pointer is never nullptr
.
auto Magnum:: Ui:: BaseLayerStyleAnimator:: easing(AnimatorDataHandle)
Animation easing function assuming it belongs to this animator.
Like easing(AnimationHandle) const but without checking that handle
indeed belongs to this animator. See its documentation for more information.
Containers:: Pair<BaseLayerStyleUniform, BaseLayerStyleUniform> Magnum:: Ui:: BaseLayerStyleAnimator:: uniforms(AnimationHandle handle) const
Animation source and target uniforms.
Expects that handle
is valid. The uniforms are queried from BaseLayer::
Containers:: Pair<BaseLayerStyleUniform, BaseLayerStyleUniform> Magnum:: Ui:: BaseLayerStyleAnimator:: uniforms(AnimatorDataHandle handle) const
Animation source and target uniforms assuming it belongs to this animator.
Like uniforms(AnimationHandle) const but without checking that handle
indeed belongs to this animator. See its documentation for more information.
Containers:: Pair<Vector4, Vector4> Magnum:: Ui:: BaseLayerStyleAnimator:: paddings(AnimationHandle handle) const
Animation source and target paddings.
Expects that handle
is valid. The paddings are queried from BaseLayer::
Containers:: Pair<Vector4, Vector4> Magnum:: Ui:: BaseLayerStyleAnimator:: paddings(AnimatorDataHandle handle) const
Animation source and target paddings assuming it belongs to this animator.
Like paddings(AnimationHandle) const but without checking that handle
indeed belongs to this animator. See its documentation for more information.
BaseLayerStyleAnimations Magnum:: Ui:: BaseLayerStyleAnimator:: advance(Containers:: BitArrayView active,
const Containers:: StridedArrayView1D<const Float>& factors,
Containers:: BitArrayView remove,
Containers:: ArrayView<BaseLayerStyleUniform> dynamicStyleUniforms,
const Containers:: StridedArrayView1D<Vector4>& dynamicStylePaddings,
const Containers:: StridedArrayView1D<UnsignedInt>& dataStyles)
Advance the animations.
Parameters | |
---|---|
active in | Animation IDs that are active |
factors in | Interpolation factors indexed by animation ID |
remove in | Animation IDs to be removed |
dynamicStyleUniforms in/out | Uniforms to animate indexed by dynamic style ID |
dynamicStylePaddings in/out | Paddings to animate indexed by dynamic style ID |
dataStyles in/out | Style assignments of all layer data indexed by data ID |
Returns | Style properties that were affected by the animation |
Used internally from BaseLayer::
Expects that size of active
, factors
and remove
matches capacity(), it's assumed that their contents were filled by update() before. Expects that dynamicStyleUniforms
and dynamicStylePaddings
have the same size, the views should be large enough to contain any valid dynamic style ID. The dataStyles
view should be large enough to contain any valid layer data ID.