mod: Phase 1 - bring forward mod-exclusive files with ActivityManager migration
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
This commit is contained in:
27
chat-summaries/2026-02-21_port-pr1055-byte-framebuffer.md
Normal file
27
chat-summaries/2026-02-21_port-pr1055-byte-framebuffer.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Port PR #1055: Byte-level framebuffer writes
|
||||
|
||||
**Date:** 2026-02-21
|
||||
**Task:** Port upstream PR #1055 (jpirnay) into the mod, including coderabbit review nitpick.
|
||||
|
||||
## Changes made
|
||||
|
||||
### `lib/GfxRenderer/GfxRenderer.h`
|
||||
- Added two private method declarations: `fillPhysicalHSpanByte` (patterned byte-level span writer) and `fillPhysicalHSpan` (solid-fill wrapper).
|
||||
|
||||
### `lib/GfxRenderer/GfxRenderer.cpp`
|
||||
- Added `#include <cstring>` for `memset`.
|
||||
- Implemented `fillPhysicalHSpanByte`: bounds-clamped byte-level span writer with MSB-first bit packing, partial-byte masking at edges, and `memset` for aligned middle.
|
||||
- Implemented `fillPhysicalHSpan`: thin wrapper mapping `state` bool to `0x00`/`0xFF` pattern byte.
|
||||
- **`drawLine`**: Replaced per-pixel loops for axis-aligned lines with orientation-aware `fillPhysicalHSpan` calls (vertical lines in Portrait, horizontal lines in Landscape).
|
||||
- **`fillRect`**: Replaced per-row `drawLine` loop with orientation-specific byte-level fast paths for all 4 orientations.
|
||||
- **`fillRectDither`**: Replaced per-pixel `drawPixelDither` loops for DarkGray/LightGray with orientation-aware `fillPhysicalHSpanByte` using pre-computed byte patterns.
|
||||
- **`fillPolygon`** (coderabbit nitpick): Added `fillPhysicalHSpan` fast path for Landscape orientations in the scanline inner loop.
|
||||
|
||||
### `mod/prs/MERGED.md`
|
||||
- Appended PR #1055 entry with full documentation.
|
||||
|
||||
## Differences from upstream
|
||||
- `fillPolygon` landscape optimization (from coderabbit review nitpick) was applied as a mod enhancement.
|
||||
|
||||
## Follow-up items
|
||||
- None. Build verified successful.
|
||||
Reference in New Issue
Block a user