Mouse drag (event)

From ComputerCraft Wiki
Revision as of 17:23, 18 January 2013 by TheOriginalBIT (Talk | contribs) (Added a graphical code example)

Jump to: navigation, search
This page needs some serious TLC, stat!
Please help us by cleaning it, fixing it up, or sparing it some love.
(Reason: A demonstration on the use and handling of this event would be beneficial. AfterLifeLochie 16:00, 30 November 2012 (MSK))

{{Event |name=mouse_drag |desc=Fired when the mouse is dragged (implies that a mouse_click event has already occurred). |return1=The mouse button that was clicked. |return2=The X-coordinate of the mouse (in screen-characters). |return3=The Y-coordinate of the mouse (in screen-characters). |examples=

Grid paper.png  Example
Print the new co-ordinates of the mouse every time a mouse_drag event occurs.
Code
while true do
  _, button, xPos, yPos = os.pullEvent("mouse_drag")
  print("mouse_drag => " .. tostring(button) .. ": " ..
    "X: " .. tostring(xPos) .. ", " ..
    "Y: " .. tostring(yPos))
end
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
Code
x = 5
y = 5
while true do
  term.clear()
  term.setBackgroundColor( colors.black )
  paintutils.drawPixel( x, y, colors.red )
 
  event, button, xPos, yPos = os.pullEvent("mouse_drag")

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