Dzbj_ESP32-S3/main/ui/screens/ui_ScreenSet.c

230 lines
11 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.6.0
// LVGL version: 8.3.11
// Project name: Lcd_Pro
#include "../ui.h"
#include "../../pages/include/pages.h"
#include "../../sleep_mgr/include/sleep_mgr.h"
lv_obj_t *ui_ScreenSet = NULL;lv_obj_t *ui_GlobalContainer = NULL;lv_obj_t *ui_ContainerTop = NULL;lv_obj_t *ui_ImgLowPower = NULL;lv_obj_t *ui_ImgFlashlight = NULL;lv_obj_t *ui_ImgDelete = NULL;lv_obj_t *ui_ContainerCentral = NULL;lv_obj_t *ui_SliderBrightness = NULL;lv_obj_t *ui_ImgSun = NULL;lv_obj_t *ui_LabelBrightness = NULL;lv_obj_t *ui_ArcPowerLevel = NULL;lv_obj_t *ui_ImgLightning = NULL;lv_obj_t *ui_LabelPowerLevel = NULL;
// 记录从哪个界面进入ScreenSet用于返回
static lv_obj_t **previous_screen = NULL;
static void (*previous_screen_init)(void) = NULL;
// 设置前一个界面在切换到ScreenSet前调用
void ui_ScreenSet_set_previous(lv_obj_t **screen, void (*init_func)(void)) {
previous_screen = screen;
previous_screen_init = init_func;
}
// event funtions
void ui_event_ScreenSet( lv_event_t * e) {
lv_event_code_t event_code = lv_event_get_code(e);
if ( event_code == LV_EVENT_GESTURE && lv_indev_get_gesture_dir(lv_indev_get_act()) == LV_DIR_TOP ) {
lv_indev_wait_release(lv_indev_get_act());
// 返回到之前的界面如果没有记录则默认返回Home
if (previous_screen && previous_screen_init) {
_ui_screen_change(previous_screen, LV_SCR_LOAD_ANIM_NONE, 0, 0, previous_screen_init);
} else {
_ui_screen_change(&ui_ScreenHome, LV_SCR_LOAD_ANIM_NONE, 0, 0, &ui_ScreenHome_screen_init);
}
}
}
void ui_event_SliderBrightness( lv_event_t * e) {
lv_event_code_t event_code = lv_event_get_code(e);lv_obj_t * target = lv_event_get_target(e);
if ( event_code == LV_EVENT_VALUE_CHANGED) {
int32_t val = lv_slider_get_value(target);
if (val < 10) { val = 10; lv_slider_set_value(target, 10, LV_ANIM_OFF); }
pwm_set_brightness((uint8_t)val);
_ui_slider_set_text_value( ui_LabelBrightness, target, "", "%");
}
}
// ImgLowPower点击事件切换休眠模式
void ui_event_ImgLowPower( lv_event_t * e) {
lv_event_code_t event_code = lv_event_get_code(e);
if ( event_code == LV_EVENT_VALUE_CHANGED) {
lv_obj_t * target = lv_event_get_target(e);
// checked=true时显示s12(休眠模式)false时显示s11(正常模式)
bool checked = lv_obj_has_state(target, LV_STATE_CHECKED);
sleep_mgr_set_enabled(checked);
}
}
// build funtions
void ui_ScreenSet_screen_init(void)
{
ui_ScreenSet = lv_obj_create(NULL);
lv_obj_clear_flag( ui_ScreenSet, LV_OBJ_FLAG_SCROLLABLE ); /// Flags
lv_obj_set_style_bg_color(ui_ScreenSet, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT );
lv_obj_set_style_bg_opa(ui_ScreenSet, 255, LV_PART_MAIN| LV_STATE_DEFAULT);
ui_GlobalContainer = lv_obj_create(ui_ScreenSet);
lv_obj_remove_style_all(ui_GlobalContainer);
lv_obj_set_width( ui_GlobalContainer, 360);
lv_obj_set_height( ui_GlobalContainer, 360);
lv_obj_set_align( ui_GlobalContainer, LV_ALIGN_CENTER );
lv_obj_clear_flag( ui_GlobalContainer, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE ); /// Flags
ui_ContainerTop = lv_obj_create(ui_GlobalContainer);
lv_obj_remove_style_all(ui_ContainerTop);
lv_obj_set_width( ui_ContainerTop, 240);
lv_obj_set_height( ui_ContainerTop, 80);
lv_obj_set_x( ui_ContainerTop, 0 );
lv_obj_set_y( ui_ContainerTop, -40 );
lv_obj_set_align( ui_ContainerTop, LV_ALIGN_CENTER );
lv_obj_clear_flag( ui_ContainerTop, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE ); /// Flags
ui_ImgLowPower = lv_imgbtn_create(ui_ContainerTop);
lv_imgbtn_set_src(ui_ImgLowPower, LV_IMGBTN_STATE_RELEASED, NULL, &ui_img_s11_png, NULL);
lv_imgbtn_set_src(ui_ImgLowPower, LV_IMGBTN_STATE_PRESSED, NULL, &ui_img_s11_png, NULL);
lv_imgbtn_set_src(ui_ImgLowPower, LV_IMGBTN_STATE_DISABLED, NULL, &ui_img_s12_png, NULL);
lv_imgbtn_set_src(ui_ImgLowPower, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, &ui_img_s12_png, NULL);
lv_imgbtn_set_src(ui_ImgLowPower, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, &ui_img_s12_png, NULL);
lv_obj_set_width( ui_ImgLowPower, 64);
lv_obj_set_height( ui_ImgLowPower, 64);
lv_obj_set_x( ui_ImgLowPower, -86 );
lv_obj_set_y( ui_ImgLowPower, -1 );
lv_obj_set_align( ui_ImgLowPower, LV_ALIGN_CENTER );
lv_obj_add_flag( ui_ImgLowPower, LV_OBJ_FLAG_CHECKABLE ); /// Flags
ui_ImgFlashlight = lv_img_create(ui_ContainerTop);
lv_img_set_src(ui_ImgFlashlight, &ui_img_s9_png);
lv_obj_set_width( ui_ImgFlashlight, LV_SIZE_CONTENT); /// 1
lv_obj_set_height( ui_ImgFlashlight, LV_SIZE_CONTENT); /// 1
lv_obj_set_x( ui_ImgFlashlight, -2 );
lv_obj_set_y( ui_ImgFlashlight, -1 );
lv_obj_set_align( ui_ImgFlashlight, LV_ALIGN_CENTER );
lv_obj_add_flag( ui_ImgFlashlight, LV_OBJ_FLAG_ADV_HITTEST ); /// Flags
lv_obj_clear_flag( ui_ImgFlashlight, LV_OBJ_FLAG_SCROLLABLE ); /// Flags
ui_ImgDelete = lv_img_create(ui_ContainerTop);
lv_img_set_src(ui_ImgDelete, &ui_img_s6_png);
lv_obj_set_width( ui_ImgDelete, LV_SIZE_CONTENT); /// 1
lv_obj_set_height( ui_ImgDelete, LV_SIZE_CONTENT); /// 1
lv_obj_set_x( ui_ImgDelete, 82 );
lv_obj_set_y( ui_ImgDelete, -1 );
lv_obj_set_align( ui_ImgDelete, LV_ALIGN_CENTER );
lv_obj_add_flag( ui_ImgDelete, LV_OBJ_FLAG_ADV_HITTEST ); /// Flags
lv_obj_clear_flag( ui_ImgDelete, LV_OBJ_FLAG_SCROLLABLE ); /// Flags
ui_ContainerCentral = lv_obj_create(ui_GlobalContainer);
lv_obj_remove_style_all(ui_ContainerCentral);
lv_obj_set_width( ui_ContainerCentral, 230);
lv_obj_set_height( ui_ContainerCentral, 70);
lv_obj_set_x( ui_ContainerCentral, 6 );
lv_obj_set_y( ui_ContainerCentral, 44 );
lv_obj_set_align( ui_ContainerCentral, LV_ALIGN_CENTER );
lv_obj_clear_flag( ui_ContainerCentral, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE ); /// Flags
ui_SliderBrightness = lv_slider_create(ui_ContainerCentral);
lv_slider_set_value( ui_SliderBrightness, 50, LV_ANIM_OFF);
if (lv_slider_get_mode(ui_SliderBrightness)==LV_SLIDER_MODE_RANGE ) lv_slider_set_left_value( ui_SliderBrightness, 0, LV_ANIM_OFF);
lv_obj_set_width( ui_SliderBrightness, 220);
lv_obj_set_height( ui_SliderBrightness, 60);
lv_obj_set_x( ui_SliderBrightness, -3 );
lv_obj_set_y( ui_SliderBrightness, 0 );
lv_obj_set_align( ui_SliderBrightness, LV_ALIGN_CENTER );
lv_obj_set_style_radius(ui_SliderBrightness, 50, LV_PART_MAIN| LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_dir(ui_SliderBrightness, LV_GRAD_DIR_NONE, LV_PART_MAIN| LV_STATE_DEFAULT);
lv_obj_set_style_blend_mode(ui_SliderBrightness, LV_BLEND_MODE_NORMAL, LV_PART_MAIN| LV_STATE_DEFAULT);
lv_obj_set_style_radius(ui_SliderBrightness, 0, LV_PART_INDICATOR| LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(ui_SliderBrightness, lv_color_hex(0x64A8EB), LV_PART_INDICATOR | LV_STATE_DEFAULT );
lv_obj_set_style_bg_opa(ui_SliderBrightness, 255, LV_PART_INDICATOR| LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(ui_SliderBrightness, lv_color_hex(0xFFFFFF), LV_PART_KNOB | LV_STATE_DEFAULT );
lv_obj_set_style_bg_opa(ui_SliderBrightness, 0, LV_PART_KNOB| LV_STATE_DEFAULT);
ui_ImgSun = lv_img_create(ui_ContainerCentral);
lv_img_set_src(ui_ImgSun, &ui_img_s10_png);
lv_obj_set_width( ui_ImgSun, LV_SIZE_CONTENT); /// 1
lv_obj_set_height( ui_ImgSun, LV_SIZE_CONTENT); /// 1
lv_obj_set_x( ui_ImgSun, -78 );
lv_obj_set_y( ui_ImgSun, 0 );
lv_obj_set_align( ui_ImgSun, LV_ALIGN_CENTER );
lv_obj_add_flag( ui_ImgSun, LV_OBJ_FLAG_ADV_HITTEST ); /// Flags
lv_obj_clear_flag( ui_ImgSun, LV_OBJ_FLAG_SCROLLABLE ); /// Flags
ui_LabelBrightness = lv_label_create(ui_ContainerCentral);
lv_obj_set_width( ui_LabelBrightness, LV_SIZE_CONTENT); /// 1
lv_obj_set_height( ui_LabelBrightness, LV_SIZE_CONTENT); /// 1
lv_obj_set_x( ui_LabelBrightness, 6 );
lv_obj_set_y( ui_LabelBrightness, 0 );
lv_obj_set_align( ui_LabelBrightness, LV_ALIGN_CENTER );
lv_label_set_text(ui_LabelBrightness,"50%");
lv_obj_set_style_text_color(ui_LabelBrightness, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT );
lv_obj_set_style_text_opa(ui_LabelBrightness, 255, LV_PART_MAIN| LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_LabelBrightness, &lv_font_montserrat_18, LV_PART_MAIN| LV_STATE_DEFAULT);
ui_ArcPowerLevel = lv_arc_create(ui_GlobalContainer);
lv_obj_set_width( ui_ArcPowerLevel, 320);
lv_obj_set_height( ui_ArcPowerLevel, 320);
lv_obj_set_align( ui_ArcPowerLevel, LV_ALIGN_CENTER );
lv_obj_clear_flag( ui_ArcPowerLevel, LV_OBJ_FLAG_CLICKABLE ); /// Flags
lv_arc_set_value(ui_ArcPowerLevel, 50);
lv_obj_set_style_arc_color(ui_ArcPowerLevel, lv_color_hex(0x39393E), LV_PART_MAIN | LV_STATE_DEFAULT );
lv_obj_set_style_arc_opa(ui_ArcPowerLevel, 255, LV_PART_MAIN| LV_STATE_DEFAULT);
lv_obj_set_style_arc_width(ui_ArcPowerLevel, 16, LV_PART_MAIN| LV_STATE_DEFAULT);
lv_obj_set_style_arc_color(ui_ArcPowerLevel, lv_color_hex(0x19FA29), LV_PART_INDICATOR | LV_STATE_DEFAULT );
lv_obj_set_style_arc_opa(ui_ArcPowerLevel, 255, LV_PART_INDICATOR| LV_STATE_DEFAULT);
lv_obj_set_style_arc_width(ui_ArcPowerLevel, 16, LV_PART_INDICATOR| LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(ui_ArcPowerLevel, lv_color_hex(0x19FA29), LV_PART_KNOB | LV_STATE_DEFAULT );
lv_obj_set_style_bg_opa(ui_ArcPowerLevel, 255, LV_PART_KNOB| LV_STATE_DEFAULT);
ui_ImgLightning = lv_img_create(ui_GlobalContainer);
lv_img_set_src(ui_ImgLightning, &ui_img_s8_png);
lv_obj_set_width( ui_ImgLightning, LV_SIZE_CONTENT); /// 20
lv_obj_set_height( ui_ImgLightning, LV_SIZE_CONTENT); /// 20
lv_obj_set_x( ui_ImgLightning, -23 );
lv_obj_set_y( ui_ImgLightning, 121 );
lv_obj_set_align( ui_ImgLightning, LV_ALIGN_CENTER );
lv_obj_add_flag( ui_ImgLightning, LV_OBJ_FLAG_ADV_HITTEST ); /// Flags
lv_obj_clear_flag( ui_ImgLightning, LV_OBJ_FLAG_SCROLLABLE ); /// Flags
ui_LabelPowerLevel = lv_label_create(ui_GlobalContainer);
lv_obj_set_width( ui_LabelPowerLevel, LV_SIZE_CONTENT); /// 1
lv_obj_set_height( ui_LabelPowerLevel, LV_SIZE_CONTENT); /// 1
lv_obj_set_x( ui_LabelPowerLevel, 26 );
lv_obj_set_y( ui_LabelPowerLevel, 121 );
lv_obj_set_align( ui_LabelPowerLevel, LV_ALIGN_CENTER );
lv_label_set_text(ui_LabelPowerLevel,"70%");
lv_obj_set_style_text_color(ui_LabelPowerLevel, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT );
lv_obj_set_style_text_opa(ui_LabelPowerLevel, 255, LV_PART_MAIN| LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui_LabelPowerLevel, &lv_font_montserrat_20, LV_PART_MAIN| LV_STATE_DEFAULT);
lv_obj_add_event_cb(ui_ImgLowPower, ui_event_ImgLowPower, LV_EVENT_ALL, NULL);
lv_obj_add_event_cb(ui_SliderBrightness, ui_event_SliderBrightness, LV_EVENT_ALL, NULL);
lv_obj_add_event_cb(ui_ScreenSet, ui_event_ScreenSet, LV_EVENT_ALL, NULL);
}
void ui_ScreenSet_screen_destroy(void)
{
if (ui_ScreenSet) lv_obj_del(ui_ScreenSet);
// NULL screen variables
ui_ScreenSet= NULL;
ui_GlobalContainer= NULL;
ui_ContainerTop= NULL;
ui_ImgLowPower= NULL;
ui_ImgFlashlight= NULL;
ui_ImgDelete= NULL;
ui_ContainerCentral= NULL;
ui_SliderBrightness= NULL;
ui_ImgSun= NULL;
ui_LabelBrightness= NULL;
ui_ArcPowerLevel= NULL;
ui_ImgLightning= NULL;
ui_LabelPowerLevel= NULL;
}