#ifndef _EFL_BOUNCE_INTERPOLATOR_EO_H_ #define _EFL_BOUNCE_INTERPOLATOR_EO_H_ #ifndef _EFL_BOUNCE_INTERPOLATOR_EO_CLASS_TYPE #define _EFL_BOUNCE_INTERPOLATOR_EO_CLASS_TYPE typedef Eo Efl_Bounce_Interpolator; #endif #ifndef _EFL_BOUNCE_INTERPOLATOR_EO_TYPES #define _EFL_BOUNCE_INTERPOLATOR_EO_TYPES #endif /** * @brief Bouncing interpolator. The value quickly reaches 1.0 * and then bounces back a number of times before stopping at 1.0 * . * * The number of bounces and how far it goes back on every bounce can be * customized. * * @since 1.24 * * @ingroup Efl_Bounce_Interpolator */ #define EFL_BOUNCE_INTERPOLATOR_CLASS efl_bounce_interpolator_class_get() EAPI EAPI_WEAK const Efl_Class *efl_bounce_interpolator_class_get(void) EINA_CONST; /** * @brief Customize the number of bounces. * * @param[in] obj The object. * @param[in] bounces Number of bounces before stopping. * * @since 1.24 * * @ingroup Efl_Bounce_Interpolator */ EAPI EAPI_WEAK void efl_bounce_interpolator_bounces_set(Eo *obj, int bounces); /** * @brief Customize the number of bounces. * * @param[in] obj The object. * * @return Number of bounces before stopping. * * @since 1.24 * * @ingroup Efl_Bounce_Interpolator */ EAPI EAPI_WEAK int efl_bounce_interpolator_bounces_get(const Eo *obj); /** * @brief Customize the rigidness. * * @param[in] obj The object. * @param[in] rigidness How much energy is lost on every bounce. Higher numbers * result in smaller bounces (lesser bounciness). * * @since 1.24 * * @ingroup Efl_Bounce_Interpolator */ EAPI EAPI_WEAK void efl_bounce_interpolator_rigidness_set(Eo *obj, double rigidness); /** * @brief Customize the rigidness. * * @param[in] obj The object. * * @return How much energy is lost on every bounce. Higher numbers result in * smaller bounces (lesser bounciness). * * @since 1.24 * * @ingroup Efl_Bounce_Interpolator */ EAPI EAPI_WEAK double efl_bounce_interpolator_rigidness_get(const Eo *obj); #endif