7#include "geometry/geometry_common.h"
12 enum class tween_flags
17 template <
typename T, enum_flags<u
int64_t> FLAGS>
25 enum_flags<tween_flags> m_flags = {};
31 struct tweening_system
33 template <
typename GETTER,
typename SETTER,
typename TYPE_TWEEN,
typename DURATION_TYPE>
36 virtual ~ITween() noexcept = default;
38 ITween(GETTER&& getter, SETTER&& setter, TYPE_TWEEN&&
to, DURATION_TYPE&& duration, tween_options options)
39 : m_start_value(getter())
40 , m_end_value(std::forward<TYPE_TWEEN>(
to))
41 , m_getter(std::forward<GETTER>(getter))
42 , m_setter(std::forward<SETTER>(setter))
49 TYPE_TWEEN m_start_value = {};
50 TYPE_TWEEN m_end_value = {};
54 tween_options m_options = {};
56 tween_computer<TYPE_TWEEN, enum_flags<uint64_t>{}> m_computer = {};
59 template <
typename GETTER,
typename SETTER,
typename TYPE_TWEEN,
typename DURATION_TYPE>
60 auto tween(TYPE_TWEEN& target, GETTER&& getter, SETTER&& setter, TYPE_TWEEN&&
to, DURATION_TYPE&& duration)
constexpr CONTAINER to(RANGE &&range, TYPES &&... args)
to<container>();
Primary namespace for everything in this library.