1
0
mirror of https://github.com/kepler155c/opus synced 2025-10-15 07:47:40 +00:00

resizing + injector fixes

This commit is contained in:
kepler155c@gmail.com
2019-02-08 19:21:20 -05:00
parent 72b3c7bac9
commit 8c1abb21ca
10 changed files with 59 additions and 33 deletions

View File

@@ -66,6 +66,7 @@ function Canvas:resize(w, h)
for i = 1, self.height do
self.lines[i] = { dirty = true }
end
self:clear()
end
self.ex = self.x + w - 1
@@ -261,10 +262,20 @@ function Canvas:applyPalette(palette)
end
function Canvas:render(device)
local offset = { x = 0, y = 0 }
local parent = self.parent
while parent do
offset.x = offset.x + parent.x - 1
offset.y = offset.y + parent.y - 1
parent = parent.parent
end
if #self.layers > 0 then
self:__renderLayers(device, { x = 0, y = 0 })
self:__renderLayers(device, offset)
else
self:__blitRect(device)
self:__blitRect(device, nil, {
x = self.x + offset.x,
y = self.y + offset.y
})
self:clean()
end
end
@@ -316,14 +327,10 @@ function Canvas:__renderLayers(device, offset)
self.regions = nil
else
offset = { x = self.x, y = self.y }
local parent = self.parent
while parent do
offset.x = offset.x + parent.x - 1
offset.y = offset.y + parent.y - 1
parent = parent.parent
end
self:__blitRect(device, nil, offset)
self:__blitRect(device, nil, {
x = self.x + offset.x,
y = self.y + offset.y
})
self.regions = nil
end
self:clean()

View File

@@ -7,12 +7,13 @@ UI.SlideOut.defaults = {
UIElement = 'SlideOut',
pageType = 'modal',
}
function UI.SlideOut:setParent()
-- TODO: size should be set at this point
self:layout()
self.canvas = self:addLayer()
UI.Window.setParent(self)
function UI.SlideOut:layout()
UI.Window.layout(self)
if not self.canvas then
self.canvas = self:addLayer()
else
self.canvas:resize(self.width, self.height)
end
end
function UI.SlideOut:enable()

View File

@@ -19,9 +19,13 @@ UI.Viewport.defaults = {
[ 'control-f' ] = 'scroll_pageDown',
},
}
function UI.Viewport:setParent()
UI.Window.setParent(self)
self.canvas = self:addLayer()
function UI.Viewport:layout()
UI.Window.layout(self)
if not self.canvas then
self.canvas = self:addLayer()
else
self.canvas:resize(self.width, self.height)
end
end
function UI.Viewport:enable()