 63642617ee
			
		
	
	
		63642617ee
		
			
		
	
	
	
	
		
			
			* Application: clean debug_tools code base. * SubGhz: add duty cycle logging. * Application: hide debug tools if not enabled. Gui: move icon_animation allocation to menu module.
		
			
				
	
	
		
			74 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| /**
 | |
|  * @file menu.h
 | |
|  * GUI: Menu view module API
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <gui/view.h>
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| /** Menu anonymous structure */
 | |
| typedef struct Menu Menu;
 | |
| 
 | |
| /** Menu Item Callback */
 | |
| typedef void (*MenuItemCallback)(void* context, uint32_t index);
 | |
| 
 | |
| /** Menu allocation and initialization
 | |
|  *
 | |
|  * @return     Menu instance
 | |
|  */
 | |
| Menu* menu_alloc();
 | |
| 
 | |
| /** Free menu
 | |
|  *
 | |
|  * @param      menu  Menu instance
 | |
|  */
 | |
| void menu_free(Menu* menu);
 | |
| 
 | |
| /** Get Menu view
 | |
|  *
 | |
|  * @param      menu  Menu instance
 | |
|  *
 | |
|  * @return     View instance
 | |
|  */
 | |
| View* menu_get_view(Menu* menu);
 | |
| 
 | |
| /** Add item to menu
 | |
|  *
 | |
|  * @param      menu      Menu instance
 | |
|  * @param      label     menu item string label
 | |
|  * @param      icon      IconAnimation instance
 | |
|  * @param      index     menu item index
 | |
|  * @param      callback  MenuItemCallback instance
 | |
|  * @param      context   pointer to context
 | |
|  */
 | |
| void menu_add_item(
 | |
|     Menu* menu,
 | |
|     const char* label,
 | |
|     const Icon* icon,
 | |
|     uint32_t index,
 | |
|     MenuItemCallback callback,
 | |
|     void* context);
 | |
| 
 | |
| /** Clean menu
 | |
|  * @note       this function does not free menu instance
 | |
|  *
 | |
|  * @param      menu  Menu instance
 | |
|  */
 | |
| void menu_clean(Menu* menu);
 | |
| 
 | |
| /** Set current menu item
 | |
|  *
 | |
|  * @param      menu   Menu instance
 | |
|  * @param      index  The index
 | |
|  */
 | |
| void menu_set_selected_item(Menu* menu, uint32_t index);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 |