From 796886772eac74a91d6be399861b38c8a2ab1726 Mon Sep 17 00:00:00 2001 From: philmoz Date: Wed, 1 May 2024 09:57:47 +1000 Subject: [PATCH] fix(color): don't enlarge image in the file preview window (#4943) --- radio/src/gui/colorlcd/file_preview.cpp | 1 + radio/src/thirdparty/libopenui/src/static.cpp | 4 +++- radio/src/thirdparty/libopenui/src/static.h | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/radio/src/gui/colorlcd/file_preview.cpp b/radio/src/gui/colorlcd/file_preview.cpp index 429f1fb98a8..234bf6fbed4 100644 --- a/radio/src/gui/colorlcd/file_preview.cpp +++ b/radio/src/gui/colorlcd/file_preview.cpp @@ -25,6 +25,7 @@ FilePreview::FilePreview(Window *parent, const rect_t &rect) : StaticImage(parent, rect) { hide(); + dontEnlarge = true; } void FilePreview::setFile(const char *filename) diff --git a/radio/src/thirdparty/libopenui/src/static.cpp b/radio/src/thirdparty/libopenui/src/static.cpp index d440d86db98..38a71554f4a 100644 --- a/radio/src/thirdparty/libopenui/src/static.cpp +++ b/radio/src/thirdparty/libopenui/src/static.cpp @@ -235,7 +235,9 @@ void StaticImage::setZoom() if (img && img->w && img->h) { uint16_t zw = (width() * 256) / img->w; uint16_t zh = (height() * 256) / img->h; - lv_img_set_zoom(image, min(zw, zh)); + uint16_t z = min(zw, zh); + if (dontEnlarge) z = min(z, (uint16_t)256); + lv_img_set_zoom(image, z); } } diff --git a/radio/src/thirdparty/libopenui/src/static.h b/radio/src/thirdparty/libopenui/src/static.h index 3f569ff26f9..c447eb41249 100644 --- a/radio/src/thirdparty/libopenui/src/static.h +++ b/radio/src/thirdparty/libopenui/src/static.h @@ -154,6 +154,7 @@ class StaticImage : public Window bool hasImage() const; protected: + bool dontEnlarge = false; lv_obj_t *image = nullptr; };