From af694a3d8912245055824c2d11fc4d63a23ef999 Mon Sep 17 00:00:00 2001 From: David Engster Date: Sun, 4 Feb 2018 12:41:08 +0100 Subject: [PATCH] kobolight.plugin: Support for setting natural light Add new swipe zone on the right border to change 'warmth' value for natural light. --- plugins/kobolight.koplugin/demo_ka1.png | Bin 0 -> 26112 bytes plugins/kobolight.koplugin/main.lua | 78 +++++++++++++++++++++++- 2 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 plugins/kobolight.koplugin/demo_ka1.png diff --git a/plugins/kobolight.koplugin/demo_ka1.png b/plugins/kobolight.koplugin/demo_ka1.png new file mode 100644 index 0000000000000000000000000000000000000000..30c9d9ec86a56de5ba696ea5842abea5d0fdaa23 GIT binary patch literal 26112 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 o2w=P#-pO421xutO+T4U>W*<02qvFyZ`_I literal 0 HcmV?d00001 diff --git a/plugins/kobolight.koplugin/main.lua b/plugins/kobolight.koplugin/main.lua index dde5aee01..71bd36c58 100644 --- a/plugins/kobolight.koplugin/main.lua +++ b/plugins/kobolight.koplugin/main.lua @@ -1,6 +1,7 @@ local Device = require("device") local with_frontlight = (Device:isKindle() or Device:isKobo()) and Device:hasFrontlight() +local with_natural_light = Device:isKobo() and Device:hasNaturalLight() if not (with_frontlight or Device:isSDL()) then return { disabled = true, } end @@ -17,6 +18,7 @@ local _ = require("gettext") local tap_touch_zone_ratio = { x = 0, y = 15/16, w = 1/10, h = 1/16, } local swipe_touch_zone_ratio = { x = 0, y = 1/8, w = 1/10, h = 7/8, } +local swipe_touch_zone_ratio_warmth = { x = 7/8, y = 1/8, w = 1/8, h = 7/8, } local KoboLight = WidgetContainer:new{ name = 'kobolight', @@ -51,6 +53,12 @@ function KoboLight:setupTouchZones() ratio_x = swipe_touch_zone_ratio.x, ratio_y = swipe_touch_zone_ratio.y, ratio_w = swipe_touch_zone_ratio.w, ratio_h = swipe_touch_zone_ratio.h, } + local swipe_zone_warmth = { + ratio_x = swipe_touch_zone_ratio_warmth.x, + ratio_y = swipe_touch_zone_ratio_warmth.y, + ratio_w = swipe_touch_zone_ratio_warmth.w, + ratio_h = swipe_touch_zone_ratio_warmth.h, + } self.ui:registerTouchZones({ { id = "plugin_kobolight_tap", @@ -86,6 +94,33 @@ function KoboLight:setupTouchZones() overrides = { 'paging_pan_release', }, }, }) + if with_natural_light then + self.ui:registerTouchZones({ + { + id = "plugin_kobolight_swipe_warmth", + ges = "swipe", + screen_zone = swipe_zone_warmth, + handler = function(ges) return self:onSwipeWarmth(nil, ges) end, + overrides = { 'paging_swipe', 'rolling_swipe', }, + }, + { + -- dummy zone to disable reader panning + id = "plugin_kobolight_pan_warmth", + ges = "pan", + screen_zone = swipe_zone_warmth, + handler = function(ges) return true end, + overrides = { 'paging_pan', 'rolling_pan', }, + }, + { + -- dummy zone to disable reader panning + id = "plugin_kobolight_pan_release_warmth", + ges = "pan_release", + screen_zone = swipe_zone_warmth, + handler = function(ges) return true end, + overrides = { 'paging_pan_release', }, + }, + }) + end end function KoboLight:resetLayout() @@ -104,6 +139,17 @@ function KoboLight:onShowIntensity() return true end +function KoboLight:onShowWarmth(value) + local powerd = Device:getPowerDevice() + if powerd.fl_warmth ~= nil then + UIManager:show(Notification:new{ + text = T(_("Warmth is set to %1."), powerd.fl_warmth), + timeout = 1.0, + }) + end + return true +end + function KoboLight:onShowOnOff() local powerd = Device:getPowerDevice() local new_text @@ -153,19 +199,47 @@ function KoboLight:onSwipe(_, ges) return true end +function KoboLight:onSwipeWarmth(_, ges) + local powerd = Device:getPowerDevice() + if powerd.fl_warmth == nil then return false end + + local step = math.ceil(#self.steps * ges.distance / self.gestureScale) + local delta_int = self.steps[step] or self.steps[#self.steps] + local warmth + if ges.direction == "north" then + warmth = math.min(powerd.fl_warmth + delta_int, 100) + elseif ges.direction == "south" then + warmth = math.max(powerd.fl_warmth - delta_int, 0) + else + return false -- don't consume swipe event if it's not matched + end + + powerd:setWarmth(warmth) + self:onShowWarmth() + return true +end + function KoboLight:addToMainMenu(menu_items) menu_items.frontlight_gesture_controller = { text = _("Frontlight gesture controller"), callback = function() + local image_name + local nl_text = "" + if with_natural_light then + image_name = "/demo_ka1.png" + nl_text = _("\n- Change frontlight warmth by swiping up or down on the right of the screen.") + else + image_name = "/demo.png" + end local image = ImageWidget:new{ - file = self.path .. "/demo.png", + file = self.path .. image_name, height = Screen:getHeight(), width = Screen:getWidth(), scale_factor = 0, } UIManager:show(image) UIManager:show(ConfirmBox:new{ - text = T(_("Frontlight gesture controller can:\n- Turn on or off frontlight by tapping bottom left of the screen.\n- Change frontlight intensity by swiping up or down on the left of the screen.\n\nDo you want to %1 it?"), + text = T(_("Frontlight gesture controller can:\n- Turn on or off frontlight by tapping bottom left of the screen.\n- Change frontlight intensity by swiping up or down on the left of the screen." .. nl_text .. "\n\nDo you want to %1 it?"), self:disabled() and _("enable") or _("disable")), ok_text = self:disabled() and _("Enable") or _("Disable"), ok_callback = function()