Typedefs
typedef uint16_t lv_btnmatrix_ctrl_t
typedef bool (*lv_btnmatrix_btn_draw_cb_t)(lv_obj_t *btnm, uint32_t btn_id, const lv_area_t *draw_area, const lv_area_t *clip_area)
Enums
enum [anonymous]
- Type to store button control bits (disabled, hidden etc.) The first 3 bits are used to store the width Values:
- enumerator _LV_BTNMATRIX_WIDTH
- Reserved to stire the size units
- enumerator LV_BTNMATRIX_CTRL_HIDDEN
- Button hidden
- enumerator LV_BTNMATRIX_CTRL_NO_REPEAT
- Do not repeat press this button.
- enumerator LV_BTNMATRIX_CTRL_DISABLED
- Disable this button.
- enumerator LV_BTNMATRIX_CTRL_CHECKABLE
- The button can be toggled.
- enumerator LV_BTNMATRIX_CTRL_CHECKED
- Button is currently toggled (e.g. checked).
- enumerator LV_BTNMATRIX_CTRL_CLICK_TRIG
- 1: Send LV_EVENT_VALUE_CHANGE on CLICK, 0: Send LV_EVENT_VALUE_CHANGE on PRESS
- enumerator LV_BTNMATRIX_CTRL_POPOVER
- Show a popover when pressing this key
- enumerator LV_BTNMATRIX_CTRL_RECOLOR
- Enable text recoloring with
#col or
- enumerator _LV_BTNMATRIX_CTRL_RESERVED
- Reserved for later use
- enumerator LV_BTNMATRIX_CTRL_CUSTOM_1
- Custom free to use flag
- enumerator LV_BTNMATRIX_CTRL_CUSTOM_2
- Custom free to use flag
enum lv_btnmatrix_draw_part_type_t
type field in lv_obj_draw_part _dsc_t if class_p = lv_btnmatrix_class Used in LV_EVENT_DRAW_PART_BEGIN and LV_EVENT_DRAW_PART_END
- Values:
- enumerator LV_BTNMATRIX_DRAW_PART_BTN
- The rectangle and label of buttons
Functions
LV_EXPORT_CONST_INT(LV_BTNMATRIX_BTN_NONE)
lv_obj_t *lv_btnmatrix_create(lv_obj_t *parent)
- Create a button matrix object
- Parameters
- parent -- pointer to an object, it will be the parent of the new button matrix
- Returns
- pointer to the created button matrix
void lv_btnmatrix_set_map(lv_obj_t *obj, const char *map[])
- 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.
- Parameters
- obj -- pointer to a button matrix object
- map -- pointer a string array. The last string has to be: "". Use "\n" to make a line break.
void lv_btnmatrix_set_ctrl_map(lv_obj_t *obj, const lv_btnmatrix_ctrl_t ctrl_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.
- Parameters
- obj -- pointer to a button matrix object
- 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_BTNMATRIX_CTRL_NO_REPEAT | LV_BTNMATRIX_CTRL_TGL_ENABLE
void lv_btnmatrix_set_selected_btn(lv_obj_t *obj, uint16_t btn_id)
- Set the selected buttons
- Parameters
- obj -- pointer to button matrix object
- btn_id -- 0 based index of the button to modify. (Not counting new lines)
void lv_btnmatrix_set_btn_ctrl(lv_obj_t *obj, uint16_t btn_id, lv_btnmatrix_ctrl_t ctrl)
- Set the attributes of a button of the button matrix
- Parameters
- obj -- pointer to button matrix object
- btn_id -- 0 based index of the button to modify. (Not counting new lines)
- ctrl -- OR-ed attributs. E.g.
LV_BTNMATRIX_CTRL_NO_REPEAT | LV_BTNMATRIX_CTRL_CHECKABLE
void lv_btnmatrix_clear_btn_ctrl(lv_obj_t *obj, uint16_t btn_id, lv_btnmatrix_ctrl_t ctrl)
- Clear the attributes of a button of the button matrix
- Parameters
- obj -- pointer to button matrix object
- btn_id -- 0 based index of the button to modify. (Not counting new lines)
- ctrl -- OR-ed attributs. E.g.
LV_BTNMATRIX_CTRL_NO_REPEAT | LV_BTNMATRIX_CTRL_CHECKABLE
void lv_btnmatrix_set_btn_ctrl_all(lv_obj_t *obj, lv_btnmatrix_ctrl_t ctrl)
- Set attributes of all buttons of a button matrix
- Parameters
- obj -- pointer to a button matrix object
- ctrl -- attribute(s) to set from
lv_btnmatrix_ctrl_t . Values can be ORed.
void lv_btnmatrix_clear_btn_ctrl_all(lv_obj_t *obj, lv_btnmatrix_ctrl_t ctrl)
- Clear the attributes of all buttons of a button matrix
- Parameters
- obj -- pointer to a button matrix object
- ctrl -- attribute(s) to set from
lv_btnmatrix_ctrl_t . Values can be ORed.
- en -- true: set the attributesfalse: clear the attributes
void lv_btnmatrix_set_btn_width(lv_obj_t *obj, uint16_t btn_id, uint8_t width)
- Set a single button's 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_btnmatrix_set_ctrl_map and this method only be used for dynamic changes.
- Parameters
- obj -- pointer to button matrix object
- btn_id -- 0 based index of the button to modify.
- width -- relative width compared to the buttons in the same row. [1..7]
void lv_btnmatrix_set_one_checked(lv_obj_t *obj, bool en)
- Make the button matrix like a selector widget (only one button may be checked at a time).
LV_BTNMATRIX_CTRL_CHECKABLE must be enabled on the buttons to be selected using lv_btnmatrix_set_ctrl() or lv_btnmatrix_set_btn_ctrl_all() .
- Parameters
- obj -- pointer to a button matrix object
- en -- whether "one check" mode is enabled
const char **lv_btnmatrix_get_map(const lv_obj_t *obj)
- Get the current map of a button matrix
- Parameters
- obj -- pointer to a button matrix object
- Returns
- the current map
uint16_t lv_btnmatrix_get_selected_btn(const lv_obj_t *obj)
- Get the index of the lastly "activated" button by the user (pressed, released, focused etc) Useful in the
event_cb to get the text of the button, check if hidden etc.
- Parameters
- obj -- pointer to button matrix object
- Returns
- index of the last released button (LV_BTNMATRIX_BTN_NONE: if unset)
const char *lv_btnmatrix_get_btn_text(const lv_obj_t *obj, uint16_t btn_id)
- Get the button's text
- Parameters
- obj -- pointer to button matrix object
- btn_id -- the index a button not counting new line characters.
- Returns
- text of btn_index` button
bool lv_btnmatrix_has_btn_ctrl(lv_obj_t *obj, uint16_t btn_id, lv_btnmatrix_ctrl_t ctrl)
- Get the whether a control value is enabled or disabled for button of a button matrix
- Parameters
- obj -- pointer to a button matrix object
- btn_id -- the index of a button not counting new line characters.
- ctrl -- control values to check (ORed value can be used)
- Returns
- true: the control attribute is enabled false: disabled
bool lv_btnmatrix_get_one_checked(const lv_obj_t *obj)
- Tell whether "one check" mode is enabled or not.
- Parameters
- obj -- Button matrix object
- Returns
- true: "one check" mode is enabledfalse: disabled
Variables
const lv_obj_class_t lv_btnmatrix_class
struct lv_btnmatrix_t
- Public Members
- lv_obj_t obj
- const char **map_p
- lv_area_t *button_areas
- lv_btnmatrix_ctrl_t *ctrl_bits
- uint16_t btn_cnt
- uint16_t row_cnt
- uint16_t btn_id_sel
- uint8_t one_check
|
Typedef
typedef uint16_t lv_btnmatrix_ctrl_t
typedef bool(* lv_btnmatrix_btn_draw_cb_t)(lv_obj_t * btnm、uint32_t btn_id、const lv_area_t * draw_area、const lv_area_t * clip_area)
列挙型
列挙型[匿名]
- ボタン制御ビットを格納するためのタイプ(無効、非表示など)最初の3ビットは、幅の 値を格納するために使用されます。
- 列挙子_LV_BTNMATRIX_WIDTH
- サイズ単位を固定するために予約済み
- 列挙子LV_BTNMATRIX_CTRL_HIDDEN
- ボタンを非表示
- 列挙子LV_BTNMATRIX_CTRL_NO_REPEAT
- このボタンを繰り返し押さないでください。
- 列挙子LV_BTNMATRIX_CTRL_DISABLED
- このボタンを無効にします。
- 列挙子LV_BTNMATRIX_CTRL_CHECKABLE
- ボタンは切り替えることができます。
- 列挙子LV_BTNMATRIX_CTRL_CHECKED
- ボタンは現在切り替えられています(たとえば、チェックされています)。
- 列挙子LV_BTNMATRIX_CTRL_CLICK_TRIG
- 1:クリックでLV_EVENT_VALUE_CHANGEを送信、0:プレスでLV_EVENT_VALUE_CHANGEを送信
- 列挙子LV_BTNMATRIX_CTRL_POPOVER
- このキーを押すとポップオーバーを表示します
- 列挙子LV_BTNMATRIX_CTRL_RECOLOR
- でテキストの色変更を有効にする
#color
- 列挙子_LV_BTNMATRIX_CTRL_RESERVED
- 後で使用するために予約済み
- 列挙子LV_BTNMATRIX_CTRL_CUSTOM_1
- カスタムの自由に使用できるフラグ
- 列挙子LV_BTNMATRIX_CTRL_CUSTOM_2
- カスタムの自由に使用できるフラグ
列挙型lv_btnmatrix_draw_part_type_t
- もし
class_p = lv_btnmatrix_class がLV_EVENT_DRAW_PART_BEGIN とLV_EVENT_DRAW_PART_END
- の中で使用された時の、
lv_obj_draw_part_dsc_t の中のtype フィールド
- 値:
- 列挙子LV_BTNMATRIX_DRAW_PART_BTN
- ボタンの長方形とラベル
機能
LV_EXPORT_CONST_INT(LV_BTNMATRIX_BTN_NONE)
lv_obj_t * lv_btnmatrix_create(lv_obj_t * parent)
- ボタンマトリックスオブジェクトを作成する
- パラメーター
- parent-オブジェクトへのポインタ。新しいボタンマトリックスの親になります。
- 戻り値
- 作成されたボタンマトリックスへのポインタ
void lv_btnmatrix_set_map(lv_obj_t * obj、const char * map [])
- 新しいマップを設定します。ボタンはマップに従って作成/削除されます。ボタンマトリックスはマップへの参照を保持するため、マトリックスの存続期間中は文字列配列の割り当てを解除しないでください。
- パラメーター
- obj-ボタンマトリックスオブジェクトへのポインタ
- map-文字列配列へのポインタ。最後の文字列は "" である必要があります。"\n" を使用して改行します。
void lv_btnmatrix_set_ctrl_map(lv_obj_t * obj、const lv_btnmatrix_ctrl_t ctrl_map [])
- ボタンマトリックスのボタンコントロールマップ(非表示、無効など)を設定します。コントロールマップ配列がコピーされるため、この関数が戻った後に割り当てが解除される場合があります。
- パラメーター
- obj-ボタンマトリックスオブジェクトへのポインタ
- ctrl_map-
lv_btn_ctrl_t のコントロールバイト配列へのポインター。配列の長さと要素の位置は、個々のボタンの数と順序と一致する必要があります(つまり、改行エントリは除外されます)。マップの要素は次のようになります。ctrl_map[0] = width | LV_BTNMATRIX_CTRL_NO_REPEAT | LV_BTNMATRIX_CTRL_TGL_ENABLE
void lv_btnmatrix_set_selected_btn(lv_obj_t * obj、uint16_t btn_id)
- 選択したボタンを設定する
- パラメーター
- obj-ボタンマトリックスオブジェクトへのポインタ
- btn_id -0ベースの変更するボタンのインデックス。(新しい行はカウントされません)
void lv_btnmatrix_set_btn_ctrl(lv_obj_t * obj、uint16_t btn_id、lv_btnmatrix_ctrl_t ctrl)
- ボタンマトリックスのボタンの属性を設定します
- パラメーター
- obj-ボタンマトリックスオブジェクトへのポインタ
- btn_id -0ベースの変更するボタンのインデックス。(新しい行はカウントされません)
- ctrl -OR-ed属性。例えば
LV_BTNMATRIX_CTRL_NO_REPEAT | LV_BTNMATRIX_CTRL_CHECKABLE
void lv_btnmatrix_clear_btn_ctrl(lv_obj_t * obj、uint16_t btn_id、lv_btnmatrix_ctrl_t ctrl)
- ボタンマトリックスのボタンの属性をクリアします
- パラメーター
- obj-ボタンマトリックスオブジェクトへのポインタ
- btn_id -0ベースの変更するボタンのインデックス。(新しい行はカウントされません)
- ctrl -OR-ed属性。例えば
LV_BTNMATRIX_CTRL_NO_REPEAT | LV_BTNMATRIX_CTRL_CHECKABLE
void lv_btnmatrix_set_btn_ctrl_all(lv_obj_t * obj、lv_btnmatrix_ctrl_t ctrl)
- ボタンマトリックスのすべてのボタンの属性を設定する
- パラメーター
- obj-ボタンマトリックスオブジェクトへのポインタ
- ctrl-
lv_btnmatrix_ctrl_t から設定する属性。値はOR演算できます。
void lv_btnmatrix_clear_btn_ctrl_all(lv_obj_t * obj、lv_btnmatrix_ctrl_t ctrl)
- ボタンマトリックスのすべてのボタンの属性をクリアします
- パラメーター
- obj-ボタンマトリックスオブジェクトへのポインタ
- ctrl-から設定する属性
lv_btnmatrix_ctrl_t 。値はOR演算できます。
- en --true:属性を設定しますfalse:属性をクリアします
void lv_btnmatrix_set_btn_width(lv_obj_t * obj、uint16_t btn_id、uint8_t width)
- 1つのボタンの相対的な幅を設定します。この方法では、マトリックスが再生成され、比較的コストのかかる操作になります。初期幅は
lv_btnmatrix_set_ctrl_map を使用して指定することをお勧めします。この方法は、動的な変更にのみ使用してください。
- パラメーター
- obj-ボタンマトリックスオブジェクトへのポインタ
- btn_id -0ベースの変更するボタンのインデックス。
- width-同じ行のボタンと比較した相対的な幅。[1..7]
void lv_btnmatrix_set_one_checked(lv_obj_t * obj、bool en)
- ボタンマトリックスをセレクターウィジェットのように作成します(一度にチェックできるボタンは1つだけです)。
LV_BTNMATRIX_CTRL_CHECKABLE は、lv_btnmatrix_set_ctrl() 又はlv_btnmatrix_set_btn_ctrl_all() を使用して選択されたボタンで有効にする必要があります
- パラメーター
- obj-ボタンマトリックスオブジェクトへのポインタ
- ja-「ワンチェック」モードが有効かどうか
const char ** lv_btnmatrix_get_map(const lv_obj_t * obj)
- ボタンマトリックスの現在のマップを取得します
- パラメーター
- obj-ボタンマトリックスオブジェクトへのポインタ
- 戻り値
- 現在の地図
uint16_t lv_btnmatrix_get_selected_btn(const lv_obj_t * obj)
- ユーザーが最後に「アクティブ化した」ボタンのインデックスを取得します(押された、離された、フォーカスされたなど)。
event_cb の中でボタンのテキストを取得したり、非表示になっているかどうかを確認したりするのに便利です。
- パラメーター
- obj-ボタンマトリックスオブジェクトへのポインタ
- 戻り値
- 最後にリリースされたボタンのインデックス(LV_BTNMATRIX_BTN_NONE:設定されていない場合)
const char * lv_btnmatrix_get_btn_text(const lv_obj_t * obj、uint16_t btn_id)
- ボタンのテキストを取得する
- パラメーター
- obj-ボタンマトリックスオブジェクトへのポインタ
- btn_id-改行文字をカウントしないボタンのインデックス。
- 戻り値
- btn_index`ボタンのテキスト
bool lv_btnmatrix_has_btn_ctrl(lv_obj_t * obj、uint16_t btn_id、lv_btnmatrix_ctrl_t ctrl)
- ボタンマトリックスのボタンの制御値が有効か無効かを取得します
- パラメーター
- obj-ボタンマトリックスオブジェクトへのポインタ
- btn_id-改行文字をカウントしないボタンのインデックス。
- ctrl-チェックする制御値(ORされた値を使用できます)
- 戻り値
- true:制御属性が有効になっているfalse:無効になっている
bool lv_btnmatrix_get_one_checked(const lv_obj_t * obj)
- 「ワンチェック」モードが有効になっているかどうかを確認します。
- パラメーター
- obj-ボタンマトリックスオブジェクト
- 戻り値
- true:「ワンチェック」モードが有効になっていますfalse:無効になっています
変数
const lv_obj_class_t lv_btnmatrix_class
struct lv_btnmatrix_t
- パブリックメンバー
- lv_obj_t obj
- const char ** map_p
- lv_area_t * button_areas
- lv_btnmatrix_ctrl_t * ctrl_bits
- uint16_t btn_cnt
- uint16_t row_cnt
- uint16_t btn_id_sel
- uint8_t one_check
|