mirror of
https://github.com/ErikasKontenis/SabrehavenServer.git
synced 2025-10-15 23:04:54 +02:00
Resolve "Merge the best from 7.40 branch"
This commit is contained in:
36
SabrehavenOTClient/modules/corelib/mouse.lua
Normal file
36
SabrehavenOTClient/modules/corelib/mouse.lua
Normal file
@@ -0,0 +1,36 @@
|
||||
-- @docclass
|
||||
function g_mouse.bindAutoPress(widget, callback, delay, button)
|
||||
local button = button or MouseLeftButton
|
||||
connect(widget, { onMousePress = function(widget, mousePos, mouseButton)
|
||||
if mouseButton ~= button then
|
||||
return false
|
||||
end
|
||||
local startTime = g_clock.millis()
|
||||
callback(widget, mousePos, mouseButton, 0)
|
||||
periodicalEvent(function()
|
||||
callback(widget, g_window.getMousePosition(), mouseButton, g_clock.millis() - startTime)
|
||||
end, function()
|
||||
return g_mouse.isPressed(mouseButton)
|
||||
end, 30, delay)
|
||||
return true
|
||||
end })
|
||||
end
|
||||
|
||||
function g_mouse.bindPressMove(widget, callback)
|
||||
connect(widget, { onMouseMove = function(widget, mousePos, mouseMoved)
|
||||
if widget:isPressed() then
|
||||
callback(mousePos, mouseMoved)
|
||||
return true
|
||||
end
|
||||
end })
|
||||
end
|
||||
|
||||
function g_mouse.bindPress(widget, callback, button)
|
||||
connect(widget, { onMousePress = function(widget, mousePos, mouseButton)
|
||||
if not button or button == mouseButton then
|
||||
callback(mousePos, mouseButton)
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end })
|
||||
end
|
Reference in New Issue
Block a user