Files
xteink-plugins/plugins/darkmode/__pycache__/patch.cpython-314.pyc
T

269 lines
20 KiB
Plaintext
Raw Normal View History

+
ƒÛi©Rãó€^RIt^RIt^RIt^RItRtRtRtRtRtRt Rt
R t R
t R t
R tR
tRRlt]R8XdE]!]P&4^8d]P(!R4]!]P&^,4R#R#)éNcóŒ€\VRRR7;_uu_4pVP4uuRRR4# +'giR#;i)Úrúutf-8©ÚencodingN)ÚopenÚread)ÚpathÚfs& ÚD/Users/justinoros/Downloads/xteink-plugins/plugins/darkmode/patch.pyÚ read_filer
s+ۆ
ˆd�C '× *Õ *¨aØ�v‰v‹x÷
+× *× *Ó *ús —2² A cóŽ€\VRRR7;_uu_4pVPV4RRR4R# +'giR#;i)ÚwrrN)rÚwrite)r
Úcontentr s&& r Ú
write_filer
s.ۆ
ˆd�C '× *Õ *¨aØ �‰�Ô÷
+× *× *Ò *ús —3³ A cóÊ€\P!\PPVRV4RR7pV'g\P
!RV RV 24V^,#)z**T)Ú recursivezERROR: Could not locate z in )ÚglobÚosr
ÚjoinÚsysÚexit)ÚfilenameÚrepo_dirÚresultss&& r Ú
find_firstrsJ€Ü�iŠiœŸ™Ÿ ™  X¨t°XÓ>È$ÔO€Gß Ü �ŠÐ+¨H¨:°T¸(¸ÐDÔEØ �1�:Ðócó€\PPVRRR4p\P!VRR7RR0p\P!V4F†pVP R 4'gKWC9gK$\PPW4p\PPW$4p\ P!WV4\RV 24Kˆ R#)
ÚsrcÚ
activitiesÚsettingsT)Úexist_okzDarkModeSettingsPage.hzDarkModeSettingsPage.cppu ✓ N)z.hz.cppz.hpp) rr
rÚmakedirsÚlistdirÚendswithÚshutilÚcopy2Úprint)Ú
plugin_dirrÚdestÚskipÚfnamer Údsts&& r Úcopy_plugin_sourcesr/sš€Ü
�7‰7�<‰<˜ %¨°zÓ B€D܇K‚K�˜tÕ$à $Ð&@Ð A€Dä—’˜JÖ'ˆØ �>‰>Ð0× 1Ô 1°eÖ6GÜ—'‘'—,‘,˜zÓ1ˆCÜ—'‘'—,‘,˜tÓ+ˆCÜ �LŠL˜Ô "Ü �H˜U˜GÐ$Ö %ó (rcóЀ\RV4p\V4pRV9d\R4R#VPRR4pVPRR4p\ W4\R4R#) zCrossPointSettings.hÚ
darkModeStatez1 CrossPointSettings.h already patched, skipping.Nz$#pragma once
#include <HalStorage.h>zT#pragma once
#include <HalStorage.h>
#include "activities/settings/DarkModePlugin.h"z* uint8_t imageRendering = IMAGES_DISPLAY;zG uint8_t imageRendering = IMAGES_DISPLAY;
uint8_t darkModeState = 0;z CrossPointSettings.h patched.©rr
r)Úreplacer©rr
rs& r Úpatch_cross_point_settings_hr5&si€ÜÐ/°Ó:€Dܘ‹o€Gà˜'Ô!Ü
ÐAÔBÙà�o‰oØ/Ø`ó€Gð�o‰oØ4ØRó€Gô
ˆtÔÜ Ð
+Ö,rcó¾€\RV4p\V4pRV9d\R4R#RpVPRVR,4p\ W4\R4R#)zSettingsList.hr1z+ SettingsList.h already patched, skipping.Nai SettingInfo::Enum(StrId::STR_NONE_OPT, &CrossPointSettings::darkModeState,
{StrId::STR_NONE_OPT, StrId::STR_NONE_OPT}, "darkModeState"),
SettingInfo::Enum(StrId::STR_NONE_OPT, &CrossPointSettings::smallerFontsMode,
{StrId::STR_NONE_OPT, StrId::STR_NONE_OPT, StrId::STR_NONE_OPT}, "smallerFontsMode"),
z };
return list;
}
z SettingsList.h patched.r2)rr
rÚentriess& r Úpatch_settings_list_hr8;sf€ÜÐ)¨8Ó4€Dܘ‹o€Gà˜'Ô!Ü
Ð;Ô<Ùð zð ð�o‰oØ#ØÐ-Õ-ó€Gô
ˆtÔÜ Ð
%Ö&rcóH€\RV4p\V4pRV9pRV9pV'dV'd\R4R#RV9dVPRR4pV'gVPRR 4pV'gVPR
R 4p\ W4\R 4R#)
zSettingsActivity.hzcategoryCount = 5ÚpluginsSettingsz/ SettingsActivity.h already patched, skipping.Nú"DarkModePlugin.h"z#include <I18n.h>z-#include <I18n.h>
#include "DarkModePlugin.h"z'static constexpr int categoryCount = 4;z'static constexpr int categoryCount = 5;z* std::vector<SettingInfo> systemSettings;zV std::vector<SettingInfo> systemSettings;
std::vector<SettingInfo> pluginsSettings;z SettingsActivity.h patched.r2)rr
rÚalready_has_plugins_tabÚalready_has_plugins_vecs& r Úpatch_settings_hr>Ss¡€ÜÐ-¨xÓ8€Dܘ‹o€Gà1°WÑ<ÐØ/°7Ñ:Ðç×#:Ü
Ð?Ô@Ùà 7Ô*Ø—/‘/Ø Ø <ó
ˆ÷
#Ø—/‘/Ø 5Ø 5ó
ˆ÷
#Ø—/‘/Ø 8Ø eó
ˆô
ˆtÔÜ Ð
)Ö*rcóh€\RV4p\V4pRV9dVPRR4pRV9dVPRR4pRV9dVPRR 4pR
pR pWB9dVPWC4pMAR V9dR
V9dVPRV4pM R V9dVPRRV,4pRV9dVPRR4pRV9dVPRR4pRV9dVPRR4pRV9dVPRR4pRV9;'dRV9pRV9;'dRV9pRV9pV'dVPRR4pM4V'd-RV9dVPR R4pMVPR!R4p\W4\ R"4R##)$zSettingsActivity.cppr;z#include "SettingsList.h"z5#include "SettingsList.h"
#include "DarkModePlugin.h"Ú STR_NONE_OPTzÛconst StrId SettingsActivity::categoryNames[categoryCount] = {StrId::STR_CAT_DISPLAY, StrId::STR_CAT_READER,
StrId::STR_CAT_CONTROLS, StrId::STR_CAT_SYSTEM};a.const StrId SettingsActivity::categoryNames[categoryCount] = {StrId::STR_CAT_DISPLAY, StrId::STR_CAT_READER,
StrId::STR_CAT_CONTROLS, StrId::STR_CAT_SYSTEM,
StrId::STR_NONE_OPT};zpluginsSettings.clear();z systemSettings.clear();z4 systemSettings.clear();
pluginsSettings.clear();a pluginsSettings.push_back(SettingInfo::Enum(
StrId::STR_NONE_OPT, &CrossPointSettings::darkModeState,
{StrId::STR_NONE_OPT, StrId::STR_NONE_OPT}, "darkModeState"
));
pluginsSettings.push_back(SettingInfo::Enum(
StrId::STR_NONE_OPT, &CrossPointSettings::smallerFontsMode,
{StrId::STR_NONE_OPT, StrId::STR_NONE_OPT, StrId::STR_NONE_OPT}, "smallerFontsMode"
));
zº pluginsSettings.push_back(SettingInfo::Enum(
StrId::STR_NONE_OPT,
&CrossPointSettings::darkModeState,
{StrId::STR_NONE_OPT, StrId::STR_NONE_OPT},
"darkModeState"
));
z"darkModeState"z"smallerFontsMode"z² pluginsSettings.push_back(SettingInfo::Enum(
StrId::STR_NONE_OPT, &CrossPointSettings::darkModeState,
{StrId::STR_NONE_OPT, StrId::STR_NONE_OPT}, "darkModeState"
));
zu readerSettings.push_back(SettingInfo::Action(StrId::STR_CUSTOMISE_STATUS_BAR, SettingAction::CustomiseStatusBar));
z3case 4:
currentSettings = &pluginsSettings;zG case 3:
currentSettings = &systemSettings;
break;z� case 3:
currentSettings = &systemSettings;
break;
case 4:
currentSettings = &pluginsSettings;
break;z "Plugins"z¹ std::vector<TabInfo> tabs;
tabs.reserve(categoryCount);
for (int i = 0; i < categoryCount; i++) {
tabs.push_back({I18N.get(categoryNames[i]), selectedCategoryIndex == i});
}zõ std::vector<TabInfo> tabs;
tabs.reserve(categoryCount);
for (int i = 0; i < categoryCount; i++) {
const char* tabLabel = (i == 4) ? "Plugins" : I18N.get(categoryNames[i]);
tabs.push_back({tabLabel, selectedCategoryIndex == i});
}Ú nextCatLabelzÐ const auto confirmLabel = (selectedSettingIndex == 0)
? I18N.get(categoryNames[(selectedCategoryIndex + 1) % categoryCount])
: tr(STR_TOGGLE);a const int nextCatIndex = (selectedCategoryIndex + 1) % categoryCount;
const char* nextCatLabel = (nextCatIndex == 4) ? "Plugins" : I18N.get(categoryNames[nextCatIndex]);
const auto confirmLabel = (selectedSettingIndex == 0) ? nextCatLabel : tr(STR_TOGGLE);zselectedCategoryIndex == 4zU [&settings](int index) { return std::string(I18N.get(settings[index].nameId)); },at [&settings, this](int index) -> std::string {
if (selectedCategoryIndex == 4) {
const auto& s = settings[index];
if (s.key && std::string(s.key) == "darkModeState") return "Dark Mode";
if (s.key && std::string(s.key) == "smallerFontsMode") return "Smaller Fonts";
}
return std::string(I18N.get(settings[index].nameId));
},zDarkModePlugin::stateNamezSmallerFontsPlugin::modeNamezý if (setting.key && std::string(setting.key) == "darkModeState") {
valueText = DarkModePlugin::stateName(static_cast<DarkModeState>(value));
} else {
valueText = I18N.get(setting.enumValues[value]);
}a¯ if (setting.key && std::string(setting.key) == "darkModeState") {
valueText = DarkModePlugin::stateName(static_cast<DarkModeState>(value));
} else if (setting.key && std::string(setting.key) == "smallerFontsMode") {
valueText = SmallerFontsPlugin::modeName(static_cast<SmallerFontsMode>(value));
} else {
valueText = I18N.get(setting.enumValues[value]);
}a if (setting.key && std::string(setting.key) == "smallerFontsMode") {
valueText = SmallerFontsPlugin::modeName(static_cast<SmallerFontsMode>(value));
} else {
valueText = I18N.get(setting.enumValues[value]);
}z: valueText = I18N.get(setting.enumValues[value]);z SettingsActivity.cpp patched.N)rr
r3rr))rr
rÚ
plugins_blockÚ broken_blockÚ both_presentÚ only_darkÚneithers& r Úpatch_settings_cpprGts$€ÜÐ/°Ó:€Dܘ‹o€Gà 7Ô*Ø—/‘/Ø 'Ø Dó
ˆð
˜WÔ$Ø—/‘/ð
}ð
bó
ˆð"¨Ô0Ø—/‘/Ø 'Ø Có
ˆð  ðð ððÔØ—/‘/ ,Ó>‰Ø ˜gÔ %Ð*>ÀgÔ*MØ—/‘/ð
ð
ó 
‰ð
 'Ô )Ø—/‘/ð
Eð
EØõ
ó
ˆð >ÀWÔLØ—/‘/Ø Wð
Yó
ˆð ˜'Ô!Ø—/‘/ð
ð

ó

ˆð˜WÔ$Ø—/‘/ð
@ð
gó 
ˆð$¨7Ô2Ø—/‘/Ø cð
ó

ˆð/°'Ñ9×gÐgÐ>\Ð`gÑ>g€LØ.°'Ñ9×kÐkÐ>\ÐdkÑ>k€IØ.°gÑ=€GçØ—/‘/ð
ð

