1.3.0.35-dev9-cpr-vcodex-steroids
·
475 commits
to master
since this release
✂️ Clipping (Highlights) Feature — CrossInk Port
We've ported and adapted the clipping/highlights system from the CrossInk fork. You can now select text passages while reading and save them for later reference.
What you can do
- Create a clipping: Open the reader menu and tap "Create Clipping". A selection mode activates — navigate with the arrow keys, press Confirm to mark the start of your selection, move the cursor to the end, and press Confirm again to save.
- View your clippings: Tap "View Clippings" in the reader menu to see a list of all saved clippings. You can delete individual ones by holding the delete button.
- Jump to a clipping: Select a clipping from the list and the reader will take you directly to that page — the passage will be highlighted.
- Persistent across sessions: Clippings are saved to a file on the device. Close the book and reopen it later — your clippings are still there, highlighted on the page.
- Export to file: Every clipping is automatically appended to
/My Clippings.txtin Kindle-style format (book title, author, page number, chapter, and the selected text).
How it looks
- During selection, the cursor word appears inverted (black background, white text) — same style as dictionary word lookup.
- Selected words appear with a light gray background behind them, keeping the text fully readable.
- Saved clippings are highlighted on the page with a solid dark background and white text, visible even when anti-aliasing is turned on.
- The highlight rectangle now extends lower to cover descending letters (g, q, y, p, j) properly.
🎨 Fixed Reader Menu Icons
Many icons in the reader's context menu were displaying corrupted or blank. This was caused by the code reading 32×32 icon data as if it were 24×24, which scrambled the pixels.
- Switched all menu icons to their proper 24×24 versions — they now display correctly.
- Replaced 4 icons that were completely blank (all-white data) with proper SVG-based icons:
- QR Code icon — now visible
- Go to % icon — now visible
- Screenshot icon — now visible
- Delete cache icon — now visible
- Added new dedicated icons for the two clipping menu entries:
- Create Clipping — paperclip icon
- View Clippings — document with clip icon
🛠️ Technical improvements under the hood
- Anti-aliasing compatibility: Clipping highlights now render properly even with the text anti-aliasing setting enabled. Previous work caused the screen to go gray or the device to reboot due to a display refresh conflict — this has been fixed.
- No crashes: The system handles highlight rendering during AA refresh cycles safely, without overlapping display operations.
- Selection across paragraphs: Fixed a bug where selecting text after a paragraph gap would mark the wrong starting word.
Files changed (21 files, ~1,080 lines added)
| Area | What changed |
|---|---|
| Clipping Store | New file: ClippingStore.h — binary persistence to /.crosspoint/clippings/ |
| Clippings List | New files: ClippingsActivity.h/.cpp — list view with delete support |
| Reader Activity | Heavy modifications: selection mode UI, highlight rendering, text extraction, export to file, jump-to-clipping navigation |
| Reader Menu | Updated with new icon references and two new menu entries |
| Icons | 6 icon headers regenerated from SVGs; 6 new SVG source files added |
| Translations | New strings added to English locale |