From 967a09c8109672e311770101457356c8acf025d3 Mon Sep 17 00:00:00 2001 From: poire-z Date: Sat, 19 Aug 2017 17:11:29 +0200 Subject: [PATCH] ImageViewer: make Hold (trigger full refresh) easier --- frontend/ui/widget/imageviewer.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/frontend/ui/widget/imageviewer.lua b/frontend/ui/widget/imageviewer.lua index a640dfe18..c2af014ee 100644 --- a/frontend/ui/widget/imageviewer.lua +++ b/frontend/ui/widget/imageviewer.lua @@ -50,6 +50,9 @@ local ImageViewer = InputContainer:new{ image_padding = Screen:scaleBySize(2), button_padding = Screen:scaleBySize(14), + -- sensitivity for hold (trigger full refresh) vs pan (move image) + pan_threshold = Screen:scaleBySize(5), + _scale_to_fit = nil, -- state of toggle between our 2 pre-defined scales (scale to fit / original size) _panning = false, -- Default centering on center of image if oversized @@ -343,8 +346,8 @@ function ImageViewer:onHoldRelease(_, ges) self._panning = false self._pan_relative_x = ges.pos.x - self._pan_relative_x self._pan_relative_y = ges.pos.y - self._pan_relative_y - if self._pan_relative_x == 0 and self._pan_relative_y == 0 then - -- Hold with no move: use this to trigger full refresh + if math.abs(self._pan_relative_x) < self.pan_threshold and math.abs(self._pan_relative_y) < self.pan_threshold then + -- Hold with no move (or less than pan_threshold): use this to trigger full refresh UIManager:setDirty(nil, "full") else self:panBy(-self._pan_relative_x, -self._pan_relative_y)