From e56cffafa9cbba15e59ceb476d237815fa056f5e Mon Sep 17 00:00:00 2001 From: philmoz Date: Mon, 28 Aug 2023 19:07:59 +1000 Subject: [PATCH] feat(color): Replace static bitmap QR code with LVGL generated QR code (#3880) --- .../480x272/default_theme/mask_qrcode.png | Bin 1465 -> 0 bytes radio/src/gui/colorlcd/view_about.cpp | 14 ++++---------- radio/src/lv_conf.h | 2 +- 3 files changed, 5 insertions(+), 11 deletions(-) delete mode 100644 radio/src/bitmaps/480x272/default_theme/mask_qrcode.png diff --git a/radio/src/bitmaps/480x272/default_theme/mask_qrcode.png b/radio/src/bitmaps/480x272/default_theme/mask_qrcode.png deleted file mode 100644 index 0cd2591f29e98d89921dffb29ce91b871a3e5c1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1465 zcmV;q1xEUbP)6ciK{6%`g178e&67#J8C85tTH8XFrM92^`S9UUGX9v>ecARr(iAt53nA|oRs zBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7EiEoCE-x=HFfcGNF)=bSGBYzXG&D3d zH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?K0iM{KtMo2K|w-7LPJACL_|bIMMXwN zMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuyP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7 zSXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?WjVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@ zX=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2Ta&vQYbaZreb#-=jc6WDoczAeud3kzz zdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyDgoK2Jg@uNOhKGlTh=_=ZiHVAeii?Yj zjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}m6ev3mY0{8n3$NEnVFiJnwy)OoSdAU zot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(rl+T;sHmu^si~@}s;jH3tgNi9t*x%E zuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#pxVX5vxw*Q!y1To(yu7@dCU$jHda$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD) z(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa z^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg={r&#_{{R2~;;>zP00009a7bBm001r{ z001r{0eGc9b^rhZUr9tkRCt{2)=P53Fbo4w-~ZC-&MhSXq*U9{$l$8c2YTdWGCe*^ z*70osF0)2zY1WYzyG}OG^(LbFkXdG}#cH0pm!&3>E=gADqFI}>z!#A1#Z!YU_RjxU z-KTVHW|=j^0_g<*6f3Uxr%=3EYp@tZ)m^MlJn-p?a^nfJ%qp5G|Q|l zS*qf_W~p|n{?J9N!6mcSVWG`hM3psDBM**;o3$y6J$N;XAGnJZPnq>zRJ_v{KEqpBVUoFzYhbl{J&BSg3(+rl9j03yjmOH?dIO6LkkGAD~%gE%BAF6;Bau z!~xc_%-V>>GEw?;oe__+O2cTf@FdOp8mk^5vwBub{@XcO(&o5K#`!^~%-WFE2h*=< z&MMWFEHYF2m>@L?W|?)#f7PI;2Uz_~+o`Z6vmRj8D!vN(0iolp_KAL74#O<7hFIiy zv}s6%1&XnV0R(Dk%ra|Bma3eEpU9K%V~KU$K}ZhMHp{GAS<97KBW2b|Ez0@00000NkvXXu0mjf70bpQ diff --git a/radio/src/gui/colorlcd/view_about.cpp b/radio/src/gui/colorlcd/view_about.cpp index 88d450ae2..6eaeb47d5 100644 --- a/radio/src/gui/colorlcd/view_about.cpp +++ b/radio/src/gui/colorlcd/view_about.cpp @@ -24,16 +24,13 @@ #include "opentx.h" #include "stamp.h" -const uint8_t mask_qrcode[] = { -#include "mask_qrcode.lbm" -}; - #if defined(VERSION_TAG) const std::string about_str = "EdgeTX" " (" VERSION_TAG ")\n" "\"" CODENAME "\"" ; #else const std::string about_str = "EdgeTX" " (" VERSION "-" VERSION_SUFFIX ")"; #endif const std::string copyright_str = "Copyright (C) 2023 EdgeTX"; +const std::string edgetx_url = "https://edgetx.org"; AboutUs::AboutUs() : MessageDialog(MainWindow::instance(), STR_ABOUT_US, "", "", @@ -62,12 +59,9 @@ AboutUs::AboutUs() : messageWidget->setText(about_str + "\n" + copyright_str); - qrcode = BitmapBuffer::load8bitMaskLZ4(mask_qrcode); - new StaticBitmap(content, - rect_t{content->width() / 2 - qrcode->width() / 2, - TOP_PADDING + (NUM_LINES * PAGE_LINE_HEIGHT), - qrcode->width(), qrcode->height()}, - qrcode, COLOR_THEME_SECONDARY1); + auto qr = lv_qrcode_create(content->getLvObj(), 150, makeLvColor(COLOR_THEME_SECONDARY1), makeLvColor(COLOR_THEME_SECONDARY3)); + lv_obj_set_pos(qr, (content->width() - 150) / 2, TOP_PADDING + (NUM_LINES * PAGE_LINE_HEIGHT) - 5); + lv_qrcode_update(qr, edgetx_url.c_str(), edgetx_url.length()); } AboutUs::~AboutUs() { delete qrcode; } diff --git a/radio/src/lv_conf.h b/radio/src/lv_conf.h index 120cab159..6620c61f4 100644 --- a/radio/src/lv_conf.h +++ b/radio/src/lv_conf.h @@ -772,7 +772,7 @@ #define LV_USE_GIF 0 /*QR code library*/ -#define LV_USE_QRCODE 0 +#define LV_USE_QRCODE 1 /*FreeType library*/ #define LV_USE_FREETYPE 0