* Furi: rename and move core * Furi: drop CMSIS_OS header and unused api, partially refactor and cleanup the rest * Furi: CMSIS_OS drop and refactoring. * Furi: refactoring, remove cmsis legacy * Furi: fix incorrect assert on queue deallocation, cleanup timer * Furi: improve delay api, get rid of floats * hal: dropped furi_hal_crc * Furi: move DWT based delay to cortex HAL * Furi: update core documentation Co-authored-by: hedger <hedger@nanode.su>
		
			
				
	
	
		
			40 lines
		
	
	
		
			805 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			805 B
		
	
	
	
		
			C
		
	
	
	
	
	
/**
 | 
						|
 * @file icon_animation_i.h
 | 
						|
 * GUI: internal IconAnimation API
 | 
						|
 */
 | 
						|
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include "icon_animation.h"
 | 
						|
 | 
						|
#include <furi.h>
 | 
						|
 | 
						|
struct IconAnimation {
 | 
						|
    const Icon* icon;
 | 
						|
    uint8_t frame;
 | 
						|
    bool animating;
 | 
						|
    FuriTimer* timer;
 | 
						|
    IconAnimationCallback callback;
 | 
						|
    void* callback_context;
 | 
						|
};
 | 
						|
 | 
						|
/** Get pointer to current frame data
 | 
						|
 *
 | 
						|
 * @param      instance  IconAnimation instance
 | 
						|
 *
 | 
						|
 * @return     pointer to current frame XBM bitmap data
 | 
						|
 */
 | 
						|
const uint8_t* icon_animation_get_data(IconAnimation* instance);
 | 
						|
 | 
						|
/** Advance to next frame
 | 
						|
 *
 | 
						|
 * @param      instance  IconAnimation instance
 | 
						|
 */
 | 
						|
void icon_animation_next_frame(IconAnimation* instance);
 | 
						|
 | 
						|
/** IconAnimation timer callback
 | 
						|
 *
 | 
						|
 * @param      context  pointer to IconAnimation
 | 
						|
 */
 | 
						|
void icon_animation_timer_callback(void* context);
 |