Fix some LVGL bugs (#19904)
This commit is contained in:
		
							parent
							
								
									3bab0fccc2
								
							
						
					
					
						commit
						5a74114e23
					
				@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user