Module: BeltsEngine::Tools::Input::Mouse

Included in:
BeltsEngine::Tools::Input
Defined in:
lib/belts_engine/tools/input/mouse.rb

Constant Summary collapse

BUTTONS =
[:mouse_1, :mouse_2, :mouse_3].freeze

Instance Method Summary collapse

Instance Method Details

#button?(button) ⇒ Boolean

Returns:

  • (Boolean)


7
# File 'lib/belts_engine/tools/input/mouse.rb', line 7

def button?(button) = @mouse_state[button]

#button_down?(button) ⇒ Boolean

Returns:

  • (Boolean)


8
# File 'lib/belts_engine/tools/input/mouse.rb', line 8

def button_down?(button) = @mouse_state[button] && !@mouse_previous_state[button]

#button_up?(button) ⇒ Boolean

Returns:

  • (Boolean)


9
# File 'lib/belts_engine/tools/input/mouse.rb', line 9

def button_up?(button) = !@mouse_state[button] && @mouse_previous_state[button]

#mouse(axis) ⇒ Object



10
# File 'lib/belts_engine/tools/input/mouse.rb', line 10

def mouse(axis) = @mouse_state[axis]

#update_buttons(changes) ⇒ Object



12
13
14
15
# File 'lib/belts_engine/tools/input/mouse.rb', line 12

def update_buttons(changes)
  @mouse_previous_state = @mouse_state.dup
  @mouse_state.merge!(changes)
end

#update_position(x, y) ⇒ Object



17
18
19
20
# File 'lib/belts_engine/tools/input/mouse.rb', line 17

def update_position(x, y)
  @mouse_state[:x] = x
  @mouse_state[:y] = y
end