ffi-ncurses 0.3.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. data/COPYING +22 -0
  2. data/Gemfile +5 -0
  3. data/Gemfile.lock +13 -0
  4. data/History.txt +32 -3
  5. data/README.rdoc +118 -58
  6. data/Rakefile +30 -0
  7. data/examples/acs_chars.rb +53 -0
  8. data/examples/acs_chars.rbc +1502 -0
  9. data/examples/{example-attributes.rb → attributes.rb} +0 -0
  10. data/examples/color.rb +63 -0
  11. data/examples/cursor.rb +27 -0
  12. data/examples/example.rb +17 -17
  13. data/examples/getkey.rb +212 -0
  14. data/examples/{example-getsetsyx.rb → getsetsyx.rb} +2 -2
  15. data/examples/globals.rb +38 -0
  16. data/examples/hello.rb +34 -0
  17. data/examples/hello.rbc +638 -0
  18. data/examples/hellowide.rb +59 -0
  19. data/examples/keys.rb +27 -0
  20. data/examples/{example-mouse.rb → mouse.rb} +2 -2
  21. data/examples/multiterm.rb +120 -0
  22. data/examples/ncurses/LICENSES_for_examples +26 -0
  23. data/examples/{ncurses-example.rb → ncurses/example.rb} +13 -80
  24. data/examples/ncurses/hello_ncurses.rb +57 -0
  25. data/examples/ncurses/rain.rb +220 -0
  26. data/examples/ncurses/read_line.rb +67 -0
  27. data/examples/ncurses/subwin.rb +71 -0
  28. data/examples/ncurses/tclock.rb +227 -0
  29. data/examples/newterm.rb +65 -0
  30. data/examples/panel_simple.rb +82 -0
  31. data/examples/{example-printw-variadic.rb → printw-variadic.rb} +1 -1
  32. data/examples/ripoffline.rb +86 -0
  33. data/examples/run-all.sh +14 -0
  34. data/examples/{example-softkeys.rb → softkeys.rb} +0 -0
  35. data/examples/{example-stdscr.rb → stdscr.rb} +2 -1
  36. data/examples/temp_leave.rb +99 -0
  37. data/examples/viewer.rb +350 -0
  38. data/examples/wacs_chars.rb +64 -0
  39. data/examples/windows.rb +73 -0
  40. data/ffi-ncurses.gemspec +39 -52
  41. data/lib/ffi-ncurses.rb +214 -474
  42. data/lib/ffi-ncurses/acs.rb +150 -0
  43. data/lib/ffi-ncurses/bool_wrappers.rb +66 -0
  44. data/lib/ffi-ncurses/functions.rb +450 -0
  45. data/lib/ffi-ncurses/keydefs.rb +136 -99
  46. data/lib/ffi-ncurses/mouse.rb +106 -106
  47. data/lib/ffi-ncurses/ncurses.rb +176 -0
  48. data/lib/ffi-ncurses/{ord-shim.rb → ord_shim.rb} +0 -0
  49. data/lib/ffi-ncurses/panel.rb +21 -0
  50. data/lib/ffi-ncurses/typedefs.rb +35 -0
  51. data/lib/ffi-ncurses/version.rb +7 -0
  52. data/lib/ffi-ncurses/widechars.rb +137 -0
  53. data/lib/ffi-ncurses/winstruct.rb +55 -33
  54. data/spec/attached_functions_spec.rb +42 -0
  55. metadata +95 -85
  56. data/examples/example-colour.rb +0 -63
  57. data/examples/example-cursor.rb +0 -22
  58. data/examples/example-hello.rb +0 -24
  59. data/examples/example-jruby.rb +0 -14
  60. data/examples/example-keys.rb +0 -25
  61. data/examples/example-windows.rb +0 -24
