A39模拟器
This commit is contained in:
19
MXC-A39/lvgl/examples/widgets/obj/index.rst
Normal file
19
MXC-A39/lvgl/examples/widgets/obj/index.rst
Normal file
@ -0,0 +1,19 @@
|
||||
C
|
||||
^
|
||||
|
||||
Base objects with custom styles
|
||||
""""""""""""""""""""""""""""""""
|
||||
|
||||
.. lv_example:: widgets/obj/lv_example_obj_1
|
||||
:language: c
|
||||
|
||||
Make an object draggable
|
||||
""""""""""""""""""""""""""""
|
||||
|
||||
.. lv_example:: widgets/obj/lv_example_obj_2
|
||||
:language: c
|
||||
|
||||
MicroPython
|
||||
^^^^^^^^^^^
|
||||
|
||||
No examples yet.
|
22
MXC-A39/lvgl/examples/widgets/obj/lv_example_obj_1.c
Normal file
22
MXC-A39/lvgl/examples/widgets/obj/lv_example_obj_1.c
Normal file
@ -0,0 +1,22 @@
|
||||
#include "../../lv_examples.h"
|
||||
#if LV_BUILD_EXAMPLES
|
||||
|
||||
void lv_example_obj_1(void)
|
||||
{
|
||||
lv_obj_t * obj1;
|
||||
obj1 = lv_obj_create(lv_scr_act());
|
||||
lv_obj_set_size(obj1, 100, 50);
|
||||
lv_obj_align(obj1, LV_ALIGN_CENTER, -60, -30);
|
||||
|
||||
static lv_style_t style_shadow;
|
||||
lv_style_init(&style_shadow);
|
||||
lv_style_set_shadow_width(&style_shadow, 10);
|
||||
lv_style_set_shadow_spread(&style_shadow, 5);
|
||||
lv_style_set_shadow_color(&style_shadow, lv_palette_main(LV_PALETTE_BLUE));
|
||||
|
||||
lv_obj_t * obj2;
|
||||
obj2 = lv_obj_create(lv_scr_act());
|
||||
lv_obj_add_style(obj2, &style_shadow, 0);
|
||||
lv_obj_align(obj2, LV_ALIGN_CENTER, 60, 30);
|
||||
}
|
||||
#endif
|
20
MXC-A39/lvgl/examples/widgets/obj/lv_example_obj_1.py
Normal file
20
MXC-A39/lvgl/examples/widgets/obj/lv_example_obj_1.py
Normal file
@ -0,0 +1,20 @@
|
||||
obj1 = lv.obj(lv.scr_act())
|
||||
obj1.set_size(100, 50)
|
||||
obj1.set_style(lv.style_plain_color)
|
||||
obj1.align(None, lv.ALIGN.CENTER, -60, -30)
|
||||
|
||||
# Copy the previous object and enable drag
|
||||
obj2 = lv.obj(lv.scr_act(), obj1)
|
||||
obj2.set_style(lv.style_pretty_color)
|
||||
obj2.align(None, lv.ALIGN.CENTER, 0, 0)
|
||||
obj2.set_drag(True)
|
||||
|
||||
style_shadow = lv.style_t()
|
||||
lv.style_copy(style_shadow, lv.style_pretty)
|
||||
style_shadow.body.shadow.width = 6
|
||||
style_shadow.body.radius = 800 # large enough to make it round
|
||||
|
||||
# Copy the previous object (drag is already enabled)
|
||||
obj3 = lv.obj(lv.scr_act(), obj2)
|
||||
obj3.set_style(style_shadow)
|
||||
obj3.align(None, lv.ALIGN.CENTER, 60, 30)
|
33
MXC-A39/lvgl/examples/widgets/obj/lv_example_obj_2.c
Normal file
33
MXC-A39/lvgl/examples/widgets/obj/lv_example_obj_2.c
Normal file
@ -0,0 +1,33 @@
|
||||
#include "../../lv_examples.h"
|
||||
#if LV_BUILD_EXAMPLES
|
||||
|
||||
static void drag_event_handler(lv_event_t * e)
|
||||
{
|
||||
lv_obj_t * obj = lv_event_get_target(e);
|
||||
|
||||
lv_indev_t * indev = lv_indev_get_act();
|
||||
lv_point_t vect;
|
||||
lv_indev_get_vect(indev, &vect);
|
||||
|
||||
lv_coord_t x = lv_obj_get_x(obj) + vect.x;
|
||||
lv_coord_t y = lv_obj_get_y(obj) + vect.y;
|
||||
lv_obj_set_pos(obj, x, y);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Make an object dragable.
|
||||
*/
|
||||
void lv_example_obj_2(void)
|
||||
{
|
||||
lv_obj_t * obj;
|
||||
obj = lv_obj_create(lv_scr_act());
|
||||
lv_obj_set_size(obj, 150, 100);
|
||||
lv_obj_add_event_cb(obj, drag_event_handler, LV_EVENT_PRESSING, NULL);
|
||||
|
||||
lv_obj_t * label = lv_label_create(obj);
|
||||
lv_label_set_text(label, "Drag me");
|
||||
lv_obj_center(label);
|
||||
|
||||
}
|
||||
#endif
|
Reference in New Issue
Block a user