Module: FFI::NCurses

Extended by:
Library, NCurses
Includes:
Attributes, Colour, Constants, Darwin, EmulatedFunctions, FixupInitscr, WinStruct
Included in:
NCurses
Defined in:
lib/ffi-ncurses.rb,
lib/ffi-ncurses/mouse.rb,
lib/ffi-ncurses/darwin.rb,
lib/ffi-ncurses/keydefs.rb,
lib/ffi-ncurses/winstruct.rb

Defined Under Namespace

Modules: Attributes, Colour, Constants, Darwin, EmulatedFunctions, FixupInitscr, WinStruct Classes: MEVENT

Constant Summary collapse

VERSION =
"0.3.3"
LIB_HANDLE =
ffi_lib(['ncursesw', 'ncurses']).first
Color =
Colour
NCURSES_MOUSE_VERSION =
1
NCURSES_BUTTON_RELEASED =
001
NCURSES_BUTTON_PRESSED =
002
NCURSES_BUTTON_CLICKED =
004
NCURSES_DOUBLE_CLICKED =
010
NCURSES_TRIPLE_CLICKED =
020
NCURSES_RESERVED_EVENT =
040
BUTTON1_RELEASED =

event masks

NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_RELEASED)
BUTTON1_PRESSED =
NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_PRESSED)
BUTTON1_CLICKED =
NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_CLICKED)
BUTTON1_DOUBLE_CLICKED =
NCURSES_MOUSE_MASK(1, NCURSES_DOUBLE_CLICKED)
BUTTON1_TRIPLE_CLICKED =
NCURSES_MOUSE_MASK(1, NCURSES_TRIPLE_CLICKED)
BUTTON2_RELEASED =
NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_RELEASED)
BUTTON2_PRESSED =
NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_PRESSED)
BUTTON2_CLICKED =
NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_CLICKED)
BUTTON2_DOUBLE_CLICKED =
NCURSES_MOUSE_MASK(2, NCURSES_DOUBLE_CLICKED)
BUTTON2_TRIPLE_CLICKED =
NCURSES_MOUSE_MASK(2, NCURSES_TRIPLE_CLICKED)
BUTTON3_RELEASED =
NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_RELEASED)
BUTTON3_PRESSED =
NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_PRESSED)
BUTTON3_CLICKED =
NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_CLICKED)
BUTTON3_DOUBLE_CLICKED =
NCURSES_MOUSE_MASK(3, NCURSES_DOUBLE_CLICKED)
BUTTON3_TRIPLE_CLICKED =
NCURSES_MOUSE_MASK(3, NCURSES_TRIPLE_CLICKED)
BUTTON4_RELEASED =
NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_RELEASED)
BUTTON4_PRESSED =
NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_PRESSED)
BUTTON4_CLICKED =
NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_CLICKED)
BUTTON4_DOUBLE_CLICKED =
NCURSES_MOUSE_MASK(4, NCURSES_DOUBLE_CLICKED)
BUTTON4_TRIPLE_CLICKED =
NCURSES_MOUSE_MASK(4, NCURSES_TRIPLE_CLICKED)
BUTTON5_RELEASED =
NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_RELEASED)
BUTTON5_PRESSED =
NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_PRESSED)
BUTTON5_CLICKED =
NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_CLICKED)
BUTTON5_DOUBLE_CLICKED =
NCURSES_MOUSE_MASK(5, NCURSES_DOUBLE_CLICKED)
BUTTON5_TRIPLE_CLICKED =
NCURSES_MOUSE_MASK(5, NCURSES_TRIPLE_CLICKED)
BUTTON_CTRL =
NCURSES_MOUSE_MASK(5, 0001)
BUTTON_SHIFT =
NCURSES_MOUSE_MASK(5, 0002)
BUTTON_ALT =
NCURSES_MOUSE_MASK(5, 0004)
REPORT_MOUSE_POSITION =
NCURSES_MOUSE_MASK(5, 0010)
BUTTON1_RESERVED_EVENT =
NCURSES_MOUSE_MASK(1, NCURSES_RESERVED_EVENT)
BUTTON2_RESERVED_EVENT =
NCURSES_MOUSE_MASK(2, NCURSES_RESERVED_EVENT)
BUTTON3_RESERVED_EVENT =
NCURSES_MOUSE_MASK(3, NCURSES_RESERVED_EVENT)
BUTTON4_RESERVED_EVENT =
NCURSES_MOUSE_MASK(4, NCURSES_RESERVED_EVENT)
ALL_MOUSE_EVENTS =
(REPORT_MOUSE_POSITION - 1)
KEY_CODE_YES =

A wchar_t contains a key code

