class RAutomation::Adapter::Win32::Mouse
Public Class Methods
new(window)
click to toggle source
# File lib/rautomation/adapter/win_32/mouse.rb, line 5 def initialize(window) @window = window end
Public Instance Methods
click()
click to toggle source
# File lib/rautomation/adapter/win_32/mouse.rb, line 22 def click send_input down_event, up_event end
move(coords={})
click to toggle source
# File lib/rautomation/adapter/win_32/mouse.rb, line 9 def move(coords={}) @last_position = coords = (@last_position || position).merge(coords) until position[:x] == coords[:x] && position[:y] == coords[:y] @window.activate Functions.set_cursor_pos coords[:x], coords[:y] end end
position()
click to toggle source
# File lib/rautomation/adapter/win_32/mouse.rb, line 18 def position Functions.get_cursor_pos end
press()
click to toggle source
# File lib/rautomation/adapter/win_32/mouse.rb, line 26 def press send_input down_event, down_event end
release()
click to toggle source
# File lib/rautomation/adapter/win_32/mouse.rb, line 30 def release send_input up_event, up_event end
Private Instance Methods
down_event()
click to toggle source
# File lib/rautomation/adapter/win_32/mouse.rb, line 41 def down_event input Constants::MOUSEEVENTF_LEFTDOWN end
input(flag)
click to toggle source
# File lib/rautomation/adapter/win_32/mouse.rb, line 49 def input flag mouse_input = Array.new(7, 0) mouse_input[0] = Constants::INPUT_MOUSE mouse_input[4] = flag mouse_input.pack "L*" end
send_input(*inputs)
click to toggle source
# File lib/rautomation/adapter/win_32/mouse.rb, line 36 def send_input *inputs @window.activate Functions.send_input inputs.size, inputs.join, inputs[0].size end
up_event()
click to toggle source
# File lib/rautomation/adapter/win_32/mouse.rb, line 45 def up_event input Constants::MOUSEEVENTF_LEFTUP end