Mouse drag (event)

From ComputerCraft Wiki
Jump to: navigation, search

The mouse_drag event occurs every time the mouse is moved until the user releases the mouse button. It will always occur after a mouse_click event. The event will only be fired when the mouse moves to another character position, dragging within the same character will have no effect.

Grid Modem.png  Event mouse_drag
Fired when the mouse is dragged (implies that a mouse_click event has already occurred).
Returned Object 1 The mouse button that was clicked.
Returned Object 2 The X-coordinate of the mouse (in screen-characters).
Returned Object 3 The Y-coordinate of the mouse (in screen-characters).


Grid paper.png  Example
Print the new co-ordinates of the mouse every time a mouse_drag event occurs.
while true do
  _, button, xPos, yPos = os.pullEvent("mouse_drag")
  print("mouse_drag => " .. tostring(button) .. ": " ..
    "X: " .. tostring(xPos) .. ", " ..
    "Y: " .. tostring(yPos))
Output The X and Y position of the mouse during the drag.

Grid paper.png  Example
Draws a single pixel on the screen, which is moved to the mouse position when mouse is clicked and dragged on the screen
x = 5
y = 5
while true do
  term.setBackgroundColor( )
  paintutils.drawPixel( x, y, )
  event, button, xPos, yPos = os.pullEvent("mouse_drag")

  if button == 1 then -- left button was clicked
    x = xPos
    y = yPos