From 4e352b9894982b57119b09e61a7c77c2f0649371 Mon Sep 17 00:00:00 2001 From: Justin Mitchell Date: Sun, 21 Jun 2026 01:24:22 -0400 Subject: [PATCH] Fix code formatting and include order Break long line in BookMetadataCache.cpp for better readability and move include directive to top of file in Logging.cpp to follow style guidelines. --- lib/Epub/Epub/BookMetadataCache.cpp | 3 +- lib/Logging/Logging.cpp | 4 +- lib/hal/HalClock.cpp | 4 +- src/MappedInputManager.cpp | 4 +- src/SettingsList.h | 9 +- src/activities/ActivityManager.cpp | 3 +- .../browser/OpdsBookBrowserActivity.cpp | 2 +- .../settings/FontDownloadActivity.cpp | 2 +- .../settings/KOReaderSettingsActivity.cpp | 2 +- .../settings/OpdsSettingsActivity.cpp | 2 +- src/activities/util/KeyboardEntryActivity.cpp | 3 +- src/components/icons/generated_icons.h | 552 ++++++++++++++++-- src/components/themes/BaseTheme.cpp | 42 +- src/components/themes/BaseTheme.h | 16 +- .../themes/lyra/Lyra3CoversTheme.cpp | 31 +- src/components/themes/lyra/LyraTheme.cpp | 119 ++-- .../themes/roundedraff/RoundedRaffTheme.cpp | 36 +- src/main.cpp | 4 +- 18 files changed, 639 insertions(+), 199 deletions(-) diff --git a/lib/Epub/Epub/BookMetadataCache.cpp b/lib/Epub/Epub/BookMetadataCache.cpp index f3089b68..00205a37 100644 --- a/lib/Epub/Epub/BookMetadataCache.cpp +++ b/lib/Epub/Epub/BookMetadataCache.cpp @@ -496,7 +496,8 @@ BookMetadataCache::TocEntry BookMetadataCache::getTocEntry(const int index) { BookMetadataCache::SpineEntry BookMetadataCache::readSpineEntry(HalFile& file) const { SpineEntry entry; if (!readStringBounded(file, entry.href) || - file.read(&entry.cumulativeSize, sizeof(entry.cumulativeSize)) != static_cast(sizeof(entry.cumulativeSize)) || + file.read(&entry.cumulativeSize, sizeof(entry.cumulativeSize)) != + static_cast(sizeof(entry.cumulativeSize)) || file.read(&entry.tocIndex, sizeof(entry.tocIndex)) != static_cast(sizeof(entry.tocIndex))) { LOG_ERR("BMC", "Invalid spine cache entry"); return {}; diff --git a/lib/Logging/Logging.cpp b/lib/Logging/Logging.cpp index 8f9298cd..f418663a 100644 --- a/lib/Logging/Logging.cpp +++ b/lib/Logging/Logging.cpp @@ -1,10 +1,10 @@ +#include "Logging.h" + #include #include #include -#include "Logging.h" - #define MAX_ENTRY_LEN 256 #define MAX_LOG_LINES 16 diff --git a/lib/hal/HalClock.cpp b/lib/hal/HalClock.cpp index 6115535d..d6be411a 100644 --- a/lib/hal/HalClock.cpp +++ b/lib/hal/HalClock.cpp @@ -222,8 +222,8 @@ bool HalClock::syncFromNTP() { _cachedHour = dt.hour; _cachedMinute = dt.minute; _hasCachedTime = true; - LOG_INF("CLK", "RTC set to %04u-%02u-%02u %02u:%02u:%02u UTC", dt.year, dt.month, dt.day, dt.hour, - dt.minute, dt.second); + LOG_INF("CLK", "RTC set to %04u-%02u-%02u %02u:%02u:%02u UTC", dt.year, dt.month, dt.day, dt.hour, dt.minute, + dt.second); return true; } return false; diff --git a/src/MappedInputManager.cpp b/src/MappedInputManager.cpp index ce64ee0d..7d5d8416 100644 --- a/src/MappedInputManager.cpp +++ b/src/MappedInputManager.cpp @@ -120,8 +120,8 @@ bool MappedInputManager::wasBackGesture() const { return true; } // Else the top-left corner, for screens with no Back target (e.g. the reader). - const bool isTopLeftBack = lx <= renderer.getScreenWidth() * BACK_GESTURE_FRAC_X && - ly <= renderer.getScreenHeight() * BACK_GESTURE_FRAC_Y; + const bool isTopLeftBack = + lx <= renderer.getScreenWidth() * BACK_GESTURE_FRAC_X && ly <= renderer.getScreenHeight() * BACK_GESTURE_FRAC_Y; if (isTopLeftBack) rememberTouchHeldTime(); return isTopLeftBack; } diff --git a/src/SettingsList.h b/src/SettingsList.h index b61534ef..b8c0d8b6 100644 --- a/src/SettingsList.h +++ b/src/SettingsList.h @@ -266,18 +266,15 @@ inline std::vector getSettingsList(const SdCardFontRegistry* regist v.end()); for (auto it = v.begin(); it != v.end(); ++it) { if (it->nameId == StrId::STR_SIDE_BTN_LAYOUT) { - v.insert(it, SettingInfo::Toggle(StrId::STR_TOUCH_READER_CONTROLS, - &CrossPointSettings::touchReaderControls, "touchReaderControls", - StrId::STR_CAT_CONTROLS)); + v.insert(it, SettingInfo::Toggle(StrId::STR_TOUCH_READER_CONTROLS, &CrossPointSettings::touchReaderControls, + "touchReaderControls", StrId::STR_CAT_CONTROLS)); break; } } } if (BoardConfig::hasTouch()) { v.erase(std::remove_if(v.begin(), v.end(), - [](const SettingInfo& s) { - return s.nameId == StrId::STR_FRONT_BTN_FOLLOW_ORIENTATION; - }), + [](const SettingInfo& s) { return s.nameId == StrId::STR_FRONT_BTN_FOLLOW_ORIENTATION; }), v.end()); } diff --git a/src/activities/ActivityManager.cpp b/src/activities/ActivityManager.cpp index 175f1d80..731f2d57 100644 --- a/src/activities/ActivityManager.cpp +++ b/src/activities/ActivityManager.cpp @@ -5,12 +5,11 @@ #include -#include "components/TouchRegistry.h" - #include "OpdsServerStore.h" #include "boot_sleep/BootActivity.h" #include "boot_sleep/SleepActivity.h" #include "browser/OpdsBookBrowserActivity.h" +#include "components/TouchRegistry.h" #include "home/CrashActivity.h" #include "home/FileBrowserActivity.h" #include "home/HomeActivity.h" diff --git a/src/activities/browser/OpdsBookBrowserActivity.cpp b/src/activities/browser/OpdsBookBrowserActivity.cpp index 95564b5e..b36ce0e0 100644 --- a/src/activities/browser/OpdsBookBrowserActivity.cpp +++ b/src/activities/browser/OpdsBookBrowserActivity.cpp @@ -1,7 +1,7 @@ #include "OpdsBookBrowserActivity.h" -#include #include +#include #include #include #include diff --git a/src/activities/settings/FontDownloadActivity.cpp b/src/activities/settings/FontDownloadActivity.cpp index 2bf24314..dc808e5e 100644 --- a/src/activities/settings/FontDownloadActivity.cpp +++ b/src/activities/settings/FontDownloadActivity.cpp @@ -1,8 +1,8 @@ #include "FontDownloadActivity.h" #include -#include #include +#include #include #include #include diff --git a/src/activities/settings/KOReaderSettingsActivity.cpp b/src/activities/settings/KOReaderSettingsActivity.cpp index aa53702d..8d257e96 100644 --- a/src/activities/settings/KOReaderSettingsActivity.cpp +++ b/src/activities/settings/KOReaderSettingsActivity.cpp @@ -1,5 +1,6 @@ #include "KOReaderSettingsActivity.h" +#include #include #include @@ -11,7 +12,6 @@ #include "activities/util/KeyboardEntryActivity.h" #include "components/UITheme.h" #include "fontIds.h" -#include namespace { constexpr int MENU_ITEMS = 5; diff --git a/src/activities/settings/OpdsSettingsActivity.cpp b/src/activities/settings/OpdsSettingsActivity.cpp index a3a7f914..cc90f113 100644 --- a/src/activities/settings/OpdsSettingsActivity.cpp +++ b/src/activities/settings/OpdsSettingsActivity.cpp @@ -1,5 +1,6 @@ #include "OpdsSettingsActivity.h" +#include #include #include #include @@ -11,7 +12,6 @@ #include "activities/util/KeyboardEntryActivity.h" #include "components/UITheme.h" #include "fontIds.h" -#include namespace { // Editable fields: Name, URL, Username, Password. diff --git a/src/activities/util/KeyboardEntryActivity.cpp b/src/activities/util/KeyboardEntryActivity.cpp index 78fd9cde..f528252a 100644 --- a/src/activities/util/KeyboardEntryActivity.cpp +++ b/src/activities/util/KeyboardEntryActivity.cpp @@ -670,8 +670,7 @@ void KeyboardEntryActivity::render(RenderLock&&) { if (snippetIdx < URL_SNIPPET_COUNT) { GUI.drawKeyboardKey(renderer, Rect{keyX, rowY, keyWidth, keyHeight}, urlSnippets[snippetIdx], activeKeySelected, nullptr); - TouchRegistry::getInstance().add(Rect{keyX, rowY, keyWidth, keyHeight}, row * 100 + col, - TouchRegistry::Item); + TouchRegistry::getInstance().add(Rect{keyX, rowY, keyWidth, keyHeight}, row * 100 + col, TouchRegistry::Item); } } else { const KeyDef& key = layout[row][col]; diff --git a/src/components/icons/generated_icons.h b/src/components/icons/generated_icons.h index c9e35b6b..746d0ae9 100644 --- a/src/components/icons/generated_icons.h +++ b/src/components/icons/generated_icons.h @@ -6,121 +6,577 @@ // Sizes: 24, 32, 40, 48px. Icons: 12. // folder (lucide: folder) -static const uint8_t icon_folder_24_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xC0, 0x3F, 0xFF, 0x9F, 0x9F, 0xFF, 0x9F, 0xC0, 0x07, 0x9F, 0xE0, 0x03, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_folder_24_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xC0, 0x3F, 0xFF, 0x9F, 0x9F, 0xFF, 0x9F, 0xC0, 0x07, + 0x9F, 0xE0, 0x03, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, + 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, + 0x9F, 0xFF, 0xF9, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_folder_24 = {24, 24, 12, icon_folder_24_bits}; -static const uint8_t icon_folder_32_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xC7, 0xE1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF8, 0x00, 0x07, 0x8F, 0xFC, 0x00, 0x03, 0x8F, 0xFF, 0xFF, 0xE3, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0xCF, 0xFF, 0xFF, 0xF3, 0xC0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_folder_32_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, + 0xFF, 0xC7, 0xE1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF8, 0x00, 0x07, 0x8F, 0xFC, 0x00, 0x03, 0x8F, 0xFF, + 0xFF, 0xE3, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, + 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, + 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, + 0xF1, 0xCF, 0xFF, 0xFF, 0xF3, 0xC0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_folder_32 = {32, 32, 16, icon_folder_32_bits}; -static const uint8_t icon_folder_40_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0x00, 0x3F, 0xFF, 0xFF, 0xC7, 0xFE, 0x1F, 0xFF, 0xFF, 0xC7, 0xFE, 0x00, 0x00, 0x3F, 0xC7, 0xFF, 0x00, 0x00, 0x0F, 0xC7, 0xFF, 0x80, 0x00, 0x07, 0xC7, 0xFF, 0xE0, 0x00, 0x03, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC3, 0xFF, 0xFF, 0xFF, 0xC3, 0xE0, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_folder_40_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, + 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0x00, 0x3F, 0xFF, 0xFF, 0xC7, 0xFE, 0x1F, + 0xFF, 0xFF, 0xC7, 0xFE, 0x00, 0x00, 0x3F, 0xC7, 0xFF, 0x00, 0x00, 0x0F, 0xC7, 0xFF, 0x80, 0x00, 0x07, 0xC7, 0xFF, + 0xE0, 0x00, 0x03, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, + 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, + 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, + 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, + 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, + 0xFF, 0xFF, 0xE3, 0xC3, 0xFF, 0xFF, 0xFF, 0xC3, 0xE0, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x07, 0xF8, + 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_folder_40 = {40, 40, 19, icon_folder_40_bits}; -static const uint8_t icon_folder_48_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0xC1, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0xE0, 0x00, 0x00, 0x3F, 0xC3, 0xFF, 0xE0, 0x00, 0x00, 0x0F, 0xC3, 0xFF, 0xF0, 0x00, 0x00, 0x07, 0xC3, 0xFF, 0xFC, 0x00, 0x00, 0x07, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_folder_48_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, + 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0x83, 0xFF, 0xFF, 0xFF, + 0xC3, 0xFF, 0xC1, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0xE0, 0x00, 0x00, 0x3F, 0xC3, 0xFF, 0xE0, 0x00, 0x00, 0x0F, + 0xC3, 0xFF, 0xF0, 0x00, 0x00, 0x07, 0xC3, 0xFF, 0xFC, 0x00, 0x00, 0x07, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, + 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, + 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, + 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, + 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, + 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, + 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, + 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, + 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x07, + 0xE0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_folder_48 = {48, 48, 24, icon_folder_48_bits}; // text (lucide: file-text) -static const uint8_t icon_text_24_bits[] = {0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xF0, 0x00, 0x7F, 0xE7, 0xF8, 0x3F, 0xE7, 0xF9, 0x1F, 0xE7, 0xF9, 0x8F, 0xE7, 0xF9, 0xC7, 0xE7, 0xF8, 0x07, 0xE6, 0x1C, 0x07, 0xE6, 0x1F, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE6, 0x00, 0x67, 0xE6, 0x00, 0x67, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE6, 0x00, 0x67, 0xE6, 0x00, 0x67, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xF0, 0x00, 0x0F, 0xF8, 0x00, 0x1F, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_text_24_bits[] = { + 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xF0, 0x00, 0x7F, 0xE7, 0xF8, 0x3F, 0xE7, 0xF9, 0x1F, 0xE7, 0xF9, 0x8F, + 0xE7, 0xF9, 0xC7, 0xE7, 0xF8, 0x07, 0xE6, 0x1C, 0x07, 0xE6, 0x1F, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, + 0xE6, 0x00, 0x67, 0xE6, 0x00, 0x67, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE6, 0x00, 0x67, 0xE6, 0x00, 0x67, + 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xF0, 0x00, 0x0F, 0xF8, 0x00, 0x1F, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_text_24 = {24, 24, 12, icon_text_24_bits}; -static const uint8_t icon_text_32_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xF1, 0xFF, 0x80, 0xFF, 0xF1, 0xFF, 0x88, 0x7F, 0xF1, 0xFF, 0x8C, 0x3F, 0xF1, 0xFF, 0x8E, 0x1F, 0xF1, 0xFF, 0x8F, 0x1F, 0xF1, 0xFF, 0x80, 0x0F, 0xF1, 0xFF, 0xC0, 0x0F, 0xF1, 0xC3, 0xE0, 0x0F, 0xF1, 0xC3, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xC0, 0x03, 0x8F, 0xF1, 0x80, 0x01, 0x8F, 0xF1, 0xC0, 0x03, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xC0, 0x03, 0x8F, 0xF1, 0x80, 0x01, 0x8F, 0xF1, 0xC0, 0x03, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF8, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_text_32_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xF1, 0xFF, 0x80, + 0xFF, 0xF1, 0xFF, 0x88, 0x7F, 0xF1, 0xFF, 0x8C, 0x3F, 0xF1, 0xFF, 0x8E, 0x1F, 0xF1, 0xFF, 0x8F, 0x1F, 0xF1, 0xFF, + 0x80, 0x0F, 0xF1, 0xFF, 0xC0, 0x0F, 0xF1, 0xC3, 0xE0, 0x0F, 0xF1, 0xC3, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, + 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xC0, 0x03, 0x8F, 0xF1, 0x80, 0x01, 0x8F, 0xF1, 0xC0, 0x03, 0x8F, + 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xC0, 0x03, 0x8F, 0xF1, 0x80, 0x01, 0x8F, 0xF1, 0xC0, 0x03, + 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF8, 0x00, + 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_text_32 = {32, 32, 16, icon_text_32_bits}; -static const uint8_t icon_text_40_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0x00, 0x1F, 0xFF, 0xFC, 0x00, 0x00, 0x0F, 0xFF, 0xF8, 0x7F, 0xFC, 0x07, 0xFF, 0xF8, 0xFF, 0xFC, 0x43, 0xFF, 0xF8, 0xFF, 0xFC, 0x61, 0xFF, 0xF8, 0xFF, 0xFC, 0x70, 0xFF, 0xF8, 0xFF, 0xFC, 0x78, 0x7F, 0xF8, 0xFF, 0xFC, 0x7C, 0x3F, 0xF8, 0xFF, 0xFC, 0x7E, 0x1F, 0xF8, 0xFF, 0xFC, 0x00, 0x1F, 0xF8, 0xF8, 0x7C, 0x00, 0x1F, 0xF8, 0xF0, 0x3E, 0x00, 0x1F, 0xF8, 0xF0, 0x3F, 0xFF, 0x1F, 0xF8, 0xF8, 0x7F, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0x7F, 0xFF, 0xFE, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_text_40_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0x00, 0x1F, + 0xFF, 0xFC, 0x00, 0x00, 0x0F, 0xFF, 0xF8, 0x7F, 0xFC, 0x07, 0xFF, 0xF8, 0xFF, 0xFC, 0x43, 0xFF, 0xF8, 0xFF, 0xFC, + 0x61, 0xFF, 0xF8, 0xFF, 0xFC, 0x70, 0xFF, 0xF8, 0xFF, 0xFC, 0x78, 0x7F, 0xF8, 0xFF, 0xFC, 0x7C, 0x3F, 0xF8, 0xFF, + 0xFC, 0x7E, 0x1F, 0xF8, 0xFF, 0xFC, 0x00, 0x1F, 0xF8, 0xF8, 0x7C, 0x00, 0x1F, 0xF8, 0xF0, 0x3E, 0x00, 0x1F, 0xF8, + 0xF0, 0x3F, 0xFF, 0x1F, 0xF8, 0xF8, 0x7F, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, + 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, + 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, + 0xFF, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xFF, + 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, + 0x7F, 0xFF, 0xFE, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_text_40 = {40, 40, 20, icon_text_40_bits}; -static const uint8_t icon_text_48_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, 0xC0, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xC2, 0x0F, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0x07, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0x83, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0xC1, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0xE0, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0xF0, 0x7F, 0xFC, 0x3F, 0xFF, 0xC3, 0xF8, 0x7F, 0xFC, 0x3F, 0xFF, 0xC0, 0x00, 0x3F, 0xFC, 0x3F, 0xFF, 0xC0, 0x00, 0x3F, 0xFC, 0x3E, 0x07, 0xE0, 0x00, 0x3F, 0xFC, 0x3C, 0x03, 0xF0, 0x00, 0x3F, 0xFC, 0x3C, 0x03, 0xFF, 0xFC, 0x3F, 0xFC, 0x3E, 0x07, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3E, 0x00, 0x00, 0x7C, 0x3F, 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, 0xFC, 0x3E, 0x00, 0x00, 0x7C, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3E, 0x00, 0x00, 0x7C, 0x3F, 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, 0xFC, 0x3E, 0x00, 0x00, 0x7C, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x1F, 0xFF, 0xFF, 0xF8, 0x3F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_text_48_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x03, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x3F, 0xFF, + 0xFC, 0x1F, 0xFF, 0xC0, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xC2, 0x0F, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0x07, 0xFF, + 0xFC, 0x3F, 0xFF, 0xC3, 0x83, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0xC1, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0xE0, 0xFF, + 0xFC, 0x3F, 0xFF, 0xC3, 0xF0, 0x7F, 0xFC, 0x3F, 0xFF, 0xC3, 0xF8, 0x7F, 0xFC, 0x3F, 0xFF, 0xC0, 0x00, 0x3F, + 0xFC, 0x3F, 0xFF, 0xC0, 0x00, 0x3F, 0xFC, 0x3E, 0x07, 0xE0, 0x00, 0x3F, 0xFC, 0x3C, 0x03, 0xF0, 0x00, 0x3F, + 0xFC, 0x3C, 0x03, 0xFF, 0xFC, 0x3F, 0xFC, 0x3E, 0x07, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3E, 0x00, 0x00, 0x7C, 0x3F, 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, + 0xFC, 0x3E, 0x00, 0x00, 0x7C, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3E, 0x00, 0x00, 0x7C, 0x3F, + 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, 0xFC, 0x3E, 0x00, 0x00, 0x7C, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x1F, 0xFF, 0xFF, 0xF8, 0x3F, + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0xFF, 0xC0, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_text_48 = {48, 48, 24, icon_text_48_bits}; // image (lucide: image) -static const uint8_t icon_image_24_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xCF, 0xFF, 0xF3, 0xCF, 0xFF, 0xF3, 0xCF, 0x3F, 0xF3, 0xCE, 0x1F, 0xF3, 0xCC, 0xCF, 0xF3, 0xCC, 0xCF, 0xF3, 0xCE, 0x1F, 0x73, 0xCF, 0x3C, 0x13, 0xCF, 0xF8, 0x83, 0xCF, 0xF1, 0xC3, 0xCF, 0xE3, 0xE3, 0xCF, 0xC7, 0xF3, 0xCF, 0x8F, 0xF3, 0xCF, 0x1F, 0xF3, 0xCE, 0x3F, 0xF3, 0xCC, 0x7F, 0xF3, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_image_24_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xCF, 0xFF, 0xF3, 0xCF, 0xFF, 0xF3, + 0xCF, 0x3F, 0xF3, 0xCE, 0x1F, 0xF3, 0xCC, 0xCF, 0xF3, 0xCC, 0xCF, 0xF3, 0xCE, 0x1F, 0x73, 0xCF, 0x3C, 0x13, + 0xCF, 0xF8, 0x83, 0xCF, 0xF1, 0xC3, 0xCF, 0xE3, 0xE3, 0xCF, 0xC7, 0xF3, 0xCF, 0x8F, 0xF3, 0xCF, 0x1F, 0xF3, + 0xCE, 0x3F, 0xF3, 0xCC, 0x7F, 0xF3, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_image_24 = {24, 24, 12, icon_image_24_bits}; -static const uint8_t icon_image_32_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x07, 0xE3, 0xFF, 0xFF, 0xC7, 0xE7, 0xFF, 0xFF, 0xE7, 0xE7, 0xFF, 0xFF, 0xE7, 0xE7, 0xC3, 0xFF, 0xE7, 0xE7, 0x81, 0xFF, 0xE7, 0xE7, 0x00, 0xFF, 0xE7, 0xE7, 0x18, 0xFF, 0xE7, 0xE7, 0x18, 0xFF, 0xE7, 0xE7, 0x00, 0xFF, 0xE7, 0xE7, 0x81, 0xF0, 0xE7, 0xE7, 0xC3, 0xE0, 0x67, 0xE7, 0xFF, 0xC0, 0x07, 0xE7, 0xFF, 0x8F, 0x07, 0xE7, 0xFF, 0x1F, 0x87, 0xE7, 0xFE, 0x3F, 0xC7, 0xE7, 0xFC, 0x7F, 0xC7, 0xE7, 0xF8, 0xFF, 0xE7, 0xE7, 0xF1, 0xFF, 0xE7, 0xE7, 0xE3, 0xFF, 0xE7, 0xE7, 0xC7, 0xFF, 0xE7, 0xE7, 0x8F, 0xFF, 0xE7, 0xE2, 0x0F, 0xFF, 0xC7, 0xE0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_image_32_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, + 0x07, 0xE3, 0xFF, 0xFF, 0xC7, 0xE7, 0xFF, 0xFF, 0xE7, 0xE7, 0xFF, 0xFF, 0xE7, 0xE7, 0xC3, 0xFF, 0xE7, 0xE7, 0x81, + 0xFF, 0xE7, 0xE7, 0x00, 0xFF, 0xE7, 0xE7, 0x18, 0xFF, 0xE7, 0xE7, 0x18, 0xFF, 0xE7, 0xE7, 0x00, 0xFF, 0xE7, 0xE7, + 0x81, 0xF0, 0xE7, 0xE7, 0xC3, 0xE0, 0x67, 0xE7, 0xFF, 0xC0, 0x07, 0xE7, 0xFF, 0x8F, 0x07, 0xE7, 0xFF, 0x1F, 0x87, + 0xE7, 0xFE, 0x3F, 0xC7, 0xE7, 0xFC, 0x7F, 0xC7, 0xE7, 0xF8, 0xFF, 0xE7, 0xE7, 0xF1, 0xFF, 0xE7, 0xE7, 0xE3, 0xFF, + 0xE7, 0xE7, 0xC7, 0xFF, 0xE7, 0xE7, 0x8F, 0xFF, 0xE7, 0xE2, 0x0F, 0xFF, 0xC7, 0xE0, 0x00, 0x00, 0x07, 0xF0, 0x00, + 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_image_32 = {32, 32, 16, icon_image_32_bits}; -static const uint8_t icon_image_40_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF1, 0xFF, 0xFF, 0xFF, 0x8F, 0xE1, 0xFF, 0xFF, 0xFF, 0x87, 0xE1, 0xFF, 0xFF, 0xFF, 0x87, 0xE1, 0xF8, 0x7F, 0xFF, 0x87, 0xE1, 0xF0, 0x3F, 0xFF, 0x87, 0xE1, 0xE0, 0x1F, 0xFF, 0x87, 0xE1, 0xC3, 0x0F, 0xFF, 0x87, 0xE1, 0xC7, 0x8F, 0xFF, 0x87, 0xE1, 0xC7, 0x8F, 0xFF, 0x87, 0xE1, 0xC3, 0x0F, 0xFF, 0x87, 0xE1, 0xE0, 0x1F, 0xC7, 0x87, 0xE1, 0xF0, 0x3F, 0x01, 0x87, 0xE1, 0xF8, 0x7E, 0x00, 0x87, 0xE1, 0xFF, 0xFC, 0x00, 0x07, 0xE1, 0xFF, 0xF8, 0x38, 0x07, 0xE1, 0xFF, 0xF0, 0x7C, 0x07, 0xE1, 0xFF, 0xE0, 0xFE, 0x07, 0xE1, 0xFF, 0xC1, 0xFF, 0x07, 0xE1, 0xFF, 0x83, 0xFF, 0x87, 0xE1, 0xFF, 0x07, 0xFF, 0x87, 0xE1, 0xFE, 0x0F, 0xFF, 0x87, 0xE1, 0xFC, 0x1F, 0xFF, 0x87, 0xE1, 0xF8, 0x3F, 0xFF, 0x87, 0xE1, 0xF0, 0x7F, 0xFF, 0x87, 0xE1, 0xE0, 0xFF, 0xFF, 0x87, 0xF1, 0xC1, 0xFF, 0xFF, 0x8F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_image_40_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF1, 0xFF, 0xFF, + 0xFF, 0x8F, 0xE1, 0xFF, 0xFF, 0xFF, 0x87, 0xE1, 0xFF, 0xFF, 0xFF, 0x87, 0xE1, 0xF8, 0x7F, 0xFF, 0x87, 0xE1, 0xF0, + 0x3F, 0xFF, 0x87, 0xE1, 0xE0, 0x1F, 0xFF, 0x87, 0xE1, 0xC3, 0x0F, 0xFF, 0x87, 0xE1, 0xC7, 0x8F, 0xFF, 0x87, 0xE1, + 0xC7, 0x8F, 0xFF, 0x87, 0xE1, 0xC3, 0x0F, 0xFF, 0x87, 0xE1, 0xE0, 0x1F, 0xC7, 0x87, 0xE1, 0xF0, 0x3F, 0x01, 0x87, + 0xE1, 0xF8, 0x7E, 0x00, 0x87, 0xE1, 0xFF, 0xFC, 0x00, 0x07, 0xE1, 0xFF, 0xF8, 0x38, 0x07, 0xE1, 0xFF, 0xF0, 0x7C, + 0x07, 0xE1, 0xFF, 0xE0, 0xFE, 0x07, 0xE1, 0xFF, 0xC1, 0xFF, 0x07, 0xE1, 0xFF, 0x83, 0xFF, 0x87, 0xE1, 0xFF, 0x07, + 0xFF, 0x87, 0xE1, 0xFE, 0x0F, 0xFF, 0x87, 0xE1, 0xFC, 0x1F, 0xFF, 0x87, 0xE1, 0xF8, 0x3F, 0xFF, 0x87, 0xE1, 0xF0, + 0x7F, 0xFF, 0x87, 0xE1, 0xE0, 0xFF, 0xFF, 0x87, 0xF1, 0xC1, 0xFF, 0xFF, 0x8F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF0, + 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_image_40 = {40, 40, 20, icon_image_40_bits}; -static const uint8_t icon_image_48_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF0, 0x7F, 0xFF, 0xFF, 0xFE, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xFF, 0xFF, 0x0F, 0xF0, 0xFC, 0x03, 0xFF, 0xFF, 0x0F, 0xF0, 0xF8, 0x01, 0xFF, 0xFF, 0x0F, 0xF0, 0xF8, 0x01, 0xFF, 0xFF, 0x0F, 0xF0, 0xF0, 0x60, 0xFF, 0xFF, 0x0F, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0x0F, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0x0F, 0xF0, 0xF0, 0x60, 0xFF, 0xFF, 0x0F, 0xF0, 0xF8, 0x01, 0xFF, 0xFF, 0x0F, 0xF0, 0xF8, 0x01, 0xFC, 0x0F, 0x0F, 0xF0, 0xFC, 0x03, 0xF8, 0x07, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0x03, 0x0F, 0xF0, 0xFF, 0xFF, 0xE0, 0x01, 0x0F, 0xF0, 0xFF, 0xFF, 0xC1, 0xE0, 0x0F, 0xF0, 0xFF, 0xFF, 0x83, 0xF0, 0x0F, 0xF0, 0xFF, 0xFF, 0x07, 0xF8, 0x0F, 0xF0, 0xFF, 0xFE, 0x0F, 0xFC, 0x0F, 0xF0, 0xFF, 0xFC, 0x1F, 0xFE, 0x0F, 0xF0, 0xFF, 0xF8, 0x3F, 0xFF, 0x0F, 0xF0, 0xFF, 0xF0, 0x7F, 0xFF, 0x0F, 0xF0, 0xFF, 0xE0, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xC1, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0x83, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0x07, 0xFF, 0xFF, 0x0F, 0xF0, 0xFE, 0x0F, 0xFF, 0xFF, 0x0F, 0xF0, 0xFC, 0x1F, 0xFF, 0xFF, 0x0F, 0xF0, 0xF8, 0x3F, 0xFF, 0xFF, 0x0F, 0xF0, 0x70, 0x7F, 0xFF, 0xFE, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_image_48_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, + 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF0, 0x7F, 0xFF, 0xFF, 0xFE, 0x0F, + 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, + 0xF0, 0xFF, 0x0F, 0xFF, 0xFF, 0x0F, 0xF0, 0xFC, 0x03, 0xFF, 0xFF, 0x0F, 0xF0, 0xF8, 0x01, 0xFF, 0xFF, 0x0F, + 0xF0, 0xF8, 0x01, 0xFF, 0xFF, 0x0F, 0xF0, 0xF0, 0x60, 0xFF, 0xFF, 0x0F, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0x0F, + 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0x0F, 0xF0, 0xF0, 0x60, 0xFF, 0xFF, 0x0F, 0xF0, 0xF8, 0x01, 0xFF, 0xFF, 0x0F, + 0xF0, 0xF8, 0x01, 0xFC, 0x0F, 0x0F, 0xF0, 0xFC, 0x03, 0xF8, 0x07, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0x03, 0x0F, + 0xF0, 0xFF, 0xFF, 0xE0, 0x01, 0x0F, 0xF0, 0xFF, 0xFF, 0xC1, 0xE0, 0x0F, 0xF0, 0xFF, 0xFF, 0x83, 0xF0, 0x0F, + 0xF0, 0xFF, 0xFF, 0x07, 0xF8, 0x0F, 0xF0, 0xFF, 0xFE, 0x0F, 0xFC, 0x0F, 0xF0, 0xFF, 0xFC, 0x1F, 0xFE, 0x0F, + 0xF0, 0xFF, 0xF8, 0x3F, 0xFF, 0x0F, 0xF0, 0xFF, 0xF0, 0x7F, 0xFF, 0x0F, 0xF0, 0xFF, 0xE0, 0xFF, 0xFF, 0x0F, + 0xF0, 0xFF, 0xC1, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0x83, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0x07, 0xFF, 0xFF, 0x0F, + 0xF0, 0xFE, 0x0F, 0xFF, 0xFF, 0x0F, 0xF0, 0xFC, 0x1F, 0xFF, 0xFF, 0x0F, 0xF0, 0xF8, 0x3F, 0xFF, 0xFF, 0x0F, + 0xF0, 0x70, 0x7F, 0xFF, 0xFE, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, + 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_image_48 = {48, 48, 24, icon_image_48_bits}; // book (lucide: book) -static const uint8_t icon_book_24_bits[] = {0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE0, 0x00, 0x07, 0xE0, 0x00, 0x07, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x0F, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_book_24_bits[] = { + 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, + 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, + 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE0, 0x00, 0x07, 0xE0, 0x00, 0x07, + 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xF0, 0x00, 0x07, 0xF8, 0x00, 0x0F, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_book_24 = {24, 24, 12, icon_book_24_bits}; -static const uint8_t icon_book_32_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x0F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF8, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_book_32_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x0F, 0xF1, 0xFF, 0xFF, + 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, + 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, + 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, + 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, + 0x0F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF8, 0x00, + 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_book_32 = {32, 32, 17, icon_book_32_bits}; -static const uint8_t icon_book_40_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x7F, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x7F, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0x7F, 0xFF, 0xFF, 0x1F, 0xF8, 0x7F, 0xFF, 0xFF, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_book_40_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x00, 0x00, + 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x7F, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, + 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, + 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, + 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, + 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, + 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, + 0xFF, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x7F, + 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0x7F, 0xFF, 0xFF, 0x1F, 0xF8, + 0x7F, 0xFF, 0xFF, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x00, 0x3F, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_book_40 = {40, 40, 21, icon_book_40_bits}; -static const uint8_t icon_book_48_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFE, 0x1F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x20, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x1F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFE, 0x1F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_book_48_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0xFF, + 0xFF, 0x80, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x3F, + 0xFE, 0x1F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x20, 0x00, 0x00, 0x00, 0x3F, + 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, + 0xFC, 0x1F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFE, 0x1F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x7F, + 0xFF, 0xE0, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_book_48 = {48, 48, 25, icon_book_48_bits}; // file (lucide: file) -static const uint8_t icon_file_24_bits[] = {0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xF0, 0x00, 0x7F, 0xE7, 0xF8, 0x3F, 0xE7, 0xF9, 0x1F, 0xE7, 0xF9, 0x8F, 0xE7, 0xF9, 0xC7, 0xE7, 0xF8, 0x07, 0xE7, 0xFC, 0x07, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xF0, 0x00, 0x0F, 0xF8, 0x00, 0x1F, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_file_24_bits[] = { + 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xF0, 0x00, 0x7F, 0xE7, 0xF8, 0x3F, 0xE7, 0xF9, 0x1F, 0xE7, 0xF9, 0x8F, + 0xE7, 0xF9, 0xC7, 0xE7, 0xF8, 0x07, 0xE7, 0xFC, 0x07, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, + 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, + 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xF0, 0x00, 0x0F, 0xF8, 0x00, 0x1F, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_file_24 = {24, 24, 11, icon_file_24_bits}; -static const uint8_t icon_file_32_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xF1, 0xFF, 0x80, 0xFF, 0xF1, 0xFF, 0x88, 0x7F, 0xF1, 0xFF, 0x8C, 0x3F, 0xF1, 0xFF, 0x8E, 0x1F, 0xF1, 0xFF, 0x8F, 0x1F, 0xF1, 0xFF, 0x80, 0x0F, 0xF1, 0xFF, 0xC0, 0x0F, 0xF1, 0xFF, 0xE0, 0x0F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF8, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_file_32_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xF1, 0xFF, 0x80, + 0xFF, 0xF1, 0xFF, 0x88, 0x7F, 0xF1, 0xFF, 0x8C, 0x3F, 0xF1, 0xFF, 0x8E, 0x1F, 0xF1, 0xFF, 0x8F, 0x1F, 0xF1, 0xFF, + 0x80, 0x0F, 0xF1, 0xFF, 0xC0, 0x0F, 0xF1, 0xFF, 0xE0, 0x0F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, + 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, + 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, + 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0x8F, 0xF8, 0x00, + 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_file_32 = {32, 32, 15, icon_file_32_bits}; -static const uint8_t icon_file_40_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0x00, 0x1F, 0xFF, 0xFC, 0x00, 0x00, 0x0F, 0xFF, 0xF8, 0x7F, 0xFC, 0x07, 0xFF, 0xF8, 0xFF, 0xFC, 0x43, 0xFF, 0xF8, 0xFF, 0xFC, 0x61, 0xFF, 0xF8, 0xFF, 0xFC, 0x70, 0xFF, 0xF8, 0xFF, 0xFC, 0x78, 0x7F, 0xF8, 0xFF, 0xFC, 0x7C, 0x3F, 0xF8, 0xFF, 0xFC, 0x7E, 0x1F, 0xF8, 0xFF, 0xFC, 0x00, 0x1F, 0xF8, 0xFF, 0xFC, 0x00, 0x1F, 0xF8, 0xFF, 0xFE, 0x00, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0x7F, 0xFF, 0xFE, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_file_40_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0x00, 0x1F, + 0xFF, 0xFC, 0x00, 0x00, 0x0F, 0xFF, 0xF8, 0x7F, 0xFC, 0x07, 0xFF, 0xF8, 0xFF, 0xFC, 0x43, 0xFF, 0xF8, 0xFF, 0xFC, + 0x61, 0xFF, 0xF8, 0xFF, 0xFC, 0x70, 0xFF, 0xF8, 0xFF, 0xFC, 0x78, 0x7F, 0xF8, 0xFF, 0xFC, 0x7C, 0x3F, 0xF8, 0xFF, + 0xFC, 0x7E, 0x1F, 0xF8, 0xFF, 0xFC, 0x00, 0x1F, 0xF8, 0xFF, 0xFC, 0x00, 0x1F, 0xF8, 0xFF, 0xFE, 0x00, 0x1F, 0xF8, + 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, + 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, + 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, + 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, + 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, + 0x7F, 0xFF, 0xFE, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_file_40 = {40, 40, 19, icon_file_40_bits}; -static const uint8_t icon_file_48_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, 0xC0, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xC2, 0x0F, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0x07, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0x83, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0xC1, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0xE0, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0xF0, 0x7F, 0xFC, 0x3F, 0xFF, 0xC3, 0xF8, 0x7F, 0xFC, 0x3F, 0xFF, 0xC0, 0x00, 0x3F, 0xFC, 0x3F, 0xFF, 0xC0, 0x00, 0x3F, 0xFC, 0x3F, 0xFF, 0xE0, 0x00, 0x3F, 0xFC, 0x3F, 0xFF, 0xF0, 0x00, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x1F, 0xFF, 0xFF, 0xF8, 0x3F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_file_48_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x03, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x3F, 0xFF, + 0xFC, 0x1F, 0xFF, 0xC0, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xC2, 0x0F, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0x07, 0xFF, + 0xFC, 0x3F, 0xFF, 0xC3, 0x83, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0xC1, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3, 0xE0, 0xFF, + 0xFC, 0x3F, 0xFF, 0xC3, 0xF0, 0x7F, 0xFC, 0x3F, 0xFF, 0xC3, 0xF8, 0x7F, 0xFC, 0x3F, 0xFF, 0xC0, 0x00, 0x3F, + 0xFC, 0x3F, 0xFF, 0xC0, 0x00, 0x3F, 0xFC, 0x3F, 0xFF, 0xE0, 0x00, 0x3F, 0xFC, 0x3F, 0xFF, 0xF0, 0x00, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x1F, 0xFF, 0xFF, 0xF8, 0x3F, + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0xFF, 0xC0, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_file_48 = {48, 48, 23, icon_file_48_bits}; // settings (lucide: settings) -static const uint8_t icon_settings_24_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0x99, 0xFF, 0xFF, 0x99, 0xFF, 0xF0, 0x3C, 0x0F, 0xE0, 0x7E, 0x07, 0xCF, 0xFF, 0xF3, 0xCF, 0xC3, 0xF3, 0xC7, 0x81, 0xE3, 0xE3, 0x18, 0xC7, 0xF3, 0x3C, 0xCF, 0xF3, 0x3C, 0xCF, 0xE3, 0x18, 0xC7, 0xC7, 0x81, 0xE3, 0xCF, 0xC3, 0xF3, 0xCF, 0xFF, 0xF3, 0xE0, 0x7E, 0x07, 0xF0, 0x3C, 0x0F, 0xFF, 0x99, 0xFF, 0xFF, 0x99, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_settings_24_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0x99, 0xFF, 0xFF, 0x99, 0xFF, 0xF0, 0x3C, 0x0F, + 0xE0, 0x7E, 0x07, 0xCF, 0xFF, 0xF3, 0xCF, 0xC3, 0xF3, 0xC7, 0x81, 0xE3, 0xE3, 0x18, 0xC7, 0xF3, 0x3C, 0xCF, + 0xF3, 0x3C, 0xCF, 0xE3, 0x18, 0xC7, 0xC7, 0x81, 0xE3, 0xCF, 0xC3, 0xF3, 0xCF, 0xFF, 0xF3, 0xE0, 0x7E, 0x07, + 0xF0, 0x3C, 0x0F, 0xFF, 0x99, 0xFF, 0xFF, 0x99, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_settings_24 = {24, 24, 11, icon_settings_24_bits}; -static const uint8_t icon_settings_32_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF3, 0xCF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, 0x07, 0xE0, 0x0F, 0xE3, 0x9F, 0xF9, 0xC7, 0xE7, 0xFF, 0xFF, 0xE7, 0xE7, 0xF8, 0x1F, 0xE7, 0xE3, 0xF0, 0x0F, 0xC7, 0xF1, 0xE1, 0x87, 0x8F, 0xF8, 0xE3, 0xC7, 0x1F, 0xF8, 0xE7, 0xE7, 0x1F, 0xF8, 0xE7, 0xE7, 0x1F, 0xF8, 0xE3, 0xC7, 0x1F, 0xF1, 0xE1, 0x87, 0x8F, 0xE3, 0xF0, 0x0F, 0xC7, 0xE7, 0xF8, 0x1F, 0xE7, 0xE7, 0xFF, 0xFF, 0xE7, 0xE3, 0x9F, 0xF9, 0xC7, 0xF0, 0x07, 0xE0, 0x0F, 0xF0, 0x03, 0xC0, 0x1F, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xF3, 0xCF, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_settings_32_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xF1, 0x8F, + 0xFF, 0xFF, 0xF3, 0xCF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xF0, 0x03, 0xC0, 0x0F, 0xF0, 0x07, 0xE0, 0x0F, 0xE3, 0x9F, + 0xF9, 0xC7, 0xE7, 0xFF, 0xFF, 0xE7, 0xE7, 0xF8, 0x1F, 0xE7, 0xE3, 0xF0, 0x0F, 0xC7, 0xF1, 0xE1, 0x87, 0x8F, 0xF8, + 0xE3, 0xC7, 0x1F, 0xF8, 0xE7, 0xE7, 0x1F, 0xF8, 0xE7, 0xE7, 0x1F, 0xF8, 0xE3, 0xC7, 0x1F, 0xF1, 0xE1, 0x87, 0x8F, + 0xE3, 0xF0, 0x0F, 0xC7, 0xE7, 0xF8, 0x1F, 0xE7, 0xE7, 0xFF, 0xFF, 0xE7, 0xE3, 0x9F, 0xF9, 0xC7, 0xF0, 0x07, 0xE0, + 0x0F, 0xF0, 0x03, 0xC0, 0x1F, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xF3, 0xCF, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF0, + 0x0F, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_settings_32 = {32, 32, 15, icon_settings_32_bits}; -static const uint8_t icon_settings_40_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0xFE, 0x18, 0x7F, 0xFF, 0xFF, 0xFE, 0x3C, 0x7F, 0xFF, 0xFF, 0xFC, 0x3C, 0x3F, 0xFF, 0xFE, 0x18, 0x7E, 0x18, 0x7F, 0xF8, 0x00, 0x7E, 0x00, 0x1F, 0xF8, 0x00, 0xFF, 0x00, 0x1F, 0xF0, 0xC1, 0xFF, 0x83, 0x0F, 0xF1, 0xFF, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xE7, 0xFF, 0x8F, 0xF1, 0xFF, 0x00, 0xFF, 0x8F, 0xF0, 0xFE, 0x00, 0x7F, 0x0F, 0xF0, 0x7C, 0x00, 0x3E, 0x0F, 0xF8, 0x7C, 0x3C, 0x3E, 0x1F, 0xFC, 0x3C, 0x7E, 0x3C, 0x3F, 0xFE, 0x38, 0x7E, 0x1C, 0x7F, 0xFE, 0x38, 0x7E, 0x1C, 0x7F, 0xFC, 0x3C, 0x7E, 0x3C, 0x3F, 0xF8, 0x7C, 0x3C, 0x3E, 0x1F, 0xF0, 0x7C, 0x00, 0x3E, 0x0F, 0xF0, 0xFE, 0x00, 0x7F, 0x0F, 0xF1, 0xFF, 0x00, 0xFF, 0x8F, 0xF1, 0xFF, 0xE7, 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0xFF, 0x8F, 0xF0, 0xC1, 0xFF, 0x83, 0x0F, 0xF8, 0x00, 0xFF, 0x00, 0x1F, 0xF8, 0x00, 0x7E, 0x00, 0x1F, 0xFE, 0x18, 0x7E, 0x18, 0x7F, 0xFF, 0xFC, 0x3C, 0x3F, 0xFF, 0xFF, 0xFE, 0x3C, 0x7F, 0xFF, 0xFF, 0xFE, 0x18, 0x7F, 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_settings_40_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, + 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0xFE, 0x18, 0x7F, 0xFF, 0xFF, 0xFE, 0x3C, 0x7F, 0xFF, 0xFF, 0xFC, 0x3C, + 0x3F, 0xFF, 0xFE, 0x18, 0x7E, 0x18, 0x7F, 0xF8, 0x00, 0x7E, 0x00, 0x1F, 0xF8, 0x00, 0xFF, 0x00, 0x1F, 0xF0, 0xC1, + 0xFF, 0x83, 0x0F, 0xF1, 0xFF, 0xFF, 0xFF, 0x8F, 0xF1, 0xFF, 0xE7, 0xFF, 0x8F, 0xF1, 0xFF, 0x00, 0xFF, 0x8F, 0xF0, + 0xFE, 0x00, 0x7F, 0x0F, 0xF0, 0x7C, 0x00, 0x3E, 0x0F, 0xF8, 0x7C, 0x3C, 0x3E, 0x1F, 0xFC, 0x3C, 0x7E, 0x3C, 0x3F, + 0xFE, 0x38, 0x7E, 0x1C, 0x7F, 0xFE, 0x38, 0x7E, 0x1C, 0x7F, 0xFC, 0x3C, 0x7E, 0x3C, 0x3F, 0xF8, 0x7C, 0x3C, 0x3E, + 0x1F, 0xF0, 0x7C, 0x00, 0x3E, 0x0F, 0xF0, 0xFE, 0x00, 0x7F, 0x0F, 0xF1, 0xFF, 0x00, 0xFF, 0x8F, 0xF1, 0xFF, 0xE7, + 0xFF, 0x8F, 0xF1, 0xFF, 0xFF, 0xFF, 0x8F, 0xF0, 0xC1, 0xFF, 0x83, 0x0F, 0xF8, 0x00, 0xFF, 0x00, 0x1F, 0xF8, 0x00, + 0x7E, 0x00, 0x1F, 0xFE, 0x18, 0x7E, 0x18, 0x7F, 0xFF, 0xFC, 0x3C, 0x3F, 0xFF, 0xFF, 0xFE, 0x3C, 0x7F, 0xFF, 0xFF, + 0xFE, 0x18, 0x7F, 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_settings_40 = {40, 40, 20, icon_settings_40_bits}; -static const uint8_t icon_settings_48_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0xE1, 0xFF, 0xFF, 0xFF, 0x02, 0x07, 0xE0, 0x40, 0xFF, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x3F, 0xFC, 0x00, 0x1F, 0xF0, 0x7F, 0xFF, 0xFF, 0xFE, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFC, 0x3F, 0xFF, 0x0F, 0xF0, 0xFF, 0xE0, 0x07, 0xFF, 0x0F, 0xF8, 0x7F, 0xC0, 0x03, 0xFE, 0x1F, 0xF8, 0x3F, 0x80, 0x01, 0xFC, 0x1F, 0xFC, 0x1F, 0x83, 0xC1, 0xF8, 0x3F, 0xFE, 0x1F, 0x87, 0xE1, 0xF8, 0x7F, 0xFF, 0x0F, 0x0F, 0xF0, 0xF0, 0xFF, 0xFF, 0x0F, 0x0F, 0xF0, 0xF0, 0xFF, 0xFF, 0x0F, 0x0F, 0xF0, 0xF0, 0xFF, 0xFF, 0x0F, 0x0F, 0xF0, 0xF0, 0xFF, 0xFE, 0x1F, 0x87, 0xE1, 0xF8, 0x7F, 0xFC, 0x1F, 0x83, 0xC1, 0xF8, 0x3F, 0xF8, 0x3F, 0x80, 0x01, 0xFC, 0x1F, 0xF8, 0x7F, 0xC0, 0x03, 0xFE, 0x1F, 0xF0, 0xFF, 0xE0, 0x07, 0xFF, 0x0F, 0xF0, 0xFF, 0xFC, 0x3F, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xF0, 0x7F, 0xFF, 0xFF, 0xFE, 0x0F, 0xF8, 0x00, 0x3F, 0xFC, 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xFF, 0x02, 0x07, 0xE0, 0x40, 0xFF, 0xFF, 0xFF, 0x87, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_settings_48_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, + 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, + 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0xE1, 0xFF, 0xFF, + 0xFF, 0xFF, 0x87, 0xE1, 0xFF, 0xFF, 0xFF, 0x02, 0x07, 0xE0, 0x40, 0xFF, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, + 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x3F, 0xFC, 0x00, 0x1F, 0xF0, 0x7F, 0xFF, 0xFF, 0xFE, 0x0F, + 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFC, 0x3F, 0xFF, 0x0F, 0xF0, 0xFF, 0xE0, 0x07, 0xFF, 0x0F, + 0xF8, 0x7F, 0xC0, 0x03, 0xFE, 0x1F, 0xF8, 0x3F, 0x80, 0x01, 0xFC, 0x1F, 0xFC, 0x1F, 0x83, 0xC1, 0xF8, 0x3F, + 0xFE, 0x1F, 0x87, 0xE1, 0xF8, 0x7F, 0xFF, 0x0F, 0x0F, 0xF0, 0xF0, 0xFF, 0xFF, 0x0F, 0x0F, 0xF0, 0xF0, 0xFF, + 0xFF, 0x0F, 0x0F, 0xF0, 0xF0, 0xFF, 0xFF, 0x0F, 0x0F, 0xF0, 0xF0, 0xFF, 0xFE, 0x1F, 0x87, 0xE1, 0xF8, 0x7F, + 0xFC, 0x1F, 0x83, 0xC1, 0xF8, 0x3F, 0xF8, 0x3F, 0x80, 0x01, 0xFC, 0x1F, 0xF8, 0x7F, 0xC0, 0x03, 0xFE, 0x1F, + 0xF0, 0xFF, 0xE0, 0x07, 0xFF, 0x0F, 0xF0, 0xFF, 0xFC, 0x3F, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, + 0xF0, 0x7F, 0xFF, 0xFF, 0xFE, 0x0F, 0xF8, 0x00, 0x3F, 0xFC, 0x00, 0x1F, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x1F, + 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F, 0xFF, 0x02, 0x07, 0xE0, 0x40, 0xFF, 0xFF, 0xFF, 0x87, 0xE1, 0xFF, 0xFF, + 0xFF, 0xFF, 0x87, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, + 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_settings_48 = {48, 48, 24, icon_settings_48_bits}; // transfer (lucide: send-horizontal) -static const uint8_t icon_transfer_24_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xE6, 0x1F, 0xFF, 0xE7, 0x87, 0xFF, 0xE7, 0xE1, 0xFF, 0xF3, 0xF8, 0x7F, 0xF3, 0xFE, 0x0F, 0xF9, 0xFF, 0x83, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xF9, 0xFF, 0x83, 0xF3, 0xFE, 0x0F, 0xF3, 0xF8, 0x7F, 0xE7, 0xE1, 0xFF, 0xE7, 0x87, 0xFF, 0xE6, 0x1F, 0xFF, 0xC0, 0x7F, 0xFF, 0xC1, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_transfer_24_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xE6, 0x1F, 0xFF, + 0xE7, 0x87, 0xFF, 0xE7, 0xE1, 0xFF, 0xF3, 0xF8, 0x7F, 0xF3, 0xFE, 0x0F, 0xF9, 0xFF, 0x83, 0xF8, 0x00, 0x01, + 0xF8, 0x00, 0x01, 0xF9, 0xFF, 0x83, 0xF3, 0xFE, 0x0F, 0xF3, 0xF8, 0x7F, 0xE7, 0xE1, 0xFF, 0xE7, 0x87, 0xFF, + 0xE6, 0x1F, 0xFF, 0xC0, 0x7F, 0xFF, 0xC1, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_transfer_24 = {24, 24, 12, icon_transfer_24_bits}; -static const uint8_t icon_transfer_32_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xE2, 0x07, 0xFF, 0xFF, 0xF3, 0x81, 0xFF, 0xFF, 0xF1, 0xE0, 0x7F, 0xFF, 0xF1, 0xFC, 0x1F, 0xFF, 0xF9, 0xFF, 0x03, 0xFF, 0xF8, 0xFF, 0xC0, 0xFF, 0xFC, 0xFF, 0xF0, 0x3F, 0xFC, 0x7F, 0xFC, 0x0F, 0xFC, 0x7F, 0xFF, 0x03, 0xFE, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x01, 0xFC, 0x7F, 0xFF, 0x03, 0xFC, 0x7F, 0xFC, 0x0F, 0xFC, 0xFF, 0xF0, 0x3F, 0xF8, 0xFF, 0xC0, 0xFF, 0xF9, 0xFF, 0x03, 0xFF, 0xF1, 0xFC, 0x1F, 0xFF, 0xF1, 0xE0, 0x7F, 0xFF, 0xF3, 0x81, 0xFF, 0xFF, 0xE2, 0x07, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_transfer_32_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, + 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xE2, 0x07, 0xFF, 0xFF, 0xF3, 0x81, 0xFF, 0xFF, 0xF1, 0xE0, 0x7F, 0xFF, 0xF1, 0xFC, + 0x1F, 0xFF, 0xF9, 0xFF, 0x03, 0xFF, 0xF8, 0xFF, 0xC0, 0xFF, 0xFC, 0xFF, 0xF0, 0x3F, 0xFC, 0x7F, 0xFC, 0x0F, 0xFC, + 0x7F, 0xFF, 0x03, 0xFE, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x01, 0xFC, 0x7F, 0xFF, 0x03, 0xFC, 0x7F, 0xFC, 0x0F, + 0xFC, 0xFF, 0xF0, 0x3F, 0xF8, 0xFF, 0xC0, 0xFF, 0xF9, 0xFF, 0x03, 0xFF, 0xF1, 0xFC, 0x1F, 0xFF, 0xF1, 0xE0, 0x7F, + 0xFF, 0xF3, 0x81, 0xFF, 0xFF, 0xE2, 0x07, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0xE1, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_transfer_32 = {32, 32, 16, icon_transfer_32_bits}; -static const uint8_t icon_transfer_40_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0xFF, 0xF0, 0xC0, 0x7F, 0xFF, 0xFF, 0xF8, 0xF0, 0x1F, 0xFF, 0xFF, 0xF8, 0xFC, 0x07, 0xFF, 0xFF, 0xF8, 0x7F, 0x00, 0xFF, 0xFF, 0xFC, 0x7F, 0xC0, 0x3F, 0xFF, 0xFC, 0x3F, 0xF0, 0x0F, 0xFF, 0xFC, 0x3F, 0xFE, 0x03, 0xFF, 0xFE, 0x3F, 0xFF, 0x80, 0xFF, 0xFE, 0x1F, 0xFF, 0xE0, 0x3F, 0xFF, 0x1F, 0xFF, 0xF8, 0x0F, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x1F, 0xFF, 0xF8, 0x0F, 0xFE, 0x1F, 0xFF, 0xE0, 0x3F, 0xFE, 0x3F, 0xFF, 0x80, 0xFF, 0xFC, 0x3F, 0xFE, 0x03, 0xFF, 0xFC, 0x3F, 0xF0, 0x0F, 0xFF, 0xFC, 0x7F, 0xC0, 0x3F, 0xFF, 0xF8, 0x7F, 0x00, 0xFF, 0xFF, 0xF8, 0xFC, 0x07, 0xFF, 0xFF, 0xF8, 0xF0, 0x1F, 0xFF, 0xFF, 0xF0, 0xC0, 0x7F, 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_transfer_40_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, + 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xFF, 0xF0, 0x01, 0xFF, + 0xFF, 0xFF, 0xF0, 0xC0, 0x7F, 0xFF, 0xFF, 0xF8, 0xF0, 0x1F, 0xFF, 0xFF, 0xF8, 0xFC, 0x07, 0xFF, 0xFF, 0xF8, 0x7F, + 0x00, 0xFF, 0xFF, 0xFC, 0x7F, 0xC0, 0x3F, 0xFF, 0xFC, 0x3F, 0xF0, 0x0F, 0xFF, 0xFC, 0x3F, 0xFE, 0x03, 0xFF, 0xFE, + 0x3F, 0xFF, 0x80, 0xFF, 0xFE, 0x1F, 0xFF, 0xE0, 0x3F, 0xFF, 0x1F, 0xFF, 0xF8, 0x0F, 0xFF, 0x00, 0x00, 0x00, 0x03, + 0xFF, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x1F, 0xFF, 0xF8, + 0x0F, 0xFE, 0x1F, 0xFF, 0xE0, 0x3F, 0xFE, 0x3F, 0xFF, 0x80, 0xFF, 0xFC, 0x3F, 0xFE, 0x03, 0xFF, 0xFC, 0x3F, 0xF0, + 0x0F, 0xFF, 0xFC, 0x7F, 0xC0, 0x3F, 0xFF, 0xF8, 0x7F, 0x00, 0xFF, 0xFF, 0xF8, 0xFC, 0x07, 0xFF, 0xFF, 0xF8, 0xF0, + 0x1F, 0xFF, 0xFF, 0xF0, 0xC0, 0x7F, 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xFF, 0xF0, + 0x1F, 0xFF, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_transfer_40 = {40, 40, 19, icon_transfer_40_bits}; -static const uint8_t icon_transfer_48_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xF8, 0x40, 0x1F, 0xFF, 0xFF, 0xFF, 0xF8, 0x70, 0x07, 0xFF, 0xFF, 0xFF, 0xFC, 0x3C, 0x01, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0x80, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xE0, 0x0F, 0xFF, 0xFF, 0xFE, 0x1F, 0xF8, 0x03, 0xFF, 0xFF, 0xFE, 0x1F, 0xFE, 0x00, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0x80, 0x3F, 0xFF, 0xFF, 0x0F, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0x0F, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0x87, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0x87, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x87, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0x87, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0x87, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0x0F, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0x0F, 0xFF, 0xE0, 0x0F, 0xFF, 0xFE, 0x0F, 0xFF, 0x80, 0x3F, 0xFF, 0xFE, 0x1F, 0xFE, 0x00, 0xFF, 0xFF, 0xFE, 0x1F, 0xF8, 0x03, 0xFF, 0xFF, 0xFC, 0x3F, 0xE0, 0x0F, 0xFF, 0xFF, 0xFC, 0x3F, 0x80, 0x3F, 0xFF, 0xFF, 0xFC, 0x3C, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x70, 0x07, 0xFF, 0xFF, 0xFF, 0xF8, 0x40, 0x1F, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_transfer_48_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, + 0xF8, 0x40, 0x1F, 0xFF, 0xFF, 0xFF, 0xF8, 0x70, 0x07, 0xFF, 0xFF, 0xFF, 0xFC, 0x3C, 0x01, 0xFF, 0xFF, 0xFF, + 0xFC, 0x3F, 0x80, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xE0, 0x0F, 0xFF, 0xFF, 0xFE, 0x1F, 0xF8, 0x03, 0xFF, 0xFF, + 0xFE, 0x1F, 0xFE, 0x00, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0x80, 0x3F, 0xFF, 0xFF, 0x0F, 0xFF, 0xE0, 0x0F, 0xFF, + 0xFF, 0x0F, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0x87, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xC0, 0x3F, + 0xFF, 0x87, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x03, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x87, 0xFF, 0xFF, 0xF0, 0x0F, + 0xFF, 0x87, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0x87, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0x0F, 0xFF, 0xF8, 0x03, 0xFF, + 0xFF, 0x0F, 0xFF, 0xE0, 0x0F, 0xFF, 0xFE, 0x0F, 0xFF, 0x80, 0x3F, 0xFF, 0xFE, 0x1F, 0xFE, 0x00, 0xFF, 0xFF, + 0xFE, 0x1F, 0xF8, 0x03, 0xFF, 0xFF, 0xFC, 0x3F, 0xE0, 0x0F, 0xFF, 0xFF, 0xFC, 0x3F, 0x80, 0x3F, 0xFF, 0xFF, + 0xFC, 0x3C, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x70, 0x07, 0xFF, 0xFF, 0xFF, 0xF8, 0x40, 0x1F, 0xFF, 0xFF, 0xFF, + 0xF0, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF8, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_transfer_48 = {48, 48, 24, icon_transfer_48_bits}; // library (lucide: library) -static const uint8_t icon_library_24_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xE7, 0xE6, 0x7F, 0xE7, 0xE6, 0x7F, 0xE6, 0x66, 0x7F, 0xE6, 0x67, 0x3F, 0xE6, 0x67, 0x3F, 0xE6, 0x67, 0x3F, 0xE6, 0x67, 0x9F, 0xE6, 0x67, 0x9F, 0xE6, 0x67, 0x9F, 0xE6, 0x67, 0x9F, 0xE6, 0x67, 0xCF, 0xE6, 0x67, 0xCF, 0xE6, 0x67, 0xCF, 0xE6, 0x67, 0xE7, 0xE6, 0x67, 0xE7, 0xE6, 0x67, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_library_24_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xE7, 0xE6, 0x7F, + 0xE7, 0xE6, 0x7F, 0xE6, 0x66, 0x7F, 0xE6, 0x67, 0x3F, 0xE6, 0x67, 0x3F, 0xE6, 0x67, 0x3F, 0xE6, 0x67, 0x9F, + 0xE6, 0x67, 0x9F, 0xE6, 0x67, 0x9F, 0xE6, 0x67, 0x9F, 0xE6, 0x67, 0xCF, 0xE6, 0x67, 0xCF, 0xE6, 0x67, 0xCF, + 0xE6, 0x67, 0xE7, 0xE6, 0x67, 0xE7, 0xE6, 0x67, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_library_24 = {24, 24, 12, icon_library_24_bits}; -static const uint8_t icon_library_32_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFF, 0xF1, 0xFE, 0x73, 0xFF, 0xF1, 0xFE, 0x71, 0xFF, 0xF1, 0xDE, 0x71, 0xFF, 0xF1, 0x8E, 0x79, 0xFF, 0xF1, 0x8E, 0x78, 0xFF, 0xF1, 0x8E, 0x78, 0xFF, 0xF1, 0x8E, 0x7C, 0xFF, 0xF1, 0x8E, 0x7C, 0x7F, 0xF1, 0x8E, 0x7C, 0x7F, 0xF1, 0x8E, 0x7C, 0x7F, 0xF1, 0x8E, 0x7E, 0x7F, 0xF1, 0x8E, 0x7E, 0x3F, 0xF1, 0x8E, 0x7E, 0x3F, 0xF1, 0x8E, 0x7F, 0x3F, 0xF1, 0x8E, 0x7F, 0x1F, 0xF1, 0x8E, 0x7F, 0x1F, 0xF1, 0x8E, 0x7F, 0x1F, 0xF1, 0x8E, 0x7F, 0x9F, 0xF1, 0x8E, 0x7F, 0x8F, 0xF1, 0x8E, 0x7F, 0x8F, 0xF3, 0xCE, 0x7F, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_library_32_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, + 0xFF, 0xF1, 0xFF, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFF, 0xF1, 0xFE, 0x73, 0xFF, 0xF1, 0xFE, 0x71, 0xFF, 0xF1, 0xDE, + 0x71, 0xFF, 0xF1, 0x8E, 0x79, 0xFF, 0xF1, 0x8E, 0x78, 0xFF, 0xF1, 0x8E, 0x78, 0xFF, 0xF1, 0x8E, 0x7C, 0xFF, 0xF1, + 0x8E, 0x7C, 0x7F, 0xF1, 0x8E, 0x7C, 0x7F, 0xF1, 0x8E, 0x7C, 0x7F, 0xF1, 0x8E, 0x7E, 0x7F, 0xF1, 0x8E, 0x7E, 0x3F, + 0xF1, 0x8E, 0x7E, 0x3F, 0xF1, 0x8E, 0x7F, 0x3F, 0xF1, 0x8E, 0x7F, 0x1F, 0xF1, 0x8E, 0x7F, 0x1F, 0xF1, 0x8E, 0x7F, + 0x1F, 0xF1, 0x8E, 0x7F, 0x9F, 0xF1, 0x8E, 0x7F, 0x8F, 0xF1, 0x8E, 0x7F, 0x8F, 0xF3, 0xCE, 0x7F, 0xCF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_library_32 = {32, 32, 17, icon_library_32_bits}; -static const uint8_t icon_library_40_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xDF, 0xFF, 0xF8, 0xFF, 0xE7, 0x8F, 0xFF, 0xF8, 0xFF, 0xC3, 0x8F, 0xFF, 0xF8, 0xFF, 0xC3, 0x87, 0xFF, 0xF8, 0xF1, 0xC3, 0xC7, 0xFF, 0xF8, 0xF1, 0xC3, 0xC7, 0xFF, 0xF8, 0xF1, 0xC3, 0xC3, 0xFF, 0xF8, 0xF1, 0xC3, 0xE3, 0xFF, 0xF8, 0xF1, 0xC3, 0xE3, 0xFF, 0xF8, 0xF1, 0xC3, 0xE3, 0xFF, 0xF8, 0xF1, 0xC3, 0xE1, 0xFF, 0xF8, 0xF1, 0xC3, 0xF1, 0xFF, 0xF8, 0xF1, 0xC3, 0xF1, 0xFF, 0xF8, 0xF1, 0xC3, 0xF0, 0xFF, 0xF8, 0xF1, 0xC3, 0xF8, 0xFF, 0xF8, 0xF1, 0xC3, 0xF8, 0xFF, 0xF8, 0xF1, 0xC3, 0xF8, 0xFF, 0xF8, 0xF1, 0xC3, 0xF8, 0x7F, 0xF8, 0xF1, 0xC3, 0xFC, 0x7F, 0xF8, 0xF1, 0xC3, 0xFC, 0x7F, 0xF8, 0xF1, 0xC3, 0xFC, 0x3F, 0xF8, 0xF1, 0xC3, 0xFE, 0x3F, 0xF8, 0xF1, 0xC3, 0xFE, 0x3F, 0xF8, 0xF1, 0xC3, 0xFE, 0x3F, 0xF8, 0xF1, 0xC3, 0xFE, 0x1F, 0xF8, 0xF1, 0xC3, 0xFF, 0x1F, 0xFC, 0xF3, 0xE7, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_library_40_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, + 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xDF, 0xFF, 0xF8, 0xFF, 0xE7, 0x8F, 0xFF, 0xF8, 0xFF, 0xC3, 0x8F, 0xFF, 0xF8, 0xFF, + 0xC3, 0x87, 0xFF, 0xF8, 0xF1, 0xC3, 0xC7, 0xFF, 0xF8, 0xF1, 0xC3, 0xC7, 0xFF, 0xF8, 0xF1, 0xC3, 0xC3, 0xFF, 0xF8, + 0xF1, 0xC3, 0xE3, 0xFF, 0xF8, 0xF1, 0xC3, 0xE3, 0xFF, 0xF8, 0xF1, 0xC3, 0xE3, 0xFF, 0xF8, 0xF1, 0xC3, 0xE1, 0xFF, + 0xF8, 0xF1, 0xC3, 0xF1, 0xFF, 0xF8, 0xF1, 0xC3, 0xF1, 0xFF, 0xF8, 0xF1, 0xC3, 0xF0, 0xFF, 0xF8, 0xF1, 0xC3, 0xF8, + 0xFF, 0xF8, 0xF1, 0xC3, 0xF8, 0xFF, 0xF8, 0xF1, 0xC3, 0xF8, 0xFF, 0xF8, 0xF1, 0xC3, 0xF8, 0x7F, 0xF8, 0xF1, 0xC3, + 0xFC, 0x7F, 0xF8, 0xF1, 0xC3, 0xFC, 0x7F, 0xF8, 0xF1, 0xC3, 0xFC, 0x3F, 0xF8, 0xF1, 0xC3, 0xFE, 0x3F, 0xF8, 0xF1, + 0xC3, 0xFE, 0x3F, 0xF8, 0xF1, 0xC3, 0xFE, 0x3F, 0xF8, 0xF1, 0xC3, 0xFE, 0x1F, 0xF8, 0xF1, 0xC3, 0xFF, 0x1F, 0xFC, + 0xF3, 0xE7, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_library_40 = {40, 40, 21, icon_library_40_bits}; -static const uint8_t icon_library_48_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFE, 0x7E, 0x7F, 0xFF, 0xFC, 0x3F, 0xFC, 0x3C, 0x3F, 0xFF, 0xFC, 0x3F, 0xFC, 0x3C, 0x3F, 0xFF, 0xFC, 0x3F, 0xFC, 0x3C, 0x3F, 0xFF, 0xFC, 0x3E, 0x7C, 0x3E, 0x1F, 0xFF, 0xFC, 0x3C, 0x3C, 0x3E, 0x1F, 0xFF, 0xFC, 0x3C, 0x3C, 0x3E, 0x1F, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0x0F, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0x0F, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0x0F, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0x0F, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0x87, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0x87, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0x87, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xC3, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xC3, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xC3, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xC3, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xE1, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xE1, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xE1, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xF0, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xF0, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xF0, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xF0, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xF8, 0x7F, 0xFC, 0x3C, 0x3C, 0x3F, 0xF8, 0x7F, 0xFC, 0x3C, 0x3C, 0x3F, 0xF8, 0x7F, 0xFC, 0x3C, 0x3C, 0x3F, 0xFC, 0x3F, 0xFC, 0x3C, 0x3C, 0x3F, 0xFC, 0x3F, 0xFC, 0x3C, 0x3C, 0x3F, 0xFC, 0x3F, 0xFE, 0x7E, 0x7E, 0x7F, 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_library_48_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFE, 0x7E, 0x7F, 0xFF, 0xFC, 0x3F, 0xFC, 0x3C, 0x3F, 0xFF, + 0xFC, 0x3F, 0xFC, 0x3C, 0x3F, 0xFF, 0xFC, 0x3F, 0xFC, 0x3C, 0x3F, 0xFF, 0xFC, 0x3E, 0x7C, 0x3E, 0x1F, 0xFF, + 0xFC, 0x3C, 0x3C, 0x3E, 0x1F, 0xFF, 0xFC, 0x3C, 0x3C, 0x3E, 0x1F, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0x0F, 0xFF, + 0xFC, 0x3C, 0x3C, 0x3F, 0x0F, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0x0F, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0x0F, 0xFF, + 0xFC, 0x3C, 0x3C, 0x3F, 0x87, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0x87, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0x87, 0xFF, + 0xFC, 0x3C, 0x3C, 0x3F, 0xC3, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xC3, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xC3, 0xFF, + 0xFC, 0x3C, 0x3C, 0x3F, 0xC3, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xE1, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xE1, 0xFF, + 0xFC, 0x3C, 0x3C, 0x3F, 0xE1, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xF0, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xF0, 0xFF, + 0xFC, 0x3C, 0x3C, 0x3F, 0xF0, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xF0, 0xFF, 0xFC, 0x3C, 0x3C, 0x3F, 0xF8, 0x7F, + 0xFC, 0x3C, 0x3C, 0x3F, 0xF8, 0x7F, 0xFC, 0x3C, 0x3C, 0x3F, 0xF8, 0x7F, 0xFC, 0x3C, 0x3C, 0x3F, 0xFC, 0x3F, + 0xFC, 0x3C, 0x3C, 0x3F, 0xFC, 0x3F, 0xFC, 0x3C, 0x3C, 0x3F, 0xFC, 0x3F, 0xFE, 0x7E, 0x7E, 0x7F, 0xFE, 0x7F, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_library_48 = {48, 48, 25, icon_library_48_bits}; // wifi (lucide: wifi) -static const uint8_t icon_wifi_24_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFC, 0x00, 0x1F, 0xF0, 0xFF, 0x0F, 0xC3, 0xFF, 0xC3, 0x8F, 0xFF, 0xF1, 0x9F, 0x81, 0xF9, 0xFE, 0x00, 0x7F, 0xF8, 0x7E, 0x1F, 0xF1, 0xFF, 0x8F, 0xF3, 0xFF, 0xCF, 0xFF, 0xC3, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_wifi_24_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFC, 0x00, 0x1F, + 0xF0, 0xFF, 0x0F, 0xC3, 0xFF, 0xC3, 0x8F, 0xFF, 0xF1, 0x9F, 0x81, 0xF9, 0xFE, 0x00, 0x7F, 0xF8, 0x7E, 0x1F, + 0xF1, 0xFF, 0x8F, 0xF3, 0xFF, 0xCF, 0xFF, 0xC3, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_wifi_24 = {24, 24, 10, icon_wifi_24_bits}; -static const uint8_t icon_wifi_32_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0x7F, 0xF8, 0x1F, 0xF8, 0x1F, 0xE0, 0x7F, 0xFE, 0x07, 0xC1, 0xFF, 0xFF, 0x83, 0x87, 0xFF, 0xFF, 0xE1, 0xCF, 0xF8, 0x1F, 0xF3, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFE, 0x1F, 0xF8, 0x7F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xC7, 0xE3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_wifi_32_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0x7F, 0xF8, 0x1F, 0xF8, 0x1F, 0xE0, 0x7F, + 0xFE, 0x07, 0xC1, 0xFF, 0xFF, 0x83, 0x87, 0xFF, 0xFF, 0xE1, 0xCF, 0xF8, 0x1F, 0xF3, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, + 0x00, 0x00, 0xFF, 0xFE, 0x1F, 0xF8, 0x7F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xC7, 0xE3, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_wifi_32 = {32, 32, 13, icon_wifi_32_bits}; -static const uint8_t icon_wifi_40_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xFF, 0xC0, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0x80, 0x3F, 0xF8, 0x0F, 0xFF, 0xF0, 0x1F, 0xE0, 0x7F, 0xFF, 0xFE, 0x07, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0xC3, 0xFF, 0xFF, 0xFF, 0xC3, 0xC7, 0xFF, 0x00, 0xFF, 0xE3, 0xFF, 0xF8, 0x00, 0x1F, 0xFF, 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0x80, 0x7E, 0x01, 0xFF, 0xFF, 0x03, 0xFF, 0xC0, 0xFF, 0xFE, 0x0F, 0xFF, 0xF0, 0x7F, 0xFE, 0x1F, 0xFF, 0xF8, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xFF, 0xF8, 0x00, 0x1F, 0xFF, 0xFF, 0xF8, 0x7E, 0x1F, 0xFF, 0xFF, 0xF9, 0xFF, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_wifi_40_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, + 0x3F, 0xFF, 0xFF, 0xC0, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0x80, 0x3F, 0xF8, 0x0F, + 0xFF, 0xF0, 0x1F, 0xE0, 0x7F, 0xFF, 0xFE, 0x07, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0xC3, 0xFF, 0xFF, 0xFF, 0xC3, 0xC7, + 0xFF, 0x00, 0xFF, 0xE3, 0xFF, 0xF8, 0x00, 0x1F, 0xFF, 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0x80, 0x7E, 0x01, 0xFF, + 0xFF, 0x03, 0xFF, 0xC0, 0xFF, 0xFE, 0x0F, 0xFF, 0xF0, 0x7F, 0xFE, 0x1F, 0xFF, 0xF8, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, + 0x7F, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xFF, 0xF8, 0x00, + 0x1F, 0xFF, 0xFF, 0xF8, 0x7E, 0x1F, 0xFF, 0xFF, 0xF9, 0xFF, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFF, + 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_wifi_40 = {40, 40, 16, icon_wifi_40_bits}; -static const uint8_t icon_wifi_48_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x3F, 0xFC, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0x80, 0x3F, 0xF8, 0x0F, 0xFF, 0xFF, 0xF0, 0x1F, 0xF0, 0x3F, 0xFF, 0xFF, 0xFC, 0x0F, 0xC0, 0x7F, 0xFF, 0xFF, 0xFE, 0x03, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0xC3, 0xFF, 0xF0, 0x0F, 0xFF, 0xC3, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xE0, 0x0F, 0xF0, 0x07, 0xFF, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFE, 0x07, 0xE0, 0x7F, 0xFF, 0xFF, 0xFE, 0x1F, 0xF8, 0x7F, 0xFF, 0xFF, 0xFF, 0x3F, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_wifi_48_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, + 0xFF, 0xFE, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x03, 0xFF, + 0xFF, 0x00, 0x3F, 0xFC, 0x00, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0x80, 0x3F, 0xF8, 0x0F, 0xFF, 0xFF, 0xF0, 0x1F, + 0xF0, 0x3F, 0xFF, 0xFF, 0xFC, 0x0F, 0xC0, 0x7F, 0xFF, 0xFF, 0xFE, 0x03, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, + 0xC3, 0xFF, 0xF0, 0x0F, 0xFF, 0xC3, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x3F, 0xFF, + 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xE0, 0x0F, 0xF0, 0x07, 0xFF, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF, + 0xFF, 0x81, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, + 0xFF, 0x9F, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, + 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFE, 0x07, 0xE0, 0x7F, 0xFF, + 0xFF, 0xFE, 0x1F, 0xF8, 0x7F, 0xFF, 0xFF, 0xFF, 0x3F, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_wifi_48 = {48, 48, 20, icon_wifi_48_bits}; // hotspot (lucide: router) -static const uint8_t icon_hotspot_24_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, 0xC0, 0x0F, 0xFF, 0x8F, 0xC7, 0xFF, 0x1F, 0xE3, 0xFF, 0xF8, 0x7F, 0xFF, 0xF0, 0x3F, 0xFF, 0xE7, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x03, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x99, 0x9F, 0xF9, 0x99, 0x9F, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_hotspot_24_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, 0xC0, 0x0F, 0xFF, 0x8F, 0xC7, 0xFF, 0x1F, 0xE3, 0xFF, 0xF8, 0x7F, + 0xFF, 0xF0, 0x3F, 0xFF, 0xE7, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, + 0xFF, 0xFC, 0xFF, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x03, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0x99, 0x9F, 0xF9, + 0x99, 0x9F, 0xF9, 0x9F, 0xFF, 0xF9, 0x9F, 0xFF, 0xF9, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_hotspot_24 = {24, 24, 13, icon_hotspot_24_bits}; -static const uint8_t icon_hotspot_32_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xF8, 0x00, 0x1F, 0xFF, 0xF0, 0x7E, 0x0F, 0xFF, 0xE1, 0xFF, 0x87, 0xFF, 0xE3, 0xFF, 0xC7, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFE, 0x18, 0x7F, 0xFF, 0xFE, 0x7E, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xF8, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x03, 0xCF, 0xFF, 0xFF, 0xF3, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8E, 0x73, 0xFF, 0xF1, 0x8E, 0x73, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0xCF, 0xFF, 0xFF, 0xF3, 0xC0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_hotspot_32_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xF8, 0x00, 0x1F, 0xFF, 0xF0, 0x7E, + 0x0F, 0xFF, 0xE1, 0xFF, 0x87, 0xFF, 0xE3, 0xFF, 0xC7, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFE, + 0x18, 0x7F, 0xFF, 0xFE, 0x7E, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, + 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xF8, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x07, + 0xC0, 0x00, 0x00, 0x03, 0xCF, 0xFF, 0xFF, 0xF3, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8E, 0x73, 0xFF, + 0xF1, 0x8E, 0x73, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0x8F, 0xFF, 0xFF, 0xF1, 0xCF, 0xFF, 0xFF, 0xF3, 0xC0, 0x00, + 0x00, 0x03, 0xE0, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_hotspot_32 = {32, 32, 18, icon_hotspot_32_bits}; -static const uint8_t icon_hotspot_40_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xFF, 0xFE, 0x03, 0xF0, 0x1F, 0xFF, 0xFC, 0x1F, 0xFE, 0x0F, 0xFF, 0xFC, 0x3F, 0xFF, 0x0F, 0xFF, 0xFE, 0x7F, 0x3F, 0xDF, 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, 0xFF, 0xE0, 0x01, 0xFF, 0xFF, 0xFF, 0xE3, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0x7F, 0xFF, 0xE3, 0xC7, 0x9E, 0x3F, 0xFF, 0xE3, 0xC7, 0x9E, 0x3F, 0xFF, 0xE3, 0xC7, 0xFF, 0x7F, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_hotspot_40_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xFF, 0xFE, 0x03, 0xF0, 0x1F, 0xFF, 0xFC, 0x1F, 0xFE, 0x0F, 0xFF, 0xFC, 0x3F, + 0xFF, 0x0F, 0xFF, 0xFE, 0x7F, 0x3F, 0xDF, 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, 0xFF, + 0xE0, 0x01, 0xFF, 0xFF, 0xFF, 0xE3, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, + 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xF0, 0x00, 0x00, 0x00, + 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, + 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0x7F, 0xFF, 0xE3, 0xC7, 0x9E, 0x3F, 0xFF, 0xE3, 0xC7, 0x9E, + 0x3F, 0xFF, 0xE3, 0xC7, 0xFF, 0x7F, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, + 0xFF, 0xFF, 0xFF, 0xE3, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x0F, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_hotspot_40 = {40, 40, 22, icon_hotspot_40_bits}; -static const uint8_t icon_hotspot_48_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0x3F, 0xC0, 0x3F, 0xFF, 0xFF, 0x80, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0x83, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0x87, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xDF, 0xE0, 0x7F, 0xBF, 0xFF, 0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFC, 0x0F, 0x83, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xE7, 0xE7, 0xFF, 0xFF, 0xC3, 0xC3, 0xC3, 0xC3, 0xFF, 0xFF, 0xC3, 0xC3, 0xC3, 0xC3, 0xFF, 0xFF, 0xC3, 0xC3, 0xE7, 0xE7, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_hotspot_48_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, + 0xFF, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x7F, + 0xFF, 0xFF, 0xC0, 0x3F, 0xC0, 0x3F, 0xFF, 0xFF, 0x80, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0x83, 0xFF, 0xFC, 0x1F, + 0xFF, 0xFF, 0x87, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xDF, 0xE0, 0x7F, 0xBF, 0xFF, 0xFF, 0xFF, 0x80, 0x1F, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFC, 0x0F, 0x83, 0xFF, + 0xFF, 0xFF, 0xFE, 0x3F, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, + 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x07, + 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, + 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xE7, 0xE7, 0xFF, 0xFF, 0xC3, 0xC3, 0xC3, 0xC3, 0xFF, 0xFF, 0xC3, + 0xC3, 0xC3, 0xC3, 0xFF, 0xFF, 0xC3, 0xC3, 0xE7, 0xE7, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, + 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, + 0xE0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, + 0xFC, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_hotspot_48 = {48, 48, 28, icon_hotspot_48_bits}; // bookmark (lucide: bookmark) -static const uint8_t icon_bookmark_24_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x3F, 0xF8, 0x00, 0x1F, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xE7, 0xCF, 0xF3, 0x81, 0xCF, 0xF2, 0x18, 0x4F, 0xF0, 0x7E, 0x0F, 0xF9, 0xFF, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_bookmark_24_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x3F, 0xF8, 0x00, 0x1F, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, + 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, + 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xFF, 0xCF, 0xF3, 0xE7, 0xCF, + 0xF3, 0x81, 0xCF, 0xF2, 0x18, 0x4F, 0xF0, 0x7E, 0x0F, 0xF9, 0xFF, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_bookmark_24 = {24, 24, 12, icon_bookmark_24_bits}; -static const uint8_t icon_bookmark_32_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x7F, 0xFC, 0x00, 0x00, 0x3F, 0xFC, 0x7F, 0xFE, 0x3F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFC, 0x3F, 0x1F, 0xF8, 0xF0, 0x0F, 0x1F, 0xF8, 0xC1, 0x83, 0x1F, 0xF8, 0x03, 0xC0, 0x1F, 0xFC, 0x0F, 0xF0, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_bookmark_32_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x7F, 0xFC, 0x00, 0x00, + 0x3F, 0xFC, 0x7F, 0xFE, 0x3F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, + 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, + 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, + 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF8, 0xFC, 0x3F, + 0x1F, 0xF8, 0xF0, 0x0F, 0x1F, 0xF8, 0xC1, 0x83, 0x1F, 0xF8, 0x03, 0xC0, 0x1F, 0xFC, 0x0F, 0xF0, 0x3F, 0xFC, 0x3F, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_bookmark_32 = {32, 32, 16, icon_bookmark_32_bits}; -static const uint8_t icon_bookmark_40_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0x80, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0x81, 0xFC, 0x7F, 0xFE, 0x3E, 0x00, 0x7C, 0x7F, 0xFE, 0x38, 0x00, 0x1C, 0x7F, 0xFE, 0x30, 0x3C, 0x0C, 0x7F, 0xFE, 0x00, 0xFF, 0x00, 0x7F, 0xFE, 0x01, 0xFF, 0x80, 0x7F, 0xFF, 0x07, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_bookmark_40_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x07, + 0xFF, 0xFF, 0x80, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFE, 0x3F, 0xFF, + 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, + 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, + 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, + 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, + 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, + 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0xFF, 0xFC, 0x7F, 0xFE, 0x3F, 0x81, 0xFC, 0x7F, 0xFE, 0x3E, + 0x00, 0x7C, 0x7F, 0xFE, 0x38, 0x00, 0x1C, 0x7F, 0xFE, 0x30, 0x3C, 0x0C, 0x7F, 0xFE, 0x00, 0xFF, 0x00, 0x7F, 0xFE, + 0x01, 0xFF, 0x80, 0x7F, 0xFF, 0x07, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_bookmark_40 = {40, 40, 19, icon_bookmark_40_bits}; -static const uint8_t icon_bookmark_48_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFC, 0x3F, 0xF0, 0xFF, 0xFF, 0x0F, 0xF0, 0x0F, 0xF0, 0xFF, 0xFF, 0x0F, 0xC0, 0x03, 0xF0, 0xFF, 0xFF, 0x0F, 0x80, 0x00, 0xF0, 0xFF, 0xFF, 0x0E, 0x01, 0x80, 0x70, 0xFF, 0xFF, 0x08, 0x07, 0xE0, 0x10, 0xFF, 0xFF, 0x00, 0x1F, 0xF8, 0x00, 0xFF, 0xFF, 0x00, 0x7F, 0xFE, 0x00, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_bookmark_48_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x03, 0xFF, + 0xFF, 0x80, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xE0, 0xFF, + 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, + 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, + 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, + 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, + 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, + 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, + 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, + 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, + 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFC, 0x3F, 0xF0, 0xFF, 0xFF, 0x0F, 0xF0, 0x0F, 0xF0, 0xFF, + 0xFF, 0x0F, 0xC0, 0x03, 0xF0, 0xFF, 0xFF, 0x0F, 0x80, 0x00, 0xF0, 0xFF, 0xFF, 0x0E, 0x01, 0x80, 0x70, 0xFF, + 0xFF, 0x08, 0x07, 0xE0, 0x10, 0xFF, 0xFF, 0x00, 0x1F, 0xF8, 0x00, 0xFF, 0xFF, 0x00, 0x7F, 0xFE, 0x00, 0xFF, + 0xFF, 0x80, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_bookmark_48 = {48, 48, 24, icon_bookmark_48_bits}; // firmware (lucide: cpu) -static const uint8_t icon_firmware_24_bits[] = {0xFF, 0xFF, 0xFF, 0xFC, 0xE7, 0x3F, 0xFC, 0xE7, 0x3F, 0xF8, 0x00, 0x1F, 0xF0, 0x00, 0x0F, 0xE7, 0xFF, 0xE7, 0x87, 0xFF, 0xE1, 0x87, 0x00, 0xE1, 0xE6, 0x00, 0x67, 0xE6, 0x7E, 0x67, 0xE6, 0x7E, 0x67, 0x86, 0x7E, 0x61, 0x86, 0x7E, 0x61, 0xE6, 0x7E, 0x67, 0xE6, 0x7E, 0x67, 0xE6, 0x00, 0x67, 0x87, 0x00, 0xE1, 0x87, 0xFF, 0xE1, 0xE7, 0xFF, 0xE7, 0xF0, 0x00, 0x0F, 0xF8, 0x00, 0x1F, 0xFC, 0xE7, 0x3F, 0xFC, 0xE7, 0x3F, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_firmware_24_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFC, 0xE7, 0x3F, 0xFC, 0xE7, 0x3F, 0xF8, 0x00, 0x1F, 0xF0, 0x00, 0x0F, 0xE7, 0xFF, 0xE7, + 0x87, 0xFF, 0xE1, 0x87, 0x00, 0xE1, 0xE6, 0x00, 0x67, 0xE6, 0x7E, 0x67, 0xE6, 0x7E, 0x67, 0x86, 0x7E, 0x61, + 0x86, 0x7E, 0x61, 0xE6, 0x7E, 0x67, 0xE6, 0x7E, 0x67, 0xE6, 0x00, 0x67, 0x87, 0x00, 0xE1, 0x87, 0xFF, 0xE1, + 0xE7, 0xFF, 0xE7, 0xF0, 0x00, 0x0F, 0xF8, 0x00, 0x1F, 0xFC, 0xE7, 0x3F, 0xFC, 0xE7, 0x3F, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_firmware_24 = {24, 24, 12, icon_firmware_24_bits}; -static const uint8_t icon_firmware_32_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFD, 0xFF, 0xFF, 0x1E, 0x78, 0xFF, 0xFF, 0x1E, 0x78, 0xFF, 0xFC, 0x00, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x0F, 0xF1, 0xFF, 0xFF, 0x8F, 0xC1, 0xFF, 0xFF, 0x83, 0x81, 0xF0, 0x0F, 0x81, 0xC1, 0xC0, 0x03, 0x83, 0xF1, 0xC0, 0x03, 0x8F, 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, 0x8F, 0xC1, 0x8F, 0xF1, 0x83, 0xC1, 0x8F, 0xF1, 0x83, 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, 0xC0, 0x03, 0x8F, 0xC1, 0xC0, 0x03, 0x83, 0x81, 0xF0, 0x0F, 0x81, 0xC1, 0xFF, 0xFF, 0x83, 0xF1, 0xFF, 0xFF, 0x8F, 0xF0, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x3F, 0xFF, 0x1E, 0x78, 0xFF, 0xFF, 0x1E, 0x78, 0xFF, 0xFF, 0xBF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_firmware_32_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFD, 0xFF, 0xFF, 0x1E, 0x78, 0xFF, 0xFF, 0x1E, 0x78, 0xFF, 0xFC, 0x00, 0x00, + 0x3F, 0xF8, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x0F, 0xF1, 0xFF, 0xFF, 0x8F, 0xC1, 0xFF, 0xFF, 0x83, 0x81, 0xF0, + 0x0F, 0x81, 0xC1, 0xC0, 0x03, 0x83, 0xF1, 0xC0, 0x03, 0x8F, 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, + 0x8F, 0xF1, 0x8F, 0xC1, 0x8F, 0xF1, 0x83, 0xC1, 0x8F, 0xF1, 0x83, 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, 0x8F, + 0xF1, 0x8F, 0xF1, 0x8F, 0xF1, 0xC0, 0x03, 0x8F, 0xC1, 0xC0, 0x03, 0x83, 0x81, 0xF0, 0x0F, 0x81, 0xC1, 0xFF, 0xFF, + 0x83, 0xF1, 0xFF, 0xFF, 0x8F, 0xF0, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x3F, 0xFF, 0x1E, + 0x78, 0xFF, 0xFF, 0x1E, 0x78, 0xFF, 0xFF, 0xBF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_firmware_32 = {32, 32, 16, icon_firmware_32_bits}; -static const uint8_t icon_firmware_40_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xE7, 0xE3, 0xFF, 0xFF, 0xC7, 0xC3, 0xE3, 0xFF, 0xFF, 0xC7, 0xC3, 0xE3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xF8, 0x7F, 0xFF, 0xFE, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0xF8, 0x00, 0x1F, 0x03, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xF1, 0xFF, 0x8F, 0x1F, 0xF8, 0xF1, 0xFF, 0x8F, 0x1F, 0xF8, 0xF1, 0xFF, 0x8F, 0x1F, 0xE0, 0xF1, 0xFF, 0x8F, 0x07, 0xC0, 0xF1, 0xFF, 0x8F, 0x03, 0xC0, 0xF1, 0xFF, 0x8F, 0x03, 0xE0, 0xF1, 0xFF, 0x8F, 0x07, 0xF8, 0xF1, 0xFF, 0x8F, 0x1F, 0xF8, 0xF1, 0xFF, 0x8F, 0x1F, 0xF8, 0xF1, 0xFF, 0x8F, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xC0, 0xF8, 0x00, 0x1F, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0x7F, 0xFF, 0xFE, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC3, 0xE3, 0xFF, 0xFF, 0xC7, 0xC3, 0xE3, 0xFF, 0xFF, 0xC7, 0xE7, 0xE3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_firmware_40_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xE7, 0xE3, 0xFF, 0xFF, 0xC7, 0xC3, 0xE3, + 0xFF, 0xFF, 0xC7, 0xC3, 0xE3, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFC, 0x00, 0x00, + 0x00, 0x3F, 0xF8, 0x7F, 0xFF, 0xFE, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0xFF, + 0xFF, 0xFF, 0x03, 0xC0, 0xF8, 0x00, 0x1F, 0x03, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, + 0xF1, 0xFF, 0x8F, 0x1F, 0xF8, 0xF1, 0xFF, 0x8F, 0x1F, 0xF8, 0xF1, 0xFF, 0x8F, 0x1F, 0xE0, 0xF1, 0xFF, 0x8F, 0x07, + 0xC0, 0xF1, 0xFF, 0x8F, 0x03, 0xC0, 0xF1, 0xFF, 0x8F, 0x03, 0xE0, 0xF1, 0xFF, 0x8F, 0x07, 0xF8, 0xF1, 0xFF, 0x8F, + 0x1F, 0xF8, 0xF1, 0xFF, 0x8F, 0x1F, 0xF8, 0xF1, 0xFF, 0x8F, 0x1F, 0xF8, 0xF0, 0x00, 0x0F, 0x1F, 0xF8, 0xF0, 0x00, + 0x0F, 0x1F, 0xC0, 0xF8, 0x00, 0x1F, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0xF8, 0xFF, + 0xFF, 0xFF, 0x1F, 0xF8, 0x7F, 0xFF, 0xFE, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC3, 0xE3, 0xFF, 0xFF, 0xC7, 0xC3, 0xE3, 0xFF, 0xFF, 0xC7, 0xE7, 0xE3, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_firmware_40 = {40, 40, 20, icon_firmware_40_bits}; -static const uint8_t icon_firmware_48_bits[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0x7F, 0x9F, 0xFF, 0xFF, 0xF0, 0xFC, 0x3F, 0x0F, 0xFF, 0xFF, 0xF0, 0xFC, 0x3F, 0x0F, 0xFF, 0xFF, 0xF0, 0xFC, 0x3F, 0x0F, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFC, 0x1F, 0xFF, 0xFF, 0xF8, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xE0, 0x3F, 0xFF, 0xFF, 0xFC, 0x07, 0xC0, 0x3F, 0xFF, 0xFF, 0xFC, 0x03, 0xC0, 0x3F, 0x00, 0x00, 0xFC, 0x03, 0xE0, 0x3E, 0x00, 0x00, 0x7C, 0x07, 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xE0, 0x3C, 0x3F, 0xFC, 0x3C, 0x07, 0xC0, 0x3C, 0x3F, 0xFC, 0x3C, 0x03, 0xC0, 0x3C, 0x3F, 0xFC, 0x3C, 0x03, 0xE0, 0x3C, 0x3F, 0xFC, 0x3C, 0x07, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, 0xE0, 0x3E, 0x00, 0x00, 0x7C, 0x07, 0xC0, 0x3F, 0x00, 0x00, 0xFC, 0x03, 0xC0, 0x3F, 0xFF, 0xFF, 0xFC, 0x03, 0xE0, 0x3F, 0xFF, 0xFF, 0xFC, 0x07, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x1F, 0xFF, 0xFF, 0xF8, 0x3F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF0, 0xFC, 0x3F, 0x0F, 0xFF, 0xFF, 0xF0, 0xFC, 0x3F, 0x0F, 0xFF, 0xFF, 0xF0, 0xFC, 0x3F, 0x0F, 0xFF, 0xFF, 0xF9, 0xFE, 0x7F, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +static const uint8_t icon_firmware_48_bits[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0x7F, 0x9F, 0xFF, + 0xFF, 0xF0, 0xFC, 0x3F, 0x0F, 0xFF, 0xFF, 0xF0, 0xFC, 0x3F, 0x0F, 0xFF, 0xFF, 0xF0, 0xFC, 0x3F, 0x0F, 0xFF, + 0xFF, 0xC0, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFC, 0x1F, 0xFF, 0xFF, 0xF8, 0x3F, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, + 0xE0, 0x3F, 0xFF, 0xFF, 0xFC, 0x07, 0xC0, 0x3F, 0xFF, 0xFF, 0xFC, 0x03, 0xC0, 0x3F, 0x00, 0x00, 0xFC, 0x03, + 0xE0, 0x3E, 0x00, 0x00, 0x7C, 0x07, 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, + 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, + 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xE0, 0x3C, 0x3F, 0xFC, 0x3C, 0x07, 0xC0, 0x3C, 0x3F, 0xFC, 0x3C, 0x03, + 0xC0, 0x3C, 0x3F, 0xFC, 0x3C, 0x03, 0xE0, 0x3C, 0x3F, 0xFC, 0x3C, 0x07, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, + 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, 0xFC, 0x3C, 0x3F, + 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, 0xFC, 0x3C, 0x00, 0x00, 0x3C, 0x3F, 0xE0, 0x3E, 0x00, 0x00, 0x7C, 0x07, + 0xC0, 0x3F, 0x00, 0x00, 0xFC, 0x03, 0xC0, 0x3F, 0xFF, 0xFF, 0xFC, 0x03, 0xE0, 0x3F, 0xFF, 0xFF, 0xFC, 0x07, + 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFC, 0x1F, 0xFF, 0xFF, 0xF8, 0x3F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x03, 0xFF, + 0xFF, 0xF0, 0xFC, 0x3F, 0x0F, 0xFF, 0xFF, 0xF0, 0xFC, 0x3F, 0x0F, 0xFF, 0xFF, 0xF0, 0xFC, 0x3F, 0x0F, 0xFF, + 0xFF, 0xF9, 0xFE, 0x7F, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; static const freeink::Icon icon_firmware_48 = {48, 48, 24, icon_firmware_48_bits}; diff --git a/src/components/themes/BaseTheme.cpp b/src/components/themes/BaseTheme.cpp index a860cf0f..0a0c7b01 100644 --- a/src/components/themes/BaseTheme.cpp +++ b/src/components/themes/BaseTheme.cpp @@ -274,8 +274,7 @@ void BaseTheme::drawList(const GfxRenderer& renderer, Rect rect, int itemCount, const std::function& rowIcon, const std::function& rowValue, bool highlightValue, const std::function& rowDimmed) const { - int rowHeight = - (rowSubtitle != nullptr) ? M().listWithSubtitleRowHeight : M().listRowHeight; + int rowHeight = (rowSubtitle != nullptr) ? M().listWithSubtitleRowHeight : M().listRowHeight; int pageItems = rect.height / rowHeight; const int totalPages = (itemCount + pageItems - 1) / pageItems; @@ -359,8 +358,8 @@ void BaseTheme::drawList(const GfxRenderer& renderer, Rect rect, int itemCount, if (rowSubtitle != nullptr) { valueY = itemY + 10; } - renderer.drawText(UI_10_FONT_ID, rect.x + contentWidth - M().contentSidePadding - valueTextWidth, - valueY, valueText.c_str(), i != selectedIndex); + renderer.drawText(UI_10_FONT_ID, rect.x + contentWidth - M().contentSidePadding - valueTextWidth, valueY, + valueText.c_str(), i != selectedIndex); } } } @@ -371,31 +370,26 @@ void BaseTheme::drawHeader(const GfxRenderer& renderer, Rect rect, const char* t // Hide last battery draw constexpr int maxBatteryWidth = 80; - renderer.fillRect(rect.x + rect.width - maxBatteryWidth, rect.y + 5, maxBatteryWidth, - M().batteryHeight + 10, false); + renderer.fillRect(rect.x + rect.width - maxBatteryWidth, rect.y + 5, maxBatteryWidth, M().batteryHeight + 10, false); const bool showBatteryPercentage = SETTINGS.hideBatteryPercentage != CrossPointSettings::HIDE_BATTERY_PERCENTAGE::HIDE_ALWAYS; // Position icon at right edge, drawBatteryRight will place text to the left const int batteryX = rect.x + rect.width - 12 - M().batteryWidth; - drawBatteryRight(renderer, - Rect{batteryX, rect.y + 5, M().batteryWidth, M().batteryHeight}, - showBatteryPercentage); + drawBatteryRight(renderer, Rect{batteryX, rect.y + 5, M().batteryWidth, M().batteryHeight}, showBatteryPercentage); if (title) { int padding = rect.width - batteryX + M().batteryWidth; - auto truncatedTitle = renderer.truncatedText(UI_12_FONT_ID, title, - rect.width - padding * 2 - M().contentSidePadding * 2, - EpdFontFamily::BOLD); + auto truncatedTitle = renderer.truncatedText( + UI_12_FONT_ID, title, rect.width - padding * 2 - M().contentSidePadding * 2, EpdFontFamily::BOLD); renderer.drawCenteredText(UI_12_FONT_ID, rect.y + 5, truncatedTitle.c_str(), true, EpdFontFamily::BOLD); } if (subtitle) { - auto truncatedSubtitle = renderer.truncatedText( - SMALL_FONT_ID, subtitle, rect.width - M().contentSidePadding * 2, EpdFontFamily::REGULAR); + auto truncatedSubtitle = renderer.truncatedText(SMALL_FONT_ID, subtitle, rect.width - M().contentSidePadding * 2, + EpdFontFamily::REGULAR); int truncatedSubtitleWidth = renderer.getTextWidth(SMALL_FONT_ID, truncatedSubtitle.c_str()); - renderer.drawText(SMALL_FONT_ID, - rect.x + rect.width - M().contentSidePadding - truncatedSubtitleWidth, subtitleY, + renderer.drawText(SMALL_FONT_ID, rect.x + rect.width - M().contentSidePadding - truncatedSubtitleWidth, subtitleY, truncatedSubtitle.c_str(), true); } } @@ -409,18 +403,18 @@ void BaseTheme::drawSubHeader(const GfxRenderer& renderer, Rect rect, const char auto truncatedRightLabel = renderer.truncatedText(SMALL_FONT_ID, rightLabel, maxListValueWidth, EpdFontFamily::REGULAR); int rightLabelWidth = renderer.getTextWidth(SMALL_FONT_ID, truncatedRightLabel.c_str()); - renderer.drawText(SMALL_FONT_ID, rect.x + rect.width - M().contentSidePadding - rightLabelWidth, - rect.y + 7, truncatedRightLabel.c_str()); + renderer.drawText(SMALL_FONT_ID, rect.x + rect.width - M().contentSidePadding - rightLabelWidth, rect.y + 7, + truncatedRightLabel.c_str()); rightSpace += rightLabelWidth + 10; } - auto truncatedLabel = renderer.truncatedText( - UI_12_FONT_ID, label, rect.width - M().contentSidePadding - rightSpace, EpdFontFamily::REGULAR); + auto truncatedLabel = renderer.truncatedText(UI_12_FONT_ID, label, rect.width - M().contentSidePadding - rightSpace, + EpdFontFamily::REGULAR); renderer.drawText(UI_12_FONT_ID, currentX, rect.y, truncatedLabel.c_str(), true, EpdFontFamily::REGULAR); } int BaseTheme::tabBarScrollOffset(int contentWidth, int selStart, int selWidth, int availWidth) { - if (contentWidth <= availWidth) return 0; // fits, no scroll + if (contentWidth <= availWidth) return 0; // fits, no scroll int offset = selStart - (availWidth - selWidth) / 2; // center the selected tab const int maxOffset = contentWidth - availWidth; if (offset < 0) offset = 0; @@ -498,8 +492,7 @@ void BaseTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, const std: if (hasContinueReading && !recentBooks[0].coverBmpPath.empty()) { // Try to get actual image dimensions from BMP header - const std::string coverBmpPath = - UITheme::getCoverThumbPath(recentBooks[0].coverBmpPath, M().homeCoverHeight); + const std::string coverBmpPath = UITheme::getCoverThumbPath(recentBooks[0].coverBmpPath, M().homeCoverHeight); HalFile file; if (Storage.openFileForRead("HOME", coverBmpPath, file)) { @@ -552,8 +545,7 @@ void BaseTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, const std: // Only load from SD on first render, then use stored buffer if (hasContinueReading && !recentBooks[0].coverBmpPath.empty() && !coverRendered) { - const std::string coverBmpPath = - UITheme::getCoverThumbPath(recentBooks[0].coverBmpPath, M().homeCoverHeight); + const std::string coverBmpPath = UITheme::getCoverThumbPath(recentBooks[0].coverBmpPath, M().homeCoverHeight); // First time: load cover from SD and render HalFile file; diff --git a/src/components/themes/BaseTheme.h b/src/components/themes/BaseTheme.h index 677980bc..b82c29be 100644 --- a/src/components/themes/BaseTheme.h +++ b/src/components/themes/BaseTheme.h @@ -112,7 +112,21 @@ struct ThemeMetrics { // update it after adding a field (and decide there whether the field scales). inline constexpr unsigned THEME_METRICS_SIZEOF = 224; -enum UIIcon { None = 0, Folder, Text, Image, Book, File, Settings, Transfer, Library, Wifi, Hotspot, Bookmark, Firmware }; +enum UIIcon { + None = 0, + Folder, + Text, + Image, + Book, + File, + Settings, + Transfer, + Library, + Wifi, + Hotspot, + Bookmark, + Firmware +}; enum class KeyboardKeyType { Normal, Shift, Mode, Space, Del, Ok, Disabled }; diff --git a/src/components/themes/lyra/Lyra3CoversTheme.cpp b/src/components/themes/lyra/Lyra3CoversTheme.cpp index d8a43639..3c8ce9e1 100644 --- a/src/components/themes/lyra/Lyra3CoversTheme.cpp +++ b/src/components/themes/lyra/Lyra3CoversTheme.cpp @@ -35,16 +35,14 @@ void Lyra3CoversTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, con // Only load from SD on first render, then use stored buffer if (hasContinueReading) { if (!coverRendered) { - for (int i = 0; - i < std::min(static_cast(recentBooks.size()), M().homeRecentBooksCount); i++) { + for (int i = 0; i < std::min(static_cast(recentBooks.size()), M().homeRecentBooksCount); i++) { std::string coverPath = recentBooks[i].coverBmpPath; bool hasCover = true; int tileX = M().contentSidePadding + tileWidth * i; if (coverPath.empty()) { hasCover = false; } else { - const std::string coverBmpPath = - UITheme::getCoverThumbPath(coverPath, M().homeCoverHeight); + const std::string coverBmpPath = UITheme::getCoverThumbPath(coverPath, M().homeCoverHeight); // First time: load cover from SD and render HalFile file; @@ -54,13 +52,12 @@ void Lyra3CoversTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, con float coverHeight = static_cast(bitmap.getHeight()); float coverWidth = static_cast(bitmap.getWidth()); float ratio = coverWidth / coverHeight; - const float tileRatio = static_cast(tileWidth - 2 * hPaddingInSelection) / - static_cast(M().homeCoverHeight); + const float tileRatio = + static_cast(tileWidth - 2 * hPaddingInSelection) / static_cast(M().homeCoverHeight); float cropX = 1.0f - (tileRatio / ratio); renderer.drawBitmap(bitmap, tileX + hPaddingInSelection, tileY + hPaddingInSelection, - tileWidth - 2 * hPaddingInSelection, M().homeCoverHeight, - cropX); + tileWidth - 2 * hPaddingInSelection, M().homeCoverHeight, cropX); } else { hasCover = false; } @@ -73,10 +70,8 @@ void Lyra3CoversTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, con if (!hasCover) { // Render empty cover - renderer.fillRect(tileX + hPaddingInSelection, - tileY + hPaddingInSelection + (M().homeCoverHeight / 3), - tileWidth - 2 * hPaddingInSelection, 2 * M().homeCoverHeight / 3, - true); + renderer.fillRect(tileX + hPaddingInSelection, tileY + hPaddingInSelection + (M().homeCoverHeight / 3), + tileWidth - 2 * hPaddingInSelection, 2 * M().homeCoverHeight / 3, true); renderer.drawIcon(CoverIcon, tileX + hPaddingInSelection + 24, tileY + hPaddingInSelection + 24, 32, 32); } } @@ -85,8 +80,7 @@ void Lyra3CoversTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, con coverRendered = coverBufferStored; // Only consider it rendered if we successfully stored the buffer } - for (int i = 0; i < std::min(static_cast(recentBooks.size()), M().homeRecentBooksCount); - i++) { + for (int i = 0; i < std::min(static_cast(recentBooks.size()), M().homeRecentBooksCount); i++) { bool bookSelected = (selectorIndex == i); int tileX = M().contentSidePadding + tileWidth * i; @@ -104,13 +98,12 @@ void Lyra3CoversTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, con // Draw selection box renderer.fillRoundedRect(tileX, tileY, tileWidth, hPaddingInSelection, cornerRadius, true, true, false, false, Color::LightGray); - renderer.fillRectDither(tileX, tileY + hPaddingInSelection, hPaddingInSelection, - M().homeCoverHeight, Color::LightGray); + renderer.fillRectDither(tileX, tileY + hPaddingInSelection, hPaddingInSelection, M().homeCoverHeight, + Color::LightGray); renderer.fillRectDither(tileX + tileWidth - hPaddingInSelection, tileY + hPaddingInSelection, hPaddingInSelection, M().homeCoverHeight, Color::LightGray); - renderer.fillRoundedRect(tileX, tileY + M().homeCoverHeight + hPaddingInSelection, - tileWidth, dynamicTitleBoxHeight, cornerRadius, false, false, true, true, - Color::LightGray); + renderer.fillRoundedRect(tileX, tileY + M().homeCoverHeight + hPaddingInSelection, tileWidth, + dynamicTitleBoxHeight, cornerRadius, false, false, true, true, Color::LightGray); } int currentY = tileY + M().homeCoverHeight + hPaddingInSelection + 5; diff --git a/src/components/themes/lyra/LyraTheme.cpp b/src/components/themes/lyra/LyraTheme.cpp index a8905cf5..618437fd 100644 --- a/src/components/themes/lyra/LyraTheme.cpp +++ b/src/components/themes/lyra/LyraTheme.cpp @@ -59,25 +59,36 @@ int nearestIconSize(int targetPx) { return kIconSizes[iconVariantIndex(targetPx) // asset (not an upscale) with exact alignment. const freeink::Icon* pickIcon(UIIcon icon, int targetPx) { const freeink::Icon* const* v = nullptr; -#define VARIANTS(n) \ - { \ - static const freeink::Icon* a[] = {&icon_##n##_24, &icon_##n##_32, &icon_##n##_40, \ - &icon_##n##_48}; \ - v = a; \ +#define VARIANTS(n) \ + { \ + static const freeink::Icon* a[] = {&icon_##n##_24, &icon_##n##_32, &icon_##n##_40, &icon_##n##_48}; \ + v = a; \ } switch (icon) { - case UIIcon::Folder: VARIANTS(folder) break; - case UIIcon::Text: VARIANTS(text) break; - case UIIcon::Image: VARIANTS(image) break; - case UIIcon::Book: VARIANTS(book) break; - case UIIcon::File: VARIANTS(file) break; - case UIIcon::Settings: VARIANTS(settings) break; - case UIIcon::Transfer: VARIANTS(transfer) break; - case UIIcon::Library: VARIANTS(library) break; - case UIIcon::Wifi: VARIANTS(wifi) break; - case UIIcon::Hotspot: VARIANTS(hotspot) break; - case UIIcon::Bookmark: VARIANTS(bookmark) break; - default: return nullptr; + case UIIcon::Folder: + VARIANTS(folder) break; + case UIIcon::Text: + VARIANTS(text) break; + case UIIcon::Image: + VARIANTS(image) break; + case UIIcon::Book: + VARIANTS(book) break; + case UIIcon::File: + VARIANTS(file) break; + case UIIcon::Settings: + VARIANTS(settings) break; + case UIIcon::Transfer: + VARIANTS(transfer) break; + case UIIcon::Library: + VARIANTS(library) break; + case UIIcon::Wifi: + VARIANTS(wifi) break; + case UIIcon::Hotspot: + VARIANTS(hotspot) break; + case UIIcon::Bookmark: + VARIANTS(bookmark) break; + default: + return nullptr; } #undef VARIANTS return v[iconVariantIndex(targetPx)]; @@ -117,9 +128,7 @@ void LyraTheme::drawHeader(const GfxRenderer& renderer, Rect rect, const char* t SETTINGS.hideBatteryPercentage != CrossPointSettings::HIDE_BATTERY_PERCENTAGE::HIDE_ALWAYS; // Position icon at right edge, drawBatteryRight will place text to the left const int batteryX = rect.x + rect.width - 12 - M().batteryWidth; - drawBatteryRight(renderer, - Rect{batteryX, rect.y + 5, M().batteryWidth, M().batteryHeight}, - showBatteryPercentage); + drawBatteryRight(renderer, Rect{batteryX, rect.y + 5, M().batteryWidth, M().batteryHeight}, showBatteryPercentage); int maxTitleWidth = title != nullptr ? renderer.getTextWidth(UI_12_FONT_ID, title, EpdFontFamily::BOLD) : 0; int maxSubtitleWidth = @@ -145,18 +154,16 @@ void LyraTheme::drawHeader(const GfxRenderer& renderer, Rect rect, const char* t if (title) { auto truncatedTitle = renderer.truncatedText(UI_12_FONT_ID, title, maxTitleWidth, EpdFontFamily::BOLD); - renderer.drawText(UI_12_FONT_ID, rect.x + M().contentSidePadding, - rect.y + M().batteryBarHeight + 3, truncatedTitle.c_str(), true, - EpdFontFamily::BOLD); + renderer.drawText(UI_12_FONT_ID, rect.x + M().contentSidePadding, rect.y + M().batteryBarHeight + 3, + truncatedTitle.c_str(), true, EpdFontFamily::BOLD); renderer.drawLine(rect.x, rect.y + rect.height - 3, rect.x + rect.width - 1, rect.y + rect.height - 3, 3, true); } if (subtitle) { auto truncatedSubtitle = renderer.truncatedText(SMALL_FONT_ID, subtitle, maxSubtitleWidth, EpdFontFamily::REGULAR); int truncatedSubtitleWidth = renderer.getTextWidth(SMALL_FONT_ID, truncatedSubtitle.c_str()); - renderer.drawText(SMALL_FONT_ID, - rect.x + rect.width - M().contentSidePadding - truncatedSubtitleWidth, - rect.y + 50, truncatedSubtitle.c_str(), true); + renderer.drawText(SMALL_FONT_ID, rect.x + rect.width - M().contentSidePadding - truncatedSubtitleWidth, rect.y + 50, + truncatedSubtitle.c_str(), true); } } @@ -167,13 +174,13 @@ void LyraTheme::drawSubHeader(const GfxRenderer& renderer, Rect rect, const char auto truncatedRightLabel = renderer.truncatedText(SMALL_FONT_ID, rightLabel, maxListValueWidth, EpdFontFamily::REGULAR); int rightLabelWidth = renderer.getTextWidth(SMALL_FONT_ID, truncatedRightLabel.c_str()); - renderer.drawText(SMALL_FONT_ID, rect.x + rect.width - M().contentSidePadding - rightLabelWidth, - rect.y + 7, truncatedRightLabel.c_str()); + renderer.drawText(SMALL_FONT_ID, rect.x + rect.width - M().contentSidePadding - rightLabelWidth, rect.y + 7, + truncatedRightLabel.c_str()); rightSpace += rightLabelWidth + hPaddingInSelection; } - auto truncatedLabel = renderer.truncatedText( - UI_10_FONT_ID, label, rect.width - M().contentSidePadding - rightSpace, EpdFontFamily::REGULAR); + auto truncatedLabel = renderer.truncatedText(UI_10_FONT_ID, label, rect.width - M().contentSidePadding - rightSpace, + EpdFontFamily::REGULAR); renderer.drawText(UI_10_FONT_ID, currentX, rect.y + 6, truncatedLabel.c_str(), true, EpdFontFamily::REGULAR); renderer.drawLine(rect.x, rect.y + rect.height - 1, rect.x + rect.width - 1, rect.y + rect.height - 1, true); @@ -241,8 +248,7 @@ void LyraTheme::drawList(const GfxRenderer& renderer, Rect rect, int itemCount, const std::function& rowIcon, const std::function& rowValue, bool highlightValue, const std::function& rowDimmed) const { - int rowHeight = - (rowSubtitle != nullptr) ? M().listWithSubtitleRowHeight : M().listRowHeight; + int rowHeight = (rowSubtitle != nullptr) ? M().listWithSubtitleRowHeight : M().listRowHeight; int pageItems = rect.height / rowHeight; const int totalPages = (itemCount + pageItems - 1) / pageItems; @@ -255,18 +261,14 @@ void LyraTheme::drawList(const GfxRenderer& renderer, Rect rect, int itemCount, const int scrollBarY = rect.y + ((scrollAreaHeight - scrollBarHeight) * currentPage) / (totalPages - 1); const int scrollBarX = rect.x + rect.width - M().scrollBarRightOffset; renderer.drawLine(scrollBarX, rect.y, scrollBarX, rect.y + scrollAreaHeight, true); - renderer.fillRect(scrollBarX - M().scrollBarWidth, scrollBarY, M().scrollBarWidth, - scrollBarHeight, true); + renderer.fillRect(scrollBarX - M().scrollBarWidth, scrollBarY, M().scrollBarWidth, scrollBarHeight, true); } // Draw selection - int contentWidth = - rect.width - - (totalPages > 1 ? (M().scrollBarWidth + M().scrollBarRightOffset) : 1); + int contentWidth = rect.width - (totalPages > 1 ? (M().scrollBarWidth + M().scrollBarRightOffset) : 1); if (selectedIndex >= 0) { - renderer.fillRoundedRect( - rect.x + M().contentSidePadding, rect.y + selectedIndex % pageItems * rowHeight, - contentWidth - M().contentSidePadding * 2, rowHeight, cornerRadius, Color::LightGray); + renderer.fillRoundedRect(rect.x + M().contentSidePadding, rect.y + selectedIndex % pageItems * rowHeight, + contentWidth - M().contentSidePadding * 2, rowHeight, cornerRadius, Color::LightGray); } int textX = rect.x + M().contentSidePadding + hPaddingInSelection; @@ -329,8 +331,7 @@ void LyraTheme::drawList(const GfxRenderer& renderer, Rect rect, int itemCount, const int subtitleCenter = itemY + 30 + renderer.getTextVisualCenterOffset(SMALL_FONT_ID); textCenter = (textCenter + subtitleCenter) / 2; } - renderer.drawIcon(*ic, rect.x + M().contentSidePadding + hPaddingInSelection, - textCenter - ic->opticalCenterY); + renderer.drawIcon(*ic, rect.x + M().contentSidePadding + hPaddingInSelection, textCenter - ic->opticalCenterY); } } @@ -344,17 +345,16 @@ void LyraTheme::drawList(const GfxRenderer& renderer, Rect rect, int itemCount, // Draw value if (!valueText.empty()) { if (i == selectedIndex && highlightValue) { - renderer.fillRoundedRect( - rect.x + contentWidth - M().contentSidePadding - hPaddingInSelection - valueWidth, itemY, - valueWidth + hPaddingInSelection, rowHeight, cornerRadius, Color::Black); + renderer.fillRoundedRect(rect.x + contentWidth - M().contentSidePadding - hPaddingInSelection - valueWidth, + itemY, valueWidth + hPaddingInSelection, rowHeight, cornerRadius, Color::Black); } int valueY = itemY + 6; if (rowSubtitle != nullptr) { valueY = itemY + 16; } - renderer.drawText(UI_10_FONT_ID, rect.x + contentWidth - M().contentSidePadding - valueWidth, - valueY, valueText.c_str(), !(i == selectedIndex && highlightValue)); + renderer.drawText(UI_10_FONT_ID, rect.x + contentWidth - M().contentSidePadding - valueWidth, valueY, + valueText.c_str(), !(i == selectedIndex && highlightValue)); } } } @@ -462,9 +462,8 @@ void LyraTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, const std: // recentBooks[0] (home selector 0) — full card width, not just the cover photo. if (hasContinueReading) { TouchRegistry::getInstance().add( - Rect{M().contentSidePadding, tileY, tileWidth, - M().homeCoverHeight + 2 * hPaddingInSelection}, - 0, TouchRegistry::Cover); + Rect{M().contentSidePadding, tileY, tileWidth, M().homeCoverHeight + 2 * hPaddingInSelection}, 0, + TouchRegistry::Cover); } // Draw book card regardless, fill with message based on `hasContinueReading` @@ -497,14 +496,13 @@ void LyraTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, const std: } // Draw either way - renderer.drawRect(tileX + hPaddingInSelection, tileY + hPaddingInSelection, coverWidth, - M().homeCoverHeight, true); + renderer.drawRect(tileX + hPaddingInSelection, tileY + hPaddingInSelection, coverWidth, M().homeCoverHeight, + true); if (!hasCover) { // Render empty cover - renderer.fillRect(tileX + hPaddingInSelection, - tileY + hPaddingInSelection + (M().homeCoverHeight / 3), coverWidth, - 2 * M().homeCoverHeight / 3, true); + renderer.fillRect(tileX + hPaddingInSelection, tileY + hPaddingInSelection + (M().homeCoverHeight / 3), + coverWidth, 2 * M().homeCoverHeight / 3, true); renderer.drawIcon(CoverIcon, tileX + hPaddingInSelection + 24, tileY + hPaddingInSelection + 24, 32, 32); } @@ -521,13 +519,12 @@ void LyraTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, const std: // Draw selection box renderer.fillRoundedRect(tileX, tileY, tileWidth, hPaddingInSelection, cornerRadius, true, true, false, false, Color::LightGray); - renderer.fillRectDither(tileX, tileY + hPaddingInSelection, hPaddingInSelection, - M().homeCoverHeight, Color::LightGray); - renderer.fillRectDither(tileX + hPaddingInSelection + coverWidth, tileY + hPaddingInSelection, - tileWidth - hPaddingInSelection - coverWidth, M().homeCoverHeight, + renderer.fillRectDither(tileX, tileY + hPaddingInSelection, hPaddingInSelection, M().homeCoverHeight, Color::LightGray); - renderer.fillRoundedRect(tileX, tileY + M().homeCoverHeight + hPaddingInSelection, tileWidth, - hPaddingInSelection, cornerRadius, false, false, true, true, Color::LightGray); + renderer.fillRectDither(tileX + hPaddingInSelection + coverWidth, tileY + hPaddingInSelection, + tileWidth - hPaddingInSelection - coverWidth, M().homeCoverHeight, Color::LightGray); + renderer.fillRoundedRect(tileX, tileY + M().homeCoverHeight + hPaddingInSelection, tileWidth, hPaddingInSelection, + cornerRadius, false, false, true, true, Color::LightGray); } auto titleLines = renderer.wrappedText(UI_12_FONT_ID, book.title.c_str(), textWidth, 3, EpdFontFamily::BOLD); diff --git a/src/components/themes/roundedraff/RoundedRaffTheme.cpp b/src/components/themes/roundedraff/RoundedRaffTheme.cpp index b468a5fe..04793e12 100644 --- a/src/components/themes/roundedraff/RoundedRaffTheme.cpp +++ b/src/components/themes/roundedraff/RoundedRaffTheme.cpp @@ -82,9 +82,7 @@ void RoundedRaffTheme::drawHeader(const GfxRenderer& renderer, Rect rect, const const int maxTitleWidth = std::max(0, batteryGroupLeftX - 20 - titleX); auto headerTitle = renderer.truncatedText(kTitleFontId, title, maxTitleWidth, EpdFontFamily::BOLD); renderer.drawText(kTitleFontId, titleX, titleY, headerTitle.c_str(), true, EpdFontFamily::BOLD); - drawBatteryRight(renderer, - Rect{batteryIconX, rect.y + 14, M().batteryWidth, - M().batteryHeight}, + drawBatteryRight(renderer, Rect{batteryIconX, rect.y + 14, M().batteryWidth, M().batteryHeight}, showBatteryPercentage); } @@ -136,9 +134,8 @@ void RoundedRaffTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, con // Tapping the continue-reading cover opens recentBooks[0] (home selector 0). if (hasContinueReading) { - TouchRegistry::getInstance().add( - Rect{tileX + (tileWidth - coverWidth) / 2, imgY, coverWidth, M().homeCoverHeight}, 0, - TouchRegistry::Cover); + TouchRegistry::getInstance().add(Rect{tileX + (tileWidth - coverWidth) / 2, imgY, coverWidth, M().homeCoverHeight}, + 0, TouchRegistry::Cover); } // Draw book card regardless, fill with message based on `hasContinueReading` @@ -152,8 +149,7 @@ void RoundedRaffTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, con if (coverPath.empty()) { hasCover = false; } else { - const std::string coverBmpPath = - UITheme::getCoverThumbPath(coverPath, M().homeCoverHeight); + const std::string coverBmpPath = UITheme::getCoverThumbPath(coverPath, M().homeCoverHeight); // First time: load cover from SD and render HalFile file; @@ -161,11 +157,9 @@ void RoundedRaffTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, con Bitmap bitmap(file); if (bitmap.parseHeaders() == BmpReaderError::Ok) { coverWidth = bitmap.getWidth(); - renderer.drawBitmap(bitmap, tileX + (tileWidth - coverWidth) / 2, imgY, coverWidth, - M().homeCoverHeight); + renderer.drawBitmap(bitmap, tileX + (tileWidth - coverWidth) / 2, imgY, coverWidth, M().homeCoverHeight); renderer.maskRoundedRectOutsideCorners(tileX + (tileWidth - coverWidth) / 2, imgY, coverWidth, - M().homeCoverHeight, kCoverRadius, - Color::LightGray); + M().homeCoverHeight, kCoverRadius, Color::LightGray); } else { hasCover = false; } @@ -174,17 +168,16 @@ void RoundedRaffTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, con } // Draw either way - renderer.drawRoundedRect(tileX + (tileWidth - coverWidth) / 2, imgY, coverWidth, - M().homeCoverHeight, 1, kCoverRadius, true); + renderer.drawRoundedRect(tileX + (tileWidth - coverWidth) / 2, imgY, coverWidth, M().homeCoverHeight, 1, + kCoverRadius, true); if (!hasCover) { // Render empty cover - renderer.fillRect(tileX + (tileWidth - coverWidth) / 2, imgY + (M().homeCoverHeight / 3), - coverWidth, 2 * M().homeCoverHeight / 3, true); + renderer.fillRect(tileX + (tileWidth - coverWidth) / 2, imgY + (M().homeCoverHeight / 3), coverWidth, + 2 * M().homeCoverHeight / 3, true); renderer.drawIcon(CoverIcon, tileX + (tileWidth - coverWidth) / 2 + 24, imgY + 24, 32, 32); renderer.maskRoundedRectOutsideCorners(tileX + (tileWidth - coverWidth) / 2, imgY, coverWidth, - M().homeCoverHeight, kCoverRadius, - Color::LightGray); + M().homeCoverHeight, kCoverRadius, Color::LightGray); } coverBufferStored = storeCoverBuffer(); @@ -193,13 +186,12 @@ void RoundedRaffTheme::drawRecentBookCover(GfxRenderer& renderer, Rect rect, con renderer.fillRoundedRect(tileX, tileY, tileWidth, imgY - tileY, kRowRadius, true, true, false, false, Color::LightGray); - renderer.fillRectDither(tileX, imgY, (tileWidth - coverWidth) / 2, M().homeCoverHeight, - Color::LightGray); + renderer.fillRectDither(tileX, imgY, (tileWidth - coverWidth) / 2, M().homeCoverHeight, Color::LightGray); renderer.fillRectDither(tileX + (tileWidth + coverWidth) / 2, imgY, (tileWidth - coverWidth) / 2, M().homeCoverHeight, Color::LightGray); renderer.fillRoundedRect(tileX, imgY + M().homeCoverHeight, tileWidth, - tileHeight - (imgY - tileY + M().homeCoverHeight), kRowRadius, - false, false, true, true, Color::LightGray); + tileHeight - (imgY - tileY + M().homeCoverHeight), kRowRadius, false, false, true, true, + Color::LightGray); } else { renderer.fillRoundedRect(tileX, tileY, tileWidth, tileHeight, kRowRadius, Color::LightGray); renderer.drawCenteredText(kTitleFontId, rect.y + rect.height / 2 - renderer.getLineHeight(kTitleFontId) / 2, diff --git a/src/main.cpp b/src/main.cpp index 077dd659..db2062cb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,7 +1,5 @@ #include #include - -#include #include #include #include @@ -13,6 +11,8 @@ #include #include +#include + #if defined(FREEINK_DEVICE_LILYGO) && FREEINK_DEVICE_LILYGO #include #endif