How uxjulia/crossink works
CrossInk is an e-ink ebook-reader firmware fork centered on browsing books and reading EPUB, text, and XTC files, with typography and lightweight reading-stat enhancements. The primary path is home/file browsing, opening a book through the activity manager, parsing and rendering it, and saving reader state. The README also documents dictionary lookup, saved items, themes, device-to-device sync, and network transfer. Activity routing is visible in the sampled manager; several feature links are based on documented capabilities and the repository tree, not sampled implementation details.
Main entry points: EpubReaderActivity.cpp Book reader screens · HalStorage.cpp SD storage · GfxRenderer.cpp Graphics renderer · HomeActivity.cpp Home and browsing
Components 24
Device UI
- Reader
src/main.cpp - Activity manager
src/activities/ActivityManager.cpp - Home and browsing
src/activities/home/HomeActivity.cpp - Mapped input
src/MappedInputManager.cpp
Reading
- Book reader screens
src/activities/reader/EpubReaderActivity.cpp - EPUB engine
lib/Epub/Epub.cpp - Text reader
src/activities/reader/TxtReaderActivity.cpp - XTC reader
src/activities/reader/XtcReaderActivity.cpp - Dictionary lookup
src/util/DictionaryLookupController.cpp
Reader state
- Clippings
src/clippings/ClippingsManager.cpp - Bookmarks
src/BookmarkStore.cpp - Reading statistics
src/activities/reader/BookReadingStats.cpp - Settings
src/CrossPointSettings.cpp - SD storage
lib/hal/HalStorage.cpp
Connectivity
- OPDS browsing
src/activities/browser/OpdsBookBrowserActivity.cpp - Sync activities
src/activities/reader/NearbyBookPositionSyncActivity.cpp - KOReader sync
lib/KOReaderSync/KOReaderSyncClient.cpp - Web and book transfer
src/activities/network/CrossPointWebServerActivity.cpp
Typography and display
- Font system
lib/EpdFont/EpdFontFamily.cpp - Graphics renderer
lib/GfxRenderer/GfxRenderer.cpp - E-ink display
lib/hal/HalDisplay.cpp
Other components
- Reader
- Other device
- Network service
Connections 32
- Reader → Home and browsing: browse books
- Home and browsing → Activity manager: open book
- Activity manager → Book reader screens: launch reader
- Book reader screens → EPUB engine: load EPUB
- Book reader screens → Text reader: open text
- Book reader screens → XTC reader: open XTC
- Book reader screens → SD storage: read book
- EPUB engine → SD storage: read archive
- Book reader screens → Graphics renderer: render pages
- EPUB engine → Graphics renderer: provide page content
- Graphics renderer → Font system: resolve glyphs
- Graphics renderer → E-ink display: draw frame
- Reader → Mapped input: press controls
- Mapped input → Book reader screens: deliver actions
- Book reader screens → Bookmarks: save bookmarks
- Book reader screens → Clippings: save highlights
- Book reader screens → Reading statistics: record reading
- Bookmarks → SD storage: persist
- Clippings → SD storage: write clipping
- Reading statistics → SD storage: persist stats
- Book reader screens → Dictionary lookup: look up word
- Dictionary lookup → SD storage: read dictionary
- Reader → Settings: configure reader
- Settings → SD storage: save settings
- Home and browsing → OPDS browsing: browse catalog
- OPDS browsing → Network service: request catalog
- Reader → Sync activities: start sync
- Sync activities → KOReader sync: synchronize progress
- KOReader sync → Other device: exchange progress
- Reader → Web and book transfer: transfer books
- Web and book transfer → Network service: serve transfer
- Web and book transfer → SD storage: access book files