mouse.lua

main 37 lines · 1.1 KB Raw
Alex Alex Commit Client Upload Part 2 19/10/2026 00:06
1-- @docclass
2function g_mouse.bindAutoPress(widget, callback, delay, button)
3 local button = button or MouseLeftButton
4 connect(widget, { onMousePress = function(widget, mousePos, mouseButton)
5 if mouseButton ~= button then
6 return false
7 end
8 local startTime = g_clock.millis()
9 callback(widget, mousePos, mouseButton, 0)
10 periodicalEvent(function()
11 callback(widget, g_window.getMousePosition(), mouseButton, g_clock.millis() - startTime)
12 end, function()
13 return g_mouse.isPressed(mouseButton)
14 end, 30, delay)
15 return true
16 end })
17end
18
19function g_mouse.bindPressMove(widget, callback)
20 connect(widget, { onMouseMove = function(widget, mousePos, mouseMoved)
21 if widget:isPressed() then
22 callback(mousePos, mouseMoved)
23 return true
24 end
25 end })
26end
27
28function g_mouse.bindPress(widget, callback, button)
29 connect(widget, { onMousePress = function(widget, mousePos, mouseButton)
30 if not button or button == mouseButton then
31 callback(mousePos, mouseButton)
32 return true
33 end
34 return false
35 end })
36end
37
Top