12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- -- @docclass
- g_mouse = {}
-
- local cursorChanged = false
-
- function g_mouse.setTargetCursor()
- g_window.setMouseCursor('/cursors/targetcursor.png', {x=9,y=9})
- cursorChanged = true
- end
-
- function g_mouse.setHorizontalCursor()
- g_window.setMouseCursor('/cursors/horizontal.png', {x=9,y=4})
- cursorChanged = true
- end
-
- function g_mouse.setVerticalCursor()
- g_window.setMouseCursor('/cursors/vertical.png', {x=4,y=9})
- cursorChanged = true
- end
-
- function g_mouse.restoreCursor()
- g_window.restoreMouseCursor()
- cursorChanged = false
- end
-
- function g_mouse.isCursorChanged()
- return cursorChanged
- end
-
- function g_mouse.isPressed(button)
- if not button then button = MouseLeftButton end
- return g_window.isMouseButtonPressed(button)
- end
-
- function g_mouse.bindAutoPress(widget, callback, delay)
- connect(widget, { onMousePress = function(widget, mousePos, mouseButton)
- 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 widget:isPressed()
- 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)
- end
- return true
- end })
- end
|