ó

‰÷
Ø )¨WÔ 4Ø—o‘oðð
ó
‰Gð—o‘oØLðó ˆGôˆtÔÜ Ð
+Ö,rcó’€\RV4p\V4pRV9;'d2RVPR4^,PR4^,9pRV9dV'd\R4R#VP RR4pVP RR 4pR
pR pWB9dVP WE4p\ W4\R 4R#)
zEpubReaderActivity.cppzrenderer.fillRectÚ
isDarkModeÚ FAST_REFRESHz3 EpubReaderActivity.cpp already patched, skipping.Nz#include "EpubReaderActivity.h"zO#include "EpubReaderActivity.h"
#include "activities/settings/DarkModePlugin.h"z� page->render(renderer, SETTINGS.getReaderFontId(), orientedMarginLeft, orientedMarginTop);
renderStatusBar();
fcm->logStats("bw_render");
zÿ page->render(renderer, SETTINGS.getReaderFontId(), orientedMarginLeft, orientedMarginTop);
renderStatusBar();
if (DarkModePlugin::isDarkMode(static_cast<DarkModeState>(SETTINGS.darkModeState))) renderer.invertScreen();
fcm->logStats("bw_render");
af if (page->getImageBoundingBox(imgX, imgY, imgW, imgH)) {
renderer.fillRect(imgX + orientedMarginLeft, imgY + orientedMarginTop, imgW, imgH, false);
renderer.displayBuffer(HalDisplay::FAST_REFRESH);
// Re-render page content to restore images into the blanked area
// Status bar is not re-rendered here to avoid reading stale dynamic values (e.g. battery %)
page->render(renderer, SETTINGS.getReaderFontId(), orientedMarginLeft, orientedMarginTop);
renderer.displayBuffer(HalDisplay::FAST_REFRESH);
} else {
renderer.displayBuffer(HalDisplay::HALF_REFRESH);
}
a„ if (page->getImageBoundingBox(imgX, imgY, imgW, imgH)) {
const bool darkMode = DarkModePlugin::isDarkMode(static_cast<DarkModeState>(SETTINGS.darkModeState));
renderer.fillRect(imgX + orientedMarginLeft, imgY + orientedMarginTop, imgW, imgH, darkMode);
if (darkMode) renderer.invertScreen();
renderer.displayBuffer(HalDisplay::FAST_REFRESH);
page->render(renderer, SETTINGS.getReaderFontId(), orientedMarginLeft, orientedMarginTop);
if (darkMode) renderer.invertScreen();
renderer.displayBuffer(HalDisplay::FAST_REFRESH);
} else {
renderer.displayBuffer(HalDisplay::HALF_REFRESH);
}
z! EpubReaderActivity.cpp patched.)rr
Úsplitr)r3r)rr
rÚimage_block_patchedÚold_image_blockÚnew_image_blocks& r Úpatch_epub_readerrOsÝ€ÜÐ1°8Ó<€Dܘ‹o€Gð ˜wÑ&÷ Wð WؘŸ
™
Ð&9Ó:¸1Õ=×CÑCÀNÓSÐTUÕVÑVðð�wÔ×#6Ü
ÐCÔDÙà�o‰oØ)ØZó€Gð
�o‰oð *ð *ó €Gð
ðð ððÔ!Ø—/‘/ /ÓCˆäˆtÔÜ Ð
-Ö.rcóЀ\RV4p\V4pRV9d\R4R#VPRR4pVPRR4p\ W4\R4R#) zTxtReaderActivity.cpprIz2 TxtReaderActivity.cpp already patched, skipping.Nz#include "TxtReaderActivity.h"zN#include "TxtReaderActivity.h"
#include "activities/settings/DarkModePlugin.h"zo renderLines();
renderStatusBar();
ReaderUtils::displayWithRefreshCycle(renderer, pagesUntilFullRefresh);zÞ renderLines();
renderStatusBar();
if (DarkModePlugin::isDarkMode(static_cast<DarkModeState>(SETTINGS.darkModeState))) renderer.invertScreen();
ReaderUtils::displayWithRefreshCycle(renderer, pagesUntilFullRefresh);z TxtReaderActivity.cpp patched.r2r4s& r Úpatch_txt_readerrQNso€ÜÐ0°(Ó;€Dܘ‹o€Gà�wÔÜ
ÐBÔCÙà�o‰oØ(ØYó€Gð
�o‰oð Sð Só
€GôˆtÔÜ Ð
,Ö-rcóô€\RV4p\V4pRV9d\R4R#VPRR4pVPRR4pVPRR 4p\ W4\R
4R#) zXtcReaderActivity.cpprIz2 XtcReaderActivity.cpp already patched, skipping.Nz#include "XtcReaderActivity.h"zN#include "XtcReaderActivity.h"
#include "activities/settings/DarkModePlugin.h"a if (pagesUntilFullRefresh <= 1) {
renderer.displayBuffer(HalDisplay::HALF_REFRESH);
pagesUntilFullRefresh = SETTINGS.getRefreshFrequency();
} else {
renderer.displayBuffer();
pagesUntilFullRefresh--;
}
// Pass 2: LSB bufferay if (DarkModePlugin::isDarkMode(static_cast<DarkModeState>(SETTINGS.darkModeState))) renderer.invertScreen();
if (pagesUntilFullRefresh <= 1) {
renderer.displayBuffer(HalDisplay::HALF_REFRESH);
pagesUntilFullRefresh = SETTINGS.getRefreshFrequency();
} else {
renderer.displayBuffer();
pagesUntilFullRefresh--;
}
// Pass 2: LSB bufferzð if (pagesUntilFullRefresh <= 1) {
renderer.displayBuffer(HalDisplay::HALF_REFRESH);
pagesUntilFullRefresh = SETTINGS.getRefreshFrequency();
} else {
renderer.displayBuffer();
pagesUntilFullRefresh--;
}
LOG_DBG("XTR"a_ if (DarkModePlugin::isDarkMode(static_cast<DarkModeState>(SETTINGS.darkModeState))) renderer.invertScreen();
if (pagesUntilFullRefresh <= 1) {
renderer.displayBuffer(HalDisplay::HALF_REFRESH);
pagesUntilFullRefresh = SETTINGS.getRefreshFrequency();
} else {
renderer.displayBuffer();
pagesUntilFullRefresh--;
}
LOG_DBG("XTR"z XtcReaderActivity.cpp patched.r2r4s& r Úpatch_xtc_readerrSks‡€ÜÐ0°(Ó;€Dܘ‹o€Gà�wÔÜ
ÐBÔCÙà�o‰oØ(ØYó€Gð
�o‰oð $ð $ó€Gð,�o‰oð ð ó€Gô,ˆtÔÜ Ð
,Ö-rcó€\RV4p\V4pRV9gRV9d\R4R#RpVPRRV,R,4pR pVPR
R V,R ,4p\ W4\R
4R#)zCrossPointWebServer.cppz "Dark Mode"z"Smaller Fonts"z4 CrossPointWebServer.cpp already patched, skipping.Na 
if (s.key) {
if (strcmp(s.key, "darkModeState") == 0) {
doc["name"] = "Dark Mode";
doc["category"] = "Plugins";
} else if (strcmp(s.key, "smallerFontsMode") == 0) {
doc["name"] = "Smaller Fonts";
doc["category"] = "Plugins";
}
}