中文
-
+
在 `lv_conf.h` 中打开 `LV_USE_IME_PINYIN`。
-
+
首先,使用 `lv_ime_pinyin_create(lv_scr_act())` 函数创建一个拼音输入法插件,
然后使用 `lv_ime_pinyin_set_keyboard(pinyin_ime, kb)` 函数将您创建的键盘组件添加到插件中。
@@ -56,7 +56,7 @@ Then, write a dictionary in the following format.
中文
-
+
如果您不想使用内置的词库,可以通过下面的方法自定义词库。
自定义词典非常简单。
diff --git a/docs/overview/display.md b/docs/overview/display.md
index 1e093fc2f..d8b399cd4 100644
--- a/docs/overview/display.md
+++ b/docs/overview/display.md
@@ -47,7 +47,7 @@ Be sure not to confuse displays and screens:
Screens can be considered the highest level containers which have no parent.
A screen's size is always equal to its display and their origin is (0;0). Therefore, a screen's coordinates can't be changed, i.e. `lv_obj_set_pos()`, `lv_obj_set_size()` or similar functions can't be used on screens.
-A screen can be created from any object type but the two most typical types are [Base object](/widgets/obj) and [Image](/widgets/core/img) (to create a wallpaper).
+A screen can be created from any object type but the two most typical types are [Base object](/widgets/obj) and [Image](/widgets/img) (to create a wallpaper).
To create a screen, use `lv_obj_t * scr = lv__create(NULL, copy)`. `copy` can be an existing screen copied into the new screen.
diff --git a/docs/overview/drawing.md b/docs/overview/drawing.md
index dd935e2ad..1fbb9fb65 100644
--- a/docs/overview/drawing.md
+++ b/docs/overview/drawing.md
@@ -101,7 +101,7 @@ Although widgets can be easily customized by styles there might be cases when so
To ensure a great level of flexibility LVGL sends a lot of events during drawing with parameters that tell what LVGL is about to draw.
Some fields of these parameters can be modified to draw something else or any custom drawing operations can be added manually.
-A good use case for this is the [Button matrix](/widgets/core/btnmatrix) widget. By default, its buttons can be styled in different states, but you can't style the buttons one by one.
+A good use case for this is the [Button matrix](/widgets/btnmatrix) widget. By default, its buttons can be styled in different states, but you can't style the buttons one by one.
However, an event is sent for every button and you can, for example, tell LVGL to use different colors on a specific button or to manually draw an image on some buttons.
Each of these events is described in detail below.
diff --git a/docs/overview/file-system.md b/docs/overview/file-system.md
index 34d38987e..935411f5f 100644
--- a/docs/overview/file-system.md
+++ b/docs/overview/file-system.md
@@ -110,7 +110,7 @@ lv_fs_dir_close(&dir);
## Use drives for images
-[Image](/widgets/core/img) objects can be opened from files too (besides variables stored in the compiled program).
+[Image](/widgets/img) objects can be opened from files too (besides variables stored in the compiled program).
To use files in image widgets the following callbacks are required:
- open
diff --git a/docs/overview/image.md b/docs/overview/image.md
index 32d2641c6..0c1a4408e 100644
--- a/docs/overview/image.md
+++ b/docs/overview/image.md
@@ -104,11 +104,11 @@ static lv_img_dsc_t my_img_dsc = {
If the color format is `LV_IMG_CF_TRUE_COLOR_ALPHA` you can set `data_size` like `80 * 60 * LV_IMG_PX_SIZE_ALPHA_BYTE`.
-Another (possibly simpler) option to create and display an image at run-time is to use the [Canvas](/widgets/core/canvas) object.
+Another (possibly simpler) option to create and display an image at run-time is to use the [Canvas](/widgets/canvas) object.
### Use images
-The simplest way to use an image in LVGL is to display it with an [lv_img](/widgets/core/img) object:
+The simplest way to use an image in LVGL is to display it with an [lv_img](/widgets/img) object:
```c
lv_obj_t * icon = lv_img_create(lv_scr_act(), NULL);
diff --git a/docs/overview/indev.md b/docs/overview/indev.md
index 87428ac06..68110641d 100644
--- a/docs/overview/indev.md
+++ b/docs/overview/indev.md
@@ -62,7 +62,7 @@ To prevent passing the gesture event to the parent from an object use `lv_obj_cl
Note that, gestures are not triggered if an object is being scrolled.
-If you did some action on a gesture you can call `lv_indev_wait_release(lv_indev_get_act())` in the event handler to prevent LVGL sending further input device related events.
+If you did some action on a gesture you can call `lv_indev_wait_release(lv_indev_get_act())` in the event handler to prevent LVGL sending further input device related events.
## Keypad and encoder
@@ -72,8 +72,8 @@ You can fully control the user interface without a touchpad or mouse by using a
Objects you want to control with a keypad or encoder need to be added to a *Group*.
In every group there is exactly one focused object which receives the pressed keys or the encoder actions.
-For example, if a [Text area](/widgets/core/textarea) is focused and you press some letter on a keyboard, the keys will be sent and inserted into the text area.
-Similarly, if a [Slider](/widgets/core/slider) is focused and you press the left or right arrows, the slider's value will be changed.
+For example, if a [Text area](/widgets/textarea) is focused and you press some letter on a keyboard, the keys will be sent and inserted into the text area.
+Similarly, if a [Slider](/widgets/slider) is focused and you press the left or right arrows, the slider's value will be changed.
You need to associate an input device with a group. An input device can send key events to only one group but a group can receive data from more than one input device.
@@ -90,11 +90,11 @@ There are some predefined keys which have special meaning:
- **LV_KEY_DOWN** Decrease value or move downwards
- **LV_KEY_RIGHT** Increase value or move to the right
- **LV_KEY_LEFT** Decrease value or move to the left
-- **LV_KEY_ESC** Close or exit (E.g. close a [Drop down list](/widgets/core/dropdown))
-- **LV_KEY_DEL** Delete (E.g. a character on the right in a [Text area](/widgets/core/textarea))
-- **LV_KEY_BACKSPACE** Delete a character on the left (E.g. in a [Text area](/widgets/core/textarea))
-- **LV_KEY_HOME** Go to the beginning/top (E.g. in a [Text area](/widgets/core/textarea))
-- **LV_KEY_END** Go to the end (E.g. in a [Text area](/widgets/core/textarea))
+- **LV_KEY_ESC** Close or exit (E.g. close a [Drop down list](/widgets/dropdown))
+- **LV_KEY_DEL** Delete (E.g. a character on the right in a [Text area](/widgets/textarea))
+- **LV_KEY_BACKSPACE** Delete a character on the left (E.g. in a [Text area](/widgets/textarea))
+- **LV_KEY_HOME** Go to the beginning/top (E.g. in a [Text area](/widgets/textarea))
+- **LV_KEY_END** Go to the end (E.g. in a [Text area](/widgets/textarea))
The most important special keys are `LV_KEY_NEXT/PREV`, `LV_KEY_ENTER` and `LV_KEY_UP/DOWN/LEFT/RIGHT`.
In your `read_cb` function, you should translate some of your keys to these special keys to support navigation in a group and interact with selected objects.
@@ -112,7 +112,7 @@ Pressing `LV_KEY_ENTER` will change to *Edit* mode.
In *Edit* mode, `LV_KEY_NEXT/PREV` is usually used to modify an object.
Depending on the object's type, a short or long press of `LV_KEY_ENTER` changes back to *Navigate* mode.
-Usually, an object which cannot be pressed (like a [Slider](/widgets/core/slider)) leaves *Edit* mode upon a short click. But with objects where a short click has meaning (e.g. [Button](/widgets/core/btn)), a long press is required.
+Usually, an object which cannot be pressed (like a [Slider](/widgets/slider)) leaves *Edit* mode upon a short click. But with objects where a short click has meaning (e.g. [Button](/widgets/btn)), a long press is required.
#### Default group
Interactive widgets - such as buttons, checkboxes, sliders, etc. - can be automatically added to a default group.
diff --git a/docs/overview/object.md b/docs/overview/object.md
index a2849dcef..fa2319933 100644
--- a/docs/overview/object.md
+++ b/docs/overview/object.md
@@ -1,7 +1,7 @@
# Objects
In LVGL the **basic building blocks** of a user interface are the objects, also called *Widgets*.
-For example a [Button](/widgets/core/btn), [Label](/widgets/core/label), [Image](/widgets/core/img), [List](/widgets/extra/list), [Chart](/widgets/extra/chart) or [Text area](/widgets/core/textarea).
+For example a [Button](/widgets/btn), [Label](/widgets/label), [Image](/widgets/img), [List](/widgets/list), [Chart](/widgets/chart) or [Text area](/widgets/textarea).
You can see all the [Object types](/widgets/index) here.
@@ -179,7 +179,7 @@ Visit [Multi-display support](/overview/display) to learn more.
## Parts
-The widgets are built from multiple parts. For example a [Base object](/widgets/obj) uses the main and scrollbar parts but a [Slider](/widgets/core/slider) uses the main, indicator and knob parts.
+The widgets are built from multiple parts. For example a [Base object](/widgets/obj) uses the main and scrollbar parts but a [Slider](/widgets/slider) uses the main, indicator and knob parts.
Parts are similar to *pseudo-elements* in CSS.
The following predefined parts exist in LVGL:
diff --git a/docs/overview/style.md b/docs/overview/style.md
index 8c777fd8c..f805bcf4f 100644
--- a/docs/overview/style.md
+++ b/docs/overview/style.md
@@ -117,7 +117,7 @@ The following predefined parts exist in LVGL:
- `LV_PART_CUSTOM_FIRST` Custom part identifiers can be added starting from here.
-For example a [Slider](/widgets/core/slider) has three parts:
+For example a [Slider](/widgets/slider) has three parts:
- Background
- Indicator
- Knob
diff --git a/docs/widgets/extra/animimg.md b/docs/widgets/animimg.md
similarity index 100%
rename from docs/widgets/extra/animimg.md
rename to docs/widgets/animimg.md
diff --git a/docs/widgets/core/arc.md b/docs/widgets/arc.md
similarity index 100%
rename from docs/widgets/core/arc.md
rename to docs/widgets/arc.md
diff --git a/docs/widgets/core/bar.md b/docs/widgets/bar.md
similarity index 100%
rename from docs/widgets/core/bar.md
rename to docs/widgets/bar.md
diff --git a/docs/widgets/core/btn.md b/docs/widgets/btn.md
similarity index 100%
rename from docs/widgets/core/btn.md
rename to docs/widgets/btn.md
diff --git a/docs/widgets/core/btnmatrix.md b/docs/widgets/btnmatrix.md
similarity index 97%
rename from docs/widgets/core/btnmatrix.md
rename to docs/widgets/btnmatrix.md
index a9ca82e91..ad42fc33f 100644
--- a/docs/widgets/core/btnmatrix.md
+++ b/docs/widgets/btnmatrix.md
@@ -2,7 +2,7 @@
## 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](/widgets/core/btn) object plus the 100 or so bytes for the [Label](/widgets/core/label) object.
+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](/widgets/btn) object plus the 100 or so bytes for the [Label](/widgets/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.
diff --git a/docs/widgets/extra/calendar.md b/docs/widgets/calendar.md
similarity index 96%
rename from docs/widgets/extra/calendar.md
rename to docs/widgets/calendar.md
index 5dd601d17..ddabe8c3e 100644
--- a/docs/widgets/extra/calendar.md
+++ b/docs/widgets/calendar.md
@@ -13,7 +13,7 @@ The Calendar is added to the default group (if it is set). Calendar is an editab
To make the Calendar flexible, by default it doesn't show the current year or month. Instead, there are optional "headers" that can be attached to the calendar.
## Parts and Styles
-The calendar object uses the [Button matrix](/widgets/core/btnmatrix) object under the hood to arrange the days into a matrix.
+The calendar object uses the [Button matrix](/widgets/btnmatrix) object under the hood to arrange the days into a matrix.
- `LV_PART_MAIN` The background of the calendar. Uses all the background related style properties.
- `LV_PART_ITEMS` Refers to the dates and day names. Button matrix control flags are set to differentiate the buttons and a custom drawer event is added modify the properties of the buttons as follows:
- day names have no border, no background and drawn with a gray color
diff --git a/docs/widgets/core/canvas.md b/docs/widgets/canvas.md
similarity index 97%
rename from docs/widgets/core/canvas.md
rename to docs/widgets/canvas.md
index 27f62361e..3cb38ef20 100644
--- a/docs/widgets/core/canvas.md
+++ b/docs/widgets/canvas.md
@@ -3,7 +3,7 @@
## Overview
-A Canvas inherits from [Image](/widgets/core/img) where the user can draw anything.
+A Canvas inherits from [Image](/widgets/img) 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.
@@ -77,7 +77,7 @@ A given area of the canvas can be blurred horizontally with `lv_canvas_blur_hor(
No special events are sent by canvas objects.
The same events are sent as for the
-See the events of the [Images](/widgets/core/img) too.
+See the events of the [Images](/widgets/img) too.
Learn more about [Events](/overview/event).
diff --git a/docs/widgets/extra/chart.md b/docs/widgets/chart.md
similarity index 100%
rename from docs/widgets/extra/chart.md
rename to docs/widgets/chart.md
diff --git a/docs/widgets/core/checkbox.md b/docs/widgets/checkbox.md
similarity index 100%
rename from docs/widgets/core/checkbox.md
rename to docs/widgets/checkbox.md
diff --git a/docs/widgets/extra/colorwheel.md b/docs/widgets/colorwheel.md
similarity index 100%
rename from docs/widgets/extra/colorwheel.md
rename to docs/widgets/colorwheel.md
diff --git a/docs/widgets/core/index.md b/docs/widgets/core/index.md
deleted file mode 100644
index be6bd8ad3..000000000
--- a/docs/widgets/core/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Core widgets
-
-```eval_rst
-
-.. toctree::
- :maxdepth: 1
-
- arc
- bar
- btn
- btnmatrix
- canvas
- checkbox
- dropdown
- img
- label
- line
- roller
- slider
- switch
- table
- textarea
-
-```
-
-
diff --git a/docs/widgets/core/dropdown.md b/docs/widgets/dropdown.md
similarity index 100%
rename from docs/widgets/core/dropdown.md
rename to docs/widgets/dropdown.md
diff --git a/docs/widgets/extra/index.md b/docs/widgets/extra/index.md
deleted file mode 100644
index cb5cf298f..000000000
--- a/docs/widgets/extra/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# Extra widgets
-
-```eval_rst
-
-.. toctree::
- :maxdepth: 1
-
- animimg
- calendar
- chart
- colorwheel
- imgbtn
- keyboard
- led
- list
- menu
- meter
- msgbox
- span
- spinbox
- spinner
- tabview
- tileview
- win
-```
-
-
diff --git a/docs/widgets/core/img.md b/docs/widgets/img.md
similarity index 95%
rename from docs/widgets/core/img.md
rename to docs/widgets/img.md
index ee1e6acba..82309c6f9 100644
--- a/docs/widgets/core/img.md
+++ b/docs/widgets/img.md
@@ -28,7 +28,7 @@ To use external files, you also need to convert the image files using the online
You also need to use LVGL's file system module and register a driver with some functions for the basic file operation. Go to the [File system](/overview/file-system) to learn more.
To set an image sourced from a file, use `lv_img_set_src(img, "S:folder1/my_img.bin")`.
-You can also set a symbol similarly to [Labels](/widgets/core/label). In this case, the image will be rendered as text according to the *font* specified in the style. It enables to use of light-weight monochrome "letters" instead of real images. You can set symbol like `lv_img_set_src(img1, LV_SYMBOL_OK)`.
+You can also set a symbol similarly to [Labels](/widgets/label). In this case, the image will be rendered as text according to the *font* specified in the style. It enables to use of light-weight monochrome "letters" instead of real images. You can set symbol like `lv_img_set_src(img1, LV_SYMBOL_OK)`.
### Label as an image
Images and labels are sometimes used to convey the same thing. For example, to describe what a button does.
diff --git a/docs/widgets/extra/imgbtn.md b/docs/widgets/imgbtn.md
similarity index 95%
rename from docs/widgets/extra/imgbtn.md
rename to docs/widgets/imgbtn.md
index 2df401095..4e3d4aaa1 100644
--- a/docs/widgets/extra/imgbtn.md
+++ b/docs/widgets/imgbtn.md
@@ -16,7 +16,7 @@ You can set a left, right and center image, and the center image will be repeate
### Image sources
To set the image in a state, use the `lv_imgbtn_set_src(imgbtn, LV_IMGBTN_STATE_..., src_left, src_center, src_right)`.
-The image sources work the same as described in the [Image object](/widgets/core/img) except that "Symbols" are not supported by the Image button.
+The image sources work the same as described in the [Image object](/widgets/img) except that "Symbols" are not supported by the Image button.
Any of the sources can `NULL`.
The possible states are:
diff --git a/docs/widgets/index.md b/docs/widgets/index.md
index 0d716c276..dca57311b 100644
--- a/docs/widgets/index.md
+++ b/docs/widgets/index.md
@@ -6,8 +6,39 @@
:maxdepth: 1
obj
- core/index
- extra/index
+ arc
+ animimg
+ bar
+ btn
+ btnmatrix
+ calendar
+ chart
+ colorwheel
+ canvas
+ checkbox
+ dropdown
+ img
+ imgbtn
+ keyboard
+ label
+ led
+ line
+ list
+ menu
+ meter
+ msgbox
+ roller
+ slider
+ span
+ spinbox
+ spinner
+ switch
+ table
+ tabview
+ textarea
+ tileview
+ win
+
```
diff --git a/docs/widgets/extra/keyboard.md b/docs/widgets/keyboard.md
similarity index 89%
rename from docs/widgets/extra/keyboard.md
rename to docs/widgets/keyboard.md
index a10518468..3bb4f80e6 100644
--- a/docs/widgets/extra/keyboard.md
+++ b/docs/widgets/keyboard.md
@@ -4,7 +4,7 @@
## Overview
-The Keyboard object is a special [Button matrix](/widgets/core/btnmatrix) with predefined keymaps and other features to realize a virtual keyboard to write texts into a [Text area](/widgets/core/textarea).
+The Keyboard object is a special [Button matrix](/widgets/btnmatrix) with predefined keymaps and other features to realize a virtual keyboard to write texts into a [Text area](/widgets/textarea).
## Parts and Styles
Similarly to Button matrices Keyboards consist of 2 part:
@@ -26,7 +26,7 @@ The `TEXT` modes' layout contains buttons to change mode.
To set the mode manually, use `lv_keyboard_set_mode(kb, mode)`. The default mode is `LV_KEYBOARD_MODE_TEXT_UPPER`.
### Assign Text area
-You can assign a [Text area](/widgets/core/textarea) to the Keyboard to automatically put the clicked characters there.
+You can assign a [Text area](/widgets/textarea) to the Keyboard to automatically put the clicked characters there.
To assign the text area, use `lv_keyboard_set_textarea(kb, ta)`.
### Key Popovers
@@ -37,7 +37,7 @@ Note that popovers for keys in the top row will draw outside the widget boundari
The popovers currently are merely a visual effect and don't allow selecting additional characters such as accents yet.
### New Keymap
-You can specify a new map (layout) for the keyboard with `lv_keyboard_set_map(kb, LV_KEYBOARD_MODE_..., kb_map, kb_ctrl);`. See the [Button matrix](/widgets/core/btnmatrix) for more information about creating new maps a ctrls.
+You can specify a new map (layout) for the keyboard with `lv_keyboard_set_map(kb, LV_KEYBOARD_MODE_..., kb_map, kb_ctrl);`. See the [Button matrix](/widgets/btnmatrix) for more information about creating new maps a ctrls.
Keep in mind that using following keywords will have the same effect as with the original map:
- `LV_SYMBOL_OK` Send `LV_EVENT_RADY` to the assigend Text area.
diff --git a/docs/widgets/core/label.md b/docs/widgets/label.md
similarity index 97%
rename from docs/widgets/core/label.md
rename to docs/widgets/label.md
index cf2b3c8dc..0346ccc49 100644
--- a/docs/widgets/core/label.md
+++ b/docs/widgets/label.md
@@ -48,7 +48,7 @@ This feature can be enabled individually for each label by `lv_label_set_recolor
### Text selection
If enabled by `LV_LABEL_TEXT_SELECTION` part of the text can be selected. It's similar to when you use your mouse on a PC to select a text.
-The whole mechanism (click and select the text as you drag your finger/mouse) is implemented in [Text area](/widgets/core/textarea) and the Label widget only allows manual text selection with
+The whole mechanism (click and select the text as you drag your finger/mouse) is implemented in [Text area](/widgets/textarea) and the Label widget only allows manual text selection with
`lv_label_get_text_selection_start(label, start_char_index)` and `lv_label_get_text_selection_start(label, end_char_index)`.
### Very long texts
diff --git a/docs/widgets/extra/led.md b/docs/widgets/led.md
similarity index 100%
rename from docs/widgets/extra/led.md
rename to docs/widgets/led.md
diff --git a/docs/widgets/core/line.md b/docs/widgets/line.md
similarity index 100%
rename from docs/widgets/core/line.md
rename to docs/widgets/line.md
diff --git a/docs/widgets/extra/list.md b/docs/widgets/list.md
similarity index 92%
rename from docs/widgets/extra/list.md
rename to docs/widgets/list.md
index 0742b2a0e..f0e6bdbf5 100644
--- a/docs/widgets/extra/list.md
+++ b/docs/widgets/list.md
@@ -10,7 +10,7 @@ The List is basically a rectangle with vertical layout to which Buttons and Text
- `LV_PART_SCROLLBAR` The scrollbar. See the [Base objects](/widgets/obj) documentation for details.
**Buttons and Texts**
-See the [Button](/widgets/core/btn)'s and [Label](/widgets/core/label)'s documentation.
+See the [Button](/widgets/btn)'s and [Label](/widgets/label)'s documentation.
## Usage
diff --git a/docs/widgets/extra/menu.md b/docs/widgets/menu.md
similarity index 94%
rename from docs/widgets/extra/menu.md
rename to docs/widgets/menu.md
index bb8992b49..1c896b663 100644
--- a/docs/widgets/extra/menu.md
+++ b/docs/widgets/menu.md
@@ -7,13 +7,13 @@ The menu widget can be used to easily create multi-level menus. It handles the t
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](/widgets/core/btn)
- - Back btn icon: [lv_img](/widgets/core/img)
+ - Back btn: [lv_btn](/widgets/btn)
+ - Back btn icon: [lv_img](/widgets/img)
- Main page: lv_menu_page
- Sidebar container: lv_menu_sidebar_cont
- Sidebar header: lv_menu_sidebar_header_cont
- - Back btn: [lv_btn](/widgets/core/btn)
- - Back btn icon: [lv_img](/widgets/core/img)
+ - Back btn: [lv_btn](/widgets/btn)
+ - Back btn icon: [lv_img](/widgets/img)
- Sidebar page: lv_menu_page
## Usage
diff --git a/docs/widgets/extra/meter.md b/docs/widgets/meter.md
similarity index 100%
rename from docs/widgets/extra/meter.md
rename to docs/widgets/meter.md
diff --git a/docs/widgets/extra/msgbox.md b/docs/widgets/msgbox.md
similarity index 93%
rename from docs/widgets/extra/msgbox.md
rename to docs/widgets/msgbox.md
index a0bdbf38a..e93931a61 100644
--- a/docs/widgets/extra/msgbox.md
+++ b/docs/widgets/msgbox.md
@@ -11,9 +11,9 @@ The message box can be modal (blocking clicks on the rest of the screen) or not
## Parts and Styles
The message box is built from other widgets, so you can check these widgets' documentation for details.
- Background: [lv_obj](/widgets/obj)
-- Close button: [lv_btn](/widgets/core/btn)
-- Title and text: [lv_label](/widgets/core/label)
-- Buttons: [lv_btnmatrix](/widgets/core/btnmatrix)
+- Close button: [lv_btn](/widgets/btn)
+- Title and text: [lv_label](/widgets/label)
+- Buttons: [lv_btnmatrix](/widgets/btnmatrix)
## Usage
diff --git a/docs/widgets/core/roller.md b/docs/widgets/roller.md
similarity index 100%
rename from docs/widgets/core/roller.md
rename to docs/widgets/roller.md
diff --git a/docs/widgets/core/slider.md b/docs/widgets/slider.md
similarity index 93%
rename from docs/widgets/core/slider.md
rename to docs/widgets/slider.md
index d45a4ea7c..4c4a39259 100644
--- a/docs/widgets/core/slider.md
+++ b/docs/widgets/slider.md
@@ -2,7 +2,7 @@
## Overview
-The Slider object looks like a [Bar](/widgets/core/bar) supplemented with a knob. The knob can be dragged to set a value. Just like Bar, Slider can be vertical or horizontal.
+The Slider object looks like a [Bar](/widgets/bar) supplemented with a knob. The knob can be dragged to set a value. Just like Bar, Slider can be vertical or horizontal.
## Parts and Styles
@@ -46,7 +46,7 @@ The extended click area (set by `lv_obj_set_ext_click_area(slider, value)`) incr
- `rect_dsc`
- `id`: 1
-See the events of the [Bar](/widgets/core/bar) too.
+See the events of the [Bar](/widgets/bar) too.
Learn more about [Events](/overview/event).
diff --git a/docs/widgets/extra/span.md b/docs/widgets/span.md
similarity index 100%
rename from docs/widgets/extra/span.md
rename to docs/widgets/span.md
diff --git a/docs/widgets/extra/spinbox.md b/docs/widgets/spinbox.md
similarity index 93%
rename from docs/widgets/extra/spinbox.md
rename to docs/widgets/spinbox.md
index 425b2c353..a92845198 100644
--- a/docs/widgets/extra/spinbox.md
+++ b/docs/widgets/spinbox.md
@@ -2,10 +2,10 @@
## Overview
The Spinbox contains a number as text which can be increased or decreased by *Keys* or API functions.
-Under the hood the Spinbox is a modified [Text area](/widgets/core/textarea).
+Under the hood the Spinbox is a modified [Text area](/widgets/textarea).
## Parts and Styles
-The parts of the Spinbox are identical to the [Text area](/widgets/core/textarea).
+The parts of the Spinbox are identical to the [Text area](/widgets/textarea).
### Value, range and step
`lv_spinbox_set_value(spinbox, 1234)` sets a new value on the Spinbox.
@@ -31,7 +31,7 @@ If an encoder is used as input device, the selected digit is shifted to the righ
## Events
- `LV_EVENT_VALUE_CHANGED` Sent when the value has changed.
-See the events of the [Text area](/widgets/core/textarea) too.
+See the events of the [Text area](/widgets/textarea) too.
Learn more about [Events](/overview/event).
diff --git a/docs/widgets/extra/spinner.md b/docs/widgets/spinner.md
similarity index 84%
rename from docs/widgets/extra/spinner.md
rename to docs/widgets/spinner.md
index 8c9b37c9c..1b9ddc526 100644
--- a/docs/widgets/extra/spinner.md
+++ b/docs/widgets/spinner.md
@@ -4,7 +4,7 @@
The Spinner object is a spinning arc over a ring.
## Parts and Styles
-The parts are identical to the parts of [lv_arc](/widgets/core/arc).
+The parts are identical to the parts of [lv_arc](/widgets/arc).
## Usage
@@ -15,7 +15,7 @@ To create a spinner use `lv_spinner_create(parent, spin_time, arc_length)`. `spi
## Events
No special events are sent to the Spinner.
-See the events of the [Arc](/widgets/core/arc) too.
+See the events of the [Arc](/widgets/arc) too.
Learn more about [Events](/overview/event).
diff --git a/docs/widgets/core/switch.md b/docs/widgets/switch.md
similarity index 100%
rename from docs/widgets/core/switch.md
rename to docs/widgets/switch.md
diff --git a/docs/widgets/core/table.md b/docs/widgets/table.md
similarity index 100%
rename from docs/widgets/core/table.md
rename to docs/widgets/table.md
diff --git a/docs/widgets/extra/tabview.md b/docs/widgets/tabview.md
similarity index 94%
rename from docs/widgets/extra/tabview.md
rename to docs/widgets/tabview.md
index 51466cf36..b12915d2c 100644
--- a/docs/widgets/extra/tabview.md
+++ b/docs/widgets/tabview.md
@@ -6,7 +6,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](/widgets/obj))
- - Tab buttons: [lv_btnmatrix](/widgets/core/btnmatrix)
+ - Tab buttons: [lv_btnmatrix](/widgets/btnmatrix)
- Container for the tabs: [lv_obj](/widgets/obj)
- Content of the tabs: [lv_obj](/widgets/obj)
@@ -41,7 +41,7 @@ To select a new tab you can:
### Get the parts
-`lv_tabview_get_content(tabview)` returns the container for the tabs, `lv_tabview_get_tab_btns(tabview)` returns the Tab buttons object which is a [Button matrix](/widgets/core/btnmatrix).
+`lv_tabview_get_content(tabview)` returns the container for the tabs, `lv_tabview_get_tab_btns(tabview)` returns the Tab buttons object which is a [Button matrix](/widgets/btnmatrix).
## Events
- `LV_EVENT_VALUE_CHANGED` Sent when a new tab is selected by sliding or clicking the tab button. `lv_tabview_get_tab_act(tabview)` returns the zero based index of the current tab.
diff --git a/docs/widgets/core/textarea.md b/docs/widgets/textarea.md
similarity index 96%
rename from docs/widgets/core/textarea.md
rename to docs/widgets/textarea.md
index 3beadd5c6..1d4c68409 100644
--- a/docs/widgets/core/textarea.md
+++ b/docs/widgets/textarea.md
@@ -2,7 +2,7 @@
## Overview
-The Text Area is a [Base object](widgets/obj) with a [Label](/widgets/core/label) and a cursor on it.
+The Text Area is a [Base object](widgets/obj) with a [Label](/widgets/label) and a cursor on it.
Texts or characters can be added to it.
Long lines are wrapped and when the text becomes long enough the Text area can be scrolled.
@@ -11,7 +11,7 @@ One line mode and password modes are supported.
## Parts and Styles
- `LV_PART_MAIN` The background of the text area. Uses all the typical background style properties and the text related style properties including `text_align` to align the text to the left, right or center.
- `LV_PART_SCROLLBAR` The scrollbar that is shown when the text is too long.
-- `LV_PART_SELECTED` Determines the style of the [selected text](/widgets/core/label.html#text-selection). Only `text_color` and `bg_color` style properties can be used. `bg_color` should be set directly on the label of the text area.
+- `LV_PART_SELECTED` Determines the style of the [selected text](/widgets/label.html#text-selection). Only `text_color` and `bg_color` style properties can be used. `bg_color` should be set directly on the label of the text area.
- `LV_PART_CURSOR` Marks the position where the characters are inserted. The cursor's area is always the bounding box of the current character.
A block cursor can be created by adding a background color and background opacity to `LV_PART_CURSOR`'s style. The create line cursor leave the cursor transparent and set a left border.
The `anim_time` style property sets the cursor's blink time.
diff --git a/docs/widgets/extra/tileview.md b/docs/widgets/tileview.md
similarity index 100%
rename from docs/widgets/extra/tileview.md
rename to docs/widgets/tileview.md
diff --git a/docs/widgets/extra/win.md b/docs/widgets/win.md
similarity index 94%
rename from docs/widgets/extra/win.md
rename to docs/widgets/win.md
index 1db641e5d..6e38422ae 100644
--- a/docs/widgets/extra/win.md
+++ b/docs/widgets/win.md
@@ -8,8 +8,8 @@ The Window is container-like object built from a header with title and buttons a
The Window is built from other widgets so you can check their documentation for details:
- Background: [lv_obj](/widgets/obj)
- Header on the background: [lv_obj](/widgets/obj)
-- Title on the header: [lv_label](/widgets/core/label)
-- Buttons on the header: [lv_btn](/widgets/core/btn)
+- Title on the header: [lv_label](/widgets/label)
+- Buttons on the header: [lv_btn](/widgets/btn)
- Content area on the background: [lv_obj](/widgets/obj)