6J7LEUDIW3UZ5I56OYVQZ6W7RZA64WXP5EIT5KYDKR5PCBINZ76AC
snapshot_canvas = function()
-- Render the canvas at pixel perfect resolution.
local winw,winh = App.screen.width, App.screen.height
App.screen.width,App.screen.height = Global_viewport.w, Global_viewport.h
Viewport = {x=Global_viewport.x, y=Global_viewport.y, w=Global_viewport.w, h=Global_viewport.h, zoom=1.0}
A()
Canvas = love.graphics.newCanvas(cw,ch)
love.graphics.setCanvas(Canvas)
App.fake_key_press = true -- Hack; disable drawing the menu and ticks
on.draw()
App.fake_key_press = nil
love.graphics.setCanvas()
App.screen.width,App.screen.height = winw,winh
end
{"y_of_schema1":364,"move_candidate_to_front_of_manifest":632,"keychord_press_on_manifest_navigator":765,"text_input_on_manifest_navigator":634,"manifest_coord":636,"manifest_index":637,"manifest_navigator_candidates":638,"add_def_to_menu":640,"box_height":680,"Manifest_navigator":495,"compute_layout":385,"on_text":539,"scale":712,"on":1,"sx":544,"add_thick_line":400,"on.key_release":720,"draw_run_time_error":808,"tick_spec":660,"load_manifest":694,"font":353,"survey_animation":863,"mouse_cursor":558,"Surface":422,"Mouse_cursor":559,"Definitions":503,"on.draw":797,"initialize_editor":678,"vx":545,"Viewport":604,"vy":546,"approximate":579,"surface_bounds":814,"on.save_settings":742,"on.mouse_release":836,"maybe_update_key_in_definitions":529,"on.update":835,"load_definition":854,"approximate_up":658,"table_and_array_both_empty":689,"Ticks_font":669,"interpolate_viewport":843,"order_of_magnitude":573,"draw_cursor":639,"Definition_background_color":849,"on.load_settings":782,"schema1_of_y":667,"on_handle":547,"line_height":365,"get_manifest":768,"definition_background_color":859,"on.text_input":855,"new_definition":848,"animate_next_frame":825,"on.initialize":807,"Manifest":769,"Num_animation_frames":840,"initialize_manifest_navigator":773,"on.keychord_press":828,"fw_parent":863,"B":830,"fw_app":"driver","Menu_background_color":611,"get_multiple_definitions_from_app":783,"Menu_border_color":612,"set_mouse_cursor":562,"Menu_command_color":613,"wait_for_response":781,"Menu_highlight_color":614,"on.code_submit":787,"snapshot_canvas":864,"add_hotkey_to_menu":616,"Test_definition_background_color":858,"draw_ticks":862,"draw_manifest_navigator":677,"Cursor_node":172,"sy":469,"on.code_change":820,"manifest_navigator_up":628,"reset_manifest_navigator":772,"update_editor_box":711,"Animating":842,"load_from_iterator":670,"Spawn_point":822,"get_definition_from_app":784,"draw_menu_bar":861,"Page":475,"num_lines_for_manifest_navigator":676,"animate_next":841,"on.mouse_press":722,"A":831,"manifest_navigator_down":635,"copy_shape":396,"from_viewport":823,"delete_definition":673}
survey_animation = function()
---[[ '--' at start to disable animation, '---' to enable
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+1,maxx+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
local desired_viewport = Viewport
Global_viewport = {x=minx, y=miny, w=cw, h=ch, zoom=zoom}
snapshot_canvas()
-- initialize animation
Animating = {
Global_viewport,
desired_viewport,
}
Viewport.x = -App.screen.width/2
Viewport.y = -App.screen.height/2
Viewport.w = App.screen.width
Viewport.h = App.screen.height
Viewport.zoom = 1.0 --]]
end
{"y_of_schema1":364,"move_candidate_to_front_of_manifest":632,"keychord_press_on_manifest_navigator":765,"text_input_on_manifest_navigator":634,"manifest_coord":636,"manifest_index":637,"manifest_navigator_candidates":638,"add_def_to_menu":640,"box_height":680,"Manifest_navigator":495,"compute_layout":385,"on_text":539,"scale":712,"on":1,"sx":544,"add_thick_line":400,"on.key_release":720,"draw_run_time_error":808,"tick_spec":660,"load_manifest":694,"font":353,"survey_animation":863,"mouse_cursor":558,"Surface":422,"Mouse_cursor":559,"Definitions":503,"on.draw":797,"initialize_editor":678,"vx":545,"Viewport":604,"vy":546,"approximate":579,"surface_bounds":814,"on.save_settings":742,"on.mouse_release":836,"maybe_update_key_in_definitions":529,"on.update":835,"load_definition":854,"approximate_up":658,"table_and_array_both_empty":689,"Ticks_font":669,"interpolate_viewport":843,"draw_cursor":639,"Definition_background_color":849,"on.load_settings":782,"schema1_of_y":667,"on_handle":547,"line_height":365,"get_manifest":768,"definition_background_color":859,"on.text_input":855,"new_definition":848,"animate_next_frame":825,"on.initialize":807,"Manifest":769,"Num_animation_frames":840,"initialize_manifest_navigator":773,"on.keychord_press":828,"fw_parent":862,"B":830,"fw_app":"driver","Menu_background_color":611,"get_multiple_definitions_from_app":783,"Menu_border_color":612,"set_mouse_cursor":562,"Menu_command_color":613,"wait_for_response":781,"Menu_highlight_color":614,"on.code_submit":787,"order_of_magnitude":573,"add_hotkey_to_menu":616,"Test_definition_background_color":858,"draw_ticks":862,"draw_manifest_navigator":677,"Cursor_node":172,"sy":469,"on.code_change":820,"manifest_navigator_up":628,"reset_manifest_navigator":772,"update_editor_box":711,"Animating":842,"load_from_iterator":670,"Spawn_point":822,"get_definition_from_app":784,"draw_menu_bar":861,"Page":475,"num_lines_for_manifest_navigator":676,"animate_next":841,"on.mouse_press":722,"A":831,"manifest_navigator_down":635,"copy_shape":396,"from_viewport":823,"delete_definition":673}