Module: Fatty::Curses::MouseConstants

Defined in:
lib/fatty/curses/patch.rb

Constant Summary collapse

CONSTANTS =
{
  # Button 1 (left)
  BUTTON1_RELEASED: 0x00000001,
  BUTTON1_PRESSED: 0x00000002,
  BUTTON1_CLICKED: 0x00000004,
  BUTTON1_DOUBLE_CLICKED: 0x00000008,
  BUTTON1_TRIPLE_CLICKED: 0x00000010,

  # Button 2 (middle)
  BUTTON2_RELEASED: 0x00000040,
  BUTTON2_PRESSED: 0x00000080,
  BUTTON2_CLICKED: 0x00000100,
  BUTTON2_DOUBLE_CLICKED: 0x00000200,
  BUTTON2_TRIPLE_CLICKED: 0x00000400,

  # Button 3 (right)
  BUTTON3_RELEASED: 0x00001000,
  BUTTON3_PRESSED: 0x00002000,
  BUTTON3_CLICKED: 0x00004000,
  BUTTON3_DOUBLE_CLICKED: 0x00008000,
  BUTTON3_TRIPLE_CLICKED: 0x00010000,

  # Wheel up
  BUTTON4_PRESSED: 0x00020000,
  BUTTON4_RELEASED: 0x00040000,
  BUTTON4_CLICKED: 0x00080000,
  BUTTON4_DOUBLE_CLICKED: 0x00100000,
  BUTTON4_TRIPLE_CLICKED: 0x00200000,

  # Wheel down
  BUTTON5_PRESSED: 0x00200000,
  BUTTON5_RELEASED: 0x00400000,
  BUTTON5_CLICKED: 0x00800000,
  BUTTON5_DOUBLE_CLICKED: 0x01000000,
  BUTTON5_TRIPLE_CLICKED: 0x02000000,

  # Modifier masks
  BUTTON_SHIFT: 0x04000000,
  BUTTON_CTRL: 0x08000000,
  BUTTON_ALT: 0x10000000,
}.freeze

Class Method Summary collapse

Class Method Details

.ensure!Object



107
108
109
110
111
112
113
# File 'lib/fatty/curses/patch.rb', line 107

def self.ensure!
  CONSTANTS.each do |name, value|
    next if ::Curses.const_defined?(name)

    ::Curses.const_set(name, value)
  end
end