xref: /OK3568_Linux_fs/app/lvgl_demo/rk_demo/setting/wallpaper_ui.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun #include <stdio.h>
2*4882a593Smuzhiyun #include <stdlib.h>
3*4882a593Smuzhiyun #include <stdint.h>
4*4882a593Smuzhiyun #include <time.h>
5*4882a593Smuzhiyun #include <unistd.h>
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun #include <lvgl/lvgl.h>
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #include "main.h"
10*4882a593Smuzhiyun #include "ui_resource.h"
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun static lv_obj_t * bg;
13*4882a593Smuzhiyun 
14*4882a593Smuzhiyun static lv_obj_t * area_screen_timeout;
15*4882a593Smuzhiyun static lv_obj_t * area_locked_screen;
16*4882a593Smuzhiyun static lv_obj_t * area_wallpaper;
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun static char *wallpapers[4] = {
19*4882a593Smuzhiyun     WALLPAPER_0,
20*4882a593Smuzhiyun     WALLPAPER_1,
21*4882a593Smuzhiyun     WALLPAPER_2,
22*4882a593Smuzhiyun     WALLPAPER_3,
23*4882a593Smuzhiyun };
24*4882a593Smuzhiyun 
menu_wallpaper_init(lv_obj_t * parent)25*4882a593Smuzhiyun lv_obj_t * menu_wallpaper_init(lv_obj_t * parent)
26*4882a593Smuzhiyun {
27*4882a593Smuzhiyun     lv_obj_t * obj;
28*4882a593Smuzhiyun     lv_obj_t * area_depart;
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun     bg = lv_obj_create(parent);
31*4882a593Smuzhiyun     lv_obj_remove_style_all(bg);
32*4882a593Smuzhiyun     lv_obj_set_size(bg, lv_pct(100), LV_SIZE_CONTENT);
33*4882a593Smuzhiyun     lv_obj_set_flex_flow(bg, LV_FLEX_FLOW_COLUMN);
34*4882a593Smuzhiyun     lv_obj_center(bg);
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun     area_screen_timeout = lv_obj_create(bg);
37*4882a593Smuzhiyun     lv_obj_set_size(area_screen_timeout, lv_pct(100), LV_SIZE_CONTENT);
38*4882a593Smuzhiyun     obj = lv_label_create(area_screen_timeout);
39*4882a593Smuzhiyun     lv_label_set_text(obj, "锁屏时间");
40*4882a593Smuzhiyun     lv_obj_add_style(obj, &style_txt_m, LV_PART_MAIN);
41*4882a593Smuzhiyun     obj = lv_dropdown_create(area_screen_timeout);
42*4882a593Smuzhiyun     lv_obj_add_style(obj, &style_txt_s, LV_PART_MAIN);
43*4882a593Smuzhiyun     lv_dropdown_set_options(obj, "60s\n120s\n5mins\nNever");
44*4882a593Smuzhiyun     lv_dropdown_set_selected(obj, 3);
45*4882a593Smuzhiyun     lv_obj_align(obj, LV_ALIGN_RIGHT_MID, 0, 0);
46*4882a593Smuzhiyun 
47*4882a593Smuzhiyun     area_locked_screen = lv_obj_create(bg);
48*4882a593Smuzhiyun     lv_obj_set_size(area_locked_screen, lv_pct(100), LV_SIZE_CONTENT);
49*4882a593Smuzhiyun     lv_obj_set_flex_flow(area_locked_screen, LV_FLEX_FLOW_COLUMN);
50*4882a593Smuzhiyun 
51*4882a593Smuzhiyun     obj = lv_label_create(area_locked_screen);
52*4882a593Smuzhiyun     lv_label_set_text(obj, "锁屏");
53*4882a593Smuzhiyun     lv_obj_add_style(obj, &style_txt_m, LV_PART_MAIN);
54*4882a593Smuzhiyun     lv_obj_align(obj, LV_ALIGN_TOP_LEFT, 0, 0);
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun     area_depart = lv_obj_create(area_locked_screen);
57*4882a593Smuzhiyun     lv_obj_remove_style_all(area_depart);
58*4882a593Smuzhiyun     lv_obj_set_size(area_depart, lv_pct(100), LV_SIZE_CONTENT);
59*4882a593Smuzhiyun     lv_obj_set_flex_flow(area_depart, LV_FLEX_FLOW_ROW);
60*4882a593Smuzhiyun     lv_obj_set_style_pad_column(area_depart, 10, 0);
61*4882a593Smuzhiyun     for (int i = 0; i < 4; i++)
62*4882a593Smuzhiyun     {
63*4882a593Smuzhiyun         obj = lv_img_create(area_depart);
64*4882a593Smuzhiyun         lv_obj_set_size(obj, 160, 120);
65*4882a593Smuzhiyun         lv_img_set_src(obj, wallpapers[i]);
66*4882a593Smuzhiyun     }
67*4882a593Smuzhiyun 
68*4882a593Smuzhiyun     area_wallpaper = lv_obj_create(bg);
69*4882a593Smuzhiyun     lv_obj_set_size(area_wallpaper, lv_pct(100), LV_SIZE_CONTENT);
70*4882a593Smuzhiyun     lv_obj_set_flex_flow(area_wallpaper, LV_FLEX_FLOW_COLUMN);
71*4882a593Smuzhiyun 
72*4882a593Smuzhiyun     obj = lv_label_create(area_wallpaper);
73*4882a593Smuzhiyun     lv_label_set_text(obj, "壁纸");
74*4882a593Smuzhiyun     lv_obj_add_style(obj, &style_txt_m, LV_PART_MAIN);
75*4882a593Smuzhiyun     lv_obj_align(obj, LV_ALIGN_TOP_LEFT, 0, 0);
76*4882a593Smuzhiyun 
77*4882a593Smuzhiyun     area_depart = lv_obj_create(area_wallpaper);
78*4882a593Smuzhiyun     lv_obj_remove_style_all(area_depart);
79*4882a593Smuzhiyun     lv_obj_set_size(area_depart, lv_pct(100), LV_SIZE_CONTENT);
80*4882a593Smuzhiyun     lv_obj_set_flex_flow(area_depart, LV_FLEX_FLOW_ROW);
81*4882a593Smuzhiyun     lv_obj_set_style_pad_column(area_depart, 10, 0);
82*4882a593Smuzhiyun     for (int i = 0; i < 4; i++)
83*4882a593Smuzhiyun     {
84*4882a593Smuzhiyun         obj = lv_img_create(area_depart);
85*4882a593Smuzhiyun         lv_obj_set_size(obj, 160, 120);
86*4882a593Smuzhiyun         lv_img_set_src(obj, wallpapers[i]);
87*4882a593Smuzhiyun     }
88*4882a593Smuzhiyun 
89*4882a593Smuzhiyun     return bg;
90*4882a593Smuzhiyun }
91*4882a593Smuzhiyun 
menu_wallpaper_deinit(void)92*4882a593Smuzhiyun void menu_wallpaper_deinit(void)
93*4882a593Smuzhiyun {
94*4882a593Smuzhiyun     lv_obj_del(bg);
95*4882a593Smuzhiyun     bg = NULL;
96*4882a593Smuzhiyun }
97*4882a593Smuzhiyun 
98