distinguish consistently between mouse buttons and other buttons

This commit is contained in:
Kartik K. Agaram 2022-08-23 09:36:08 -07:00
parent 418ce8480a
commit cfdac28e18
3 changed files with 30 additions and 30 deletions

34
app.lua
View File

@ -207,22 +207,22 @@ function App.modifier_down(key)
end
App.fake_mouse_state = {x=-1, y=-1} -- x,y always set
function App.fake_mouse_press(x,y, button)
function App.fake_mouse_press(x,y, mouse_button)
App.fake_mouse_state.x = x
App.fake_mouse_state.y = y
App.fake_mouse_state[button] = true
App.fake_mouse_state[mouse_button] = true
end
function App.fake_mouse_release(x,y, button)
function App.fake_mouse_release(x,y, mouse_button)
App.fake_mouse_state.x = x
App.fake_mouse_state.y = y
App.fake_mouse_state[button] = nil
App.fake_mouse_state[mouse_button] = nil
end
function App.mouse_move(x,y)
App.fake_mouse_state.x = x
App.fake_mouse_state.y = y
end
function App.mouse_down(button)
return App.fake_mouse_state[button]
function App.mouse_down(mouse_button)
return App.fake_mouse_state[mouse_button]
end
function App.mouse_x()
return App.fake_mouse_state.x
@ -250,25 +250,25 @@ function App.run_after_keychord(chord)
App.draw()
end
function App.run_after_mouse_click(x,y, button)
App.fake_mouse_press(x,y, button)
App.mousepressed(x,y, button)
App.fake_mouse_release(x,y, button)
App.mousereleased(x,y, button)
function App.run_after_mouse_click(x,y, mouse_button)
App.fake_mouse_press(x,y, mouse_button)
App.mousepressed(x,y, mouse_button)
App.fake_mouse_release(x,y, mouse_button)
App.mousereleased(x,y, mouse_button)
App.screen.contents = {}
App.draw()
end
function App.run_after_mouse_press(x,y, button)
App.fake_mouse_press(x,y, button)
App.mousepressed(x,y, button)
function App.run_after_mouse_press(x,y, mouse_button)
App.fake_mouse_press(x,y, mouse_button)
App.mousepressed(x,y, mouse_button)
App.screen.contents = {}
App.draw()
end
function App.run_after_mouse_release(x,y, button)
App.fake_mouse_release(x,y, button)
App.mousereleased(x,y, button)
function App.run_after_mouse_release(x,y, mouse_button)
App.fake_mouse_release(x,y, mouse_button)
App.mousereleased(x,y, mouse_button)
App.screen.contents = {}
App.draw()
end

View File

@ -218,7 +218,7 @@ function Drawing.in_drawing(drawing, line_cache, x,y, left,right)
return y >= line_cache.starty and y < line_cache.starty + Drawing.pixels(drawing.h, width) and x >= left and x < right
end
function Drawing.mouse_pressed(State, drawing_index, x,y, button)
function Drawing.mouse_pressed(State, drawing_index, x,y, mouse_button)
local drawing = State.lines[drawing_index]
local line_cache = State.line_cache[drawing_index]
local cx = Drawing.coord(x-State.left, State.width)
@ -292,7 +292,7 @@ function Drawing.relax_constraints(drawing, p)
end
end
function Drawing.mouse_released(State, x,y, button)
function Drawing.mouse_released(State, x,y, mouse_button)
if State.current_drawing_mode == 'move' then
State.current_drawing_mode = State.previous_drawing_mode
State.previous_drawing_mode = nil

View File

@ -497,25 +497,25 @@ function edit.run_after_keychord(State, chord)
edit.draw(State)
end
function edit.run_after_mouse_click(State, x,y, button)
App.fake_mouse_press(x,y, button)
edit.mouse_pressed(State, x,y, button)
App.fake_mouse_release(x,y, button)
edit.mouse_released(State, x,y, button)
function edit.run_after_mouse_click(State, x,y, mouse_button)
App.fake_mouse_press(x,y, mouse_button)
edit.mouse_pressed(State, x,y, mouse_button)
App.fake_mouse_release(x,y, mouse_button)
edit.mouse_released(State, x,y, mouse_button)
App.screen.contents = {}
edit.draw(State)
end
function edit.run_after_mouse_press(State, x,y, button)
App.fake_mouse_press(x,y, button)
edit.mouse_pressed(State, x,y, button)
function edit.run_after_mouse_press(State, x,y, mouse_button)
App.fake_mouse_press(x,y, mouse_button)
edit.mouse_pressed(State, x,y, mouse_button)
App.screen.contents = {}
edit.draw(State)
end
function edit.run_after_mouse_release(State, x,y, button)
App.fake_mouse_release(x,y, button)
edit.mouse_released(State, x,y, button)
function edit.run_after_mouse_release(State, x,y, mouse_button)
App.fake_mouse_release(x,y, mouse_button)
edit.mouse_released(State, x,y, mouse_button)
App.screen.contents = {}
edit.draw(State)
end