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