diff --git a/frontend/document/credocument.lua b/frontend/document/credocument.lua index fa26cab9d..e8724aec2 100644 --- a/frontend/document/credocument.lua +++ b/frontend/document/credocument.lua @@ -127,6 +127,25 @@ function CreDocument:getPageCount() return self._document:getPages() end +function CreDocument:getWordFromPosition(pos) + local word_box = self._document:getWordFromPos(pos.x, pos.y) + if word_box.word then + return { + word = word_box.word, + page = self._document:getCurrentPage(), + sbox = { + x = word_box.x0, y = word_box.y0, + w = word_box.x1 - word_box.x0, + h = word_box.y1 - word_box.y0, + } + } + end +end + +function CreDocument:getTextFromPositions(doc, pos0, pos1) + DEBUG("getTextFromPositions not finished yet") +end + function CreDocument:drawCurrentView(target, x, y, rect, pos) tile_bb = Blitbuffer.new(rect.w, rect.h) self._document:drawCurrentPage(tile_bb) diff --git a/frontend/ui/reader/readerview.lua b/frontend/ui/reader/readerview.lua index 12573bf18..f4edb981b 100644 --- a/frontend/ui/reader/readerview.lua +++ b/frontend/ui/reader/readerview.lua @@ -149,6 +149,11 @@ function ReaderView:screenToPageTransform(pos) else return self:getSinglePagePosition(pos) end + else + pos.page = self.ui.document:getCurrentPage() + local last_y = self.ui.document:getCurrentPos() + DEBUG("document has no pages at", pos) + return pos end end @@ -162,6 +167,8 @@ function ReaderView:pageToScreenTransform(page, rect) else return self:getSinglePageRect(rect) end + else + return rect end end diff --git a/koreader-base b/koreader-base index 756cd1ed8..1f45c486f 160000 --- a/koreader-base +++ b/koreader-base @@ -1 +1 @@ -Subproject commit 756cd1ed83c598824cfc8678e9cbd488ef0c9c2b +Subproject commit 1f45c486f7ddbe43156ec15633f2b188aba126cb