#pragma once #include #include #ifdef __cplusplus extern "C" { #endif #include typedef struct IconAnimation IconAnimation; /* * Allocate icon animation instance with const icon data. * always returns Icon or stops system if not enough memory */ IconAnimation* icon_animation_alloc(const Icon* icon); /* * Release icon animation instance */ void icon_animation_free(IconAnimation* instance); /* * Get icon animation width */ uint8_t icon_animation_get_width(IconAnimation* instance); /* * Get icon animation height */ uint8_t icon_animation_get_height(IconAnimation* instance); /* * Check if icon is animated */ bool icon_animation_is_animated(IconAnimation* instance); /* * Check if icon animation is active */ bool icon_animation_is_animating(IconAnimation* instance); /* * Start icon animation */ void icon_animation_start(IconAnimation* instance); /* * Stop icon animation */ void icon_animation_stop(IconAnimation* instance); /* * Get current frame */ uint8_t icon_animation_get_current_frame(IconAnimation* instance); /* * Returns true if current frame is a last one */ bool icon_animation_is_last_frame(IconAnimation* instance); #ifdef __cplusplus } #endif