Tweeny 4.1.0
A Tweening library for modern C++
Loading...
Searching...
No Matches
tween< FirstValueType, RemainingValueTypes > Class Template Reference

Detailed Description

template<typename FirstValueType, typename... RemainingValueTypes>
class tweeny::tween< FirstValueType, RemainingValueTypes >

A tween represents an animation between keyframes.

Tweens interpolate values over discrete frames using configurable easing functions. They maintain internal state (current frame and value) and support event listeners for animation events.

Template Parameters
FirstValueTypeType of the first animated value
RemainingValueTypesTypes of additional animated values (for multi-value tweens)
Note
For single values, tween_value_t is the value type directly. For multiple values, tween_value_t is std::tuple<FirstValueType, RemainingValueTypes...>

#include <tween.h>

Public Types

using tween_value_t = detail::tween_value_t<FirstValueType, RemainingValueTypes...>
 The type returned by navigation and query methods.

Public Member Functions

 tween (const key_frames_t &key_frames_input)
 Constructs a tween from keyframes (use builder API instead).
 tween (key_frames_t &&key_frames_input)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
auto seek (uint32_t target_frame) -> tween_value_t
 Seeks to a specific frame in the animation.
auto jump (std::size_t target_key_frame) -> tween_value_t
 Jumps to a specific keyframe index.
auto step (int32_t frames) -> tween_value_t
 Advances or rewinds the animation by a frame delta.
auto peek () const -> tween_value_t
 Returns the current interpolated value without changing state.
auto peek (uint32_t target_frame) const -> tween_value_t
 Queries the interpolated value at any frame without changing state.
auto progress () const -> float
 Returns the animation completion percentage.
template<typename Callback>
auto on (detail::event::step_t, Callback &&cb) -> void
 Registers a callback for step() events.
template<typename Callback>
auto on (detail::event::seek_t, Callback &&cb) -> void
 Registers a callback for seek() events.
template<typename Callback>
auto on (detail::event::jump_t, Callback &&cb) -> void
 Registers a callback for jump() events.
template<typename Callback>
auto on (detail::event::complete_t, Callback &&cb) -> void
 Registers a callback for animation completion.
template<typename Callback>
auto on (detail::event::keyframeEnter_t, Callback &&cb) -> void
 Registers a callback for entering a keyframe.
template<typename Callback>
auto on (detail::event::keyframeLeave_t, Callback &&cb) -> void
 Registers a callback for leaving a keyframe.
template<typename Callback>
auto on (detail::event::update_t, Callback &&cb) -> void
 Registers a callback for any position update (step, seek, or jump).