mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Kobo: Refactor various aspects of the Kaleido/MTK support (#12221)
* UIManager: Let the fb backend deal with Kaleido wfm promotion. This fixes a number of quirks that poisoned the refresh queue with spurious full-screen refreshes. See https://github.com/koreader/koreader-base/pull/1865 for more details. * This also means we now disable Kaleido waveform modes when color rendering is disabled (remember to trash your thumbnail cache if you don't want to mix color w/ grayscale thumbnails, though). * UIManager: Merge refreshes that share an edge, because that was driving me nuts (and would have most likely been merged by the kernel anyway). A perfect test-case is the FM, which trips two separate refreshes because of its title bar. * ReaderFlipping: Use sensible dimensions, so that we only refresh the icon's region. * ReaderBookmark: Only refresh the dogear instead of the whole page when toggling bookmarks. * NetworkSetting: Make it a real boy, so it consistently refreshes properly on dismiss instead of relying on UIManager saving the day. * Kobo: Aggressively prevent *both* suspend & standby while MTK devices are plugged-in, as both will horribly implode the kernel (we previously only prevent standby while charging). * Kobo: Switch to 8bpp on B&W MTK devices (or when color rendering is disabled on Kaleido panels).
This commit is contained in:
@@ -264,10 +264,6 @@ function ReaderView:paintTo(bb, x, y)
|
||||
if self.ui.paging then
|
||||
if self.document.hw_dithering then
|
||||
self.dialog.dithered = true
|
||||
-- Assume we're going to be showing colorful stuff on kaleido panels...
|
||||
if Device:hasKaleidoWfm() then
|
||||
UIManager:setDirty(nil, "color")
|
||||
end
|
||||
end
|
||||
else
|
||||
-- Whereas for CRe,
|
||||
@@ -278,15 +274,14 @@ function ReaderView:paintTo(bb, x, y)
|
||||
-- Which is why we remember the stats of the *previous* page.
|
||||
self.img_count, self.img_coverage = img_count, img_coverage
|
||||
if img_coverage >= 0.075 or coverage_diff >= 0.075 then
|
||||
self.dialog.dithered = true
|
||||
-- Request dithering on the actual page with image content
|
||||
if img_coverage >= 0.075 then
|
||||
self.dialog.dithered = true
|
||||
end
|
||||
-- Request a flashing update while we're at it, but only if it's the first time we're painting it
|
||||
if self.state.drawn == false and G_reader_settings:nilOrTrue("refresh_on_pages_with_images") then
|
||||
UIManager:setDirty(nil, "full")
|
||||
end
|
||||
-- On Kaleido panels, we'll want to use GCC16 on the actual image, always...
|
||||
if Device:hasKaleidoWfm() and img_coverage >= 0.075 then
|
||||
UIManager:setDirty(nil, "color")
|
||||
end
|
||||
end
|
||||
self.state.drawn = true
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user