0400
KEY_MIN =

Minimum curses key

0401
KEY_BREAK =

Break key (unreliable)

0401
KEY_SRESET =

Soft (partial) reset (unreliable)

0530
KEY_RESET =

Reset or hard reset (unreliable)

0531
KEY_DOWN =

down-arrow key

0402
KEY_UP =

up-arrow key

0403
KEY_LEFT =

left-arrow key

0404
KEY_RIGHT =

right-arrow key

0405
KEY_HOME =

home key

0406
KEY_BACKSPACE =

backspace key

0407
KEY_F0 =

Function keys. Space for 64

0410
KEY_DL =

delete-line key

0510
KEY_IL =

insert-line key

0511
KEY_DC =

delete-character key

0512
KEY_IC =

insert-character key

0513
KEY_EIC =

sent by rmir or smir in insert mode

0514
KEY_CLEAR =

clear-screen or erase key

0515
KEY_EOS =

clear-to-end-of-screen key

0516
KEY_EOL =

clear-to-end-of-line key

0517
KEY_SF =

scroll-forward key

0520
KEY_SR =

scroll-backward key

0521
KEY_NPAGE =

next-page key

0522
KEY_PPAGE =

previous-page key

0523
KEY_STAB =

set-tab key

0524
KEY_CTAB =

clear-tab key

0525
KEY_CATAB =

clear-all-tabs key

0526
KEY_ENTER =

enter/send key

0527
KEY_PRINT =

print key

0532
KEY_LL =

lower-left key (home down)

0533
KEY_A1 =

upper left of keypad

0534
KEY_A3 =

upper right of keypad

0535
KEY_B2 =

center of keypad

0536
KEY_C1 =

lower left of keypad

0537
KEY_C3 =

lower right of keypad

0540
KEY_BTAB =

back-tab key

0541
KEY_BEG =

begin key

0542
KEY_CANCEL =

cancel key

0543
KEY_CLOSE =

close key

0544
KEY_COMMAND =

command key

0545
KEY_COPY =

copy key

0546
KEY_CREATE =

create key

0547
KEY_END =

end key

0550
KEY_EXIT =

exit key

0551
KEY_FIND =

find key

0552
KEY_HELP =

help key

0553
KEY_MARK =

mark key

0554
KEY_MESSAGE =

message key

0555
KEY_MOVE =

move key

0556
KEY_NEXT =

next key

0557
KEY_OPEN =

open key

0560
KEY_OPTIONS =

options key

0561
KEY_PREVIOUS =

previous key

0562
KEY_REDO =

redo key

0563
KEY_REFERENCE =

reference key

0564
KEY_REFRESH =

refresh key

0565
KEY_REPLACE =

replace key

0566
KEY_RESTART =

restart key

0567
KEY_RESUME =

resume key

0570
KEY_SAVE =

save key

0571
KEY_SBEG =

shifted begin key

0572
KEY_SCANCEL =

shifted cancel key

0573
KEY_SCOMMAND =

shifted command key

0574
KEY_SCOPY =

shifted copy key

0575
KEY_SCREATE =

shifted create key

0576
KEY_SDC =

shifted delete-character key

0577
KEY_SDL =

shifted delete-line key

0600
KEY_SELECT =

select key

0601
KEY_SEND =

shifted end key

0602
KEY_SEOL =

shifted clear-to-end-of-line key

0603
KEY_SEXIT =

shifted exit key

0604
KEY_SFIND =

shifted find key

0605
KEY_SHELP =

shifted help key

0606
KEY_SHOME =

shifted home key

0607
KEY_SIC =

shifted insert-character key

0610
KEY_SLEFT =

shifted left-arrow key

0611
KEY_SMESSAGE =

shifted message key

0612
KEY_SMOVE =

shifted move key

0613
KEY_SNEXT =

shifted next key

0614
KEY_SOPTIONS =

shifted options key

0615
KEY_SPREVIOUS =

shifted previous key

0616
KEY_SPRINT =

shifted print key

0617
KEY_SREDO =

shifted redo key

0620
KEY_SREPLACE =

shifted replace key

0621
KEY_SRIGHT =

shifted right-arrow key

0622
KEY_SRSUME =

shifted resume key

0623
KEY_SSAVE =

shifted save key

0624
KEY_SSUSPEND =

shifted suspend key

0625
KEY_SUNDO =

shifted undo key

0626
KEY_SUSPEND =

suspend key

0627
KEY_UNDO =

undo key

0630
KEY_MOUSE =

Mouse event has occurred

0631
KEY_RESIZE =

Terminal resize event

0632
KEY_EVENT =

We were interrupted by an event

