Fix some LVGL bugs (#19904)

2.0.x
Victor Oliveira 4 years ago committed by GitHub
parent a74e82fbae
commit 75b0e3246a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -21,7 +21,7 @@
*/ */
#pragma once #pragma once
#include "../../inc/MarlinConfigPre.h" #include "../../../../inc/MarlinConfigPre.h"
#if HAS_TFT_LVGL_UI #if HAS_TFT_LVGL_UI

@ -50,20 +50,7 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
void lv_draw_about(void) { void lv_draw_about(void) {
scr = lv_screen_create(ABOUT_UI); scr = lv_screen_create(ABOUT_UI);
lv_big_button_create(scr, "F:/bmp_return.bin", common_menu.text_back, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_A_RETURN);
// Create an Image button
lv_obj_t *buttonBack = lv_imgbtn_create(scr, "F:/bmp_return.bin", BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight, event_handler, ID_A_RETURN);
#if HAS_ROTARY_ENCODER
if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack);
#endif
// Create a label on the image button
lv_obj_t *label_Back = lv_label_create_empty(buttonBack);
if (gCfgItems.multiple_language) {
lv_label_set_text(label_Back, common_menu.text_back);
lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET);
}
//fw_version = lv_label_create(scr, SHORT_BUILD_VERSION); //fw_version = lv_label_create(scr, SHORT_BUILD_VERSION);
//lv_obj_align(fw_version, nullptr, LV_ALIGN_CENTER, 0, -60); //lv_obj_align(fw_version, nullptr, LV_ALIGN_CENTER, 0, -60);

@ -214,7 +214,7 @@ void lv_draw_dialog(uint8_t type) {
uiCfg.dialogType = type; uiCfg.dialogType = type;
scr = lv_screen_create(DIALOG_UI); scr = lv_screen_create(DIALOG_UI);
lv_obj_t *labelDialog = lv_label_create_empty(scr); lv_obj_t *labelDialog = lv_label_create(scr, "");
if (DIALOG_IS(TYPE_FINISH_PRINT, PAUSE_MESSAGE_RESUME)) { if (DIALOG_IS(TYPE_FINISH_PRINT, PAUSE_MESSAGE_RESUME)) {
btnOk = lv_button_btn_create(scr, BTN_OK_X + 90, BTN_OK_Y, 100, 50, btn_ok_event_cb); btnOk = lv_button_btn_create(scr, BTN_OK_X + 90, BTN_OK_Y, 100, 50, btn_ok_event_cb);

@ -208,11 +208,6 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
void lv_draw_print_file(void) { void lv_draw_print_file(void) {
//uint8_t i; //uint8_t i;
uint8_t file_count; uint8_t file_count;
if (disp_state_stack._disp_state[disp_state_stack._disp_index] != PRINT_FILE_UI) {
disp_state_stack._disp_index++;
disp_state_stack._disp_state[disp_state_stack._disp_index] = PRINT_FILE_UI;
}
disp_state = PRINT_FILE_UI;
curDirLever = 0; curDirLever = 0;
dir_offset[curDirLever].curPage = 0; dir_offset[curDirLever].curPage = 0;
@ -252,7 +247,7 @@ static char test_public_buf_l[40];
void disp_gcode_icon(uint8_t file_num) { void disp_gcode_icon(uint8_t file_num) {
uint8_t i; uint8_t i;
scr = lv_screen_create(MAIN_UI, ""); scr = lv_screen_create(PRINT_FILE_UI, "");
// Create image buttons // Create image buttons
buttonPageUp = lv_imgbtn_create(scr, "F:/bmp_pageUp.bin", OTHER_BTN_XPIEL * 3 + INTERVAL_V * 4, titleHeight, event_handler, ID_P_UP); buttonPageUp = lv_imgbtn_create(scr, "F:/bmp_pageUp.bin", OTHER_BTN_XPIEL * 3 + INTERVAL_V * 4, titleHeight, event_handler, ID_P_UP);

@ -1640,7 +1640,6 @@ lv_obj_t* lv_screen_create(DISP_STATE newScreenType, const char* title) {
disp_state_stack._disp_state[disp_state_stack._disp_index] = newScreenType; disp_state_stack._disp_state[disp_state_stack._disp_index] = newScreenType;
} }
disp_state = newScreenType; disp_state = newScreenType;
lv_refr_now(lv_refr_get_disp_refreshing());
// title // title
lv_obj_t *titleLabel = nullptr; lv_obj_t *titleLabel = nullptr;
@ -1651,18 +1650,22 @@ lv_obj_t* lv_screen_create(DISP_STATE newScreenType, const char* title) {
if (titleLabel) if (titleLabel)
lv_obj_set_style(titleLabel, &tft_style_label_rel); lv_obj_set_style(titleLabel, &tft_style_label_rel);
lv_refr_now(lv_refr_get_disp_refreshing());
return scr; return scr;
} }
// Create an empty label // Create an empty label
lv_obj_t* lv_label_create_empty(lv_obj_t *par) { lv_obj_t* lv_label_create_empty(lv_obj_t *par) {
return lv_label_create(par, (lv_obj_t*)nullptr); lv_obj_t *label = lv_label_create(par, (lv_obj_t*)nullptr);
return label;
} }
// Create a label with style and text // Create a label with style and text
lv_obj_t* lv_label_create(lv_obj_t *par, const char *text) { lv_obj_t* lv_label_create(lv_obj_t *par, const char *text) {
lv_obj_t *label = lv_label_create_empty(par); lv_obj_t *label = lv_label_create_empty(par);
if (text) lv_label_set_text(label, text); if (text) lv_label_set_text(label, text);
lv_obj_set_style(label, &tft_style_label_rel);
return label; return label;
} }

@ -86,7 +86,7 @@
#include "draw_wifi_tips.h" #include "draw_wifi_tips.h"
#endif #endif
#include "../../inc/MarlinConfigPre.h" #include "../../../../inc/MarlinConfigPre.h"
#define FILE_SYS_USB 0 #define FILE_SYS_USB 0
#define FILE_SYS_SD 1 #define FILE_SYS_SD 1

@ -43,7 +43,7 @@
#include "../../../../MarlinCore.h" #include "../../../../MarlinCore.h"
#include "../../../../inc/MarlinConfig.h" #include "../../../../inc/MarlinConfig.h"
#include HAL_PATH(../../HAL, tft/xpt2046.h) #include HAL_PATH(../../../../HAL, tft/xpt2046.h)
#include "../../../marlinui.h" #include "../../../marlinui.h"
XPT2046 touch; XPT2046 touch;

@ -25,7 +25,7 @@
extern "C" { /* C-declarations for C++ */ extern "C" { /* C-declarations for C++ */
#endif #endif
#include "../../inc/MarlinConfigPre.h" #include "../../../../inc/MarlinConfigPre.h"
#include <math.h> #include <math.h>
#include <stdio.h> #include <stdio.h>

Loading…
Cancel
Save