snap.love/0006-on.mouse_press

44 lines
945 B
Plaintext

on.mouse_press = function(x,y, mouse_button)
print('mouse press', x,y)
if Cursor_node then
Cursor_node.show_cursor = nil
Cursor_node = nil
end
local sx, sy = sx(x), sy(y)
local node = on_node(sx,sy)
if node then
-- position cursor in node
Cursor_node = node
print('within node')
edit.mouse_press(node.editor, x,y, mouse_button)
print('cursor at', node.editor.cursor_x, node.editor.cursor_y)
return
end
node = on_move_bar(sx,sy)
if node then
Move_node = node
Move = {sx=sx-Move_node.x, sy=sy-Move_node.y}
return
end
node = on_resize(sx,sy)
if node then
Resize_node = node
Resize = {sx=sx-Resize_node.width}
return
end
node = on_border(sx,sy)
if node then
local edge = on_edge(sx,sy)
if edge == nil then
Edge = {source=node, s={sx=sx, sy=sy}, e={sx=sx, sy=sy}}
else
detach_edge(edge)
Global_next_save = Current_time + 3
A()
end
return
end
-- pan surface
Pan = {sx=sx, sy=sy}
end