From 4cfdce610575aecfce60607413fad72e30b79791 Mon Sep 17 00:00:00 2001 From: chrox Date: Wed, 23 Oct 2013 22:37:55 +0800 Subject: [PATCH] fix several local calls of Math.round --- frontend/document/document.lua | 3 ++- frontend/document/koptinterface.lua | 5 +++-- frontend/ui/data/koptoptions.lua | 2 +- frontend/ui/input.lua | 5 +++-- frontend/ui/reader/readercropping.lua | 3 ++- frontend/ui/reader/readerdictionary.lua | 2 +- frontend/ui/rendertext.lua | 4 +++- frontend/ui/widget/bboxwidget.lua | 27 +++++++++++++------------ frontend/ui/widget/scrolltextwidget.lua | 2 ++ 9 files changed, 31 insertions(+), 22 deletions(-) diff --git a/frontend/document/document.lua b/frontend/document/document.lua index 787eeab3d..05fad0aab 100644 --- a/frontend/document/document.lua +++ b/frontend/document/document.lua @@ -3,6 +3,7 @@ local CacheItem = require("cacheitem") local TileCacheItem = require("document/tilecacheitem") local Geom = require("ui/geometry") local Configurable = require("ui/reader/configurable") +local Math = require("optmath") local DEBUG = require("dbg") --[[ @@ -118,7 +119,7 @@ function Document:getPageBBox(pageno) --DEBUG("bbox from", pageno) return bbox else - local oddEven = math.oddEven(pageno) + local oddEven = Math.oddEven(pageno) bbox = self.bbox[oddEven] -- odd/even end if bbox ~= nil then -- last used up to this page diff --git a/frontend/document/koptinterface.lua b/frontend/document/koptinterface.lua index 02455b141..51e3ebfb0 100644 --- a/frontend/document/koptinterface.lua +++ b/frontend/document/koptinterface.lua @@ -4,7 +4,7 @@ local CacheItem = require("cacheitem") local Screen = require("ui/screen") local Geom = require("ui/geometry") local TileCacheItem = require("document/tilecacheitem") -local Dbg = require("dbg") +local DEBUG = require("dbg") -- TBD: KOPTContext local KoptInterface = { @@ -58,6 +58,7 @@ function KoptInterface:createContext(doc, pageno, bbox) lang == "jpn" or lang == "kor" then kc:setCJKChar() end + DEBUG("configurable", doc.configurable) kc:setLanguage(lang) kc:setTrim(doc.configurable.trim_page) kc:setWrap(doc.configurable.text_wrap) @@ -76,7 +77,7 @@ function KoptInterface:createContext(doc, pageno, bbox) kc:setLineSpacing(doc.configurable.line_spacing) kc:setWordSpacing(doc.configurable.word_spacing) if bbox then kc:setBBox(bbox.x0, bbox.y0, bbox.x1, bbox.y1) end - if Dbg.is_on then kc:setDebug() end + if DEBUG.is_on then kc:setDebug() end return kc end diff --git a/frontend/ui/data/koptoptions.lua b/frontend/ui/data/koptoptions.lua index 725c4159b..898994e3b 100644 --- a/frontend/ui/data/koptoptions.lua +++ b/frontend/ui/data/koptoptions.lua @@ -206,7 +206,7 @@ local KoptOptions = { name_text = S.AUTO_STRAIGHTEN, toggle = {S.ZERO_DEG, S.FIVE_DEG, S.TEN_DEG}, values = {0, 5, 10}, - default_value = S.DKOPTREADER_CONFIG_AUTOAIGHTEN, + default_value = DKOPTREADER_CONFIG_AUTO_STRAIGHTEN, show = false, }, { diff --git a/frontend/ui/input.lua b/frontend/ui/input.lua index 6b9ee0c98..ecac281ec 100644 --- a/frontend/ui/input.lua +++ b/frontend/ui/input.lua @@ -3,6 +3,7 @@ local GestureDetector = require("ui/gesturedetector") local Event = require("ui/event") local TimeVal = require("ui/timeval") local Screen = require("ui/screen") +local Math = require("optmath") local Dbg = require("dbg") local DEBUG = require("dbg") @@ -304,9 +305,9 @@ function Input:init() --@TODO handle coordinates properly after --screen rotate. (houqp) if ev.code == ABS_MT_POSITION_X then - ev.value = math.round(ev.value * (600/4095)) + ev.value = Math.round(ev.value * (600/4095)) elseif ev.code == ABS_MT_POSITION_Y then - ev.value = math.round(ev.value * (800/4095)) + ev.value = Math.round(ev.value * (800/4095)) end end return ev diff --git a/frontend/ui/reader/readercropping.lua b/frontend/ui/reader/readercropping.lua index be64d1d78..e14879fe0 100644 --- a/frontend/ui/reader/readercropping.lua +++ b/frontend/ui/reader/readercropping.lua @@ -11,6 +11,7 @@ local HorizontalGroup = require("ui/widget/horizontalgroup") local BBoxWidget = require("ui/widget/bboxwidget") local HorizontalSpan = require("ui/widget/horizontalspan") local Button = require("ui/widget/button") +local Math = require("optmath") local DEBUG = require("dbg") local PageCropDialog = VerticalGroup:new{ @@ -112,7 +113,7 @@ function ReaderCropping:onConfirmPageCrop() self.ui:handleEvent(Event:new("BBoxUpdate", new_bbox)) local pageno = self.view.state.page self.document.bbox[pageno] = new_bbox - self.document.bbox[math.oddEven(pageno)] = new_bbox + self.document.bbox[Math.oddEven(pageno)] = new_bbox self:exitPageCrop(true) return true end diff --git a/frontend/ui/reader/readerdictionary.lua b/frontend/ui/reader/readerdictionary.lua index b106ff806..5d9f76add 100644 --- a/frontend/ui/reader/readerdictionary.lua +++ b/frontend/ui/reader/readerdictionary.lua @@ -39,7 +39,7 @@ function ReaderDictionary:showDict(results) dialog = self.dialog, results = results, dictionary = self.default_dictionary, - width = Screen:getWidth() - screen:scaleByDPI(120), + width = Screen:getWidth() - Screen:scaleByDPI(120), height = Screen:getHeight()*0.43, }) end diff --git a/frontend/ui/rendertext.lua b/frontend/ui/rendertext.lua index 9ddb8994d..1042f0a52 100644 --- a/frontend/ui/rendertext.lua +++ b/frontend/ui/rendertext.lua @@ -1,3 +1,5 @@ +local Font = require("ui/font") +local Screen = require("ui/screen") local Cache = require("cache") local CacheItem = require("cacheitem") local DEBUG = require("dbg") @@ -72,7 +74,7 @@ function RenderText:getGlyph(face, charcode, bgcolor, fgcolor) if face.ftface:checkGlyph(charcode) == 0 then for index, font in pairs(Font.fallbacks) do -- rescale face size by DPI since it will be scaled in getFace again - local fb_face = Font:getFace(font, rescaleByDPI(face.size)) + local fb_face = Font:getFace(font, Screen:rescaleByDPI(face.size)) if fb_face.ftface:checkGlyph(charcode) ~= 0 then rendered_glyph = fb_face.ftface:renderGlyph(charcode, bgcolor, fgcolor) DEBUG("fallback to font", font) diff --git a/frontend/ui/widget/bboxwidget.lua b/frontend/ui/widget/bboxwidget.lua index 65fd7cff8..3f4045295 100644 --- a/frontend/ui/widget/bboxwidget.lua +++ b/frontend/ui/widget/bboxwidget.lua @@ -4,6 +4,7 @@ local Event = require("ui/event") local UIManager = require("ui/uimanager") local Device = require("ui/device") local GestureRange = require("ui/gesturerange") +local Math = require("optmath") local DEBUG = require("dbg") --[[ @@ -73,10 +74,10 @@ function BBoxWidget:getScreenBBox(page_bbox) local scale = self.view.state.zoom local screen_offset = self.view.state.offset --DEBUG("screen offset in page_to_screen", screen_offset) - bbox.x0 = math.round(page_bbox.x0 * scale + screen_offset.x) - bbox.y0 = math.round(page_bbox.y0 * scale + screen_offset.y) - bbox.x1 = math.round(page_bbox.x1 * scale + screen_offset.x) - bbox.y1 = math.round(page_bbox.y1 * scale + screen_offset.y) + bbox.x0 = Math.round(page_bbox.x0 * scale + screen_offset.x) + bbox.y0 = Math.round(page_bbox.y0 * scale + screen_offset.y) + bbox.x1 = Math.round(page_bbox.x1 * scale + screen_offset.x) + bbox.y1 = Math.round(page_bbox.y1 * scale + screen_offset.y) return bbox end @@ -86,10 +87,10 @@ function BBoxWidget:getPageBBox(screen_bbox) local scale = self.view.state.zoom local screen_offset = self.view.state.offset --DEBUG("screen offset in screen_to_page", screen_offset) - bbox.x0 = math.round((screen_bbox.x0 - screen_offset.x) / scale) - bbox.y0 = math.round((screen_bbox.y0 - screen_offset.y) / scale) - bbox.x1 = math.round((screen_bbox.x1 - screen_offset.x) / scale) - bbox.y1 = math.round((screen_bbox.y1 - screen_offset.y) / scale) + bbox.x0 = Math.round((screen_bbox.x0 - screen_offset.x) / scale) + bbox.y0 = Math.round((screen_bbox.y0 - screen_offset.y) / scale) + bbox.x1 = Math.round((screen_bbox.x1 - screen_offset.x) / scale) + bbox.y1 = Math.round((screen_bbox.y1 - screen_offset.y) / scale) return bbox end @@ -117,7 +118,7 @@ function BBoxWidget:adjustScreenBBox(ges, relative) left_center, right_center, bottom_left, bottom_center, bottom_right, } - local _, nearest = math.tmin(anchors, function(a,b) + local _, nearest = Math.tmin(anchors, function(a,b) return a:distance(ges.pos) > b:distance(ges.pos) end) --DEBUG("nearest anchor", nearest) @@ -183,10 +184,10 @@ function BBoxWidget:adjustScreenBBox(ges, relative) end end self.screen_bbox = { - x0 = math.round(upper_left.x), - y0 = math.round(upper_left.y), - x1 = math.round(bottom_right.x), - y1 = math.round(bottom_right.y) + x0 = Math.round(upper_left.x), + y0 = Math.round(upper_left.y), + x1 = Math.round(bottom_right.x), + y1 = Math.round(bottom_right.y) } UIManager.repaint_all = true diff --git a/frontend/ui/widget/scrolltextwidget.lua b/frontend/ui/widget/scrolltextwidget.lua index 9f9c03b23..f61a0c15f 100644 --- a/frontend/ui/widget/scrolltextwidget.lua +++ b/frontend/ui/widget/scrolltextwidget.lua @@ -81,3 +81,5 @@ function ScrollTextWidget:onSwipe(arg, ges) UIManager:setDirty(self.dialog, "partial") return true end + +return ScrollTextWidget