@@ -0,0 +1,150 @@
1
+ # -*- coding: utf-8; -*-
2
+ require 'ffi-ncurses/ord_shim'
3
+
4
+ module FFI
5
+ module NCurses
6
+ module ACS
7
+ def maybe_const_set(name, value)
8
+ if !const_defined?(name)
9
+ const_set name, value
10
+ end
11
+ end
12
+
13
+ def define_acs(name, char)
14
+ maybe_const_set name, acs_map[char[0].ord]
15
+ end
16
+
17
+ # We have to define these dynamically as =acs_map= is not initialized until =init_scr= has been called
18
+ def define_acs_constants
19
+ # Name Default Description
20
+ # -------------------------------------------
21
+ define_acs :ACS_ULCORNER, 'l' # upper left corner
22
+ define_acs :ACS_LLCORNER, 'm' # lower left corner
23
+ define_acs :ACS_URCORNER ,'k' # upper right corner
24
+ define_acs :ACS_LRCORNER ,'j' # lower right corner
25
+ define_acs :ACS_LTEE ,'t' # tee pointing right
26
+ define_acs :ACS_RTEE ,'u' # tee pointing left
27
+ define_acs :ACS_BTEE ,'v' # tee pointing up
28
+ define_acs :ACS_TTEE ,'w' # tee pointing down
29
+ define_acs :ACS_HLINE ,'q' # horizontal line
30
+ define_acs :ACS_VLINE ,'x' # vertical line
31
+ define_acs :ACS_PLUS ,'n' # large plus or crossover
32
+ define_acs :ACS_S1 ,'o' # scan line 1
33
+ define_acs :ACS_S9 ,'s' # scan line 9
34
+ define_acs :ACS_DIAMOND ,'`' # diamond
35
+ define_acs :ACS_CKBOARD ,'a' # checker board (stipple)
36
+ define_acs :ACS_DEGREE ,'f' # degree symbol
37
+ define_acs :ACS_PLMINUS ,'g' # plus/minus
38
+ define_acs :ACS_BULLET ,'~' # bullet
39
+ # Teletype 5410v1 symbols begin here
40
+ define_acs :ACS_LARROW ,',' # arrow pointing left
41
+ define_acs :ACS_RARROW ,'+' # arrow pointing right
42
+ define_acs :ACS_DARROW ,'.' # arrow pointing down
43
+ define_acs :ACS_UARROW ,'-' # arrow pointing up
44
+ define_acs :ACS_BOARD ,'h' # board of squares
45
+ define_acs :ACS_LANTERN ,'i' # lantern symbol
46
+ define_acs :ACS_BLOCK ,'0' # solid square block
47
+
48
+ # These aren't documented, but a lot of System Vs have them anyway
49
+ # (you can spot pprryyzz{{||}} in a lot of AT&T terminfo strings).
50
+ # The ACS_names may not match AT&T's, our source didn't know them.
51
+
52
+ define_acs :ACS_S3 ,'p' # scan line 3
53
+ define_acs :ACS_S7 ,'r' # scan line 7 - SOH: seems to be same as ACS_HLINE
54
+ define_acs :ACS_LEQUAL ,'y' # less/equal
55
+ define_acs :ACS_GEQUAL ,'z' # greater/equal
56
+ define_acs :ACS_PI ,'{' # Pi
57
+ define_acs :ACS_NEQUAL ,'|' # not equal
58
+ define_acs :ACS_STERLING ,'}' # UK pound sign
59
+
60
+ # Line drawing ACS names are of the form ACS_trbl, where t is the top, r
61
+ # is the right, b is the bottom, and l is the left. t, r, b, and l might
62
+ # be B (blank), S (single), D (double), or T (thick). The subset defined
63
+ # here only uses B and S.
64
+ #
65
+ # See the WACS_x_trbl constants below for the full set.
66
+
67
+ maybe_const_set :ACS_BSSB, ACS_ULCORNER
68
+ maybe_const_set :ACS_SSBB, ACS_LLCORNER
69
+ maybe_const_set :ACS_BBSS, ACS_URCORNER
70
+ maybe_const_set :ACS_SBBS, ACS_LRCORNER
71
+ maybe_const_set :ACS_SBSS, ACS_RTEE
72
+ maybe_const_set :ACS_SSSB, ACS_LTEE
73
+ maybe_const_set :ACS_SSBS, ACS_BTEE
74
+ maybe_const_set :ACS_BSSS, ACS_TTEE
75
+ maybe_const_set :ACS_BSBS, ACS_HLINE
76
+ maybe_const_set :ACS_SBSB, ACS_VLINE
77
+ maybe_const_set :ACS_SSSS, ACS_PLUS
78
+ end
79
+ end
80
+ include ACS
81
+
82
+ # Wide character versions. These are Unicode definitions so
83
+ # don't need to be defined dynamically.
84
+ #
85
+ # From http://invisible-island.net/ncurses/man/curs_add_wch.3x.html
86
+ #
87
+ # Name Unicode Default Description
88
+ # ----------------------------------------------------------------
89
+ WACS_BLOCK = 0x25ae # # solid square block
90
+ WACS_BOARD = 0x2592 # # board of squares
91
+ WACS_BTEE = 0x2534 # + bottom tee
92
+ WACS_BULLET = 0x00b7 # o bullet
93
+ WACS_CKBOARD = 0x2592 # : checker board (stipple)
94
+ WACS_DARROW = 0x2193 # v arrow pointing down
95
+ WACS_DEGREE = 0x00b0 # ' degree symbol
96
+ WACS_DIAMOND = 0x25c6 # + diamond
97
+ WACS_GEQUAL = 0x2265 # > greater-than-or-equal-to
98
+ WACS_HLINE = 0x2500 # - horizontal line
99
+ WACS_LANTERN = 0x2603 # # lantern symbol
100
+ WACS_LARROW = 0x2190 # < arrow pointing left
101
+ WACS_LEQUAL = 0x2264 # < less-than-or-equal-to
102
+ WACS_LLCORNER = 0x2514 # + lower left-hand corner
103
+ WACS_LRCORNER = 0x2518 # + lower right-hand corner
104
+ WACS_LTEE = 0x2524 # + left tee
105
+ WACS_NEQUAL = 0x2260 # ! not-equal
106
+ WACS_PI = 0x03c0 # * greek pi
107
+ WACS_PLMINUS = 0x00b1 # # plus/minus
108
+ WACS_PLUS = 0x253c # + plus
109
+ WACS_RARROW = 0x2192 # > arrow pointing right
110
+ WACS_RTEE = 0x251c # + right tee
111
+ WACS_S1 = 0x23ba # - scan line 1
112
+ WACS_S3 = 0x23bb # - scan line 3
113
+ WACS_S7 = 0x23bc # - scan line 7
114
+ WACS_S9 = 0x23bd # _ scan line 9
115
+ WACS_STERLING = 0x00a3 # f pound-sterling symbol
116
+ WACS_TTEE = 0x252c # + top tee
117
+ WACS_UARROW = 0x2191 # ^ arrow pointing up
118
+ WACS_ULCORNER = 0x250c # + upper left-hand corner
119
+ WACS_URCORNER = 0x2510 # + upper right-hand corner
120
+ WACS_VLINE = 0x2502 # | vertical line
121
+
122
+ # The wide-character configuration of ncurses also defines symbols
123
+ # for thick- and double-lines:
124
+
125
+ # Name Unicode Default Description
126
+ # ---------------------------------------------------------------------
127
+ WACS_T_ULCORNER = 0x250f # + thick upper left corner
128
+ WACS_T_LLCORNER = 0x2517 # + thick lower left corner
129
+ WACS_T_URCORNER = 0x2513 # + thick upper right corner
130
+ WACS_T_LRCORNER = 0x251b # + thick lower right corner
131
+ WACS_T_LTEE = 0x252b # + thick tee pointing right
132
+ WACS_T_RTEE = 0x2523 # + thick tee pointing left
133
+ WACS_T_BTEE = 0x253b # + thick tee pointing up
134
+ WACS_T_TTEE = 0x2533 # + thick tee pointing down
135
+ WACS_T_HLINE = 0x2501 # - thick horizontal line
136
+ WACS_T_VLINE = 0x2503 # | thick vertical line
137
+ WACS_T_PLUS = 0x254b # + thick large plus or crossover
138
+ WACS_D_ULCORNER = 0x2554 # + double upper left corner
139
+ WACS_D_LLCORNER = 0x255a # + double lower left corner
140
+ WACS_D_URCORNER = 0x2557 # + double upper right corner
141
+ WACS_D_LRCORNER = 0x255d # + double lower right corner
142
+ WACS_D_RTEE = 0x2563 # + double tee pointing left
143
+ WACS_D_LTEE = 0x2560 # + double tee pointing right
144
+ WACS_D_BTEE = 0x2569 # + double tee pointing up
145
+ WACS_D_TTEE = 0x2566 # + double tee pointing down
146
+ WACS_D_HLINE = 0x2550 # - double horizontal line
147
+ WACS_D_VLINE = 0x2551 # | double vertical line
148
+ WACS_D_PLUS = 0x256c # + double large plus or crossover
149
+ end
150
+ end
@@ -0,0 +1,66 @@
1
+ module FFI
2
+ module NCurses
3
+ module BoolWrappers
4
+ def to_bool(bf)
5
+ if bf == 0
6
+ false
7
+ else
8
+ bf ? true : false
9
+ end
10
+ end
11
+ def clearok(window_p1,bool2)
12
+ _wrapped_clearok(window_p1,to_bool(bool2))
13
+ end
14
+ def idcok(window_p1,bool2)
15
+ _wrapped_idcok(window_p1,to_bool(bool2))
16
+ end
17
+ def idlok(window_p1,bool2)
18
+ _wrapped_idlok(window_p1,to_bool(bool2))
19
+ end
20
+ def immedok(window_p1,bool2)
21
+ _wrapped_immedok(window_p1,to_bool(bool2))
22
+ end
23
+ def intrflush(window_p1,bool2)
24
+ _wrapped_intrflush(window_p1,to_bool(bool2))
25
+ end
26
+ def keyok(int1,bool2)
27
+ _wrapped_keyok(int1,to_bool(bool2))
28
+ end
29
+ def keypad(window_p1,bool2)
30
+ _wrapped_keypad(window_p1,to_bool(bool2))
31
+ end
32
+ def leaveok(window_p1,bool2)
33
+ _wrapped_leaveok(window_p1,to_bool(bool2))
34
+ end
35
+ def meta(window_p1,bool2)
36
+ _wrapped_meta(window_p1,to_bool(bool2))
37
+ end
38
+ def mouse_trafo(int_p1,int_p2,bool3)
39
+ _wrapped_mouse_trafo(int_p1,int_p2,to_bool(bool3))
40
+ end
41
+ def nodelay(window_p1,bool2)
42
+ _wrapped_nodelay(window_p1,to_bool(bool2))
43
+ end
44
+ def notimeout(window_p1,bool2)
45
+ _wrapped_notimeout(window_p1,to_bool(bool2))
46
+ end
47
+ def scrollok(window_p1,bool2)
48
+ _wrapped_scrollok(window_p1,to_bool(bool2))
49
+ end
50
+ def syncok(window_p1,bool2)
51
+ _wrapped_syncok(window_p1,to_bool(bool2))
52
+ end
53
+ def use_env(bool1)
54
+ _wrapped_use_env(to_bool(bool1))
55
+ end
56
+ def use_extended_names(bool1)
57
+ _wrapped_use_extended_names(to_bool(bool1))
58
+ end
59
+ def wmouse_trafo(window_p1,int_p2,int_p3,bool4)
60
+ _wrapped_wmouse_trafo(window_p1,int_p2,int_p3,to_bool(bool4))
61
+ end
62
+ end
63
+ include BoolWrappers
64
+ extend BoolWrappers
65
+ end
66
+ end
@@ -0,0 +1,450 @@
1
+ module FFI
2
+ module NCurses
3
+ # this list of function signatures was generated by the file gentypes.rb
4
+ FUNCTIONS =
5
+ [
6
+ [:COLOR_PAIR, [:int], :int],
7
+ [:PAIR_NUMBER, [:int], :int],
8
+ [:_nc_tracebits, [], :string],
9
+ [:_traceattr, [:attr_t], :string],
10
+ [:_traceattr2, [:int, :chtype], :string],
11
+ [:_tracecchar_t, [:cchar_t_p], :string],
12
+ [:_tracecchar_t2, [:int, :cchar_t_p], :string],
13
+ [:_tracechar, [:int], :string],
14
+ [:_tracechtype, [:chtype], :string],
15
+ [:_tracechtype2, [:int, :chtype], :string],
16
+ [:_tracedump, [:string, :window_p], :void],
17
+ [:_tracef, [:string, :varargs], :void],
18
+ [:_tracemouse, [:mevent_p], :string],
19
+ [:_wrapped_clearok, :clearok, [:window_p, :bool], :int],
20
+ [:_wrapped_idcok, :idcok, [:window_p, :bool], :void],
21
+ [:_wrapped_idlok, :idlok, [:window_p, :bool], :int],
22
+ [:_wrapped_immedok, :immedok, [:window_p, :bool], :void],
23
+ [:_wrapped_initscr, :initscr, [], :window_p],
24
+ [:_wrapped_intrflush, :intrflush, [:window_p, :bool], :int],
25
+ [:_wrapped_keyok, :keyok, [:int, :bool], :int],
26
+ [:_wrapped_keypad, :keypad, [:window_p, :bool], :int],
27
+ [:_wrapped_leaveok, :leaveok, [:window_p, :bool], :int],
28
+ [:_wrapped_meta, :meta, [:window_p, :bool], :int],
29
+ [:_wrapped_mouse_trafo, :mouse_trafo, [:int_p, :int_p, :bool], :bool],
30
+ [:_wrapped_newterm, :newterm, [:string, :file_p, :file_p], :screen_p],
31
+ [:_wrapped_nodelay, :nodelay, [:window_p, :bool], :int],
32
+ [:_wrapped_notimeout, :notimeout, [:window_p, :bool], :int],
33
+ [:_wrapped_scrollok, :scrollok, [:window_p, :bool], :int],
34
+ [:_wrapped_syncok, :syncok, [:window_p, :bool], :int],
35
+ [:_wrapped_use_env, :use_env, [:bool], :void],
36
+ [:_wrapped_use_extended_names, :use_extended_names, [:bool], :int],
37
+ [:_wrapped_wmouse_trafo, :wmouse_trafo, [:window_p, :int_p, :int_p, :bool], :bool],
38
+ [:add_wch, [:cchar_t_p], :int],
39
+ [:add_wchnstr, [:cchar_t_p, :int], :int],
40
+ [:add_wchstr, [:cchar_t_p], :int],
41
+ [:addch, [:chtype], :int],
42
+ [:addchnstr, [:chtype_p, :int], :int],
43
+ [:addchstr, [:chtype_p], :int],
44
+ [:addnstr, [:string, :int], :int],
45
+ [:addnwstr, [:wchar_t_p, :int], :int],
46
+ [:addstr, [:string], :int],
47
+ [:addwstr, [:wchar_t_p], :int],
48
+ [:assume_default_colors, [:int, :int], :int],
49
+ [:attr_get, [:attr_t_p, :short_p, :pointer], :int],
50
+ [:attr_off, [:attr_t, :pointer], :int],
51
+ [:attr_on, [:attr_t, :pointer], :int],
52
+ [:attr_set, [:attr_t, :short, :pointer], :int],
53
+ [:attroff, [:attr_t], :int],
54
+ [:attron, [:attr_t], :int],
55
+ [:attrset, [:attr_t], :int],
56
+ [:baudrate, [], :int],
57
+ [:beep, [], :int],
58
+ [:bkgd, [:chtype], :int],
59
+ [:bkgdset, [:chtype], :void],
60
+ [:bkgrnd, [:cchar_t_p], :int],
61
+ [:bkgrndset, [:cchar_t_p], :void],
62
+ [:border, [:chtype, :chtype, :chtype, :chtype, :chtype, :chtype, :chtype, :chtype], :int],
63
+ [:border_set, [:cchar_t_p, :cchar_t_p, :cchar_t_p, :cchar_t_p, :cchar_t_p, :cchar_t_p, :cchar_t_p, :cchar_t_p], :int],
64
+ [:bottom_panel, [:panel_p], :int],
65
+ [:box, [:window_p, :chtype, :chtype], :int],
66
+ [:box_set, [:window_p, :cchar_t_p, :cchar_t_p], :int],
67
+ [:can_change_color, [], :bool],
68
+ [:cbreak, [], :int],
69
+ [:chgat, [:int, :attr_t, :short, :pointer], :int],
70
+ [:clear, [], :int],
71
+ [:clrtobot, [], :int],
72
+ [:clrtoeol, [], :int],
73
+ [:color_content, [:short, :short_p, :short_p, :short_p], :int],
74
+ [:color_set, [:short, :pointer], :int],
75
+ [:copywin, [:window_p, :window_p, :int, :int, :int, :int, :int, :int, :int], :int],
76
+ [:curs_set, [:int], :int],
77
+ [:curses_version, [], :string],
78
+ [:def_prog_mode, [], :int],
79
+ [:def_shell_mode, [], :int],
80
+ [:define_key, [:string, :int], :int],
81
+ [:del_panel, [:panel_p], :int],
82
+ [:delay_output, [:int], :int],
83
+ [:delch, [], :int],
84
+ [:deleteln, [], :int],
85
+ [:delscreen, [:screen_p], :void],
86
+ [:delwin, [:window_p], :int],
87
+ [:derwin, [:window_p, :int, :int, :int, :int], :window_p],
88
+ [:doupdate, [], :int],
89
+ [:dupwin, [:window_p], :window_p],
90
+ [:echo, [], :int],
91
+ [:echo_wchar, [:cchar_t_p], :int],
92
+ [:echochar, [:chtype], :int],
93
+ [:endwin, [], :int],
94
+ [:erase, [], :int],
95
+ [:erasechar, [], :char],
96
+ [:erasewchar, [:wchar_t_p], :int],
97
+ [:filter, [], :void],
98
+ [:flash, [], :int],
99
+ [:flushinp, [], :int],
100
+ [:get_escdelay, [], :int],
101
+ [:get_wch, [:wint_t_p], :int],
102
+ [:get_wstr, [:wint_t_p], :int],
103
+ [:getattrs, [:window_p], :int],
104
+ [:getbegx, [:window_p], :int],
105
+ [:getbegy, [:window_p], :int],
106
+ [:getbkgd, [:window_p], :chtype],
107
+ [:getbkgrnd, [:cchar_t_p], :int],
108
+ [:getcchar, [:cchar_t_p, :wchar_t_p, :attr_t_p, :short_p, :pointer], :int],
109
+ [:getch, [], :int],
110
+ [:getcurx, [:window_p], :int],
111
+ [:getcury, [:window_p], :int],
112
+ [:getmaxx, [:window_p], :int],
113
+ [:getmaxy, [:window_p], :int],
114
+ [:getmouse, [:mevent_p], :int],
115
+ [:getn_wstr, [:wint_t_p, :int], :int],
116
+ [:getnstr, [:string, :int], :int],
117
+ [:getparx, [:window_p], :int],
118
+ [:getpary, [:window_p], :int],
119
+ [:getstr, [:string], :int],
120
+ [:getwin, [:file_p], :window_p],
121
+ [:halfdelay, [:int], :int],
122
+ [:has_colors, [], :bool],
123
+ [:has_ic, [], :bool],
124
+ [:has_il, [], :bool],
125
+ [:has_key, [:int], :int],
126
+ [:has_mouse, [], :bool],
127
+ [:hide_panel, [:panel_p], :int],
128
+ [:hline, [:chtype, :int], :int],
129
+ [:hline_set, [:cchar_t_p, :int], :int],
130
+ [:in_wch, [:cchar_t_p], :int],
131
+ [:in_wchnstr, [:cchar_t_p, :int], :int],
132
+ [:in_wchstr, [:cchar_t_p], :int],
133
+ [:inch, [], :chtype],
134
+ [:inchnstr, [:chtype_p, :int], :int],
135
+ [:inchstr, [:chtype_p], :int],
136
+ [:init_color, [:short, :short, :short, :short], :int],
137
+ [:init_pair, [:short, :short, :short], :int],
138
+ [:innstr, [:string, :int], :int],
139
+ [:innwstr, [:wchar_t_p, :int], :int],
140
+ [:ins_nwstr, [:wchar_t_p, :int], :int],
141
+ [:ins_wch, [:cchar_t_p], :int],
142
+ [:ins_wstr, [:wchar_t_p], :int],
143
+ [:insch, [:chtype], :int],
144
+ [:insdelln, [:int], :int],
145
+ [:insertln, [], :int],
146
+ [:insnstr, [:string, :int], :int],
147
+ [:insstr, [:string], :int],
148
+ [:instr, [:string], :int],
149
+ [:inwstr, [:wchar_t_p], :int],
150
+ [:is_cleared, [:window_p], :bool],
151
+ [:is_idcok, [:window_p], :bool],
152
+ [:is_idlok, [:window_p], :bool],
153
+ [:is_immedok, [:window_p], :bool],
154
+ [:is_keypad, [:window_p], :bool],
155
+ [:is_leaveok, [:window_p], :bool],
156
+ [:is_linetouched, [:window_p, :int], :bool],
157
+ [:is_nodelay, [:window_p], :bool],
158
+ [:is_notimeout, [:window_p], :bool],
159
+ [:is_pad, [:window_p], :bool],
160
+ [:is_scrollok, [:window_p], :bool],
161
+ [:is_subwin, [:window_p], :bool],
162
+ [:is_syncok, [:window_p], :bool],
163
+ [:is_term_resized, [:int, :int], :bool],
164
+ [:is_wintouched, [:window_p], :bool],
165
+ [:isendwin, [], :bool],
166
+ [:key_defined, [:string], :int],
167
+ [:key_name, [:wchar_t], :string],
168
+ [:keybound, [:int, :int], :string],
169
+ [:keyname, [:int], :string],
170
+ [:killchar, [], :char],
171
+ [:killwchar, [:wchar_t_p], :int],
172
+ [:longname, [], :string],
173
+ [:mcprint, [:string, :int], :int],
174
+ [:mouseinterval, [:int], :int],
175
+ [:mousemask, [:mmask_t, :mmask_t_p], :mmask_t],
176
+ [:move, [:int, :int], :int],
177
+ [:move_panel, [:panel_p, :int, :int], :int],
178
+ [:mvadd_wch, [:int, :int, :cchar_t_p], :int],
179
+ [:mvadd_wchnstr, [:int, :int, :cchar_t_p, :int], :int],
180
+ [:mvadd_wchstr, [:int, :int, :cchar_t_p], :int],
181
+ [:mvaddch, [:int, :int, :chtype], :int],
182
+ [:mvaddchnstr, [:int, :int, :chtype_p, :int], :int],
183
+ [:mvaddchstr, [:int, :int, :chtype_p], :int],
184
+ [:mvaddnstr, [:int, :int, :string, :int], :int],
185
+ [:mvaddnwstr, [:int, :int, :wchar_t_p, :int], :int],
186
+ [:mvaddstr, [:int, :int, :string], :int],
187
+ [:mvaddwstr, [:int, :int, :wchar_t_p], :int],
188
+ [:mvchgat, [:int, :int, :int, :attr_t, :short, :pointer], :int],
189
+ [:mvcur, [:int, :int, :int, :int], :int],
190
+ [:mvdelch, [:int, :int], :int],
191
+ [:mvderwin, [:window_p, :int, :int], :int],
192
+ [:mvget_wch, [:int, :int, :wint_t_p], :int],
193
+ [:mvget_wstr, [:int, :int, :wint_t_p], :int],
194
+ [:mvgetch, [:int, :int], :int],
195
+ [:mvgetn_wstr, [:int, :int, :wint_t_p, :int], :int],
196
+ [:mvgetnstr, [:int, :int, :string, :int], :int],
197
+ [:mvgetstr, [:int, :int, :string], :int],
198
+ [:mvhline, [:int, :int, :chtype, :int], :int],
199
+ [:mvhline_set, [:int, :int, :cchar_t_p, :int], :int],
200
+ [:mvin_wch, [:int, :int, :cchar_t_p], :int],
201
+ [:mvin_wchnstr, [:int, :int, :cchar_t_p, :int], :int],
202
+ [:mvin_wchstr, [:int, :int, :cchar_t_p], :int],
203
+ [:mvinch, [:int, :int], :chtype],
204
+ [:mvinchnstr, [:int, :int, :chtype_p, :int], :int],
205
+ [:mvinchstr, [:int, :int, :chtype_p], :int],
206
+ [:mvinnstr, [:int, :int, :string, :int], :int],
207
+ [:mvinnwstr, [:int, :int, :wchar_t_p, :int], :int],
208
+ [:mvins_nwstr, [:int, :int, :wchar_t_p, :int], :int],
209
+ [:mvins_wch, [:int, :int, :cchar_t_p], :int],
210
+ [:mvins_wstr, [:int, :int, :wchar_t_p], :int],
211
+ [:mvinsch, [:int, :int, :chtype], :int],
212
+ [:mvinsnstr, [:int, :int, :string, :int], :int],
213
+ [:mvinsstr, [:int, :int, :string], :int],
214
+ [:mvinstr, [:int, :int, :string], :int],
215
+ [:mvinwstr, [:int, :int, :wchar_t_p], :int],
216
+ [:mvprintw, [:int, :int, :string, :varargs], :int],
217
+ [:mvscanw, [:int, :int, :string, :varargs], :int],
218
+ [:mvvline, [:int, :int, :chtype, :int], :int],
219
+ [:mvvline_set, [:int, :int, :cchar_t_p, :int], :int],
220
+ [:mvwadd_wch, [:window_p, :int, :int, :cchar_t_p], :int],
221
+ [:mvwadd_wchnstr, [:window_p, :int, :int, :cchar_t_p, :int], :int],
222
+ [:mvwadd_wchstr, [:window_p, :int, :int, :cchar_t_p], :int],
223
+ [:mvwaddch, [:window_p, :int, :int, :chtype], :int],
224
+ [:mvwaddchnstr, [:window_p, :int, :int, :chtype_p, :int], :int],
225
+ [:mvwaddchstr, [:window_p, :int, :int, :chtype_p], :int],
226
+ [:mvwaddnstr, [:window_p, :int, :int, :string, :int], :int],
227
+ [:mvwaddnwstr, [:window_p, :int, :int, :wchar_t_p, :int], :int],
228
+ [:mvwaddstr, [:window_p, :int, :int, :string], :int],
229
+ [:mvwaddwstr, [:window_p, :int, :int, :wchar_t_p], :int],
230
+ [:mvwchgat, [:window_p, :int, :int, :int, :attr_t, :short, :pointer], :int],
231
+ [:mvwdelch, [:window_p, :int, :int], :int],
232
+ [:mvwget_wch, [:window_p, :int, :int, :wint_t_p], :int],
233
+ [:mvwget_wstr, [:window_p, :int, :int, :wint_t_p], :int],
234
+ [:mvwgetch, [:window_p, :int, :int], :int],
235
+ [:mvwgetn_wstr, [:window_p, :int, :int, :wint_t_p, :int], :int],
236
+ [:mvwgetnstr, [:window_p, :int, :int, :string, :int], :int],
237
+ [:mvwgetstr, [:window_p, :int, :int, :string], :int],
238
+ [:mvwhline, [:window_p, :int, :int, :chtype, :int], :int],
239
+ [:mvwhline_set, [:window_p, :int, :int, :cchar_t_p, :int], :int],
240
+ [:mvwin, [:window_p, :int, :int], :int],
241
+ [:mvwin_wch, [:window_p, :int, :int, :cchar_t_p], :int],
242
+ [:mvwin_wchnstr, [:window_p, :int, :int, :cchar_t_p, :int], :int],
243
+ [:mvwin_wchstr, [:window_p, :int, :int, :cchar_t_p], :int],
244
+ [:mvwinch, [:window_p, :int, :int], :chtype],
245
+ [:mvwinchnstr, [:window_p, :int, :int, :chtype_p, :int], :int],
246
+ [:mvwinchstr, [:window_p, :int, :int, :chtype_p], :int],
247
+ [:mvwinnstr, [:window_p, :int, :int, :string, :int], :int],
248
+ [:mvwinnwstr, [:window_p, :int, :int, :wchar_t_p, :int], :int],
249
+ [:mvwins_nwstr, [:window_p, :int, :int, :wchar_t_p, :int], :int],
250
+ [:mvwins_wch, [:window_p, :int, :int, :cchar_t_p], :int],
251
+ [:mvwins_wstr, [:window_p, :int, :int, :wchar_t_p], :int],
252
+ [:mvwinsch, [:window_p, :int, :int, :chtype], :int],
253
+ [:mvwinsnstr, [:window_p, :int, :int, :string, :int], :int],
254
+ [:mvwinsstr, [:window_p, :int, :int, :string], :int],
255
+ [:mvwinstr, [:window_p, :int, :int, :string], :int],
256
+ [:mvwinwstr, [:window_p, :int, :int, :wchar_t_p], :int],
257
+ [:mvwprintw, [:window_p, :int, :int, :string, :varargs], :int],
258
+ [:mvwscanw, [:window_p, :int, :int, :string, :varargs], :int],
259
+ [:mvwvline, [:window_p, :int, :int, :chtype, :int], :int],
260
+ [:mvwvline_set, [:window_p, :int, :int, :cchar_t_p, :int], :int],
261
+ [:napms, [:int], :int],
262
+ [:new_panel, [:window_p], :panel_p],
263
+ [:newpad, [:int, :int], :window_p],
264
+ [:newwin, [:int, :int, :int, :int], :window_p],
265
+ [:nl, [], :int],
266
+ [:nocbreak, [], :int],
267
+ [:noecho, [], :int],
268
+ [:nofilter, [], :void],
269
+ [:nonl, [], :int],
270
+ [:noqiflush, [], :void],
271
+ [:noraw, [], :int],
272
+ [:overlay, [:window_p, :window_p], :int],
273
+ [:overwrite, [:window_p, :window_p], :int],
274
+ [:pair_content, [:short, :short_p, :short_p], :int],
275
+ [:panel_above, [:panel_p], :panel_p],
276
+ [:panel_below, [:panel_p], :panel_p],
277
+ [:panel_hidden, [:panel_p], :int],
278
+ [:panel_userptr, [:panel_p], :pointer],
279
+ [:panel_window, [:panel_p], :window_p],
280
+ [:pecho_wchar, [:window_p, :cchar_t_p], :int],
281
+ [:pechochar, [:window_p, :chtype], :int],
282
+ [:pnoutrefresh, [:window_p, :int, :int, :int, :int, :int, :int], :int],
283
+ [:prefresh, [:window_p, :int, :int, :int, :int, :int, :int], :int],
284
+ [:printw, [:string, :varargs], :int],
285
+ [:putp, [:string], :int],
286
+ [:putwin, [:window_p, :file_p], :int],
287
+ [:qiflush, [], :void],
288
+ [:raw, [], :int],
289
+ [:redrawwin, [:window_p], :int],
290
+ [:refresh, [], :int],
291
+ [:replace_panel, [:panel_p, :window_p], :int],
292
+ [:reset_prog_mode, [], :int],
293
+ [:reset_shell_mode, [], :int],
294
+ [:resetty, [], :int],
295
+ [:resize_term, [:int, :int], :int],
296
+ [:resizeterm, [:int, :int], :int],
297
+ [:ripoffline, [:int, :int_p], :int],
298
+ [:savetty, [], :int],
299
+ [:scanw, [:string, :varargs], :int],
300
+ [:scr_dump, [:string], :int],
301
+ [:scr_init, [:string], :int],
302
+ [:scr_restore, [:string], :int],
303
+ [:scr_set, [:string], :int],
304
+ [:scrl, [:int], :int],
305
+ [:scroll, [:window_p], :int],
306
+ [:set_escdelay, [:int], :int],
307
+ [:set_panel_userptr, [:panel_p, :pointer], :int],
308
+ [:set_tabsize, [:int], :int],
309
+ [:set_term, [:screen_p], :screen_p],
310
+ [:setcchar, [:cchar_t_p, :wchar_t_p, :attr_t, :short, :pointer], :int],
311
+ [:setscrreg, [:int, :int], :int],
312
+ [:show_panel, [:panel_p], :int],
313
+ [:slk_attr, [], :attr_t],
314
+ [:slk_attr_off, [:attr_t, :pointer], :int],
315
+ [:slk_attr_on, [:attr_t, :pointer], :int],
316
+ [:slk_attr_set, [:attr_t, :short, :pointer], :int],
317
+ [:slk_attroff, [:chtype], :int],
318
+ [:slk_attron, [:chtype], :int],
319
+ [:slk_attrset, [:chtype], :int],
320
+ [:slk_clear, [], :int],
321
+ [:slk_color, [:short], :int],
322
+ [:slk_init, [:int], :int],
323
+ [:slk_label, [:int], :string],
324
+ [:slk_noutrefresh, [], :int],
325
+ [:slk_refresh, [], :int],
326
+ [:slk_restore, [], :int],
327
+ [:slk_set, [:int, :string, :int], :int],
328
+ [:slk_touch, [], :int],
329
+ [:slk_wset, [:int, :wchar_t_p, :int], :int],
330
+ [:standend, [], :int],
331
+ [:standout, [], :int],
332
+ [:start_color, [], :int],
333
+ [:subpad, [:window_p, :int, :int, :int, :int], :window_p],
334
+ [:subwin, [:window_p, :int, :int, :int, :int], :window_p],
335
+ [:term_attrs, [], :attr_t],
336
+ [:termattrs, [], :chtype],
337
+ [:termname, [], :string],
338
+ [:tigetflag, [:string], :int],
339
+ [:tigetnum, [:string], :int],
340
+ [:tigetstr, [:string], :string],
341
+ [:timeout, [:int], :void],
342
+ [:tiparm, [:string, :varargs], :string],
343
+ [:top_panel, [:panel_p], :int],
344
+ [:touchline, [:window_p, :int, :int], :int],
345
+ [:touchwin, [:window_p], :int],
346
+ [:tparm, [:string, :varargs], :string],
347
+ [:trace, [:uint], :void],
348
+ [:typeahead, [:int], :int],
349
+ [:unctrl, [:chtype], :string],
350
+ [:unget_wch, [:wchar_t], :int],
351
+ [:ungetch, [:int], :int],
352
+ [:ungetmouse, [:mevent_p], :int],
353
+ [:untouchwin, [:window_p], :int],
354
+ [:update_panels, [], :void],
355
+ [:use_default_colors, [], :int],
356
+ [:use_legacy_coding, [:int], :int],
357
+ [:use_screen, [:screen_p, :pointer, :pointer], :int],
358
+ [:use_window, [:window_p, :pointer, :pointer], :int],
359
+ [:vid_attr, [:attr_t, :short, :pointer], :int],
360
+ [:vid_puts, [:attr_t, :short, :pointer, :pointer], :int],
361
+ [:vidattr, [:chtype], :int],
362
+ [:vidputs, [:chtype, :pointer], :int],
363
+ [:vline, [:chtype, :int], :int],
364
+ [:vline_set, [:cchar_t_p, :int], :int],
365
+ [:wadd_wch, [:window_p, :cchar_t_p], :int],
366
+ [:wadd_wchnstr, [:window_p, :cchar_t_p, :int], :int],
367
+ [:wadd_wchstr, [:window_p, :cchar_t_p], :int],
368
+ [:waddch, [:window_p, :chtype], :int],
369
+ [:waddchnstr, [:window_p, :chtype_p, :int], :int],
370
+ [:waddchstr, [:window_p, :chtype_p], :int],
371
+ [:waddnstr, [:window_p, :string, :int], :int],
372
+ [:waddnwstr, [:window_p, :wchar_t_p, :int], :int],
373
+ [:waddstr, [:window_p, :string], :int],
374
+ [:waddwstr, [:window_p, :wchar_t_p], :int],
375
+ [:wattr_get, [:window_p, :attr_t_p, :short_p, :pointer], :int],
376
+ [:wattr_off, [:window_p, :attr_t, :pointer], :int],
377
+ [:wattr_on, [:window_p, :attr_t, :pointer], :int],
378
+ [:wattr_set, [:window_p, :attr_t, :short, :pointer], :int],
379
+ [:wattroff, [:window_p, :int], :int],
380
+ [:wattron, [:window_p, :int], :int],
381
+ [:wattrset, [:window_p, :int], :int],
382
+ [:wbkgd, [:window_p, :chtype], :int],
383
+ [:wbkgdset, [:window_p, :chtype], :void],
384
+ [:wbkgrnd, [:window_p, :cchar_t_p], :int],
385
+ [:wbkgrndset, [:window_p, :cchar_t_p], :void],
386
+ [:wborder, [:window_p, :chtype, :chtype, :chtype, :chtype, :chtype, :chtype, :chtype, :chtype], :int],
387
+ [:wborder_set, [:window_p, :cchar_t_p, :cchar_t_p, :cchar_t_p, :cchar_t_p, :cchar_t_p, :cchar_t_p, :cchar_t_p, :cchar_t_p], :int],
388
+ [:wchgat, [:window_p, :int, :attr_t, :short, :pointer], :int],
389
+ [:wclear, [:window_p], :int],
390
+ [:wclrtobot, [:window_p], :int],
391
+ [:wclrtoeol, [:window_p], :int],
392
+ [:wcolor_set, [:window_p, :short, :pointer], :int],
393
+ [:wcursyncup, [:window_p], :void],
394
+ [:wdelch, [:window_p], :int],
395
+ [:wdeleteln, [:window_p], :int],
396
+ [:wecho_wchar, [:window_p, :cchar_t_p], :int],
397
+ [:wechochar, [:window_p, :chtype], :int],
398
+ [:wenclose, [:window_p, :int, :int], :bool],
399
+ [:werase, [:window_p], :int],
400
+ [:wget_wch, [:window_p, :wint_t_p], :int],
401
+ [:wget_wstr, [:window_p, :wint_t_p], :int],
402
+ [:wgetbkgrnd, [:window_p, :cchar_t_p], :int],
403
+ [:wgetch, [:window_p], :int],
404
+ [:wgetn_wstr, [:window_p, :wint_t_p, :int], :int],
405
+ [:wgetnstr, [:window_p, :string, :int], :int],
406
+ [:wgetparent, [:window_p], :window_p],
407
+ [:wgetscrreg, [:window_p, :int_p, :int_p], :int],
408
+ [:wgetstr, [:window_p, :string], :int],
409
+ [:whline, [:window_p, :chtype, :int], :int],
410
+ [:whline_set, [:window_p, :cchar_t_p, :int], :int],
411
+ [:win_wch, [:window_p, :cchar_t_p], :int],
412
+ [:win_wchnstr, [:window_p, :cchar_t_p, :int], :int],
413
+ [:win_wchstr, [:window_p, :cchar_t_p], :int],
414
+ [:winch, [:window_p], :chtype],
415
+ [:winchnstr, [:window_p, :chtype_p, :int], :int],
416
+ [:winchstr, [:window_p, :chtype_p], :int],
417
+ [:winnstr, [:window_p, :string, :int], :int],
418
+ [:winnwstr, [:window_p, :wchar_t_p, :int], :int],
419
+ [:wins_nwstr, [:window_p, :wchar_t_p, :int], :int],
420
+ [:wins_wch, [:window_p, :cchar_t_p], :int],
421
+ [:wins_wstr, [:window_p, :wchar_t_p], :int],
422
+ [:winsch, [:window_p, :chtype], :int],
423
+ [:winsdelln, [:window_p, :int], :int],
424
+ [:winsertln, [:window_p], :int],
425
+ [:winsnstr, [:window_p, :string, :int], :int],
426
+ [:winsstr, [:window_p, :string], :int],
427
+ [:winstr, [:window_p, :string], :int],
428
+ [:winwstr, [:window_p, :wchar_t_p], :int],
429
+ [:wmove, [:window_p, :int, :int], :int],
430
+ [:wnoutrefresh, [:window_p], :int],
431
+ [:wprintw, [:window_p, :string, :varargs], :int],
432
+ [:wredrawln, [:window_p, :int, :int], :int],
433
+ [:wrefresh, [:window_p], :int],
434
+ [:wresize, [:window_p, :int, :int], :int],
435
+ [:wscanw, [:window_p, :string, :varargs], :int],
436
+ [:wscrl, [:window_p, :int], :int],
437
+ [:wsetscrreg, [:window_p, :int, :int], :int],
438
+ [:wstandend, [:window_p], :int],
439
+ [:wstandout, [:window_p], :int],
440
+ [:wsyncdown, [:window_p], :void],
441
+ [:wsyncup, [:window_p], :void],
442
+ [:wtimeout, [:window_p, :int], :void],
443
+ [:wtouchln, [:window_p, :int, :int, :int], :int],
444
+ [:wunctrl, [:cchar_t_p], :wchar_t_p],
445
+ [:wvline, [:window_p, :chtype, :int], :int],
446
+ [:wvline_set, [:window_p, :cchar_t_p, :int], :int],
447
+ ]
448
+ # end of autogenerated function list
449
+ end
450
+ end