1 /** 2 * @file lv_buttonmatrix_private.h 3 * 4 */ 5 6 #ifndef LV_BUTTONMATRIX_PRIVATE_H 7 #define LV_BUTTONMATRIX_PRIVATE_H 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 /********************* 14 * INCLUDES 15 *********************/ 16 17 #include "../../core/lv_obj_private.h" 18 #include "lv_buttonmatrix.h" 19 20 #if LV_USE_BUTTONMATRIX != 0 21 22 /********************* 23 * DEFINES 24 *********************/ 25 26 /********************** 27 * TYPEDEFS 28 **********************/ 29 30 /** Data of button matrix */ 31 struct _lv_buttonmatrix_t { 32 lv_obj_t obj; 33 const char * const * map_p; /**< Pointer to the current map */ 34 lv_area_t * button_areas; /**< Array of areas of buttons */ 35 lv_buttonmatrix_ctrl_t * ctrl_bits; /**< Array of control bytes */ 36 uint32_t btn_cnt; /**< Number of button in 'map_p'(Handled by the library) */ 37 uint32_t row_cnt; /**< Number of rows in 'map_p'(Handled by the library) */ 38 uint32_t btn_id_sel; /**< Index of the active button (being pressed/released etc) or LV_BUTTONMATRIX_BUTTON_NONE */ 39 uint32_t one_check : 1; /**< Single button toggled at once */ 40 }; 41 42 43 /********************** 44 * GLOBAL PROTOTYPES 45 **********************/ 46 47 /********************** 48 * MACROS 49 **********************/ 50 51 #endif /* LV_USE_BUTTONMATRIX != 0 */ 52 53 #ifdef __cplusplus 54 } /*extern "C"*/ 55 #endif 56 57 #endif /*LV_BUTTONMATRIX_PRIVATE_H*/ 58