summaryrefslogtreecommitdiff
path: root/src/libs/lvgl/src/lv_objx/lv_btnm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/lvgl/src/lv_objx/lv_btnm.h')
-rw-r--r--src/libs/lvgl/src/lv_objx/lv_btnm.h276
1 files changed, 0 insertions, 276 deletions
diff --git a/src/libs/lvgl/src/lv_objx/lv_btnm.h b/src/libs/lvgl/src/lv_objx/lv_btnm.h
deleted file mode 100644
index 44bc4efb..00000000
--- a/src/libs/lvgl/src/lv_objx/lv_btnm.h
+++ /dev/null
@@ -1,276 +0,0 @@
-/**
- * @file lv_btnm.h
- *
- */
-
-#ifndef LV_BTNM_H
-#define LV_BTNM_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*********************
- * INCLUDES
- *********************/
-#ifdef LV_CONF_INCLUDE_SIMPLE
-#include "lv_conf.h"
-#else
-#include "../../../lv_conf.h"
-#endif
-
-#if LV_USE_BTNM != 0
-
-#include "../lv_core/lv_obj.h"
-#include "lv_label.h"
-#include "lv_btn.h"
-
-/*********************
- * DEFINES
- *********************/
-#define LV_BTNM_WIDTH_MASK 0x0007
-#define LV_BTNM_BTN_NONE 0xFFFF
-
-LV_EXPORT_CONST_INT(LV_BTNM_BTN_NONE);
-
-/**********************
- * TYPEDEFS
- **********************/
-
-/** Type to store button control bits (disabled, hidden etc.) */
-enum {
- LV_BTNM_CTRL_HIDDEN = 0x0008, /**< Button hidden */
- LV_BTNM_CTRL_NO_REPEAT = 0x0010, /**< Do not repeat press this button. */
- LV_BTNM_CTRL_INACTIVE = 0x0020, /**< Disable this button. */
- LV_BTNM_CTRL_TGL_ENABLE = 0x0040, /**< Button *can* be toggled. */
- LV_BTNM_CTRL_TGL_STATE = 0x0080, /**< Button is currently toggled (e.g. checked). */
- LV_BTNM_CTRL_CLICK_TRIG = 0x0100, /**< 1: Send LV_EVENT_SELECTED on CLICK, 0: Send LV_EVENT_SELECTED on PRESS*/
-};
-typedef uint16_t lv_btnm_ctrl_t;
-
-/*Data of button matrix*/
-typedef struct
-{
- /*No inherited ext.*/ /*Ext. of ancestor*/
- /*New data for this type */
- const char ** map_p; /*Pointer to the current map*/
- lv_area_t * button_areas; /*Array of areas of buttons*/
- lv_btnm_ctrl_t * ctrl_bits; /*Array of control bytes*/
- const lv_style_t * styles_btn[_LV_BTN_STATE_NUM]; /*Styles of buttons in each state*/
- uint16_t btn_cnt; /*Number of button in 'map_p'(Handled by the library)*/
- uint16_t btn_id_pr; /*Index of the currently pressed button or LV_BTNM_BTN_NONE*/
- uint16_t btn_id_act; /*Index of the active button (being pressed/released etc) or LV_BTNM_BTN_NONE */
- uint8_t recolor : 1; /*Enable button recoloring*/
- uint8_t one_toggle : 1; /*Single button toggled at once*/
-} lv_btnm_ext_t;
-
-enum {
- LV_BTNM_STYLE_BG,
- LV_BTNM_STYLE_BTN_REL,
- LV_BTNM_STYLE_BTN_PR,
- LV_BTNM_STYLE_BTN_TGL_REL,
- LV_BTNM_STYLE_BTN_TGL_PR,
- LV_BTNM_STYLE_BTN_INA,
-};
-typedef uint8_t lv_btnm_style_t;
-
-/**********************
- * GLOBAL PROTOTYPES
- **********************/
-
-/**
- * Create a button matrix objects
- * @param par pointer to an object, it will be the parent of the new button matrix
- * @param copy pointer to a button matrix object, if not NULL then the new object will be copied
- * from it
- * @return pointer to the created button matrix
- */
-lv_obj_t * lv_btnm_create(lv_obj_t * par, const lv_obj_t * copy);
-
-/*=====================
- * Setter functions
- *====================*/
-
-/**
- * Set a new map. Buttons will be created/deleted according to the map. The
- * button matrix keeps a reference to the map and so the string array must not
- * be deallocated during the life of the matrix.
- * @param btnm pointer to a button matrix object
- * @param map pointer a string array. The last string has to be: "". Use "\n" to make a line break.
- */
-void lv_btnm_set_map(const lv_obj_t * btnm, const char * map[]);
-
-/**
- * Set the button control map (hidden, disabled etc.) for a button matrix. The
- * control map array will be copied and so may be deallocated after this
- * function returns.
- * @param btnm pointer to a button matrix object
- * @param ctrl_map pointer to an array of `lv_btn_ctrl_t` control bytes. The
- * length of the array and position of the elements must match
- * the number and order of the individual buttons (i.e. excludes
- * newline entries).
- * An element of the map should look like e.g.:
- * `ctrl_map[0] = width | LV_BTNM_CTRL_NO_REPEAT | LV_BTNM_CTRL_TGL_ENABLE`
- */
-void lv_btnm_set_ctrl_map(const lv_obj_t * btnm, const lv_btnm_ctrl_t ctrl_map[]);
-
-/**
- * Set the pressed button i.e. visually highlight it.
- * Mainly used a when the btnm is in a group to show the selected button
- * @param btnm pointer to button matrix object
- * @param id index of the currently pressed button (`LV_BTNM_BTN_NONE` to unpress)
- */
-void lv_btnm_set_pressed(const lv_obj_t * btnm, uint16_t id);
-
-/**
- * Set a style of a button matrix
- * @param btnm pointer to a button matrix object
- * @param type which style should be set
- * @param style pointer to a style
- */
-void lv_btnm_set_style(lv_obj_t * btnm, lv_btnm_style_t type, const lv_style_t * style);
-
-/**
- * Enable recoloring of button's texts
- * @param btnm pointer to button matrix object
- * @param en true: enable recoloring; false: disable
- */
-void lv_btnm_set_recolor(const lv_obj_t * btnm, bool en);
-
-/**
- * Set the attributes of a button of the button matrix
- * @param btnm pointer to button matrix object
- * @param btn_id 0 based index of the button to modify. (Not counting new lines)
- */
-void lv_btnm_set_btn_ctrl(const lv_obj_t * btnm, uint16_t btn_id, lv_btnm_ctrl_t ctrl);
-
-/**
- * Clear the attributes of a button of the button matrix
- * @param btnm pointer to button matrix object
- * @param btn_id 0 based index of the button to modify. (Not counting new lines)
- */
-void lv_btnm_clear_btn_ctrl(const lv_obj_t * btnm, uint16_t btn_id, lv_btnm_ctrl_t ctrl);
-
-/**
- * Set the attributes of all buttons of a button matrix
- * @param btnm pointer to a button matrix object
- * @param ctrl attribute(s) to set from `lv_btnm_ctrl_t`. Values can be ORed.
- */
-void lv_btnm_set_btn_ctrl_all(lv_obj_t * btnm, lv_btnm_ctrl_t ctrl);
-
-/**
- * Clear the attributes of all buttons of a button matrix
- * @param btnm pointer to a button matrix object
- * @param ctrl attribute(s) to set from `lv_btnm_ctrl_t`. Values can be ORed.
- * @param en true: set the attributes; false: clear the attributes
- */
-void lv_btnm_clear_btn_ctrl_all(lv_obj_t * btnm, lv_btnm_ctrl_t ctrl);
-
-/**
- * Set a single buttons relative width.
- * This method will cause the matrix be regenerated and is a relatively
- * expensive operation. It is recommended that initial width be specified using
- * `lv_btnm_set_ctrl_map` and this method only be used for dynamic changes.
- * @param btnm pointer to button matrix object
- * @param btn_id 0 based index of the button to modify.
- * @param width Relative width compared to the buttons in the same row. [1..7]
- */
-void lv_btnm_set_btn_width(const lv_obj_t * btnm, uint16_t btn_id, uint8_t width);
-
-/**
- * Make the button matrix like a selector widget (only one button may be toggled at a time).
- *
- * Toggling must be enabled on the buttons you want to be selected with `lv_btnm_set_ctrl` or
- * `lv_btnm_set_btn_ctrl_all`.
- *
- * @param btnm Button matrix object
- * @param one_toggle Whether "one toggle" mode is enabled
- */
-void lv_btnm_set_one_toggle(lv_obj_t * btnm, bool one_toggle);
-
-/*=====================
- * Getter functions
- *====================*/
-
-/**
- * Get the current map of a button matrix
- * @param btnm pointer to a button matrix object
- * @return the current map
- */
-const char ** lv_btnm_get_map_array(const lv_obj_t * btnm);
-
-/**
- * Check whether the button's text can use recolor or not
- * @param btnm pointer to button matrix object
- * @return true: text recolor enable; false: disabled
- */
-bool lv_btnm_get_recolor(const lv_obj_t * btnm);
-
-/**
- * Get the index of the lastly "activated" button by the user (pressed, released etc)
- * Useful in the the `event_cb` to get the text of the button, check if hidden etc.
- * @param btnm pointer to button matrix object
- * @return index of the last released button (LV_BTNM_BTN_NONE: if unset)
- */
-uint16_t lv_btnm_get_active_btn(const lv_obj_t * btnm);
-
-/**
- * Get the text of the lastly "activated" button by the user (pressed, released etc)
- * Useful in the the `event_cb`
- * @param btnm pointer to button matrix object
- * @return text of the last released button (NULL: if unset)
- */
-const char * lv_btnm_get_active_btn_text(const lv_obj_t * btnm);
-
-/**
- * Get the pressed button's index.
- * The button be really pressed by the user or manually set to pressed with `lv_btnm_set_pressed`
- * @param btnm pointer to button matrix object
- * @return index of the pressed button (LV_BTNM_BTN_NONE: if unset)
- */
-uint16_t lv_btnm_get_pressed_btn(const lv_obj_t * btnm);
-
-/**
- * Get the button's text
- * @param btnm pointer to button matrix object
- * @param btn_id the index a button not counting new line characters. (The return value of
- * lv_btnm_get_pressed/released)
- * @return text of btn_index` button
- */
-const char * lv_btnm_get_btn_text(const lv_obj_t * btnm, uint16_t btn_id);
-
-/**
- * Get the whether a control value is enabled or disabled for button of a button matrix
- * @param btnm pointer to a button matrix object
- * @param btn_id the index a button not counting new line characters. (E.g. the return value of
- * lv_btnm_get_pressed/released)
- * @param ctrl control values to check (ORed value can be used)
- * @return true: long press repeat is disabled; false: long press repeat enabled
- */
-bool lv_btnm_get_btn_ctrl(lv_obj_t * btnm, uint16_t btn_id, lv_btnm_ctrl_t ctrl);
-
-/**
- * Get a style of a button matrix
- * @param btnm pointer to a button matrix object
- * @param type which style should be get
- * @return style pointer to a style
- */
-const lv_style_t * lv_btnm_get_style(const lv_obj_t * btnm, lv_btnm_style_t type);
-
-/**
- * Find whether "one toggle" mode is enabled.
- * @param btnm Button matrix object
- * @return whether "one toggle" mode is enabled
- */
-bool lv_btnm_get_one_toggle(const lv_obj_t * btnm);
-/**********************
- * MACROS
- **********************/
-
-#endif /*LV_USE_BTNM*/
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*LV_BTNM_H*/