From f0d963386f9c2d6cbd1d68e1de411cef35adddfc Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 10 Mar 2021 10:43:36 +0100 Subject: [PATCH] Avoid a invalidate when not needed --- radio/src/thirdparty/libopenui/src/progress.h | 12 +++++++----- radio/src/thirdparty/libopenui/src/static.h | 9 ++++++--- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/radio/src/thirdparty/libopenui/src/progress.h b/radio/src/thirdparty/libopenui/src/progress.h index 7653382bb..5cd59cdc6 100644 --- a/radio/src/thirdparty/libopenui/src/progress.h +++ b/radio/src/thirdparty/libopenui/src/progress.h @@ -21,7 +21,8 @@ #include "window.h" -class Progress : public Window { +class Progress: public Window +{ public: Progress(Window * parent, const rect_t & rect): Window(parent, rect) @@ -35,10 +36,12 @@ class Progress : public Window { } #endif - void setValue(int value) + void setValue(int newValue) { - this->value = value; - invalidate(); + if (newValue != value) { + value = newValue; + invalidate(); + } } void paint(BitmapBuffer * dc) override; @@ -46,4 +49,3 @@ class Progress : public Window { protected: int value = 0; }; - diff --git a/radio/src/thirdparty/libopenui/src/static.h b/radio/src/thirdparty/libopenui/src/static.h index e66315ce5..d7baa0a5a 100644 --- a/radio/src/thirdparty/libopenui/src/static.h +++ b/radio/src/thirdparty/libopenui/src/static.h @@ -45,8 +45,10 @@ class StaticText: public Window void setText(std::string value) { - text = std::move(value); - invalidate(); + if (text != value) { + text = std::move(value); + invalidate(); + } } void setBackgroundColor(LcdFlags color) @@ -59,7 +61,8 @@ class StaticText: public Window LcdFlags bgColor = 0; }; -class Subtitle: public StaticText { +class Subtitle: public StaticText +{ public: Subtitle(Window * parent, const rect_t & rect, const char * text): StaticText(parent, rect, text, 0, FONT(BOLD))