From 88865dd910f840b42b38f6a5808fb3fe75eea825 Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Mon, 11 Dec 2023 18:15:51 +0100 Subject: [PATCH] refactor: minor refactoring and widget docs update --- demos/stress/lv_demo_stress.c | 2 +- docs/widgets/bar.rst | 10 -- docs/widgets/btnmatrix.rst | 147 ------------------ docs/widgets/{btn.rst => button.rst} | 4 +- docs/widgets/butttonmatrix.rst | 138 ++++++++++++++++ docs/widgets/calendar.rst | 2 +- docs/widgets/canvas.rst | 87 +++-------- docs/widgets/chart.rst | 75 +-------- docs/widgets/checkbox.rst | 8 - docs/widgets/colorwheel.rst | 75 --------- docs/widgets/{img.rst => image.rst} | 0 docs/widgets/index.rst | 6 +- docs/widgets/keyboard.rst | 6 +- docs/widgets/label.rst | 9 +- docs/widgets/led.rst | 10 -- docs/widgets/line.rst | 2 +- docs/widgets/list.rst | 4 +- docs/widgets/menu.rst | 20 +-- docs/widgets/obj.rst | 25 +-- docs/widgets/slider.rst | 16 -- docs/widgets/span.rst | 4 +- docs/widgets/spinner.rst | 6 +- docs/widgets/table.rst | 10 -- docs/widgets/tabview.rst | 30 ++-- docs/widgets/tileview.rst | 4 +- docs/widgets/win.rst | 8 +- examples/widgets/btn/index.rst | 20 --- examples/widgets/btnmatrix/index.rst | 22 --- examples/widgets/button/index.rst | 20 +++ .../lv_example_button_1.c} | 0 .../lv_example_button_1.py} | 0 .../lv_example_button_2.c} | 0 .../lv_example_button_2.py} | 0 .../lv_example_button_3.c} | 0 .../lv_example_button_3.py} | 0 examples/widgets/buttonmatrix/index.rst | 22 +++ .../lv_example_buttonmatrix_1.c} | 0 .../lv_example_buttonmatrix_1.py} | 0 .../lv_example_buttonmatrix_2.c} | 0 .../lv_example_buttonmatrix_2.py} | 0 .../lv_example_buttonmatrix_3.c} | 0 .../lv_example_buttonmatrix_3.py} | 0 examples/widgets/{img => image}/index.rst | 8 +- .../lv_example_image_1.c} | 0 .../lv_example_image_1.py} | 0 .../lv_example_image_2.c} | 0 .../lv_example_image_2.py} | 0 .../lv_example_image_3.c} | 0 .../lv_example_image_3.py} | 0 .../lv_example_image_4.c} | 0 .../lv_example_image_4.py} | 0 .../widgets/tabview/lv_example_tabview_2.c | 2 +- src/lv_api_map.h | 2 + src/widgets/tabview/lv_tabview.c | 4 +- src/widgets/tabview/lv_tabview.h | 2 +- src/widgets/tileview/lv_tileview.c | 6 +- src/widgets/tileview/lv_tileview.h | 4 +- tests/src/test_cases/widgets/test_tabview.c | 24 +-- 58 files changed, 294 insertions(+), 550 deletions(-) delete mode 100644 docs/widgets/btnmatrix.rst rename docs/widgets/{btn.rst => button.rst} (94%) create mode 100644 docs/widgets/butttonmatrix.rst delete mode 100644 docs/widgets/colorwheel.rst rename docs/widgets/{img.rst => image.rst} (100%) delete mode 100644 examples/widgets/btn/index.rst delete mode 100644 examples/widgets/btnmatrix/index.rst create mode 100644 examples/widgets/button/index.rst rename examples/widgets/{btn/lv_example_btn_1.c => button/lv_example_button_1.c} (100%) rename examples/widgets/{btn/lv_example_btn_1.py => button/lv_example_button_1.py} (100%) rename examples/widgets/{btn/lv_example_btn_2.c => button/lv_example_button_2.c} (100%) rename examples/widgets/{btn/lv_example_btn_2.py => button/lv_example_button_2.py} (100%) rename examples/widgets/{btn/lv_example_btn_3.c => button/lv_example_button_3.c} (100%) rename examples/widgets/{btn/lv_example_btn_3.py => button/lv_example_button_3.py} (100%) create mode 100644 examples/widgets/buttonmatrix/index.rst rename examples/widgets/{btnmatrix/lv_example_btnmatrix_1.c => buttonmatrix/lv_example_buttonmatrix_1.c} (100%) rename examples/widgets/{btnmatrix/lv_example_btnmatrix_1.py => buttonmatrix/lv_example_buttonmatrix_1.py} (100%) rename examples/widgets/{btnmatrix/lv_example_btnmatrix_2.c => buttonmatrix/lv_example_buttonmatrix_2.c} (100%) rename examples/widgets/{btnmatrix/lv_example_btnmatrix_2.py => buttonmatrix/lv_example_buttonmatrix_2.py} (100%) rename examples/widgets/{btnmatrix/lv_example_btnmatrix_3.c => buttonmatrix/lv_example_buttonmatrix_3.c} (100%) rename examples/widgets/{btnmatrix/lv_example_btnmatrix_3.py => buttonmatrix/lv_example_buttonmatrix_3.py} (100%) rename examples/widgets/{img => image}/index.rst (56%) rename examples/widgets/{img/lv_example_img_1.c => image/lv_example_image_1.c} (100%) rename examples/widgets/{img/lv_example_img_1.py => image/lv_example_image_1.py} (100%) rename examples/widgets/{img/lv_example_img_2.c => image/lv_example_image_2.c} (100%) rename examples/widgets/{img/lv_example_img_2.py => image/lv_example_image_2.py} (100%) rename examples/widgets/{img/lv_example_img_3.c => image/lv_example_image_3.c} (100%) rename examples/widgets/{img/lv_example_img_3.py => image/lv_example_image_3.py} (100%) rename examples/widgets/{img/lv_example_img_4.c => image/lv_example_image_4.c} (100%) rename examples/widgets/{img/lv_example_img_4.py => image/lv_example_image_4.py} (100%) diff --git a/demos/stress/lv_demo_stress.c b/demos/stress/lv_demo_stress.c index 0af4d0f6e..e6570da08 100644 --- a/demos/stress/lv_demo_stress.c +++ b/demos/stress/lv_demo_stress.c @@ -270,7 +270,7 @@ static void obj_test_task_cb(lv_timer_t * tmr) obj = lv_label_create(obj); lv_label_set_text(obj, "Tile: 1;1"); - lv_obj_set_tile_id(tv, 1, 1, LV_ANIM_ON); + lv_tileview_set_tile_by_index(tv, 1, 1, LV_ANIM_ON); } break; diff --git a/docs/widgets/bar.rst b/docs/widgets/bar.rst index f5a4f2412..fa6332479 100644 --- a/docs/widgets/bar.rst +++ b/docs/widgets/bar.rst @@ -54,16 +54,6 @@ The bar can be one of the following modes: Events ****** - -- :cpp:enumerator:`LV_EVENT_DRAW_PART_BEGIN` and :cpp:enumerator:`LV_EVENT_DRAW_PART_END` are sent - for the following parts: - - - :cpp:enumerator:`LV_BAR_DRAW_PART_INDICATOR` The indicator of the bar - - - ``part``: :cpp:enumerator:`LV_PART_INDICATOR` - - ``draw_area``: area of the indicator - - ``rect_dsc`` - See the events of the `Base object `__ too. Learn more about :ref:`events`. diff --git a/docs/widgets/btnmatrix.rst b/docs/widgets/btnmatrix.rst deleted file mode 100644 index 660631e5b..000000000 --- a/docs/widgets/btnmatrix.rst +++ /dev/null @@ -1,147 +0,0 @@ -Button matrix (lv_btnmatrix) -============================ - -Overview -******** - -The Button Matrix object is a lightweight way to display multiple -buttons in rows and columns. Lightweight because the buttons are not -actually created but just virtually drawn on the fly. This way, one -button use only eight extra bytes of memory instead of the ~100-150 -bytes a normal `Button `__ object plus the 100 or so bytes -for the `Label `__ object. - -The Button matrix is added to the default group (if one is set). Besides -the Button matrix is an editable object to allow selecting and clicking -the buttons with encoder navigation too. - -Parts and Styles -**************** - -- :cpp:enumerator:`LV_PART_MAIN` The background of the button matrix, uses the - typical background style properties. ``pad_row`` and ``pad_column`` - sets the space between the buttons. -- :cpp:enumerator:`LV_PART_ITEMS` The buttons all use the text and typical background - style properties except translations and transformations. - -Usage -***** - -Button's text -------------- - -There is a text on each button. To specify them a descriptor string -array, called *map*, needs to be used. The map can be set with -:cpp:expr:`lv_btnmatrix_set_map(btnm, my_map)`. The declaration of a map should -look like ``const char * map[] = {"btn1", "btn2", "btn3", NULL}``. Note -that the last element has to be either ``NULL`` or an empty string -(``""``)! - -Use ``"\n"`` in the map to insert a **line break**. E.g. -``{"btn1", "btn2", "\n", "btn3", ""}``. Each line's buttons have their -width calculated automatically. So in the example the first row will -have 2 buttons each with 50% width and a second row with 1 button having -100% width. - -Control buttons ---------------- - -The buttons' width can be set relative to the other button in the same -row with :cpp:expr:`lv_btnmatrix_set_btn_width(btnm, btn_id, width)` E.g. in a -line with two buttons: *btnA, width = 1* and *btnB, width = 2*, *btnA* -will have 33 % width and *btnB* will have 66 % width. It's similar to -how the -```flex-grow`` `__ -property works in CSS. The width must be in the [1..15] range and the -default width is 1. - -In addition to the width, each button can be customized with the -following parameters: - -- :cpp:enumerator:`LV_BTNMATRIX_CTRL_HIDDEN`: Makes a button hidden (hidden buttons still take up space in the layout, they are just not visible or clickable) -- :cpp:enumerator:`LV_BTNMATRIX_CTRL_NO_REPEAT`: Disable repeating when the button is long pressed -- :cpp:enumerator:`LV_BTNMATRIX_CTRL_DISABLED`: Makes a button disabled Like :cpp:enumerator:`LV_STATE_DISABLED` on normal objects -- :cpp:enumerator:`LV_BTNMATRIX_CTRL_CHECKABLE`: Enable toggling of a button. I.e. :cpp:enumerator:`LV_STATE_CHECKED` will be added/removed as the button is clicked -- :cpp:enumerator:`LV_BTNMATRIX_CTRL_CHECKED`: Make the button checked. It will use the :cpp:enumerator:`LV_STATE_CHECHKED` styles. -- :cpp:enumerator:`LV_BTNMATRIX_CTRL_CLICK_TRIG`: Enabled: send LV_EVENT_VALUE_CHANGE on CLICK, Disabled: send :cpp:enumerator:`LV_EVENT_VALUE_CHANGE` on PRESS -- :cpp:enumerator:`LV_BTNMATRIX_CTRL_POPOVER`: Show the button label in a popover when pressing this key -- :cpp:enumerator:`LV_BTNMATRIX_CTRL_RECOLOR`: Enable recoloring of button texts with ``#``. E.g. ``"It's #ff0000 red#"`` -- :cpp:enumerator:`LV_BTNMATRIX_CTRL_CUSTOM_1`: Custom free to use flag -- :cpp:enumerator:`LV_BTNMATRIX_CTRL_CUSTOM_2`: Custom free to use flag - -By default, all flags are disabled. - -To set or clear a button's control attribute, use -``lv_btnmatrix_set_btn_ctrl(btnm, btn_id, LV_BTNM_CTRL_...)`` and -``lv_btnmatrix_clear_btn_ctrl(btnm, btn_id, LV_BTNMATRIX_CTRL_...)`` -respectively. More ``LV_BTNM_CTRL_...`` values can be OR-ed - -To set/clear the same control attribute for all buttons of a button -matrix, use ``lv_btnmatrix_set_btn_ctrl_all(btnm, LV_BTNM_CTRL_...)`` -and ``lv_btnmatrix_clear_btn_ctrl_all(btnm, LV_BTNMATRIX_CTRL_...)``. - -The set a control map for a button matrix (similarly to the map for the -text), use ``lv_btnmatrix_set_ctrl_map(btnm, ctrl_map)``. An element of -``ctrl_map`` should look like -``ctrl_map[0] = width | LV_BTNM_CTRL_NO_REPEAT | LV_BTNM_CTRL_CHECHKABLE``. -The number of elements should be equal to the number of buttons -(excluding newlines characters). - -One check ---------- - -The "One check" feature can be enabled with -:cpp:expr:`lv_btnmatrix_set_one_checked(btnm, true)` to allow only one button to -be checked at a time. - -Events -****** - -- :cpp:enumerator:`LV_EVENT_VALUE_CHANGED`: Sent when a button is pressed/released or - repeated after long press. The event parameter is set to the ID of - the pressed/released button. -- :cpp:enumerator:`LV_EVENT_DRAW_PART_BEGIN` and :cpp:enumerator:`LV_EVENT_DRAW_PART_END` are sent - for the following types: - - - :cpp:enumerator:`LV_BTNMATRIX_DRAW_PART_BTN` The individual buttons. - - - ``part``: :cpp:enumerator:`LV_PART_ITEMS` - - ``id``:index of the button being drawn - - ``draw_area``: the area of the button - - ``rect_dsc`` - -See the events of the `Base object `__ too. - -:cpp:expr:`lv_btnmatrix_get_selected_btn(btnm)` returns the index of the most -recently released or focused button or :cpp:enumerator:`LV_BTNMATRIX_BTN_NONE` if no -such button. - -:cpp:expr:`lv_btnmatrix_get_btn_text(btnm, btn_id)` returns a pointer to the -text of ``btn_id``\ th button. - -Learn more about :ref:`events`. - -Keys -**** - -- ``LV_KEY_RIGHT/UP/LEFT/RIGHT`` To navigate among the buttons to - select one -- :cpp:enumerator:`LV_KEY_ENTER` To press/release the selected button - -Note that long pressing the button matrix with an encoder can mean to -enter/leave edit mode and simply long pressing a button to make it -repeat as well. To avoid this contradiction it's suggested to add -:cpp:expr:`lv_btnmatrix_set_btn_ctrl_all(btnm, LV_BTNMATRIX_CTRL_CLICK_TRIG | LV_BTNMATRIX_CTRL_NO_REPEAT)` -to the button matrix if used with encoder. This way, the pressed button -repeat feature is disabled and on leaving edit mode the selected button -won't be activated. - -Learn more about :ref:`indev_keys`. - -Example -******* - -.. include:: ../examples/widgets/btnmatrix/index.rst - -API -*** diff --git a/docs/widgets/btn.rst b/docs/widgets/button.rst similarity index 94% rename from docs/widgets/btn.rst rename to docs/widgets/button.rst index e66af2332..6ad1f003b 100644 --- a/docs/widgets/btn.rst +++ b/docs/widgets/button.rst @@ -1,4 +1,4 @@ -Button (lv_btn) +Button (lv_button) =============== Overview @@ -46,7 +46,7 @@ Learn more about :ref:`indev_keys`. Example ******* -.. include:: ../examples/widgets/btn/index.rst +.. include:: ../examples/widgets/button/index.rst API *** diff --git a/docs/widgets/butttonmatrix.rst b/docs/widgets/butttonmatrix.rst new file mode 100644 index 000000000..7014dd818 --- /dev/null +++ b/docs/widgets/butttonmatrix.rst @@ -0,0 +1,138 @@ +Button matrix (lv_buttonmatrix) +============================ + +Overview +******** + +The Button Matrix object is a lightweight way to display multiple +buttons in rows and columns. Lightweight because the buttons are not +actually created but just virtually drawn on the fly. This way, one +button use only eight extra bytes of memory instead of the ~100-150 +bytes a normal `Button `__ object plus the 100 or so bytes +for the `Label `__ object. + +The Button matrix is added to the default group (if one is set). Besides +the Button matrix is an editable object to allow selecting and clicking +the buttons with encoder navigation too. + +Parts and Styles +**************** + +- :cpp:enumerator:`LV_PART_MAIN` The background of the button matrix, uses the + typical background style properties. ``pad_row`` and ``pad_column`` + sets the space between the buttons. +- :cpp:enumerator:`LV_PART_ITEMS` The buttons all use the text and typical background + style properties except translations and transformations. + +Usage +***** + +Button's text +------------- + +There is a text on each button. To specify them a descriptor string +array, called *map*, needs to be used. The map can be set with +:cpp:expr:`lv_buttonmatrix_set_map(buttonm, my_map)`. The declaration of a map should +look like ``const char * map[] = {"button1", "button2", "button3", NULL}``. Note +that the last element has to be either ``NULL`` or an empty string +(``""``)! + +Use ``"\n"`` in the map to insert a **line break**. E.g. +``{"button1", "button2", "\n", "button3", ""}``. Each line's buttons have their +width calculated automatically. So in the example the first row will +have 2 buttons each with 50% width and a second row with 1 button having +100% width. + +Control buttons +--------------- + +The buttons' width can be set relative to the other button in the same +row with :cpp:expr:`lv_buttonmatrix_set_button_width(buttonm, button_id, width)` E.g. in a +line with two buttons: *buttonA, width = 1* and *buttonB, width = 2*, *buttonA* +will have 33 % width and *buttonB* will have 66 % width. It's similar to +how the +```flex-grow`` `__ +property works in CSS. The width must be in the [1..15] range and the +default width is 1. + +In addition to the width, each button can be customized with the +following parameters: + +- :cpp:enumerator:`LV_BUTTONMATRIX_CTRL_HIDDEN`: Makes a button hidden (hidden buttons still take up space in the layout, they are just not visible or clickable) +- :cpp:enumerator:`LV_BUTTONMATRIX_CTRL_NO_REPEAT`: Disable repeating when the button is long pressed +- :cpp:enumerator:`LV_BUTTONMATRIX_CTRL_DISABLED`: Makes a button disabled Like :cpp:enumerator:`LV_STATE_DISABLED` on normal objects +- :cpp:enumerator:`LV_BUTTONMATRIX_CTRL_CHECKABLE`: Enable toggling of a button. I.e. :cpp:enumerator:`LV_STATE_CHECKED` will be added/removed as the button is clicked +- :cpp:enumerator:`LV_BUTTONMATRIX_CTRL_CHECKED`: Make the button checked. It will use the :cpp:enumerator:`LV_STATE_CHECHKED` styles. +- :cpp:enumerator:`LV_BUTTONMATRIX_CTRL_CLICK_TRIG`: Enabled: send LV_EVENT_VALUE_CHANGE on CLICK, Disabled: send :cpp:enumerator:`LV_EVENT_VALUE_CHANGE` on PRESS +- :cpp:enumerator:`LV_BUTTONMATRIX_CTRL_POPOVER`: Show the button label in a popover when pressing this key +- :cpp:enumerator:`LV_BUTTONMATRIX_CTRL_RECOLOR`: Enable recoloring of button texts with ``#``. E.g. ``"It's #ff0000 red#"`` +- :cpp:enumerator:`LV_BUTTONMATRIX_CTRL_CUSTOM_1`: Custom free to use flag +- :cpp:enumerator:`LV_BUTTONMATRIX_CTRL_CUSTOM_2`: Custom free to use flag + +By default, all flags are disabled. + +To set or clear a button's control attribute, use +``lv_buttonmatrix_set_button_ctrl(buttonm, button_id, LV_BUTTONMATRIX_CTRL_...)`` and +``lv_buttonmatrix_clear_button_ctrl(buttonm, button_id, LV_BUTTONMATRIX_CTRL_...)`` +respectively. More ``LV_BUTTONMATRIX_CTRL_...`` values can be OR-ed + +To set/clear the same control attribute for all buttons of a button +matrix, use ``lv_buttonmatrix_set_button_ctrl_all(buttonm, LV_BUTTONMATRIX_CTRL_...)`` +and ``lv_buttonmatrix_clear_button_ctrl_all(buttonm, LV_BUTTONMATRIX_CTRL_...)``. + +The set a control map for a button matrix (similarly to the map for the +text), use ``lv_buttonmatrix_set_ctrl_map(buttonm, ctrl_map)``. An element of +``ctrl_map`` should look like +``ctrl_map[0] = width | LV_BUTTONMATRIX_CTRL_NO_REPEAT | LV_BUTTONMATRIX_CTRL_CHECHKABLE``. +The number of elements should be equal to the number of buttons +(excluding newlines characters). + +One check +--------- + +The "One check" feature can be enabled with +:cpp:expr:`lv_buttonmatrix_set_one_checked(buttonm, true)` to allow only one button to +be checked at a time. + +Events +****** + +- :cpp:enumerator:`LV_EVENT_VALUE_CHANGED`: Sent when a button is pressed/released or + repeated after long press. The event parameter is set to the ID of + the pressed/released button. + +See the events of the `Base object `__ too. + +:cpp:expr:`lv_buttonmatrix_get_selected_button(buttonm)` returns the index of the most +recently released or focused button or :cpp:enumerator:`LV_BUTTONMATRIX_BUTTON_NONE` if no +such button. + +:cpp:expr:`lv_buttonmatrix_get_button_text(buttonm, button_id)` returns a pointer to the +text of ``button_id``\ th button. + +Learn more about :ref:`events`. + +Keys +**** + +- ``LV_KEY_RIGHT/UP/LEFT/RIGHT`` To navigate among the buttons to + select one +- :cpp:enumerator:`LV_KEY_ENTER` To press/release the selected button + +Note that long pressing the button matrix with an encoder can mean to +enter/leave edit mode and simply long pressing a button to make it +repeat as well. To avoid this contradiction it's suggested to add +:cpp:expr:`lv_buttonmatrix_set_button_ctrl_all(buttonm, LV_BUTTONMATRIX_CTRL_CLICK_TRIG | LV_BUTTONMATRIX_CTRL_NO_REPEAT)` +to the button matrix if used with encoder. This way, the pressed button +repeat feature is disabled and on leaving edit mode the selected button +won't be activated. + +Learn more about :ref:`indev_keys`. + +Example +******* + +.. include:: ../examples/widgets/buttonmatrix/index.rst + +API +*** diff --git a/docs/widgets/calendar.rst b/docs/widgets/calendar.rst index ec0e24465..b24b949ea 100644 --- a/docs/widgets/calendar.rst +++ b/docs/widgets/calendar.rst @@ -73,7 +73,7 @@ Events - :cpp:enumerator:`LV_EVENT_VALUE_CHANGED` Sent if a date is clicked. :cpp:expr:`lv_calendar_get_pressed_date(calendar, &date)` set ``date`` to the date currently being pressed. Returns :cpp:enumerator:`LV_RES_OK` if there is a - valid pressed date, else :cpp:enumerator:`LV_RES_INV`. + valid pressed date, else :cpp:enumerator:`LV_RES_INVALID`. Learn more about :ref:`events`. diff --git a/docs/widgets/canvas.rst b/docs/widgets/canvas.rst index fb904240a..0cb3beffd 100644 --- a/docs/widgets/canvas.rst +++ b/docs/widgets/canvas.rst @@ -6,8 +6,7 @@ Overview A Canvas inherits from `Image `__ where the user can draw anything. Rectangles, texts, images, lines, arcs can be drawn here using -lvgl's drawing engine. Additionally "effects" can be applied, such as -rotation, zoom and blur. +lvgl's drawing engine. Parts and Styles **************** @@ -21,95 +20,53 @@ Usage Buffer ------ -The Canvas needs a buffer in which stores the drawn image. To assign a +The Canvas needs a buffer in which it stores the drawn image. To assign a buffer to a Canvas, use -:cpp:expr:`lv_canvas_set_buffer(canvas, buffer, width, height, LV_IMG_CF_...)`. +:cpp:expr:`lv_canvas_set_buffer(canvas, buffer, width, height, LV_COLOR_FORMAT_...)`. Where ``buffer`` is a static buffer (not just a local variable) to hold -the image of the canvas. For example, -``static uint8_t buffer[LV_CANVAS_BUF_SIZE_TRUE_COLOR(width, height)]``. -``LV_CANVAS_BUF_SIZE_...`` macros help to determine the size of the -buffer with different color formats. +the image of the canvas. For example for a 100x50 ARGB8888 buffer: +``static uint8_t buffer[100 * 50 * 4]``. -The canvas supports all the built-in color formats like -:cpp:enumerator:`LV_IMG_CF_TRUE_COLOR` or :cpp:enumerator:`LV_IMG_CF_INDEXED_2BIT`. See the full +Or you can use +``static uint8_t buffer[LV_CANVAS_BUF_SIZE(width, height, bit_per_pixel, stride_in_bytes)]``. + +The canvas supports all the color formats like +:cpp:enumerator:`LV_COLOR_FORMAT_ARGB8888` or :cpp:enumerator:`LV_COLOR_FORMAT_I2`. See the full list in the `Color formats `__ section. Indexed colors -------------- -For ``LV_IMG_CF_INDEXED_1/2/4/8`` color formats a palette needs to be -initialized with :cpp:expr:`lv_canvas_set_palette(canvas, 3, LV_COLOR_RED)`. It +For ``LV_COLOR_FORMAT_I1/2/4/8`` color formats a palette needs to be +initialized with :cpp:expr:`lv_canvas_set_palette(canvas, 3, lv_color_hex(0xff0000))`. It sets pixels with *index=3* to red. Drawing ------- To set a pixel's color on the canvas, use -:cpp:expr:`lv_canvas_set_px_color(canvas, x, y, LV_COLOR_RED)`. With -``LV_IMG_CF_INDEXED_...`` the index of the color needs to be passed as -color. E.g. ``lv_color_t c; c.full = 3;`` +:cpp:expr:`lv_canvas_set_px_color(canvas, x, y, color, opa)`. With +``LV_COLOR_FORMAT_I1/2/4/8`` the index of the color needs to be passed as +color like this ``lv_color_from_int(13);``. It passes index 13 as a color. -To set a pixel's opacity with :cpp:enumerator:`LV_IMG_CF_TRUE_COLOR_ALPHA` or -``LV_IMG_CF_ALPHA_...`` format on the canvas, use -:cpp:expr:`lv_canvas_set_px_opa(canvas, x, y, opa)`. -:cpp:expr:`lv_canvas_fill_bg(canvas, LV_COLOR_BLUE, LV_OPA_50)` fills the whole +:cpp:expr:`lv_canvas_fill_bg(canvas, lv_color_hex(0x00ff00), LV_OPA_50)` fills the whole canvas to blue with 50% opacity. Note that if the current color format -doesn't support colors (e.g. :cpp:enumerator:`LV_IMG_CF_ALPHA_2BIT`) the color will be +doesn't support colors (e.g. :cpp:enumerator:`LV_COLOR_FORMAT_A8`) the color will be ignored. Similarly, if opacity is not supported -(e.g. :cpp:enumerator:`LV_IMG_CF_TRUE_COLOR`) it will be ignored. +(e.g. :cpp:enumerator:`LV_COLOR_FORMAT_RGB565`) it will be ignored. An array of pixels can be copied to the canvas with :cpp:expr:`lv_canvas_copy_buf(canvas, buffer_to_copy, x, y, width, height)`. The color format of the buffer and the canvas need to match. -To draw something to the canvas use: +To draw something to the canvas use LVGL's draw functions directly. See the examples for more details. -- :cpp:expr:`lv_canvas_draw_rect(canvas, x, y, width, height, &draw_dsc)` -- :cpp:expr:`lv_canvas_draw_text(canvas, x, y, max_width, &draw_dsc, txt)` -- :cpp:expr:`lv_canvas_draw_img(canvas, x, y, &img_src, &draw_dsc)` -- :cpp:expr:`lv_canvas_draw_line(canvas, point_array, point_cnt, &draw_dsc)` -- :cpp:expr:`lv_canvas_draw_polygon(canvas, points_array, point_cnt, &draw_dsc)` -- :cpp:expr:`lv_canvas_draw_arc(canvas, x, y, radius, start_angle, end_angle, &draw_dsc)` +The draw function can draw to any color format to which LVGL can render. Typically it means +:cpp:enumerator:`LV_COLOR_FORMAT_RGB565`, :cpp:enumerator:`LV_COLOR_FORMAT_RGB888`, +:cpp:enumerator:`LV_COLOR_FORMAT_XRGB888`, and :cpp:enumerator:`LV_COLOR_FORMAT_ARGB8888`. -``draw_dsc`` is a ``lv_draw_rect/label/img/line/arc_dsc_t`` variable -which should be first initialized with one of -``lv_draw_rect/label/img/line/arc_dsc_init()`` and then modified with -the desired colors and other values. - -The draw function can draw to any color format. For example, it's -possible to draw a text to an :cpp:enumerator:`LV_IMG_VF_ALPHA_8BIT` canvas and use -the result image as a `draw mask `__ later. - -Transformations ---------------- - -:cpp:func:`lv_canvas_transform` can be used to rotate and/or scale the image -of an image and store the result on the canvas. The function needs the -following parameters: - -- ``canvas`` pointer to a canvas object to store the result of the transformation. -- ``img pointer`` to an image descriptor to transform. Can be the image descriptor of another canvas too (:cpp:func:`lv_canvas_get_img`). -- ``angle`` the angle of rotation (0..3600), 0.1 deg resolution -- ``zoom`` zoom factor (256: no zoom, 512: double size, 128: half size); -- ``offset_x`` offset X to tell where to put the result data on destination canvas -- ``offset_y`` offset X to tell where to put the result data on destination canvas -- ``pivot_x`` pivot X of rotation. Relative to the source canvas. Set to ``source width / 2`` to rotate around the center -- ``pivot_y`` pivot Y of rotation. Relative to the source canvas. Set to ``source height / 2`` to rotate around the center -- ``antialias`` true: apply anti-aliasing during the transformation. Looks better but slower. - -Note that a canvas can't be rotated on itself. You need a source and -destination canvas or image. - -Blur ----- - -A given area of the canvas can be blurred horizontally with -:cpp:expr:`lv_canvas_blur_hor(canvas, &area, r)` or vertically with -:cpp:expr:`lv_canvas_blur_ver(canvas, &area, r)`. ``r`` is the radius of the -blur (greater value means more intensive burring). ``area`` is the area -where the blur should be applied (interpreted relative to the canvas). Events ****** diff --git a/docs/widgets/chart.rst b/docs/widgets/chart.rst index 54a168255..dd0872d4c 100644 --- a/docs/widgets/chart.rst +++ b/docs/widgets/chart.rst @@ -166,24 +166,14 @@ Note that :cpp:enumerator:`LV_CHART_UPDATE_MODE_SHIFT` also changes the Tick marks and labels --------------------- -Ticks and labels can be added to the axis with -:cpp:expr:`lv_chart_set_axis_tick(chart, axis, major_len, minor_len, major_cnt, minor_cnt, label_en, draw_size)`. - -- ``axis`` can be ``LV_CHART_AXIS_X/PRIMARY_Y/SECONDARY_Y`` -- ``major_len`` is the length of major ticks - ``minor_len`` is the length of minor ticks -- ``major_cnt`` is the number of major ticks on the axis -- ``minor_cnt`` in the number of minor ticks between two major ticks -- ``label_en`` ``true``: enable label drawing on major ticks -- ``draw_size`` extra size required to draw the tick and labels (start with 20 px and increase if the ticks/labels are clipped) +With the help of `__ vertical and horizontal scales can be added in a very flexible way. +See the example below to learn more. Zoom ---- -The chart can be zoomed independently in x and y directions with -:cpp:expr:`lv_chart_set_scale_x(chart, factor)` and -:cpp:expr:`lv_chart_set_scale_y(chart, factor)`. If ``factor`` is 256 there is no -zoom. 512 means double zoom, etc. Fractional values are also possible -but < 256 value is not allowed. +To zoom the chart all you need to is wrapping it into a parent container and set the chart's width or height +to larger value. This way the chart will be scrollable on its parent. Cursor ------ @@ -211,63 +201,6 @@ Events - :cpp:enumerator:`LV_EVENT_VALUE_CHANGED` Sent when a new point is clicked pressed. :cpp:expr:`lv_chart_get_pressed_point(chart)` returns the zero-based index of the pressed point. -- :cpp:enumerator:`LV_EVENT_DRAW_PART_BEGIN` and :cpp:enumerator:`LV_EVENT_DRAW_PART_END` are sent - with the following types: - - - :cpp:enumerator:`LV_CHART_DRAW_PART_DIV_LINE_INIT` Used before/after drawn the - div lines to add masks to any extra drawings. The following fields - are set: - - - ``part``: :cpp:enumerator:`LV_PART_MAIN` - - ``line_dsc`` - - - :cpp:enumerator:`LV_CHART_DRAW_PART_DIV_LINE_HOR`, - :cpp:enumerator:`LV_CHART_DRAW_PART_DIV_LINE_VER` Used for each horizontal and - vertical division lines. - - - ``part``: :cpp:enumerator:`LV_PART_MAIN` - - ``id``: index of the line - - ``p1``, ``p2``: points of the line - - ``line_dsc`` - - - :cpp:enumerator:`LV_CHART_DRAW_PART_LINE_AND_POINT` Used on line and scatter - charts for lines and points. - - - ``part``: :cpp:enumerator:`LV_PART_ITEMS` - - ``id``: index of the point - - ``value``: value of ``id``\ th point - - ``p1``, ``p2``: points of the line - - ``draw_area``: area of the point - - ``line_dsc`` - - ``rect_dsc`` - - ``sub_part_ptr``: pointer to the series - - - :cpp:enumerator:`LV_CHART_DRAW_PART_BAR` Used on bar charts for the rectangles. - - - ``part``: :cpp:enumerator:`LV_PART_ITEMS` - - ``id``: index of the point - - ``value``: value of ``id``\ th point - - ``draw_area``: area of the point - - ``rect_dsc``: - - ``sub_part_ptr``: pointer to the series - - - :cpp:enumerator:`LV_CHART_DRAW_PART_CURSOR` Used on cursor lines and points. - - - ``part``: :cpp:enumerator:`LV_PART_CURSOR` - - ``p1``, ``p2``: points of the line - - ``line_dsc`` - - ``rect_dsc`` - - ``draw_area``: area of the points - - - :cpp:enumerator:`LV_CHART_DRAW_PART_TICK_LABEL` Used on tick lines and labels. - - - ``part``: :cpp:enumerator:`LV_PART_ITEMS` - - ``id``: axis - - ``value``: value of the tick - - ``text``: ``value`` converted to decimal or ``NULL`` for minor - ticks - - ``line_dsc``, - - ``label_dsc``, See the events of the `Base object `__ too. diff --git a/docs/widgets/checkbox.rst b/docs/widgets/checkbox.rst index a2d524a99..5c09a5a1d 100644 --- a/docs/widgets/checkbox.rst +++ b/docs/widgets/checkbox.rst @@ -53,14 +53,6 @@ Events ****** - :cpp:enumerator:`LV_EVENT_VALUE_CHANGED` Sent when the checkbox is toggled. -- :cpp:enumerator:`LV_EVENT_DRAW_PART_BEGIN` and :cpp:enumerator:`LV_EVENT_DRAW_PART_END` are sent - for the following types: - - - :cpp:enumerator:`LV_CHECKBOX_DRAW_PART_BOX` The tickbox of the checkbox - - - ``part``: :cpp:enumerator:`LV_PART_INDICATOR` - - ``draw_area``: the area of the tickbox - - ``rect_dsc`` See the events of the `Base object `__ too. diff --git a/docs/widgets/colorwheel.rst b/docs/widgets/colorwheel.rst deleted file mode 100644 index c1e754fb1..000000000 --- a/docs/widgets/colorwheel.rst +++ /dev/null @@ -1,75 +0,0 @@ -Color wheel (lv_colorwheel) -=========================== - -Overview -******** - -As its name implies *Color wheel* allows the user to select a color. The -Hue, Saturation and Value of the color can be selected separately. - -Long pressing the object, the color wheel will change to the next -parameter of the color (hue, saturation or value). A double click will -reset the current parameter. - -Parts and Styles -**************** - -- :cpp:enumerator:`LV_PART_MAIN` Only ``arc_width`` is used to set the width of the - color wheel -- :cpp:enumerator:`LV_PART_KNOB` A rectangle (or circle) drawn on the current value. - It uses all the rectangle like style properties and padding to make - it larger than the width of the arc. - -Usage -***** - -Create a color wheel --------------------- - -:cpp:expr:`lv_colorwheel_create(parent, knob_recolor)` creates a new color -wheel. With ``knob_recolor=true`` the knob's background color will be -set to the current color. - -Set color ---------- - -The color can be set manually with -``lv_colorwheel_set_hue/saturation/value(colorwheel, x)`` or all at once -with :cpp:expr:`lv_colorwheel_set_hsv(colorwheel, hsv)` or -:cpp:expr:`lv_colorwheel_set_color(colorwheel, rgb)` - -Color mode ----------- - -The current color mode can be manually selected with -:cpp:expr:`lv_colorwheel_set_mode(colorwheel, LV_COLORWHEEL_MODE_HUE)`. - -The color mode can be fixed (so as to not change with long press) using -:cpp:expr:`lv_colorwheel_set_mode_fixed(colorwheel, true)` - -Events -****** - -- :cpp:enumerator:`LV_EVENT_VALUE_CHANGED` Sent if a new color is selected. - -Learn more about :ref:`events`. - -Keys -**** - -- :cpp:enumerator:`LV_KEY_UP`, :cpp:enumerator:`LV_KEY_RIGHT` Increment the current parameter's - value by 1 -- :cpp:enumerator:`LV_KEY_DOWN`, :cpp:enumerator:`LV_KEY_LEFT` Decrement the current parameter's - value by 1 -- :cpp:enumerator:`LV_KEY_ENTER` A long press will show the next mode. Double click - to reset the current parameter. - -Learn more about :ref:`indev_keys`. - -Example -******* - -.. include:: ../examples/widgets/colorwheel/index.rst - -API -*** diff --git a/docs/widgets/img.rst b/docs/widgets/image.rst similarity index 100% rename from docs/widgets/img.rst rename to docs/widgets/image.rst diff --git a/docs/widgets/index.rst b/docs/widgets/index.rst index 0134119f7..4cbdc39d3 100644 --- a/docs/widgets/index.rst +++ b/docs/widgets/index.rst @@ -11,15 +11,15 @@ Widgets arc animimg bar - btn - btnmatrix + button + buttonmatrix calendar chart colorwheel canvas checkbox dropdown - img + image imgbtn keyboard label diff --git a/docs/widgets/keyboard.rst b/docs/widgets/keyboard.rst index 61556f92c..c66df206f 100644 --- a/docs/widgets/keyboard.rst +++ b/docs/widgets/keyboard.rst @@ -4,7 +4,7 @@ Keyboard (lv_keyboard) Overview ******** -The Keyboard object is a special `Button matrix `__ +The Keyboard object is a special `Button matrix `__ with predefined keymaps and other features to realize a virtual keyboard to write texts into a `Text area `__. @@ -49,7 +49,7 @@ To enable key popovers on press, like on common Android and iOS keyboards, use :cpp:expr:`lv_keyboard_set_popovers(kb, true)`. The default control maps are preconfigured to only show the popovers on keys that produce a symbol and not on e.g. space. If you use a custom keymap, set -the :cpp:enumerator:`LV_BTNMATRIX_CTRL_POPOVER` flag for all keys that you want to +the :cpp:enumerator:`LV_BUTTONMATRIX_CTRL_POPOVER` flag for all keys that you want to show a popover. Note that popovers for keys in the top row will draw outside the widget @@ -65,7 +65,7 @@ New Keymap You can specify a new map (layout) for the keyboard with :cpp:expr:`lv_keyboard_set_map(kb, LV_KEYBOARD_MODE_..., kb_map, kb_ctrl)`. See -the `Button matrix `__ for more information about +the `Button matrix `__ for more information about creating new maps and ctrls. Keep in mind that using following keywords will have the same effect as diff --git a/docs/widgets/label.rst b/docs/widgets/label.rst index c7e5875ef..d199e73c4 100644 --- a/docs/widgets/label.rst +++ b/docs/widgets/label.rst @@ -101,7 +101,7 @@ the Label widget only allows manual text selection with Text alignment -------------- -To horizontally align the lines of a label the `text_align` style property can be used with +To horizontally align the lines of a label the `text_align` style property can be used with :cpp:expr:`lv_obj_set_style_text_align()` or :cpp:expr:`lv_style_set_text_align()` Note that it has a visible effect only if @@ -121,11 +121,8 @@ Custom scrolling animations Some aspects of the scrolling animations in long modes :cpp:enumerator:`LV_LABEL_LONG_SCROLL` and :cpp:enumerator:`LV_LABEL_LONG_SCROLL_CIRCULAR` can be customized by setting the animation property of a style, using -:cpp:func:`lv_style_set_anim`. Currently, only the start and repeat delay of -the circular scrolling animation can be customized. If you need to -customize another aspect of the scrolling animation, feel free to open -an `issue on Github `__ to request -the feature. +:cpp:func:`lv_style_set_anim`. +It will be treated as a template which will be used to create the scroll animatins. Symbols ------- diff --git a/docs/widgets/led.rst b/docs/widgets/led.rst index 0f9f5bf41..376ec1d52 100644 --- a/docs/widgets/led.rst +++ b/docs/widgets/led.rst @@ -39,16 +39,6 @@ the ON and OFF state. Events ****** -- :cpp:enumerator:`LV_EVENT_DRAW_PART_BEGIN` and :cpp:enumerator:`LV_EVENT_DRAW_PART_END` is sent - for the following types: - - - :cpp:enumerator:`LV_LED_DRAW_PART_RECTANGLE` The main rectangle. - :cpp:enumerator:`LV_OBJ_DRAW_PART_RECTANGLE` is not sent by the base object. - - - ``part``: :cpp:enumerator:`LV_PART_MAIN` - - ``rect_dsc`` - - ``draw_area``: the area of the rectangle - See the events of the `Base object `__ too. Learn more about :ref:`events`. diff --git a/docs/widgets/line.rst b/docs/widgets/line.rst index 58298f955..6fdd256f8 100644 --- a/docs/widgets/line.rst +++ b/docs/widgets/line.rst @@ -19,7 +19,7 @@ Usage Set points ---------- -The points have to be stored in an :cpp:struct:`lv_point_t` array and passed to +The points have to be stored in an :cpp:struct:`lv_point_precise_t` array and passed to the object by the :cpp:expr:`lv_line_set_points(lines, point_array, point_cnt)` function. diff --git a/docs/widgets/list.rst b/docs/widgets/list.rst index 50da3a2ad..7a4e5f620 100644 --- a/docs/widgets/list.rst +++ b/docs/widgets/list.rst @@ -15,7 +15,7 @@ Parts and Styles - :cpp:enumerator:`LV_PART_MAIN` The main part of the list that uses all the typical background properties - :cpp:enumerator:`LV_PART_SCROLLBAR` The scrollbar. See the `Base objects `__ documentation for details. -**Buttons and Texts** See the `Button `__\ 's and `Label `__\ 's documentation. +**Buttons and Texts** See the `Button `__\ 's and `Label `__\ 's documentation. Usage ***** @@ -23,7 +23,7 @@ Usage Buttons ------- -:cpp:expr:`lv_list_add_btn(list, icon, text)` adds a full-width button with an icon +:cpp:expr:`lv_list_add_button(list, icon, text)` adds a full-width button with an icon - that can be an image or symbol - and a text. diff --git a/docs/widgets/menu.rst b/docs/widgets/menu.rst index 7dd75d9e4..cf3582dfd 100644 --- a/docs/widgets/menu.rst +++ b/docs/widgets/menu.rst @@ -11,11 +11,11 @@ Parts and Styles **************** The menu widget is built from the following objects: - Main container: -lv_menu_main_cont - Main header: lv_menu_main_header_cont - Back btn: -`lv_btn `__ - Back btn icon: `lv_img `__ - +lv_menu_main_cont - Main header: lv_menu_main_header_cont - Back button: +`lv_button `__ - Back button icon: `lv_img `__ - Main page: lv_menu_page - Sidebar container: lv_menu_sidebar_cont - -Sidebar header: lv_menu_sidebar_header_cont - Back btn: -`lv_btn `__ - Back btn icon: `lv_img `__ - +Sidebar header: lv_menu_sidebar_header_cont - Back button: +`lv_button `__ - Back button icon: `lv_img `__ - Sidebar page: lv_menu_page Usage @@ -46,7 +46,7 @@ The following root back button modes exist: - :cpp:enumerator:`LV_MENU_ROOT_BACK_BTN_ENABLED` You can set root back button modes with -:cpp:expr:`lv_menu_set_mode_root_back_btn(menu, LV_MENU_ROOT_BACK_BTN...)`. +:cpp:expr:`lv_menu_set_mode_root_back_button(menu, LV_MENU_ROOT_BACK_BTN...)`. Create a menu page ------------------ @@ -70,8 +70,8 @@ Once a menu page has been created, you can set it to the sidebar with Linking between menu pages -------------------------- -For instance, you have created a btn obj in the main page. When you -click the btn obj, you want it to open up a new page, use +For instance, you have created a button obj in the main page. When you +click the button obj, you want it to open up a new page, use :cpp:expr:`lv_menu_set_load_page_event(menu, obj, new page)`. Create a menu container, section, separator @@ -94,12 +94,12 @@ Events - :cpp:expr:`lv_menu_get_cur_sidebar_page(menu)` returns a pointer to menu page that is currently displayed in sidebar. -- :cpp:enumerator:`LV_EVENT_CLICKED` Sent when a back btn in a header from either +- :cpp:enumerator:`LV_EVENT_CLICKED` Sent when a back button in a header from either main or sidebar is clicked. :cpp:enumerator:`LV_OBJ_FLAG_EVENT_BUBBLE` is enabled on the buttons so you can add events to the menu itself. - - :cpp:expr:`lv_menu_back_btn_is_root(menu, btn)` to check if btn is root - back btn + - :cpp:expr:`lv_menu_back_button_is_root(menu, button)` to check if button is root + back button See the events of the `Base object `__ too. diff --git a/docs/widgets/obj.rst b/docs/widgets/obj.rst index 9bc0bf10c..3dd946c72 100644 --- a/docs/widgets/obj.rst +++ b/docs/widgets/obj.rst @@ -154,7 +154,7 @@ Flags ----- There are some attributes which can be enabled/disabled by -``lv_obj_add/remove_flag(obj, LV_OBJ_FLAG_...)``: +``lv_obj_add/remove_flag(obj, LV_OBJ_FLAG_...)`` and ``lv_obj_set_flag(obj, LV_OBJ_FLAG_..., true/false)`` - :cpp:enumerator:`LV_OBJ_FLAG_HIDDEN` Make the object hidden. (Like it wasn't there at all) - :cpp:enumerator:`LV_OBJ_FLAG_CLICKABLE` Make the object clickable by input devices @@ -176,7 +176,9 @@ There are some attributes which can be enabled/disabled by - :cpp:enumerator:`LV_OBJ_FLAG_ADV_HITTEST` Allow performing more accurate hit (click) test. E.g. accounting for rounded corners - :cpp:enumerator:`LV_OBJ_FLAG_IGNORE_LAYOUT` Make the object positionable by the layouts - :cpp:enumerator:`LV_OBJ_FLAG_FLOATING` Do not scroll the object when the parent scrolls and ignore layout +- :cpp:enumerator:`LV_OBJ_FLAG_SEND_DRAW_TASK_EVENTS` Enable sending ``LV_EVENT_DRAW_TASK_ADDED`` events - :cpp:enumerator:`LV_OBJ_FLAG_OVERFLOW_VISIBLE` Do not clip the children's content to the parent's boundary +- :cpp:enumerator:`LV_OBJ_FLAG_FLEX_IN_NEW_TRACK` Start a new flex track on this item - :cpp:enumerator:`LV_OBJ_FLAG_LAYOUT_1` Custom flag, free to use by layouts - :cpp:enumerator:`LV_OBJ_FLAG_LAYOUT_2` Custom flag, free to use by layouts - :cpp:enumerator:`LV_OBJ_FLAG_WIDGET_1` Custom flag, free to use by widget @@ -224,27 +226,6 @@ Events - :cpp:enumerator:`LV_EVENT_VALUE_CHANGED` when the :cpp:enumerator:`LV_OBJ_FLAG_CHECKABLE` flag is enabled and the object clicked (on transition to/from the checked state) -- :cpp:enumerator:`LV_EVENT_DRAW_PART_BEGIN` and :cpp:enumerator:`LV_EVENT_DRAW_PART_END` is sent - for the following types: - - - :cpp:enumerator:`LV_OBJ_DRAW_PART_RECTANGLE` The main rectangle - - - ``part``: :cpp:enumerator:`LV_PART_MAIN` - - ``rect_dsc`` - - ``draw_area``: the area of the rectangle - - - :cpp:enumerator:`LV_OBJ_DRAW_PART_BORDER_POST` The border if the ``border_post`` - style property is ``true`` - - - ``part``: :cpp:enumerator:`LV_PART_MAIN` - - ``rect_dsc`` - - ``draw_area``: the area of the rectangle - - - :cpp:enumerator:`LV_OBJ_DRAW_PART_SCROLLBAR` the scrollbars - - - ``part``: :cpp:enumerator:`LV_PART_SCROLLBAR` - - ``rect_dsc`` - - ``draw_area``: the area of the rectangle Learn more about :ref:`events`. diff --git a/docs/widgets/slider.rst b/docs/widgets/slider.rst index e1709f9e2..6186b5f26 100644 --- a/docs/widgets/slider.rst +++ b/docs/widgets/slider.rst @@ -72,22 +72,6 @@ Events changed with keys. The event is sent continuously while the slider is being dragged. - :cpp:enumerator:`LV_EVENT_RELEASED` Sent when the slider has just been released. -- :cpp:enumerator:`LV_EVENT_DRAW_PART_BEGIN` and :cpp:enumerator:`LV_EVENT_DRAW_PART_END` are sent - for the following parts. - - - :cpp:enumerator:`LV_SLIDER_DRAW_PART_KNOB` The main (right) knob of the slider - - - ``part``: :cpp:enumerator:`LV_PART_KNOB` - - ``draw_area``: area of the indicator - - ``rect_dsc`` - - ``id``: 0 - - - :cpp:enumerator:`LV_SLIDER_DRAW_PART_KNOB` The left knob of the slider - - - ``part``: :cpp:enumerator:`LV_PART_KNOB` - - ``draw_area``: area of the indicator - - ``rect_dsc`` - - ``id``: 1 See the events of the `Bar `__ too. diff --git a/docs/widgets/span.rst b/docs/widgets/span.rst index 6f15fd1f3..30f2de064 100644 --- a/docs/widgets/span.rst +++ b/docs/widgets/span.rst @@ -88,7 +88,7 @@ The spangroup can be set to one the following modes: Use :cpp:expr:`lv_spangroup_set_overflow(spangroup, LV_SPAN_OVERFLOW_CLIP)` to set object overflow mode. -first line indent +First line indent ----------------- Use :cpp:expr:`lv_spangroup_set_indent(spangroup, 20)` to set the indent of the @@ -96,7 +96,7 @@ first line. all modes support pixel units, in addition to :cpp:enumerator:`LV_SP and :cpp:enumerator:`LV_SPAN_MODE_BREAK` mode supports percentage units too. -lines +Lines ----- Use :cpp:expr:`lv_spangroup_set_max_lines(spangroup, 10)` to set the maximum number diff --git a/docs/widgets/spinner.rst b/docs/widgets/spinner.rst index 5d6f27ccb..ef0bfed35 100644 --- a/docs/widgets/spinner.rst +++ b/docs/widgets/spinner.rst @@ -18,8 +18,10 @@ Create a spinner ---------------- To create a spinner use -:cpp:expr:`lv_spinner_create(parent, spin_time, arc_length)`. ``spin time`` sets -the spin time in milliseconds, ``arc_length`` sets the length of the spinning arc in degrees. +:cpp:expr:`lv_spinner_create(parent)`. + +Using :cpp:expr:`lv_spinner_set_anim_params(spinner, spin_duration, angle)` the duration +of one revulation and the length of he arc can be customized. Events ****** diff --git a/docs/widgets/table.rst b/docs/widgets/table.rst index 0990d2859..b82362456 100644 --- a/docs/widgets/table.rst +++ b/docs/widgets/table.rst @@ -79,16 +79,6 @@ Events - :cpp:enumerator:`LV_EVENT_VALUE_CHANGED` Sent when a new cell is selected with keys. -- :cpp:enumerator:`LV_EVENT_DRAW_PART_BEGIN` and :cpp:enumerator:`LV_EVENT_DRAW_PART_END` are sent - for the following types: - - - :cpp:enumerator:`LV_TABLE_DRAW_PART_CELL` The individual cells of the table - - - ``part``: :cpp:enumerator:`LV_PART_ITEMS` - - ``draw_area``: area of the indicator - - ``rect_dsc`` - - ``label_dsc`` - - ``id``: current row × col count + current column See the events of the `Base object `__ too. diff --git a/docs/widgets/tabview.rst b/docs/widgets/tabview.rst index b54ed1f64..2e4f275ac 100644 --- a/docs/widgets/tabview.rst +++ b/docs/widgets/tabview.rst @@ -8,7 +8,7 @@ The Tab view object can be used to organize content in tabs. The Tab view is built from other widgets: - Main container: `lv_obj `__ -- Tab buttons: `lv_btnmatrix `__ +- Tab buttons: an `lv_obj `__` with `lv_button `__ s - Container for the tabs: `lv_obj `__ - Content of the tabs: `lv_obj `__ @@ -22,7 +22,7 @@ Parts and Styles **************** There are no special parts on the Tab view but the ``lv_obj`` and -``lv_btnmatrix`` widgets are used to create the Tab view. +``lv_button`` widgets are used to create the Tab view. Usage ***** @@ -30,12 +30,8 @@ Usage Create a Tab view ----------------- -:cpp:expr:`lv_tabview_create(parent, tab_pos, tab_size)` creates a new empty -Tab view. ``tab_pos`` can be ``LV_DIR_TOP/BOTTOM/LEFT/RIGHT`` to -position the tab buttons to a side. ``tab_size`` is the height (in case -of ``LV_DIR_TOP/BOTTOM``) or width (in case of ``LV_DIR_LEFT/RIGHT``) -tab buttons. - +:cpp:expr:`lv_tabview_create(parent)` creates a new empty +Tab view. Add tabs -------- @@ -58,12 +54,26 @@ To select a new tab you can: - Slide horizontally - Use :cpp:expr:`lv_tabview_set_active(tabview, id, LV_ANIM_ON)` function + +Set tab bar position +-------------------- + +Using the :cpp:expr:`lv_tabview_set_tab_bar_position(tabview, LV_DIR_LEFT/RIGHT/TOP/BOTTOM)` +the tab bar can be moved to any sides. + +Set tab bra size +---------------- + +The size of the tab bar can be adjusted by :spp:expr:`lv_tabview_set_tab_bar_size(tabview, size)` +In case of vertical arrangement is means the height of the tab bar, and in horizontal +arrangement it means the width. + Get the parts ------------- :cpp:expr:`lv_tabview_get_content(tabview)` returns the container for the tabs, -:cpp:expr:`lv_tabview_get_tab_btns(tabview)` returns the Tab buttons object -which is a `Button matrix `__. +:cpp:expr:`lv_tabview_get_tab_buttons(tabview)` returns the Tab buttons object +which is a `Button matrix `__. Events ****** diff --git a/docs/widgets/tileview.rst b/docs/widgets/tileview.rst index 322b7cb90..f85945290 100644 --- a/docs/widgets/tileview.rst +++ b/docs/widgets/tileview.rst @@ -38,8 +38,8 @@ Change tile ----------- The Tile view can scroll to a tile with -:cpp:expr:`lv_obj_set_tile(tileview, tile_obj, LV_ANIM_ON/OFF)` or -:cpp:expr:`lv_obj_set_tile_id(tileview, col_id, row_id, LV_ANIM_ON/OFF)` +:cpp:expr:`lv_tileview_set_tile(tileview, tile_obj, LV_ANIM_ON/OFF)` or +:cpp:expr:`lv_tileview_set_tile_by_index(tileview, col_id, row_id, LV_ANIM_ON/OFF)` Events ****** diff --git a/docs/widgets/win.rst b/docs/widgets/win.rst index 71fb4bb57..f80fc27ce 100644 --- a/docs/widgets/win.rst +++ b/docs/widgets/win.rst @@ -16,7 +16,7 @@ documentation for details: - Background: `lv_obj `__ - Header on the background: `lv_obj `__ - Title on the header: `lv_label `__ -- Buttons on the header: `lv_btn `__ +- Buttons on the header: `lv_button `__ - Content area on the background: `lv_obj `__ Usage @@ -35,8 +35,8 @@ Any number of texts (but typically only one) can be added to the header with :cpp:expr:`lv_win_add_title(win, "The title")`. Control buttons can be added to the window's header with -:cpp:expr:`lv_win_add_btn(win, icon, btn_width)`. ``icon`` can be any image -source, and ``btn_width`` is the width of the button. +:cpp:expr:`lv_win_add_button(win, icon, button_width)`. ``icon`` can be any image +source, and ``button_width`` is the width of the button. The title and the buttons will be added in the order the functions are called. So adding a button, a text and two other buttons will result in @@ -56,7 +56,7 @@ Events ****** No special events are sent by the windows, however events can be added -manually to the return value of :cpp:func:`lv_win_add_btn`. +manually to the return value of :cpp:func:`lv_win_add_button`. Learn more about :ref:`events`. diff --git a/examples/widgets/btn/index.rst b/examples/widgets/btn/index.rst deleted file mode 100644 index 09ae4fafd..000000000 --- a/examples/widgets/btn/index.rst +++ /dev/null @@ -1,20 +0,0 @@ - -Simple Buttons --------------- - -.. lv_example:: widgets/btn/lv_example_btn_1 - :language: c - - -Styling buttons ---------------- - -.. lv_example:: widgets/btn/lv_example_btn_2 - :language: c - -Gummy button ------------- - -.. lv_example:: widgets/btn/lv_example_btn_3 - :language: c - diff --git a/examples/widgets/btnmatrix/index.rst b/examples/widgets/btnmatrix/index.rst deleted file mode 100644 index c8f72a9da..000000000 --- a/examples/widgets/btnmatrix/index.rst +++ /dev/null @@ -1,22 +0,0 @@ - -Simple Button matrix --------------------- - -.. lv_example:: widgets/btnmatrix/lv_example_btnmatrix_1 - :language: c - - -Custom buttons --------------- - -.. lv_example:: widgets/btnmatrix/lv_example_btnmatrix_2 - :language: c - - -Pagination ----------- - -.. lv_example:: widgets/btnmatrix/lv_example_btnmatrix_3 - :language: c - - diff --git a/examples/widgets/button/index.rst b/examples/widgets/button/index.rst new file mode 100644 index 000000000..c8b9cda4b --- /dev/null +++ b/examples/widgets/button/index.rst @@ -0,0 +1,20 @@ + +Simple Buttons +-------------- + +.. lv_example:: widgets/button/lv_example_button_1 + :language: c + + +Styling buttons +--------------- + +.. lv_example:: widgets/button/lv_example_button_2 + :language: c + +Gummy button +------------ + +.. lv_example:: widgets/button/lv_example_button_3 + :language: c + diff --git a/examples/widgets/btn/lv_example_btn_1.c b/examples/widgets/button/lv_example_button_1.c similarity index 100% rename from examples/widgets/btn/lv_example_btn_1.c rename to examples/widgets/button/lv_example_button_1.c diff --git a/examples/widgets/btn/lv_example_btn_1.py b/examples/widgets/button/lv_example_button_1.py similarity index 100% rename from examples/widgets/btn/lv_example_btn_1.py rename to examples/widgets/button/lv_example_button_1.py diff --git a/examples/widgets/btn/lv_example_btn_2.c b/examples/widgets/button/lv_example_button_2.c similarity index 100% rename from examples/widgets/btn/lv_example_btn_2.c rename to examples/widgets/button/lv_example_button_2.c diff --git a/examples/widgets/btn/lv_example_btn_2.py b/examples/widgets/button/lv_example_button_2.py similarity index 100% rename from examples/widgets/btn/lv_example_btn_2.py rename to examples/widgets/button/lv_example_button_2.py diff --git a/examples/widgets/btn/lv_example_btn_3.c b/examples/widgets/button/lv_example_button_3.c similarity index 100% rename from examples/widgets/btn/lv_example_btn_3.c rename to examples/widgets/button/lv_example_button_3.c diff --git a/examples/widgets/btn/lv_example_btn_3.py b/examples/widgets/button/lv_example_button_3.py similarity index 100% rename from examples/widgets/btn/lv_example_btn_3.py rename to examples/widgets/button/lv_example_button_3.py diff --git a/examples/widgets/buttonmatrix/index.rst b/examples/widgets/buttonmatrix/index.rst new file mode 100644 index 000000000..06a8f7528 --- /dev/null +++ b/examples/widgets/buttonmatrix/index.rst @@ -0,0 +1,22 @@ + +Simple Button matrix +-------------------- + +.. lv_example:: widgets/buttonmatrix/lv_example_buttonmatrix_1 + :language: c + + +Custom buttons +-------------- + +.. lv_example:: widgets/buttonmatrix/lv_example_buttonmatrix_2 + :language: c + + +Pagination +---------- + +.. lv_example:: widgets/buttonmatrix/lv_example_buttonmatrix_3 + :language: c + + diff --git a/examples/widgets/btnmatrix/lv_example_btnmatrix_1.c b/examples/widgets/buttonmatrix/lv_example_buttonmatrix_1.c similarity index 100% rename from examples/widgets/btnmatrix/lv_example_btnmatrix_1.c rename to examples/widgets/buttonmatrix/lv_example_buttonmatrix_1.c diff --git a/examples/widgets/btnmatrix/lv_example_btnmatrix_1.py b/examples/widgets/buttonmatrix/lv_example_buttonmatrix_1.py similarity index 100% rename from examples/widgets/btnmatrix/lv_example_btnmatrix_1.py rename to examples/widgets/buttonmatrix/lv_example_buttonmatrix_1.py diff --git a/examples/widgets/btnmatrix/lv_example_btnmatrix_2.c b/examples/widgets/buttonmatrix/lv_example_buttonmatrix_2.c similarity index 100% rename from examples/widgets/btnmatrix/lv_example_btnmatrix_2.c rename to examples/widgets/buttonmatrix/lv_example_buttonmatrix_2.c diff --git a/examples/widgets/btnmatrix/lv_example_btnmatrix_2.py b/examples/widgets/buttonmatrix/lv_example_buttonmatrix_2.py similarity index 100% rename from examples/widgets/btnmatrix/lv_example_btnmatrix_2.py rename to examples/widgets/buttonmatrix/lv_example_buttonmatrix_2.py diff --git a/examples/widgets/btnmatrix/lv_example_btnmatrix_3.c b/examples/widgets/buttonmatrix/lv_example_buttonmatrix_3.c similarity index 100% rename from examples/widgets/btnmatrix/lv_example_btnmatrix_3.c rename to examples/widgets/buttonmatrix/lv_example_buttonmatrix_3.c diff --git a/examples/widgets/btnmatrix/lv_example_btnmatrix_3.py b/examples/widgets/buttonmatrix/lv_example_buttonmatrix_3.py similarity index 100% rename from examples/widgets/btnmatrix/lv_example_btnmatrix_3.py rename to examples/widgets/buttonmatrix/lv_example_buttonmatrix_3.py diff --git a/examples/widgets/img/index.rst b/examples/widgets/image/index.rst similarity index 56% rename from examples/widgets/img/index.rst rename to examples/widgets/image/index.rst index 8395f9fa5..0b9694968 100644 --- a/examples/widgets/img/index.rst +++ b/examples/widgets/image/index.rst @@ -2,27 +2,27 @@ Image from variable and symbol ------------------------------ -.. lv_example:: widgets/img/lv_example_img_1 +.. lv_example:: widgets/image/lv_example_image_1 :language: c Image recoloring ---------------- -.. lv_example:: widgets/img/lv_example_img_2 +.. lv_example:: widgets/image/lv_example_image_2 :language: c Rotate and zoom --------------- -.. lv_example:: widgets/img/lv_example_img_3 +.. lv_example:: widgets/image/lv_example_image_3 :language: c Image offset and styling ------------------------ -.. lv_example:: widgets/img/lv_example_img_4 +.. lv_example:: widgets/image/lv_example_image_4 :language: c diff --git a/examples/widgets/img/lv_example_img_1.c b/examples/widgets/image/lv_example_image_1.c similarity index 100% rename from examples/widgets/img/lv_example_img_1.c rename to examples/widgets/image/lv_example_image_1.c diff --git a/examples/widgets/img/lv_example_img_1.py b/examples/widgets/image/lv_example_image_1.py similarity index 100% rename from examples/widgets/img/lv_example_img_1.py rename to examples/widgets/image/lv_example_image_1.py diff --git a/examples/widgets/img/lv_example_img_2.c b/examples/widgets/image/lv_example_image_2.c similarity index 100% rename from examples/widgets/img/lv_example_img_2.c rename to examples/widgets/image/lv_example_image_2.c diff --git a/examples/widgets/img/lv_example_img_2.py b/examples/widgets/image/lv_example_image_2.py similarity index 100% rename from examples/widgets/img/lv_example_img_2.py rename to examples/widgets/image/lv_example_image_2.py diff --git a/examples/widgets/img/lv_example_img_3.c b/examples/widgets/image/lv_example_image_3.c similarity index 100% rename from examples/widgets/img/lv_example_img_3.c rename to examples/widgets/image/lv_example_image_3.c diff --git a/examples/widgets/img/lv_example_img_3.py b/examples/widgets/image/lv_example_image_3.py similarity index 100% rename from examples/widgets/img/lv_example_img_3.py rename to examples/widgets/image/lv_example_image_3.py diff --git a/examples/widgets/img/lv_example_img_4.c b/examples/widgets/image/lv_example_image_4.c similarity index 100% rename from examples/widgets/img/lv_example_img_4.c rename to examples/widgets/image/lv_example_image_4.c diff --git a/examples/widgets/img/lv_example_img_4.py b/examples/widgets/image/lv_example_image_4.py similarity index 100% rename from examples/widgets/img/lv_example_img_4.py rename to examples/widgets/image/lv_example_image_4.py diff --git a/examples/widgets/tabview/lv_example_tabview_2.c b/examples/widgets/tabview/lv_example_tabview_2.c index 7585b3f31..5e9dfe095 100644 --- a/examples/widgets/tabview/lv_example_tabview_2.c +++ b/examples/widgets/tabview/lv_example_tabview_2.c @@ -7,7 +7,7 @@ void lv_example_tabview_2(void) /*Create a Tab view object*/ lv_obj_t * tabview; tabview = lv_tabview_create(lv_screen_active()); - lv_tabview_set_tab_position(tabview, LV_DIR_LEFT); + lv_tabview_set_tab_bar_position(tabview, LV_DIR_LEFT); lv_tabview_set_tab_bar_size(tabview, 80); lv_obj_set_style_bg_color(tabview, lv_palette_lighten(LV_PALETTE_RED, 2), 0); diff --git a/src/lv_api_map.h b/src/lv_api_map.h index 2f99842fb..5fb4b2e3b 100644 --- a/src/lv_api_map.h +++ b/src/lv_api_map.h @@ -211,6 +211,8 @@ static inline void lv_obj_move_background(lv_obj_t * obj) #define lv_tabview_set_act lv_tabview_set_active #define lv_tileview_get_tile_act lv_tileview_get_tile_active +#define lv_obj_set_tile_id lv_obj_set_tile_by_index +#define lv_obj_set_tile lv_obj_set_tile #define lv_msgbox_get_btns lv_msgbox_get_buttons diff --git a/src/widgets/tabview/lv_tabview.c b/src/widgets/tabview/lv_tabview.c index c0aea5066..c7eb5ce2e 100644 --- a/src/widgets/tabview/lv_tabview.c +++ b/src/widgets/tabview/lv_tabview.c @@ -149,7 +149,7 @@ void lv_tabview_set_active(lv_obj_t * obj, uint32_t idx, lv_anim_enable_t anim_e tabview->tab_cur = idx; } -void lv_tabview_set_tab_position(lv_obj_t * obj, lv_dir_t dir) +void lv_tabview_set_tab_bar_position(lv_obj_t * obj, lv_dir_t dir) { LV_ASSERT_OBJ(obj, MY_CLASS); lv_tabview_t * tabview = (lv_tabview_t *)obj; @@ -267,7 +267,7 @@ static void lv_tabview_constructor(const lv_obj_class_t * class_p, lv_obj_t * ob lv_obj_add_event_cb(cont, cont_scroll_end_event_cb, LV_EVENT_ALL, NULL); lv_obj_set_scrollbar_mode(cont, LV_SCROLLBAR_MODE_OFF); - lv_tabview_set_tab_position(obj, LV_DIR_TOP); + lv_tabview_set_tab_bar_position(obj, LV_DIR_TOP); lv_obj_add_flag(cont, LV_OBJ_FLAG_SCROLL_ONE); lv_obj_remove_flag(cont, LV_OBJ_FLAG_SCROLL_ON_FOCUS); diff --git a/src/widgets/tabview/lv_tabview.h b/src/widgets/tabview/lv_tabview.h index b04d441a2..6f9efdc82 100644 --- a/src/widgets/tabview/lv_tabview.h +++ b/src/widgets/tabview/lv_tabview.h @@ -45,7 +45,7 @@ void lv_tabview_rename_tab(lv_obj_t * obj, uint32_t tab_id, const char * new_nam void lv_tabview_set_active(lv_obj_t * obj, uint32_t id, lv_anim_enable_t anim_en); -void lv_tabview_set_tab_position(lv_obj_t * obj, lv_dir_t dir); +void lv_tabview_set_tab_bar_position(lv_obj_t * obj, lv_dir_t dir); void lv_tabview_set_tab_bar_size(lv_obj_t * obj, int32_t size); diff --git a/src/widgets/tileview/lv_tileview.c b/src/widgets/tileview/lv_tileview.c index b937f417c..7d8672430 100644 --- a/src/widgets/tileview/lv_tileview.c +++ b/src/widgets/tileview/lv_tileview.c @@ -82,7 +82,7 @@ lv_obj_t * lv_tileview_add_tile(lv_obj_t * tv, uint8_t col_id, uint8_t row_id, l return obj; } -void lv_obj_set_tile(lv_obj_t * obj, lv_obj_t * tile_obj, lv_anim_enable_t anim_en) +void lv_tileview_set_tile(lv_obj_t * obj, lv_obj_t * tile_obj, lv_anim_enable_t anim_en) { int32_t tx = lv_obj_get_x(tile_obj); int32_t ty = lv_obj_get_y(tile_obj); @@ -95,7 +95,7 @@ void lv_obj_set_tile(lv_obj_t * obj, lv_obj_t * tile_obj, lv_anim_enable_t anim_ lv_obj_scroll_to(obj, tx, ty, anim_en); } -void lv_obj_set_tile_id(lv_obj_t * tv, uint32_t col_id, uint32_t row_id, lv_anim_enable_t anim_en) +void lv_tileview_set_tile_by_index(lv_obj_t * tv, uint32_t col_id, uint32_t row_id, lv_anim_enable_t anim_en) { lv_obj_update_layout(tv); @@ -111,7 +111,7 @@ void lv_obj_set_tile_id(lv_obj_t * tv, uint32_t col_id, uint32_t row_id, lv_anim int32_t x = lv_obj_get_x(tile_obj); int32_t y = lv_obj_get_y(tile_obj); if(x == tx && y == ty) { - lv_obj_set_tile(tv, tile_obj, anim_en); + lv_tileview_set_tile(tv, tile_obj, anim_en); return; } } diff --git a/src/widgets/tileview/lv_tileview.h b/src/widgets/tileview/lv_tileview.h index 783e02565..6413a1b15 100644 --- a/src/widgets/tileview/lv_tileview.h +++ b/src/widgets/tileview/lv_tileview.h @@ -50,8 +50,8 @@ lv_obj_t * lv_tileview_create(lv_obj_t * parent); lv_obj_t * lv_tileview_add_tile(lv_obj_t * tv, uint8_t col_id, uint8_t row_id, lv_dir_t dir); -void lv_obj_set_tile(lv_obj_t * tv, lv_obj_t * tile_obj, lv_anim_enable_t anim_en); -void lv_obj_set_tile_id(lv_obj_t * tv, uint32_t col_id, uint32_t row_id, lv_anim_enable_t anim_en); +void lv_tileview_set_tile(lv_obj_t * tv, lv_obj_t * tile_obj, lv_anim_enable_t anim_en); +void lv_tileview_set_tile_by_index(lv_obj_t * tv, uint32_t col_id, uint32_t row_id, lv_anim_enable_t anim_en); lv_obj_t * lv_tileview_get_tile_active(lv_obj_t * obj); diff --git a/tests/src/test_cases/widgets/test_tabview.c b/tests/src/test_cases/widgets/test_tabview.c index 1131a626c..54d36ec29 100644 --- a/tests/src/test_cases/widgets/test_tabview.c +++ b/tests/src/test_cases/widgets/test_tabview.c @@ -49,7 +49,7 @@ void test_tabview_create_successful_dir_top(void) void test_tabview_create_successful_dir_bottom(void) { tabview = lv_tabview_create(active_screen); - lv_tabview_set_tab_position(tabview, LV_DIR_BOTTOM); + lv_tabview_set_tab_bar_position(tabview, LV_DIR_BOTTOM); lv_tabview_set_tab_bar_size(tabview, 50); TEST_ASSERT_NOT_NULL(tabview); @@ -60,7 +60,7 @@ void test_tabview_create_successful_dir_bottom(void) void test_tabview_create_successful_dir_left(void) { tabview = lv_tabview_create(active_screen); - lv_tabview_set_tab_position(tabview, LV_DIR_LEFT); + lv_tabview_set_tab_bar_position(tabview, LV_DIR_LEFT); lv_tabview_set_tab_bar_size(tabview, 50); TEST_ASSERT_NOT_NULL(tabview); @@ -71,7 +71,7 @@ void test_tabview_create_successful_dir_left(void) void test_tabview_create_successful_dir_right(void) { tabview = lv_tabview_create(active_screen); - lv_tabview_set_tab_position(tabview, LV_DIR_RIGHT); + lv_tabview_set_tab_bar_position(tabview, LV_DIR_RIGHT); lv_tabview_set_tab_bar_size(tabview, 50); TEST_ASSERT_NOT_NULL(tabview); @@ -82,7 +82,7 @@ void test_tabview_create_successful_dir_right(void) void test_tabview_add_one_tab_empty(void) { tabview = lv_tabview_create(active_screen); - lv_tabview_set_tab_position(tabview, LV_DIR_TOP); + lv_tabview_set_tab_bar_position(tabview, LV_DIR_TOP); lv_tabview_set_tab_bar_size(tabview, 50); lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "Tab 1"); @@ -93,7 +93,7 @@ void test_tabview_add_one_tab_empty(void) void test_tabview_add_one_tab_empty_hor(void) { tabview = lv_tabview_create(active_screen); - lv_tabview_set_tab_position(tabview, LV_DIR_LEFT); + lv_tabview_set_tab_bar_position(tabview, LV_DIR_LEFT); lv_tabview_set_tab_bar_size(tabview, 50); lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "Tab 1"); @@ -104,7 +104,7 @@ void test_tabview_add_one_tab_empty_hor(void) void test_tabview_add_one_tab_no_scroll(void) { tabview = lv_tabview_create(active_screen); - lv_tabview_set_tab_position(tabview, LV_DIR_TOP); + lv_tabview_set_tab_bar_position(tabview, LV_DIR_TOP); lv_tabview_set_tab_bar_size(tabview, 50); lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "Tab 1"); @@ -119,7 +119,7 @@ void test_tabview_add_one_tab_no_scroll(void) void test_tabview_add_one_tab_with_scroll(void) { tabview = lv_tabview_create(active_screen); - lv_tabview_set_tab_position(tabview, LV_DIR_TOP); + lv_tabview_set_tab_bar_position(tabview, LV_DIR_TOP); lv_tabview_set_tab_bar_size(tabview, 50); lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "Tab 1"); @@ -147,7 +147,7 @@ void test_tabview_add_one_tab_with_scroll(void) void test_tabview_add_several_tabs_no_scroll(void) { tabview = lv_tabview_create(active_screen); - lv_tabview_set_tab_position(tabview, LV_DIR_TOP); + lv_tabview_set_tab_bar_position(tabview, LV_DIR_TOP); lv_tabview_set_tab_bar_size(tabview, 50); lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "Tab 1"); @@ -167,7 +167,7 @@ void test_tabview_add_several_tabs_no_scroll(void) void test_tabview_rename_tab(void) { tabview = lv_tabview_create(active_screen); - lv_tabview_set_tab_position(tabview, LV_DIR_TOP); + lv_tabview_set_tab_bar_position(tabview, LV_DIR_TOP); lv_tabview_set_tab_bar_size(tabview, 50); lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "Tab 1"); @@ -188,7 +188,7 @@ void test_tabview_rename_tab(void) void test_tabview_add_several_tabs_hor(void) { tabview = lv_tabview_create(active_screen); - lv_tabview_set_tab_position(tabview, LV_DIR_TOP); + lv_tabview_set_tab_bar_position(tabview, LV_DIR_TOP); lv_tabview_set_tab_bar_size(tabview, 50); lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "Tab 1"); @@ -235,7 +235,7 @@ void test_tabview_set_act_non_existent(void) void test_tabview_tab2_selected_event(void) { tabview = lv_tabview_create(active_screen); - lv_tabview_set_tab_position(tabview, LV_DIR_TOP); + lv_tabview_set_tab_bar_position(tabview, LV_DIR_TOP); lv_tabview_set_tab_bar_size(tabview, 50); lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "Tab 1"); @@ -253,7 +253,7 @@ void test_tabview_tab2_selected_event(void) void test_tabview_update_on_external_scroll(void) { tabview = lv_tabview_create(active_screen); - lv_tabview_set_tab_position(tabview, LV_DIR_TOP); + lv_tabview_set_tab_bar_position(tabview, LV_DIR_TOP); lv_tabview_set_tab_bar_size(tabview, 50); lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "Tab 1");