mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Vocabulary builder: support extracting context from pdfs (#9622)
Move getSelectedWordContext(), now document specific, from ReaderHighlight into each document module.
This commit is contained in:
@@ -716,6 +716,28 @@ function CreDocument:getNextVisibleChar(xp)
|
||||
return self._document:getNextVisibleChar(xp)
|
||||
end
|
||||
|
||||
function CreDocument:getSelectedWordContext(word, nb_words, pos0, pos1)
|
||||
local pos_start = pos0
|
||||
local pos_end = pos1
|
||||
|
||||
for i=0, nb_words do
|
||||
local start = self:getPrevVisibleWordStart(pos_start)
|
||||
if start then pos_start = start
|
||||
else break end
|
||||
end
|
||||
|
||||
for i=0, nb_words do
|
||||
local ending = self:getNextVisibleWordEnd(pos_end)
|
||||
if ending then pos_end = ending
|
||||
else break end
|
||||
end
|
||||
|
||||
local prev = self:getTextFromXPointers(pos_start, pos0)
|
||||
local next = self:getTextFromXPointers(pos1, pos_end)
|
||||
|
||||
return prev, next
|
||||
end
|
||||
|
||||
function CreDocument:drawCurrentView(target, x, y, rect, pos)
|
||||
if self.buffer and (self.buffer.w ~= rect.w or self.buffer.h ~= rect.h) then
|
||||
self.buffer:free()
|
||||
|
||||
Reference in New Issue
Block a user