mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
screenshot with finger touch at the two corners of the diagonal
This commit is contained in:
@@ -7,7 +7,7 @@ GestureRange = {
|
||||
-- temproal range limits the gesture emitting rate
|
||||
rate = nil,
|
||||
-- span limits of this gesture
|
||||
span = nil,
|
||||
scale = nil,
|
||||
}
|
||||
|
||||
function GestureRange:new(o)
|
||||
@@ -34,8 +34,8 @@ function GestureRange:match(gs)
|
||||
return false
|
||||
end
|
||||
end
|
||||
if self.span then
|
||||
if self.span[1] > gs.span or self.span[2] < gs.span then
|
||||
if self.scale then
|
||||
if self.scale[1] > gs.span or self.scale[2] < gs.span then
|
||||
return false
|
||||
end
|
||||
end
|
||||
@@ -244,7 +244,7 @@ function GestureDetector:tapState(tev)
|
||||
span = pos0:distance(pos1),
|
||||
time = tev.timev,
|
||||
}
|
||||
DEBUG("two-finger tap detected")
|
||||
DEBUG("two-finger tap detected with span", pos0:distance(pos1))
|
||||
self:clearState(0)
|
||||
self:clearState(1)
|
||||
return ges_ev
|
||||
|
||||
25
frontend/ui/reader/readerscreenshot.lua
Normal file
25
frontend/ui/reader/readerscreenshot.lua
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
ReaderScreenshot = InputContainer:new{}
|
||||
|
||||
function ReaderScreenshot:init()
|
||||
local diagonal = math.sqrt(
|
||||
math.pow(Screen:getWidth(), 2) +
|
||||
math.pow(Screen:getHeight(), 2)
|
||||
)
|
||||
self.ges_events = {
|
||||
Screenshot = {
|
||||
GestureRange:new{
|
||||
ges = "two_finger_tap",
|
||||
scale = {diagonal - 80*Screen:getDPI()/167, diagonal},
|
||||
rate = 1.0,
|
||||
}
|
||||
},
|
||||
}
|
||||
end
|
||||
|
||||
function ReaderScreenshot:onScreenshot()
|
||||
os.execute("screenshot")
|
||||
UIManager:setDirty(self.view.dialog, "full")
|
||||
return true
|
||||
end
|
||||
|
||||
@@ -14,6 +14,7 @@ require "ui/reader/readerconfig"
|
||||
require "ui/reader/readercropping"
|
||||
require "ui/reader/readerkopt"
|
||||
require "ui/reader/readercopt"
|
||||
require "ui/reader/readerscreenshot"
|
||||
|
||||
--[[
|
||||
This is an abstraction for a reader interface
|
||||
@@ -90,6 +91,13 @@ function ReaderUI:init()
|
||||
ui = self
|
||||
}
|
||||
table.insert(self, reader_bm)
|
||||
-- screenshot controller
|
||||
local reader_ss = ReaderScreenshot:new{
|
||||
dialog = self.dialog,
|
||||
view = self[1],
|
||||
ui = self
|
||||
}
|
||||
table.insert(self, reader_ss)
|
||||
|
||||
if self.document.info.has_pages then
|
||||
-- for page specific controller
|
||||
|
||||
Reference in New Issue
Block a user