Difference between revisions of "Mouse scroll (event)"

From ComputerCraft Wiki
Jump to: navigation, search
(The description and code example were both wrong. Fixed the return values, changed the example to reflect this, and added a second example.)
m (Removed the NeedsWork and fixed my own error.)
Line 1: Line 1:
{{NeedsWork|A demonstration on the use and handling of this event would be beneficial. ''[[User:AfterLifeLochie|AfterLifeLochie]] 15:57, 30 November 2012 (MSK)''}}
 
 
 
{{Event
 
{{Event
 
|name=mouse_scroll
 
|name=mouse_scroll
Line 25: Line 23:
 
  i = 0
 
  i = 0
 
  while true do
 
  while true do
  term.clear()
+
    term.clear()
  _, dir, x, y = os.pullEvent("[[mouse_scroll_(event)|mouse_scroll]]")
+
    _, dir, x, y = os.pullEvent("[[mouse_scroll_(event)|mouse_scroll]]")
  if dir == -1 then
+
    if dir == -1 then
    i = i + 1
+
      i = i + 1
  elseif dir == 1 then
+
    elseif dir == 1 then
    i = i - 1
+
      i = i - 1
  end
+
    end
  term.setCursorPos(x, y)
+
    term.setCursorPos(x, y)
  term.write(i)
+
    term.write(i)
 +
end
 
|output=At the coordinates of the scroll, the counter value is printed.
 
|output=At the coordinates of the scroll, the counter value is printed.
 
}}
 
}}
 
}}
 
}}

Revision as of 08:29, 4 May 2013

Grid Modem.png  Event mouse_scroll
Fired when a mousewheel is scrolled in the terminal
Returned Object 1 The name of the event.
Returned Object 2 The direction of the mouse-scroll (-1 = up, 1 = down).
Returned Object 3 The X-coordinate of the scroll (in screen-characters).
Returned Object 4 The Y-coordinate of the scroll (in screen-characters).

Examples

Grid paper.png  Example
Print the direction and the co-ordinates of every mouse scroll we receive a mouse_scroll event for.
Code
while true do
  _, dir, x, y = os.pullEvent("mouse_scroll")
  print("mouse_scroll: " .. tostring(dir) .. ", " ..
    "X: " .. tostring(x) .. ", " ..
    "Y: " .. tostring(y))
end
Output The direction the mouse-wheel was scrolled in, followed by the X and Y position of the event.



Grid paper.png  Example
A variable, i, keeps track of the relative value of the scroll: every time a mouse-scroll occurs, the code checks the direction, incrementing the variable by one for every scroll up and decrementing the variable by one for every scroll down.
Code
i = 0
while true do
   term.clear()
   _, dir, x, y = os.pullEvent("mouse_scroll")
   if dir == -1 then
      i = i + 1
   elseif dir == 1 then
      i = i - 1
   end
   term.setCursorPos(x, y)
   term.write(i)
end
Output At the coordinates of the scroll, the counter value is printed.