#pragma once #include #include #ifdef __cplusplus extern "C" { #endif typedef struct IconData IconData; typedef struct Icon Icon; /* * Allocate icon instance with const icon data. * always returns Icon or stops system if not enough memory */ Icon* icon_alloc(const IconData* data); /* * Release icon instance */ void icon_free(Icon* icon); /* * Get icon width */ uint8_t icon_get_width(Icon* icon); /* * Get icon height */ uint8_t icon_get_height(Icon* icon); /* * Check if icon is animated */ bool icon_is_animated(Icon* icon); /* * Check if icon animation is active */ bool icon_is_animating(Icon* icon); /* * Start icon animation */ void icon_start_animation(Icon* icon); /* * Stop icon animation */ void icon_stop_animation(Icon* icon); /* * Get current frame */ uint8_t icon_get_current_frame(Icon* icon); /* * Returns true if current frame is a last one */ bool icon_is_last_frame(Icon* icon); #ifdef __cplusplus } #endif