From d91dccae80a78cd7d6e522ef07979155b4203866 Mon Sep 17 00:00:00 2001 From: Hans-Werner Hilse Date: Sun, 9 Nov 2014 18:03:33 +0100 Subject: [PATCH] fix night mode setting implement bezel cleaning with proper background color --- frontend/apps/filemanager/filemanagermenu.lua | 2 +- frontend/apps/reader/modules/readermenu.lua | 2 +- frontend/device/screen.lua | 9 +++++++++ reader.lua | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/frontend/apps/filemanager/filemanagermenu.lua b/frontend/apps/filemanager/filemanagermenu.lua index c15893915..808c8c17c 100644 --- a/frontend/apps/filemanager/filemanagermenu.lua +++ b/frontend/apps/filemanager/filemanagermenu.lua @@ -129,7 +129,7 @@ function FileManagerMenu:setUpdateItemTable() checked_func = function() return G_reader_settings:readSetting("night_mode") end, callback = function() local night_mode = G_reader_settings:readSetting("night_mode") or false - Screen.bb:invert() + Screen:toggleNightMode() G_reader_settings:saveSetting("night_mode", not night_mode) end }) diff --git a/frontend/apps/reader/modules/readermenu.lua b/frontend/apps/reader/modules/readermenu.lua index c327ffc4f..79233c02a 100644 --- a/frontend/apps/reader/modules/readermenu.lua +++ b/frontend/apps/reader/modules/readermenu.lua @@ -103,7 +103,7 @@ function ReaderMenu:setUpdateItemTable() checked_func = function() return G_reader_settings:readSetting("night_mode") end, callback = function() local night_mode = G_reader_settings:readSetting("night_mode") or false - Screen.bb:invert() + Screen:toggleNightMode() G_reader_settings:saveSetting("night_mode", not night_mode) end }) diff --git a/frontend/device/screen.lua b/frontend/device/screen.lua index 140a3863a..95f4ae264 100644 --- a/frontend/device/screen.lua +++ b/frontend/device/screen.lua @@ -160,6 +160,15 @@ function Screen:setScreenMode(mode) end end +function Screen:toggleNightMode() + self.bb:invert() + if self.viewport then + -- invert and blank out the full framebuffer when we are working on a viewport + self.fb.bb:invert() + self.fb.bb:fill(Blitbuffer.COLOR_WHITE) + end +end + function Screen:saveCurrentBB() if self.saved_bb then self.saved_bb:free() end self.saved_bb = self.bb:copy() diff --git a/reader.lua b/reader.lua index 2b0ddb668..0c703ed6e 100755 --- a/reader.lua +++ b/reader.lua @@ -103,7 +103,7 @@ end local open_last = G_reader_settings:readSetting("open_last") -- night mode if G_reader_settings:readSetting("night_mode") then - Screen.bb:invert() + Screen:toggleNightMode() end -- restore kobo frontlight settings