20 lines
640 B
Plaintext
20 lines
640 B
Plaintext
initialize_global_viewport = function()
|
|
local minx, miny, maxx, maxy = surface_bounds(Definitions)
|
|
-- ensure 1px of white background all around
|
|
-- just in case the viewport ever goes
|
|
-- outside canvas bounds while animating
|
|
minx,miny, maxx,maxy = minx-1,miny-1, maxx+2,maxy+1
|
|
local zoomx = App.screen.width/(maxx-minx)
|
|
local zoomy = App.screen.height/(maxy-miny)
|
|
local zoom, cw, ch
|
|
if zoomx < zoomy then
|
|
zoom = zoomx
|
|
cw = maxx-minx
|
|
ch = cw*App.screen.height/App.screen.width
|
|
else
|
|
zoom = zoomy
|
|
ch = maxy-miny
|
|
cw = ch*App.screen.width/App.screen.height
|
|
end
|
|
Global_viewport = {x=minx, y=miny, w=cw, h=ch, zoom=zoom}
|
|
end |