2
0
mirror of https://github.com/koreader/koreader synced 2024-11-04 12:00:25 +00:00
koreader/frontend/ui/widget/container/leftcontainer.lua
poire-z 36ce82d8c2 [RTL UI] update low-level widgets to handle mirroring
These updated low-level widgets will handle 90%
of the needed UI mirroring.
2019-12-08 15:10:51 +01:00

27 lines
831 B
Lua

--[[--
LeftContainer aligns its content (1 widget) at the left of its own dimensions
--]]
local BD = require("ui/bidi")
local WidgetContainer = require("ui/widget/container/widgetcontainer")
local LeftContainer = WidgetContainer:new{
allow_mirroring = true,
_mirroredUI = BD.mirroredUILayout(),
}
function LeftContainer:paintTo(bb, x, y)
local contentSize = self[1]:getSize()
--- @fixme
-- if contentSize.w > self.dimen.w or contentSize.h > self.dimen.h then
-- throw error? paint to scrap buffer and blit partially?
-- for now, we ignore this
-- end
if self._mirroredUI and self.allow_mirroring then
x = x + (self.dimen.w - contentSize.w) -- as in RightContainer
end
self[1]:paintTo(bb, x , y + math.floor((self.dimen.h - contentSize.h)/2))
end
return LeftContainer