Render book covers in colour #11
Loading…
Reference in a new issue
No description provided.
Delete branch "refs/pull/11/head"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Covers rendered grayscale on the Kaleido colour screen. Root cause, found by
on-device measurement + research (not guesswork): inkview's own PNG loaders
decode to 4-bit grayscale on this 2019-era SDK regardless of SetLoadImageFlags,
even though the canvas is 24-bit RGB and the Kavita cover is genuine 8-bit RGB.
Fix
src/ui/ColorCover: decode the cover to RGB with libpng, write itstraight into the 24-bit canvas framebuffer (bounds-clipped, nearest-neighbour
scaled) — the approach that shows colour on Kaleido (KOReader does the same;
DrawBitmap of an app-built 24-bit bitmap does not work on this SDK).
FullUpdateHQ(the HQ waveform Kaleido needsfor colour) when
HQUpdateSupported().fails, so mono devices and undecodable files are unchanged.
libpng linked STATICALLY
The SDK's libpng exports version-tagged symbols (
png_*@PNG12_0) the device'snewer firmware libpng doesn't provide, so a dynamic link made the app fail to
load (flicker, nothing). Static linking removes the runtime dependency; the
binary no longer NEEDs libpng12.so.0 / libz.so.1.
Verified on device (InkPad Color 3): covers render in colour. 120 host tests
pass; ARM cross-build clean. Full investigation in memory color-covers-findings.
🤖 Generated with Claude Code