2
0
mirror of https://github.com/koreader/koreader synced 2024-11-04 12:00:25 +00:00
koreader/frontend/ui/widget/container/rightcontainer.lua
2022-02-20 16:09:39 +01:00

29 lines
839 B
Lua

--[[--
RightContainer aligns its content (1 widget) at the right of its own dimensions
--]]
local BD = require("ui/bidi")
local WidgetContainer = require("ui/widget/container/widgetcontainer")
local RightContainer = WidgetContainer:new{
allow_mirroring = true,
}
function RightContainer: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 not BD.mirroredUILayout() or not self.allow_mirroring then
x = x + (self.dimen.w - contentSize.w)
-- else: keep x, as in LeftContainer
end
self[1]:paintTo(bb,
x,
y + math.floor((self.dimen.h - contentSize.h)/2))
end
return RightContainer