mirror of
https://github.com/kepler155c/opus
synced 2025-10-15 07:47:40 +00:00
resizing + injector fixes
This commit is contained in:
@@ -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()
|
||||
|
@@ -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()
|
||||
|
@@ -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()
|
||||
|
Reference in New Issue
Block a user