4646 #include " ../../../MarlinCore.h" // for printingIsActive
4747#endif
4848
49-
5049#if ENABLED(DWIN_MARLINUI_PORTRAIT)
51- #define STATUS_HEATERS_X 15
52- #define STATUS_HEATERS_Y 56
50+ #define STATUS_HEATERS_X 15
51+ #define STATUS_HEATERS_Y 56
5352#else
54- #define STATUS_HEATERS_X 154
55- #define STATUS_HEATERS_Y 10
53+ #define STATUS_HEATERS_X 154
54+ #define STATUS_HEATERS_Y 10
5655#endif
5756#define STATUS_HEATERS_XSPACE 64
5857#define STATUS_FAN_WIDTH 48
6968FORCE_INLINE void _draw_axis_value (const AxisEnum axis, const char *value, const bool blink, const uint16_t x, const uint16_t y) {
7069
7170 #if ENABLED(DWIN_MARLINUI_PORTRAIT)
71+
7272 uint8_t vallen = utf8_strlen (value);
7373 if (!ui.did_first_redraw ) {
7474 dwin_string.set ();
@@ -79,25 +79,21 @@ FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const
7979 dwin_string.set ();
8080 if (blink)
8181 dwin_string.add (value);
82- else {
83- if (!TEST (axis_homed, axis))
84- while (const char c = *value++) dwin_string.add (c <= ' .' ? c : ' ?' );
85- else {
86- #if NONE(HOME_AFTER_DEACTIVATE, DISABLE_REDUCED_ACCURACY_WARNING)
87- if (!TEST (axis_trusted, axis))
88- dwin_string.add (TERN1 (DWIN_MARLINUI_PORTRAIT, axis == Z_AXIS) ? PSTR (" " ) : PSTR (" " ));
89- else
90- #endif
91- dwin_string.add (value);
92- }
93- }
82+ else if (!TEST (axis_homed, axis))
83+ while (const char c = *value++) dwin_string.add (c <= ' .' ? c : ' ?' );
84+ else if (NONE (HOME_AFTER_DEACTIVATE, DISABLE_REDUCED_ACCURACY_WARNING) && !TEST (axis_trusted, axis))
85+ dwin_string.add (TERN1 (DWIN_MARLINUI_PORTRAIT, axis == Z_AXIS) ? PSTR (" " ) : PSTR (" " ));
86+ else
87+ dwin_string.add (value);
9488
9589 // For E_TOTAL there may be some characters to cover up
9690 if (BOTH (DWIN_MARLINUI_PORTRAIT, LCD_SHOW_E_TOTAL) && axis == X_AXIS)
9791 dwin_string.add (" " );
9892
9993 DWIN_Draw_String (true , font14x28, Color_White, Color_Bg_Black, x, y + 32 , S (dwin_string.string ()));
100- #else
94+
95+ #else // !DWIN_MARLINUI_PORTRAIT
96+
10197 if (!ui.did_first_redraw ) {
10298 dwin_string.set ();
10399 dwin_string.add (' X' + axis);
@@ -125,7 +121,8 @@ FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const
125121 dwin_string.add (" " );
126122
127123 DWIN_Draw_String (true , font14x28, Color_White, Color_Bg_Black, x + 32 , y + 4 , S (dwin_string.string ()));
128- #endif
124+
125+ #endif // !DWIN_MARLINUI_PORTRAIT
129126}
130127
131128#if ENABLED(LCD_SHOW_E_TOTAL)
@@ -134,19 +131,22 @@ FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const
134131 const uint8_t scale = value >= 100000 .0f ? 10 : 1 ; // show cm after 99,999mm
135132
136133 #if ENABLED(DWIN_MARLINUI_PORTRAIT)
134+
137135 if (!ui.did_first_redraw ) {
138- // Extra spaces so we don't have to clear the 'Y' label separately
136+ // Extra spaces to erase previous value
139137 dwin_string.set (" E " );
140138 DWIN_Draw_String (true , font16x32, Color_IconBlue, Color_Bg_Black, x + (4 * 14 / 2 ) - 7 , y + 2 , S (dwin_string.string ()));
141139 }
142140
143141 dwin_string.set (ui16tostr5rj (value / scale));
144142 DWIN_Draw_String (true , font14x28, Color_White, Color_Bg_Black, x, y + 32 , S (dwin_string.string ()));
145143
146- // Extra spaces so we don't have to clear out the Y value separately
144+ // Extra spaces to erase previous value
147145 DWIN_Draw_String (true , font14x28, Color_IconBlue, Color_Bg_Black, x + (5 * 14 ), y + 32 , S (scale == 1 ? " mm " : " cm " ));
146+
148147 #else
149- if (!ui.did_first_redraw ) {
148+
149+ if (!ui.did_first_redraw ) {
150150 dwin_string.set (" E " );
151151 DWIN_Draw_String (true , font16x32, Color_IconBlue, Color_Bg_Black, x, y, S (dwin_string.string ()));
152152 }
@@ -155,6 +155,7 @@ FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const
155155 DWIN_Draw_String (true , font14x28, Color_White, Color_Bg_Black, x + 32 , y + 4 , S (dwin_string.string ()));
156156
157157 DWIN_Draw_String (true , font14x28, Color_IconBlue, Color_Bg_Black, x + (32 + 70 ), y + 4 , S (scale == 1 ? " mm " : " cm " ));
158+
158159 #endif
159160 }
160161
@@ -269,18 +270,22 @@ void MarlinUI::draw_status_screen() {
269270 // Logo/Status Icon
270271 #define STATUS_LOGO_WIDTH 128
271272 #define STATUS_LOGO_HEIGHT 40
272- #if ENABLED(DWIN_MARLINUI_PORTRAIT)
273- DWIN_ICON_Show (ICON, ICON_LOGO_Marlin, (LCD_PIXEL_WIDTH - (STATUS_LOGO_WIDTH)) / 2 , ((STATUS_HEATERS_Y - 4 ) - (STATUS_LOGO_HEIGHT)) / 2 );
274- #else
275- DWIN_ICON_Show (ICON, ICON_LOGO_Marlin, 5 , 42 );
276- #endif
273+ DWIN_ICON_Show (ICON, ICON_LOGO_Marlin,
274+ #if ENABLED(DWIN_MARLINUI_PORTRAIT)
275+ (LCD_PIXEL_WIDTH - (STATUS_LOGO_WIDTH)) / 2 , ((STATUS_HEATERS_Y - 4 ) - (STATUS_LOGO_HEIGHT)) / 2
276+ #else
277+ 5 , 42
278+ #endif
279+ );
277280
278281 // Draw a frame around the x/y/z values
279- #if ENABLED(DWIN_MARLINUI_PORTRAIT)
280- DWIN_Draw_Rectangle (0 , Select_Color, 0 , 193 , LCD_PIXEL_WIDTH, 260 );
281- #else
282- DWIN_Draw_Rectangle (0 , Select_Color, 0 , 115 , LCD_PIXEL_WIDTH-1 , 152 );
283- #endif
282+ DWIN_Draw_Rectangle (0 , Select_Color,
283+ #if ENABLED(DWIN_MARLINUI_PORTRAIT)
284+ 0 , 193 , LCD_PIXEL_WIDTH, 260
285+ #else
286+ 0 , 115 , LCD_PIXEL_WIDTH - 1 , 152
287+ #endif
288+ );
284289 }
285290
286291 uint16_t hx = STATUS_HEATERS_X;
@@ -297,12 +302,7 @@ void MarlinUI::draw_status_screen() {
297302 #endif
298303
299304 #if HAS_FAN
300- // Fan display, pinned to the right side
301- // #if ENABLED(DWIN_MARLINUI_PORTRAIT)
302- _draw_fan_status (LCD_PIXEL_WIDTH - STATUS_CHR_WIDTH * 5 , STATUS_FAN_Y);
303- // #else
304- // _draw_fan_status(212, STATUS_FAN_Y);
305- // #endif
305+ _draw_fan_status (LCD_PIXEL_WIDTH - STATUS_CHR_WIDTH * 5 , STATUS_FAN_Y);
306306 #endif
307307
308308 // Axis values
@@ -311,21 +311,21 @@ void MarlinUI::draw_status_screen() {
311311
312312 constexpr int16_t cpy = TERN (DWIN_MARLINUI_PORTRAIT, 195 , 117 );
313313 if (show_e_total) {
314- TERN_ (LCD_SHOW_E_TOTAL, _draw_e_value (e_move_accumulator, TERN (DWIN_MARLINUI_PORTRAIT,6 , 75 ), cpy));
314+ TERN_ (LCD_SHOW_E_TOTAL, _draw_e_value (e_move_accumulator, TERN (DWIN_MARLINUI_PORTRAIT, 6 , 75 ), cpy));
315315 }
316316 else {
317- _draw_axis_value (X_AXIS, ftostr4sign (lpos.x ), blink, TERN (DWIN_MARLINUI_PORTRAIT,6 , 75 ), cpy);
318- TERN_ (HAS_Y_AXIS, _draw_axis_value (Y_AXIS, ftostr4sign (lpos.y ), blink, TERN (DWIN_MARLINUI_PORTRAIT,95 ,184 ), cpy));
317+ _draw_axis_value (X_AXIS, ftostr4sign (lpos.x ), blink, TERN (DWIN_MARLINUI_PORTRAIT, 6 , 75 ), cpy);
318+ TERN_ (HAS_Y_AXIS, _draw_axis_value (Y_AXIS, ftostr4sign (lpos.y ), blink, TERN (DWIN_MARLINUI_PORTRAIT, 95 , 184 ), cpy));
319319 }
320- TERN_ (HAS_Z_AXIS, _draw_axis_value (Z_AXIS, ftostr52sp (lpos.z ), blink, TERN (DWIN_MARLINUI_PORTRAIT,165 ,300 ), cpy));
320+ TERN_ (HAS_Z_AXIS, _draw_axis_value (Z_AXIS, ftostr52sp (lpos.z ), blink, TERN (DWIN_MARLINUI_PORTRAIT, 165 , 300 ), cpy));
321321
322322 // Feedrate
323323 static uint16_t old_fp = 0 ;
324324 if (!ui.did_first_redraw || old_fp != feedrate_percentage) {
325325 old_fp = feedrate_percentage;
326326 _draw_feedrate_status (i16tostr3rj (feedrate_percentage),
327327 #if ENABLED(DWIN_MARLINUI_PORTRAIT)
328- 5 , 290
328+ 5 , 290
329329 #else
330330 14 , 195
331331 #endif
@@ -370,26 +370,27 @@ void MarlinUI::draw_status_screen() {
370370 if (print_job_timer.isRunning ()) {
371371 time = get_remaining_time ();
372372 DWIN_Draw_String (true , font14x28, Color_IconBlue, Color_Bg_Black, 336 , 170 , S (" R " ));
373- if (print_job_timer.isPaused () && blink) {
373+ if (print_job_timer.isPaused () && blink)
374374 dwin_string.set (" " );
375- } else {
375+ else {
376376 time.toDigital (buffer);
377377 dwin_string.set (buffer);
378378 }
379379 DWIN_Draw_String (true , font14x28, Color_White, Color_Bg_Black, 378 , 170 , S (dwin_string.string ()));
380- } else {
381- if (!ui.did_first_redraw ) {
382- dwin_string.set (" " );
383- DWIN_Draw_String (true , font14x28, Color_IconBlue, Color_Bg_Black, 336 , 170 , S (dwin_string.string ()));
384- }
380+ }
381+ else if (!ui.did_first_redraw ) {
382+ dwin_string.set (" " );
383+ DWIN_Draw_String (true , font14x28, Color_IconBlue, Color_Bg_Black, 336 , 170 , S (dwin_string.string ()));
385384 }
386385 #endif
387386 #endif
388387
389388 //
390389 // Progress Bar
391390 //
392- constexpr int16_t pb_margin = 5 , pb_left = TERN (DWIN_MARLINUI_PORTRAIT, pb_margin, pb_margin + 90 ), pb_height = TERN (DWIN_MARLINUI_PORTRAIT, 60 , 20 ),
391+ constexpr int16_t pb_margin = 5 ,
392+ pb_left = pb_margin + TERN (DWIN_MARLINUI_PORTRAIT, 0 , 90 ),
393+ pb_height = TERN (DWIN_MARLINUI_PORTRAIT, 60 , 20 ),
393394 pb_right = LCD_PIXEL_WIDTH - pb_margin,
394395 pb_bottom = TERN (DWIN_MARLINUI_PORTRAIT, 410 , 220 ),
395396 pb_top = pb_bottom - pb_height,
0 commit comments