Commit Graph
211 Commits
Author SHA1 Message Date
jpirnay 7168c46dec Minor fixes 2026-04-07 23:28:51 +02:00
jpirnay e035d698ed Align png rendering to upstream 2026-04-07 23:07:06 +02:00
jpirnay 4d4729c5d0 Add minimal changes back from reverted ones 2026-04-07 21:56:31 +02:00
jpirnay abbf69649e Revert "Merge pull request #25 from jpirnay/fix-pr1582" and refactor koreader 2026-04-07 20:24:51 +02:00
jpirnay 7e37f3252c Review comments 2026-04-06 18:03:50 +02:00
jpirnay 4f031b00b1 (Conditionally) add further dithering algorithms 2026-04-06 17:23:29 +02:00
jpirnay eb95cacad4 Add dithering algorithms 2026-04-06 13:00:27 +02:00
jpirnay ef0d044f9e Only deal with horizontal stacking 2026-04-06 11:49:36 +02:00
jpirnay f78ecd37c9 Adapt upstream PR1582 by daveallie 2026-04-06 11:17:32 +02:00
jpirnay c72bd56560 Merge pull request #19 from jpirnay/feat-hyphen-page-break
feat: No hyphenation across page breaks
2026-04-05 11:29:58 +02:00
Justin Mitchell 17ed71f23d Use runtime display dimensions instead of constants
Replace hardcoded DISPLAY_WIDTH, DISPLAY_HEIGHT, and DISPLAY_WIDTH_BYTES constants with runtime values from display object to support multiple device models (X3 and X4) with different screen dimensions.
2026-04-05 11:22:00 +02:00
jpirnay 65474d4066 Fix alignment issues 2026-04-05 11:18:19 +02:00
jpirnay 01503f9c84 Fix reflow logic 2026-04-05 11:01:40 +02:00
jpirnay 1509af8729 Avoid hypehnation at page breaks 2026-04-05 10:47:05 +02:00
jpirnay 7e2291915f Merge branch 'x3-support'
# Conflicts:
#	lib/GfxRenderer/GfxRenderer.h
#	open-x4-sdk
2026-04-04 10:05:14 +02:00
Justin Mitchell 0db9d93f1c feat: add Xteink X3 hardware support
Adds HAL-level support for the Xteink X3 (SSD1677 controller, 792x528
display). Includes device detection, display initialization, button
mapping, power management, and theme adjustments for the X3 form factor.
2026-04-03 04:04:17 -04:00
jpirnay bddefa58f5 Fix image margin leak 2026-04-02 13:39:24 +02:00
jpirnay e1fd631ced Review implied changes 2026-04-01 11:14:53 +02:00
jpirnay 3f6d31b966 Merge branch 'feat-ordered-list' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-31 21:26:05 +02:00
jpirnay 913831749e Slight adjustments 2026-03-31 21:17:32 +02:00
jpirnay 0ad2ac71c7 Introduce ordered list support 2026-03-31 21:10:22 +02:00
martin brook aa085425af perf: Eliminate per-pixel overheads in image rendering (#1293)
## Summary

Replace per-pixel getRenderMode() + rotateCoordinates() + bounds checks
with a DirectPixelWriter struct that pre-computes orientation and render
mode state once per row. Use bitwise ops instead of division/modulo for
cache pixel packing. Skip PNG cache allocation when buffer exceeds 48KB
(framebuffer size) since PNG decode is fast enough that caching provides
minimal benefit, and the large buffer competes with the 44KB PNG decoder
for heap.

## Additional Context
Measured improvements on ESP32-C3 @ 160MHz:
- JPEG decode: 5-7% faster (1:1 scale)
- PNG decode: 15-20% faster (1:1 scale)
- Cache renders: 3-6% faster across both formats
- Eliminates "Failed to allocate cache buffer" errors for large PNGs

---

### AI Usage

While CrossPoint doesn't have restrictions on AI tools in contributing,
please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? _**<  PARTIALLY >**_
2026-03-30 11:03:49 -05:00
jpirnay 7b12b0f27e Merge branch 'fix-css-pre' into mybuild
# Conflicts:
#	lib/Epub/Epub/parsers/ChapterHtmlSlimParser.cpp
2026-03-30 15:15:46 +02:00
jpirnay 55de10124c Add missing flush on block changes 2026-03-30 14:38:09 +02:00
jpirnay 2111bc2fdb Fix unwanted nbsp payload of empty paragraphs 2026-03-30 14:25:04 +02:00
jpirnay ba07a6666d Fix br alignment reset behaviour 2026-03-30 13:38:46 +02:00
jpirnay b1c3b9d768 Fix unwanted br alignment reset 2026-03-30 13:35:11 +02:00
jpirnay 53f93b2857 Fix br count carry over regression 2026-03-30 13:26:41 +02:00
jpirnay 360e04f61c Merge branch 'perf-htmlslim-parser' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-29 09:42:40 +02:00
jpirnay 9d0316d7f1 Review comment 2026-03-29 09:23:56 +02:00
jpirnay 834c7b7712 Merge branch 'perf-htmlslim-parser' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-28 20:54:14 +01:00
jpirnay 6daf3fd1bb Add css cache 2026-03-28 20:49:03 +01:00
jpirnay 1b0c5fec28 Integration hell 2026-03-28 18:21:53 +01:00
jpirnay a2aee4f4ae Merge branch 'fix-css-pre' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-28 18:16:11 +01:00
jpirnay be430c781e Fix <pre> treatment 2026-03-28 17:44:10 +01:00
jpirnay 7f6933ab22 Recognize css pre elements 2026-03-28 16:47:55 +01:00
jpirnay ab03fe3ab7 Merge branch 'feat-koysnc-xpath' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-28 16:23:11 +01:00
jpirnay f0c8760a37 Merge branch 'feat-invalid-toc-fallback' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-28 10:41:24 +01:00
jpirnay 348d00278d Merge branch 'fix-text-align' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-28 10:40:26 +01:00
jpirnay 69dbfa4b8a Fix discarded CSS text-align 2026-03-28 10:39:30 +01:00
jpirnay 7f63ebbcf7 Use translated section string 2026-03-27 21:30:30 +01:00
jpirnay c71fb8c6af Merge branch 'feat-invalid-toc-fallback' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-27 17:29:45 +01:00
jpirnay 20d5cf96f7 Proper return code 2026-03-27 17:28:06 +01:00
jpirnay a51fd3953d Refactor to a more generic unobstrusive approach 2026-03-27 17:06:30 +01:00
jpirnay 3f8a87e907 Deal with invalid/incomplete toc.ncx files 2026-03-27 16:40:34 +01:00
jpirnay 1d3405318c Integrate PT 1455 2026-03-26 11:16:53 +01:00
jpirnay 1af3f81336 PR 1507 2026-03-26 11:05:13 +01:00
jpirnay a5fa684d2b Merge branch 'perf-lut-cache' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-25 18:09:53 +01:00
jpirnayandClaude Opus 4.6 7496bf95ce Merge branch 'master' of origin into perf-lut-cache
Resolved conflicts in Section.h and Section.cpp:
- Combined includes (vector for LUT cache + optional/string from master)
- Added imageRendering parameter to loadSectionFile declaration
- Kept non-const clearCache (needs to close file handle for LUT cache)
- Kept in-memory LUT cache in loadPageFromSectionFile (replaces master's
  per-page LUT seek)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 17:17:51 +01:00
jpirnay eadcead501 fix: Fix img layout issue / support CSS display:none for elements and images (#1443)
## Summary
- Add CSS `display: none` support to the EPUB rendering pipeline (fixes
#1431)
- Parse `display` property in stylesheets and inline styles, with full
cascade resolution (element, class, element.class, inline)
- Skip hidden elements and all their descendants in
`ChapterHtmlSlimParser`
- Separate display:none check for `<img>` tags (image code path is
independent of the general element handler)
- Flush pending text blocks before placing images to fix layout ordering
(text preceding an image now correctly renders above it)
- Bump CSS cache version to 4 to invalidate stale caches
- Add test EPUB (`test_display_none.epub`) covering class selectors,
element selectors, combined selectors, inline styles, nested hidden
content, hidden images, style priority/override, and realistic use cases
2026-03-23 13:51:02 -05:00