From 3714e053959be385e87ed55873a3adea544fe587 Mon Sep 17 00:00:00 2001 From: DiSlord Date: Mon, 9 Mar 2020 22:47:35 +0300 Subject: [PATCH] Fix artifacts after marker move (For faster screen update on marker move, all old area update info invalidate after use draw_all_cells(TRUE) on page switch) Force redraw all cells after end marker move --- nanovna.h | 1 + plot.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/nanovna.h b/nanovna.h index 4a2063c..826a0f2 100644 --- a/nanovna.h +++ b/nanovna.h @@ -284,6 +284,7 @@ int marker_search_right(int from); #define REDRAW_CAL_STATUS (1<<2) #define REDRAW_MARKER (1<<3) #define REDRAW_BATTERY (1<<4) +#define REDRAW_AREA (1<<5) extern volatile uint8_t redraw_request; /* diff --git a/plot.c b/plot.c index 39d0e9b..8d3b1ca 100644 --- a/plot.c +++ b/plot.c @@ -1383,6 +1383,8 @@ draw_all(bool flush) draw_cal_status(); if (redraw_request & REDRAW_BATTERY) draw_battery_status(); + if (redraw_request & REDRAW_AREA) + force_set_markmap(); redraw_request = 0; } @@ -1398,6 +1400,8 @@ redraw_marker(int marker) markmap_upperarea(); draw_all_cells(TRUE); + // Fores redraw all area after (disable artefacts after fast marker update area) + redraw_request|=REDRAW_AREA; } void