「App:Library:LVGL:docs:Overview:Layers」の版間の差分
1行目: | 1行目: | ||
https://docs.lvgl.io/8.2/overview/layer.html | https://docs.lvgl.io/8.2/overview/layer.html | ||
__NOTOC__ | __NOTOC__ | ||
+ | = Layers = | ||
+ | == Order of creation == | ||
{| class="wikitable" | {| class="wikitable" | ||
!英文 | !英文 | ||
6行目: | 8行目: | ||
|- | |- | ||
| | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
By default, LVGL draws new objects on top of old objects. | By default, LVGL draws new objects on top of old objects. | ||
For example, assume we add a button to a parent object named button1 and then another button named button2. Then button1 (along with its child object(s)) will be in the background and can be covered by button2 and its children. | For example, assume we add a button to a parent object named button1 and then another button named button2. Then button1 (along with its child object(s)) will be in the background and can be covered by button2 and its children. | ||
[[file:LVGL docs overview Layers 01.png|link=https://docs.lvgl.io/8.2/overview/layer.html#order-of-creation]] | [[file:LVGL docs overview Layers 01.png|link=https://docs.lvgl.io/8.2/overview/layer.html#order-of-creation]] | ||
− | + | <syntaxhighlight lang="C++" style="border:1px dashed gray;"> | |
/*Create a screen*/ | /*Create a screen*/ | ||
lv_obj_t * scr = lv_obj_create(NULL, NULL); | lv_obj_t * scr = lv_obj_create(NULL, NULL); | ||
40行目: | 34行目: | ||
/*Delete the second label*/ | /*Delete the second label*/ | ||
lv_obj_del(label2); | lv_obj_del(label2); | ||
+ | </syntaxhighlight> | ||
+ | | | ||
+ | |} | ||
+ | :[[App:Library:LVGL:docs:Overview|戻る : Previous]] | ||
+ | |||
== Bring to the foreground == | == Bring to the foreground == | ||
+ | {| class="wikitable" | ||
+ | !英文 | ||
+ | !自動翻訳 | ||
+ | |- | ||
+ | | | ||
There are four explicit ways to bring an object to the foreground: | There are four explicit ways to bring an object to the foreground: | ||
− | * Use <code>lv_obj_move_foreground(obj)</code> to bring an object to the foreground. Similarly, use <code>lv_obj_move_background(obj)</code> to move it to the background. | + | * Use <code style="color: #bb0000;">lv_obj_move_foreground(obj)</code> to bring an object to the foreground. Similarly, use <code style="color: #bb0000;">lv_obj_move_background(obj)</code> to move it to the background. |
− | * Use <code>lv_obj_move_up(obj)</code> to move an object one position up in the hierarchy, Similarly, use <code>lv_obj_move_down(obj)</code> to move an object one position down in the hierarchy. | + | * Use <code style="color: #bb0000;">lv_obj_move_up(obj)</code> to move an object one position up in the hierarchy, Similarly, use <code style="color: #bb0000;">lv_obj_move_down(obj)</code> to move an object one position down in the hierarchy. |
− | * Use <code>lv_obj_swap(obj1, obj2)</code> to swap the relative layer position of two objects. | + | * Use <code style="color: #bb0000;">lv_obj_swap(obj1, obj2)</code> to swap the relative layer position of two objects. |
− | * When <code>lv_obj_set_parent(obj, new_parent)</code> is used, <code>obj</code> will be on the foreground of the <code>new_parent</code>. | + | * When <code style="color: #bb0000;">lv_obj_set_parent(obj, new_parent)</code> is used, <code style="color: #bb0000;">obj</code> will be on the foreground of the <code style="color: #bb0000;">new_parent</code>. |
+ | | | ||
+ | |} | ||
+ | :[[App:Library:LVGL:docs:Overview|戻る : Previous]] | ||
+ | |||
== Top and sys layers == | == Top and sys layers == | ||
− | LVGL uses two special layers named <code>layer_top</code> and <code>layer_sys</code>. Both are visible and common on all screens of a display. They are not, however, shared among multiple physical displays. The <code>layer_top</code> is always on top of the default screen (<code>lv_scr_act()</code>), and <code>layer_sys</code> is on top of <code>layer_top</code>. | + | {| class="wikitable" |
+ | !英文 | ||
+ | !自動翻訳 | ||
+ | |- | ||
+ | | | ||
+ | LVGL uses two special layers named <code style="color: #bb0000;">layer_top</code> and <code style="color: #bb0000;">layer_sys</code>. Both are visible and common on all screens of a display. They are not, however, shared among multiple physical displays. The <code style="color: #bb0000;">layer_top</code> is always on top of the default screen (<code style="color: #bb0000;">lv_scr_act()</code>), and <code style="color: #bb0000;">layer_sys</code> is on top of <code style="color: #bb0000;">layer_top</code>. | ||
− | The <code>layer_top</code> can be used by the user to create some content visible everywhere. For example, a menu bar, a pop-up, etc. If the <code>click</code> attribute is enabled, then <code>layer_top</code> will absorb all user clicks and acts as a modal. | + | The <code style="color: #bb0000;">layer_top</code> can be used by the user to create some content visible everywhere. For example, a menu bar, a pop-up, etc. If the <code style="color: #bb0000;">click</code> attribute is enabled, then <code style="color: #bb0000;">layer_top</code> will absorb all user clicks and acts as a modal. |
+ | <syntaxhighlight lang="C++" style="border:1px dashed gray;"> | ||
lv_obj_add_flag(lv_layer_top(), LV_OBJ_FLAG_CLICKABLE); | lv_obj_add_flag(lv_layer_top(), LV_OBJ_FLAG_CLICKABLE); | ||
− | The <code>layer_sys</code> is also used for similar purposes in LVGL. For example, it places the mouse cursor above all layers to be sure it's always visible. | + | </syntaxhighlight> |
− | + | The <code style="color: #bb0000;">layer_sys</code> is also used for similar purposes in LVGL. For example, it places the mouse cursor above all layers to be sure it's always visible. | |
+ | | | ||
+ | |} | ||
:[[App:Library:LVGL#Overview|戻る : Previous]] | :[[App:Library:LVGL#Overview|戻る : Previous]] |
2022年6月30日 (木) 23:09時点における版
https://docs.lvgl.io/8.2/overview/layer.html
Layers
Order of creation
Bring to the foreground
英文 | 自動翻訳 |
---|---|
There are four explicit ways to bring an object to the foreground:
|
Top and sys layers
英文 | 自動翻訳 |
---|---|
LVGL uses two special layers named The lv_obj_add_flag(lv_layer_top(), LV_OBJ_FLAG_CLICKABLE);
The |