Skip to content

1.3.0.35-dev9-cpr-vcodex-steroids

Choose a tag to compare

@marcoand75 marcoand75 released this 21 Jul 13:31
· 475 commits to master since this release
Screenshot 2026-07-21 153003

✂️ 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.txt in 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