Brings ~55 mod-exclusive files to the upstream-based mod/master-resync branch: Activities (migrated to new ActivityManager pattern): - Clock/Time: SetTimeActivity, SetTimezoneOffsetActivity, NtpSyncActivity - Dictionary: DictionaryDefinitionActivity, DictionarySuggestionsActivity, DictionaryWordSelectActivity, LookedUpWordsActivity - Bookmark: EpubReaderBookmarkSelectionActivity - Book management: BookManageMenuActivity, EndOfBookMenuActivity - OPDS: OpdsServerListActivity, OpdsSettingsActivity - Utility: DirectoryPickerActivity, NumericStepperActivity Utilities (unchanged): - BookManager, BookSettings, BookmarkStore, BootNtpSync - Dictionary, LookupHistory, TimeSync, OpdsServerStore Libraries: PlaceholderCover, TableData, ChapterXPathIndexer Scripts: inject_mod_version, generate_book_icon, preview_placeholder_cover Docs: KOReader sync XPath mapping Migration changes: - ActivityWithSubactivity -> Activity base class - Callback constructors -> finish()/setResult() pattern - enterNewActivity() -> startActivityForResult() - Activity::RenderLock&& -> RenderLock&& These files won't compile yet - they reference mod settings and I18n strings that will be added in subsequent phases. Made-with: Cursor
1.5 KiB
1.5 KiB
Letterbox Fill: 4-Mode Restructure (Solid, Blended, Gradient, None)
Task
Restructure the letterbox fill modes from 3 (None, Gradient, Solid) to 4 distinct modes with clearer semantics.
New Modes
- Solid (new) - Picks the dominant (average) shade from the edge and fills the entire letterbox area with that single dithered color.
- Blended (renamed from old "Solid") - Uses per-pixel sampled edge colors with noise dithering, no distance-based interpolation.
- Gradient - Existing gradient behavior (interpolates per-pixel edge color toward a target color).
- None - No fill.
Changes Made
src/CrossPointSettings.h
- Updated
SLEEP_SCREEN_LETTERBOX_FILLenum:LETTERBOX_NONE=0,LETTERBOX_SOLID=1,LETTERBOX_BLENDED=2,LETTERBOX_GRADIENT=3. - Note: enum values changed from the old 3-value layout. Existing saved settings may need reconfiguring.
src/SettingsList.h
- Updated "Letterbox Fill" option labels to: "None", "Solid", "Blended", "Gradient".
src/activities/boot_sleep/SleepActivity.cpp
drawLetterboxFill(): Changed signature frombool solidFilltouint8_t fillMode. Added dominant shade computation for SOLID mode (averages all edge samples into one value per side). BLENDED and SOLID both skip gradient interpolation; SOLID additionally skips per-pixel edge lookups.renderBitmapSleepScreen(): RemovedsolidFillbool, passesfillModedirectly todrawLetterboxFill. Updated log message to show the mode name.
Follow-up Items
- None