0633
KEY_MAX =

Maximum key value is 0633 [SOH: sic in ncurses.h]

0777

Constants included from WinStruct

WinStruct::BOOLEAN, WinStruct::CCHARW_MAX, WinStruct::CHTYPE, WinStruct::NCURSES_ATTR_T, WinStruct::NCURSES_CH_T, WinStruct::NCURSES_COLOR_T, WinStruct::NCURSES_SIZE_T, WinStruct::WCHAR_T

Constants included from Constants

Constants::ERR, Constants::FALSE, Constants::OK, Constants::TRUE

Constants included from Attributes

Attributes::NCURSES_ATTR_SHIFT, Attributes::WA_ALTCHARSET, Attributes::WA_ATTRIBUTES, Attributes::WA_BLINK, Attributes::WA_BOLD, Attributes::WA_CHARTEXT, Attributes::WA_COLOR, Attributes::WA_DIM, Attributes::WA_HORIZONTAL, Attributes::WA_INVIS, Attributes::WA_LEFT, Attributes::WA_LOW, Attributes::WA_NORMAL, Attributes::WA_PROTECT, Attributes::WA_REVERSE, Attributes::WA_RIGHT, Attributes::WA_STANDOUT, Attributes::WA_TOP, Attributes::WA_UNDERLINE, Attributes::WA_VERTICAL

Constants included from Colour

Colour::COLOR_BLACK, Colour::COLOR_BLUE, Colour::COLOR_CYAN, Colour::COLOR_GREEN, Colour::COLOR_MAGENTA, Colour::COLOR_RED, Colour::COLOR_WHITE, Colour::COLOR_YELLOW

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Darwin

#getattrs, #getbegx, #getbegy, #getcurx, #getcury, #getmaxx, #getmaxy, #getparx, #getpary

Methods included from WinStruct

#is_cleared, #is_idcok, #is_idlok, #is_immedok, #is_keypad, #is_leaveok, #is_nodelay, #is_notimeout, #is_scrollok, #is_syncok, #wgetparent, #wgetscrreg

Methods included from EmulatedFunctions

fixup, #getbegyx, #getmaxyx, #getparyx, #getsyx, #getyx, #setsyx

Methods included from Attributes

NCURSES_BITS

Methods included from FixupInitscr

#initscr, #stdscr

Class Method Details

.BUTTON_CLICK(e, x) ⇒ Object



93
94
95
# File 'lib/ffi-ncurses/mouse.rb', line 93

def	BUTTON_CLICK(e, x)
  ((e) & (004 << (6 * ((x) - 1))))
end

.BUTTON_DOUBLE_CLICK(e, x) ⇒ Object



96
97
98
# File 'lib/ffi-ncurses/mouse.rb', line 96

def	BUTTON_DOUBLE_CLICK(e, x)
  ((e) & (010 << (6 * ((x) - 1))))
end

.BUTTON_PRESS(e, x) ⇒ Object



90
91
92
# File 'lib/ffi-ncurses/mouse.rb', line 90

def	BUTTON_PRESS(e, x)
  ((e) & (002 << (6 * ((x) - 1))))
end

.BUTTON_RELEASE(e, x) ⇒ Object

macros to extract single event-bits from masks



87
88
89
# File 'lib/ffi-ncurses/mouse.rb', line 87

def	BUTTON_RELEASE(e, x)
  ((e) & (001 << (6 * ((x) - 1))))
end

.BUTTON_RESERVED_EVENT(e, x) ⇒ Object



102
103
104
# File 'lib/ffi-ncurses/mouse.rb', line 102

def	BUTTON_RESERVED_EVENT(e, x)
  ((e) & (040 << (6 * ((x) - 1))))
end

.BUTTON_TRIPLE_CLICK(e, x) ⇒ Object



99
100
101
# File 'lib/ffi-ncurses/mouse.rb', line 99

def	BUTTON_TRIPLE_CLICK(e, x)
  ((e) & (020 << (6 * ((x) - 1))))
end

.NCURSES_MOUSE_MASK(b, m) ⇒ Object



10
11
12
# File 'lib/ffi-ncurses/mouse.rb', line 10

def self.NCURSES_MOUSE_MASK(b,m)
  ((m) << (((b) - 1) * 5))
end

.unattached_functionsObject



437
438
439
# File 'lib/ffi-ncurses.rb', line 437

def unattached_functions
  @unattached_functions
end

Instance Method Details

#KEY_F(n) ⇒ Object

Value of function key n



18
19
20
# File 'lib/ffi-ncurses/keydefs.rb', line 18

def KEY_F(n)
  (KEY_F0+(n))
end