curses 1.4.4 → 1.4.6

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 (258) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +6 -0
  3. data/.github/workflows/macos.yml +1 -1
  4. data/.github/workflows/push_gem.yml +48 -0
  5. data/.github/workflows/ubuntu.yml +2 -2
  6. data/.github/workflows/windows.yml +2 -2
  7. data/History.md +23 -0
  8. data/README.md +7 -0
  9. data/curses.gemspec +1 -1
  10. data/ext/curses/curses.c +7 -7
  11. data/sample/colors.rb +6 -1
  12. data/sample/form.rb +1 -1
  13. data/sample/menu.rb +2 -0
  14. metadata +9 -251
  15. data/vendor/PDCurses/.gitignore +0 -47
  16. data/vendor/PDCurses/.travis.yml +0 -49
  17. data/vendor/PDCurses/CMakeLists.txt +0 -68
  18. data/vendor/PDCurses/HISTORY.md +0 -2036
  19. data/vendor/PDCurses/IMPLEMNT.md +0 -327
  20. data/vendor/PDCurses/Makefile +0 -27
  21. data/vendor/PDCurses/README.md +0 -77
  22. data/vendor/PDCurses/acs_defs.h +0 -265
  23. data/vendor/PDCurses/appveyor.yml +0 -218
  24. data/vendor/PDCurses/cmake/README.md +0 -71
  25. data/vendor/PDCurses/cmake/build_dependencies.cmake +0 -178
  26. data/vendor/PDCurses/cmake/build_options.cmake +0 -25
  27. data/vendor/PDCurses/cmake/dll_version.cmake +0 -26
  28. data/vendor/PDCurses/cmake/gen_config_header.cmake +0 -43
  29. data/vendor/PDCurses/cmake/get_version.cmake +0 -17
  30. data/vendor/PDCurses/cmake/make_uninstall.cmake +0 -19
  31. data/vendor/PDCurses/cmake/project_common.cmake +0 -121
  32. data/vendor/PDCurses/cmake/resource.in.cmake +0 -52
  33. data/vendor/PDCurses/cmake/sdl2_ttf/CMakeLists.txt +0 -83
  34. data/vendor/PDCurses/cmake/target_arch.cmake +0 -36
  35. data/vendor/PDCurses/cmake/version.in.cmake +0 -73
  36. data/vendor/PDCurses/cmake/watcom_open_dos16_toolchain.cmake +0 -96
  37. data/vendor/PDCurses/cmake/watcom_open_dos32_toolchain.cmake +0 -106
  38. data/vendor/PDCurses/cmake/watcom_open_os2v2_toolchain.cmake +0 -105
  39. data/vendor/PDCurses/curses.h +0 -1846
  40. data/vendor/PDCurses/curspriv.h +0 -134
  41. data/vendor/PDCurses/demos/README.md +0 -25
  42. data/vendor/PDCurses/demos/firework.c +0 -144
  43. data/vendor/PDCurses/demos/newtest.c +0 -581
  44. data/vendor/PDCurses/demos/ozdemo.c +0 -447
  45. data/vendor/PDCurses/demos/ptest.c +0 -283
  46. data/vendor/PDCurses/demos/rain.c +0 -157
  47. data/vendor/PDCurses/demos/testcurs.c +0 -1607
  48. data/vendor/PDCurses/demos/tui.c +0 -1048
  49. data/vendor/PDCurses/demos/tui.h +0 -65
  50. data/vendor/PDCurses/demos/tuidemo.c +0 -233
  51. data/vendor/PDCurses/demos/version.c +0 -61
  52. data/vendor/PDCurses/demos/worm.c +0 -432
  53. data/vendor/PDCurses/demos/xmas.c +0 -955
  54. data/vendor/PDCurses/dos/CMakeLists.txt +0 -47
  55. data/vendor/PDCurses/dos/Makefile +0 -105
  56. data/vendor/PDCurses/dos/Makefile.bcc +0 -83
  57. data/vendor/PDCurses/dos/Makefile.dmc +0 -257
  58. data/vendor/PDCurses/dos/Makefile.msc +0 -113
  59. data/vendor/PDCurses/dos/Makefile.wcc +0 -107
  60. data/vendor/PDCurses/dos/README.md +0 -51
  61. data/vendor/PDCurses/dos/bccdos.lrf +0 -9
  62. data/vendor/PDCurses/dos/mscdos.lrf +0 -50
  63. data/vendor/PDCurses/dos/pdcclip.c +0 -132
  64. data/vendor/PDCurses/dos/pdcdisp.c +0 -135
  65. data/vendor/PDCurses/dos/pdcdos.h +0 -194
  66. data/vendor/PDCurses/dos/pdcgetsc.c +0 -98
  67. data/vendor/PDCurses/dos/pdckbd.c +0 -513
  68. data/vendor/PDCurses/dos/pdcscrn.c +0 -785
  69. data/vendor/PDCurses/dos/pdcsetsc.c +0 -101
  70. data/vendor/PDCurses/dos/pdcutil.c +0 -212
  71. data/vendor/PDCurses/libobjs.mif +0 -26
  72. data/vendor/PDCurses/makedist.mif +0 -20
  73. data/vendor/PDCurses/man/Makefile +0 -37
  74. data/vendor/PDCurses/man/README.md +0 -21
  75. data/vendor/PDCurses/man/intro.md +0 -361
  76. data/vendor/PDCurses/man/manext.c +0 -119
  77. data/vendor/PDCurses/man/sdl.md +0 -152
  78. data/vendor/PDCurses/man/sdl2.md +0 -58
  79. data/vendor/PDCurses/man/x11.md +0 -407
  80. data/vendor/PDCurses/ncurses/CMakeLists.txt +0 -66
  81. data/vendor/PDCurses/ncurses/README.md +0 -26
  82. data/vendor/PDCurses/ncurses/makefile +0 -29
  83. data/vendor/PDCurses/os2/CMakeLists.txt +0 -41
  84. data/vendor/PDCurses/os2/Makefile +0 -132
  85. data/vendor/PDCurses/os2/Makefile.bcc +0 -90
  86. data/vendor/PDCurses/os2/Makefile.wcc +0 -43
  87. data/vendor/PDCurses/os2/README.md +0 -43
  88. data/vendor/PDCurses/os2/iccos2.lrf +0 -50
  89. data/vendor/PDCurses/os2/iccos2.mak +0 -256
  90. data/vendor/PDCurses/os2/pdcclip.c +0 -188
  91. data/vendor/PDCurses/os2/pdcdisp.c +0 -93
  92. data/vendor/PDCurses/os2/pdcgetsc.c +0 -89
  93. data/vendor/PDCurses/os2/pdckbd.c +0 -521
  94. data/vendor/PDCurses/os2/pdcos2.h +0 -55
  95. data/vendor/PDCurses/os2/pdcscrn.c +0 -449
  96. data/vendor/PDCurses/os2/pdcsetsc.c +0 -112
  97. data/vendor/PDCurses/os2/pdcutil.c +0 -52
  98. data/vendor/PDCurses/panel.h +0 -56
  99. data/vendor/PDCurses/pdcurses/README.md +0 -25
  100. data/vendor/PDCurses/pdcurses/addch.c +0 -693
  101. data/vendor/PDCurses/pdcurses/addchstr.c +0 -245
  102. data/vendor/PDCurses/pdcurses/addstr.c +0 -240
  103. data/vendor/PDCurses/pdcurses/attr.c +0 -359
  104. data/vendor/PDCurses/pdcurses/beep.c +0 -68
  105. data/vendor/PDCurses/pdcurses/bkgd.c +0 -223
  106. data/vendor/PDCurses/pdcurses/border.c +0 -411
  107. data/vendor/PDCurses/pdcurses/clear.c +0 -159
  108. data/vendor/PDCurses/pdcurses/color.c +0 -298
  109. data/vendor/PDCurses/pdcurses/debug.c +0 -109
  110. data/vendor/PDCurses/pdcurses/delch.c +0 -96
  111. data/vendor/PDCurses/pdcurses/deleteln.c +0 -211
  112. data/vendor/PDCurses/pdcurses/deprec.c +0 -27
  113. data/vendor/PDCurses/pdcurses/getch.c +0 -417
  114. data/vendor/PDCurses/pdcurses/getstr.c +0 -474
  115. data/vendor/PDCurses/pdcurses/getyx.c +0 -139
  116. data/vendor/PDCurses/pdcurses/inch.c +0 -127
  117. data/vendor/PDCurses/pdcurses/inchstr.c +0 -214
  118. data/vendor/PDCurses/pdcurses/initscr.c +0 -367
  119. data/vendor/PDCurses/pdcurses/inopts.c +0 -324
  120. data/vendor/PDCurses/pdcurses/insch.c +0 -271
  121. data/vendor/PDCurses/pdcurses/insstr.c +0 -264
  122. data/vendor/PDCurses/pdcurses/instr.c +0 -246
  123. data/vendor/PDCurses/pdcurses/kernel.c +0 -259
  124. data/vendor/PDCurses/pdcurses/keyname.c +0 -157
  125. data/vendor/PDCurses/pdcurses/mouse.c +0 -438
  126. data/vendor/PDCurses/pdcurses/move.c +0 -57
  127. data/vendor/PDCurses/pdcurses/outopts.c +0 -159
  128. data/vendor/PDCurses/pdcurses/overlay.c +0 -214
  129. data/vendor/PDCurses/pdcurses/pad.c +0 -260
  130. data/vendor/PDCurses/pdcurses/panel.c +0 -633
  131. data/vendor/PDCurses/pdcurses/printw.c +0 -126
  132. data/vendor/PDCurses/pdcurses/refresh.c +0 -279
  133. data/vendor/PDCurses/pdcurses/scanw.c +0 -578
  134. data/vendor/PDCurses/pdcurses/scr_dump.c +0 -213
  135. data/vendor/PDCurses/pdcurses/scroll.c +0 -101
  136. data/vendor/PDCurses/pdcurses/slk.c +0 -591
  137. data/vendor/PDCurses/pdcurses/termattr.c +0 -182
  138. data/vendor/PDCurses/pdcurses/terminfo.c +0 -217
  139. data/vendor/PDCurses/pdcurses/touch.c +0 -163
  140. data/vendor/PDCurses/pdcurses/util.c +0 -312
  141. data/vendor/PDCurses/pdcurses/window.c +0 -569
  142. data/vendor/PDCurses/sdl1/Makefile +0 -129
  143. data/vendor/PDCurses/sdl1/Makefile.mng +0 -110
  144. data/vendor/PDCurses/sdl1/README.md +0 -31
  145. data/vendor/PDCurses/sdl1/deffont.h +0 -385
  146. data/vendor/PDCurses/sdl1/deficon.h +0 -23
  147. data/vendor/PDCurses/sdl1/pdcclip.c +0 -131
  148. data/vendor/PDCurses/sdl1/pdcdisp.c +0 -373
  149. data/vendor/PDCurses/sdl1/pdcgetsc.c +0 -30
  150. data/vendor/PDCurses/sdl1/pdckbd.c +0 -405
  151. data/vendor/PDCurses/sdl1/pdcscrn.c +0 -414
  152. data/vendor/PDCurses/sdl1/pdcsdl.h +0 -31
  153. data/vendor/PDCurses/sdl1/pdcsetsc.c +0 -64
  154. data/vendor/PDCurses/sdl1/pdcutil.c +0 -40
  155. data/vendor/PDCurses/sdl1/sdltest.c +0 -79
  156. data/vendor/PDCurses/sdl2/CMakeLists.txt +0 -76
  157. data/vendor/PDCurses/sdl2/Makefile +0 -135
  158. data/vendor/PDCurses/sdl2/Makefile.vc +0 -164
  159. data/vendor/PDCurses/sdl2/README.md +0 -34
  160. data/vendor/PDCurses/sdl2/deffont.h +0 -385
  161. data/vendor/PDCurses/sdl2/deficon.h +0 -23
  162. data/vendor/PDCurses/sdl2/pdcclip.c +0 -93
  163. data/vendor/PDCurses/sdl2/pdcdisp.c +0 -534
  164. data/vendor/PDCurses/sdl2/pdcgetsc.c +0 -30
  165. data/vendor/PDCurses/sdl2/pdckbd.c +0 -480
  166. data/vendor/PDCurses/sdl2/pdcscrn.c +0 -443
  167. data/vendor/PDCurses/sdl2/pdcsdl.h +0 -33
  168. data/vendor/PDCurses/sdl2/pdcsetsc.c +0 -67
  169. data/vendor/PDCurses/sdl2/pdcutil.c +0 -39
  170. data/vendor/PDCurses/sdl2/sdltest.c +0 -81
  171. data/vendor/PDCurses/term.h +0 -48
  172. data/vendor/PDCurses/version.mif +0 -7
  173. data/vendor/PDCurses/vt/CMakeLists.txt +0 -28
  174. data/vendor/PDCurses/vt/Makefile +0 -135
  175. data/vendor/PDCurses/vt/Makefile.bcc +0 -111
  176. data/vendor/PDCurses/vt/Makefile.dmc +0 -258
  177. data/vendor/PDCurses/vt/Makefile.vc +0 -144
  178. data/vendor/PDCurses/vt/Makefile.wcc +0 -107
  179. data/vendor/PDCurses/vt/README.md +0 -64
  180. data/vendor/PDCurses/vt/pdcclip.c +0 -20
  181. data/vendor/PDCurses/vt/pdcdisp.c +0 -284
  182. data/vendor/PDCurses/vt/pdcgetsc.c +0 -27
  183. data/vendor/PDCurses/vt/pdckbd.c +0 -394
  184. data/vendor/PDCurses/vt/pdcscrn.c +0 -434
  185. data/vendor/PDCurses/vt/pdcsetsc.c +0 -45
  186. data/vendor/PDCurses/vt/pdcutil.c +0 -43
  187. data/vendor/PDCurses/vt/pdcvt.h +0 -16
  188. data/vendor/PDCurses/watcom.mif +0 -68
  189. data/vendor/PDCurses/wincon/CMakeLists.txt +0 -27
  190. data/vendor/PDCurses/wincon/Makefile.bcc +0 -88
  191. data/vendor/PDCurses/wincon/Makefile.dmc +0 -256
  192. data/vendor/PDCurses/wincon/Makefile.lcc +0 -273
  193. data/vendor/PDCurses/wincon/Makefile.mng +0 -176
  194. data/vendor/PDCurses/wincon/Makefile.vc +0 -144
  195. data/vendor/PDCurses/wincon/Makefile.wcc +0 -51
  196. data/vendor/PDCurses/wincon/README.md +0 -85
  197. data/vendor/PDCurses/wincon/pdcclip.c +0 -174
  198. data/vendor/PDCurses/wincon/pdcdisp.c +0 -143
  199. data/vendor/PDCurses/wincon/pdcgetsc.c +0 -55
  200. data/vendor/PDCurses/wincon/pdckbd.c +0 -786
  201. data/vendor/PDCurses/wincon/pdcscrn.c +0 -717
  202. data/vendor/PDCurses/wincon/pdcsetsc.c +0 -91
  203. data/vendor/PDCurses/wincon/pdcurses.ico +0 -0
  204. data/vendor/PDCurses/wincon/pdcurses.rc +0 -28
  205. data/vendor/PDCurses/wincon/pdcutil.c +0 -41
  206. data/vendor/PDCurses/wincon/pdcwin.h +0 -31
  207. data/vendor/PDCurses/wingui/CMakeLists.txt +0 -27
  208. data/vendor/PDCurses/wingui/Makefile.bcc +0 -85
  209. data/vendor/PDCurses/wingui/Makefile.dmc +0 -259
  210. data/vendor/PDCurses/wingui/Makefile.lcc +0 -273
  211. data/vendor/PDCurses/wingui/Makefile.mng +0 -171
  212. data/vendor/PDCurses/wingui/Makefile.vc +0 -144
  213. data/vendor/PDCurses/wingui/Makefile.wcc +0 -51
  214. data/vendor/PDCurses/wingui/README.md +0 -93
  215. data/vendor/PDCurses/wingui/pdcclip.c +0 -174
  216. data/vendor/PDCurses/wingui/pdcdisp.c +0 -718
  217. data/vendor/PDCurses/wingui/pdcgetsc.c +0 -30
  218. data/vendor/PDCurses/wingui/pdckbd.c +0 -143
  219. data/vendor/PDCurses/wingui/pdcscrn.c +0 -2797
  220. data/vendor/PDCurses/wingui/pdcsetsc.c +0 -89
  221. data/vendor/PDCurses/wingui/pdcurses.ico +0 -0
  222. data/vendor/PDCurses/wingui/pdcurses.rc +0 -28
  223. data/vendor/PDCurses/wingui/pdcutil.c +0 -61
  224. data/vendor/PDCurses/wingui/pdcwin.h +0 -122
  225. data/vendor/PDCurses/x11/Makefile.in +0 -754
  226. data/vendor/PDCurses/x11/PDCurses.spec +0 -82
  227. data/vendor/PDCurses/x11/README.md +0 -62
  228. data/vendor/PDCurses/x11/ScrollBox.c +0 -319
  229. data/vendor/PDCurses/x11/ScrollBox.h +0 -51
  230. data/vendor/PDCurses/x11/ScrollBoxP.h +0 -70
  231. data/vendor/PDCurses/x11/aclocal.m4 +0 -994
  232. data/vendor/PDCurses/x11/big_icon.xbm +0 -46
  233. data/vendor/PDCurses/x11/compose.h +0 -201
  234. data/vendor/PDCurses/x11/config.guess +0 -1500
  235. data/vendor/PDCurses/x11/config.h.in +0 -100
  236. data/vendor/PDCurses/x11/config.sub +0 -1616
  237. data/vendor/PDCurses/x11/configure +0 -6700
  238. data/vendor/PDCurses/x11/configure.ac +0 -295
  239. data/vendor/PDCurses/x11/debian/changelog +0 -6
  240. data/vendor/PDCurses/x11/debian/compat +0 -1
  241. data/vendor/PDCurses/x11/debian/control +0 -11
  242. data/vendor/PDCurses/x11/debian/copyright +0 -27
  243. data/vendor/PDCurses/x11/debian/rules +0 -98
  244. data/vendor/PDCurses/x11/install-sh +0 -253
  245. data/vendor/PDCurses/x11/little_icon.xbm +0 -14
  246. data/vendor/PDCurses/x11/ncurses_cfg.h +0 -45
  247. data/vendor/PDCurses/x11/pdcclip.c +0 -173
  248. data/vendor/PDCurses/x11/pdcdisp.c +0 -85
  249. data/vendor/PDCurses/x11/pdcgetsc.c +0 -28
  250. data/vendor/PDCurses/x11/pdckbd.c +0 -104
  251. data/vendor/PDCurses/x11/pdcscrn.c +0 -258
  252. data/vendor/PDCurses/x11/pdcsetsc.c +0 -95
  253. data/vendor/PDCurses/x11/pdcutil.c +0 -52
  254. data/vendor/PDCurses/x11/pdcx11.c +0 -316
  255. data/vendor/PDCurses/x11/pdcx11.h +0 -191
  256. data/vendor/PDCurses/x11/sb.c +0 -155
  257. data/vendor/PDCurses/x11/x11.c +0 -3686
  258. data/vendor/PDCurses/x11/xcurses-config.in +0 -81
@@ -1,324 +0,0 @@
1
- /* Public Domain Curses */
2
-
3
- #include <curspriv.h>
4
-
5
- /*man-start**************************************************************
6
-
7
- inopts
8
- ------
9
-
10
- ### Synopsis
11
-
12
- int cbreak(void);
13
- int nocbreak(void);
14
- int echo(void);
15
- int noecho(void);
16
- int halfdelay(int tenths);
17
- int intrflush(WINDOW *win, bool bf);
18
- int keypad(WINDOW *win, bool bf);
19
- int meta(WINDOW *win, bool bf);
20
- int nl(void);
21
- int nonl(void);
22
- int nodelay(WINDOW *win, bool bf);
23
- int notimeout(WINDOW *win, bool bf);
24
- int raw(void);
25
- int noraw(void);
26
- void noqiflush(void);
27
- void qiflush(void);
28
- void timeout(int delay);
29
- void wtimeout(WINDOW *win, int delay);
30
- int typeahead(int fildes);
31
-
32
- int crmode(void);
33
- int nocrmode(void);
34
-
35
- ### Description
36
-
37
- cbreak() and nocbreak() toggle cbreak mode. In cbreak mode,
38
- characters typed by the user are made available immediately, and
39
- erase/kill character processing is not performed. In nocbreak
40
- mode, typed characters are buffered until a newline or carriage
41
- return. Interrupt and flow control characters are unaffected by
42
- this mode. PDCurses always starts in cbreak mode.
43
-
44
- echo() and noecho() control whether typed characters are echoed
45
- by the input routine. Initially, input characters are echoed.
46
- Subsequent calls to echo() and noecho() do not flush type-ahead.
47
-
48
- halfdelay() is similar to cbreak(), but allows for a time limit
49
- to be specified, in tenths of a second. This causes getch() to
50
- block for that period before returning ERR if no key has been
51
- received. tenths must be between 1 and 255.
52
-
53
- keypad() controls whether getch() returns function/special keys
54
- as single key codes (e.g., the left arrow key as KEY_LEFT). Per
55
- X/Open, the default for keypad mode is OFF. You'll probably want
56
- it on. With keypad mode off, if a special key is pressed,
57
- getch() does nothing or returns ERR.
58
-
59
- nodelay() controls whether wgetch() is a non-blocking call. If
60
- the option is enabled, and no input is ready, wgetch() will
61
- return ERR. If disabled, wgetch() will hang until input is
62
- ready.
63
-
64
- nl() enables the translation of a carriage return into a newline
65
- on input. nonl() disables this. Initially, the translation does
66
- occur.
67
-
68
- raw() and noraw() toggle raw mode. Raw mode is similar to cbreak
69
- mode, in that characters typed are immediately passed through to
70
- the user program. The difference is that in raw mode, the INTR,
71
- QUIT, SUSP, and STOP characters are passed through without being
72
- interpreted, and without generating a signal.
73
-
74
- In PDCurses, the meta() function sets raw mode on or off.
75
-
76
- timeout() and wtimeout() set blocking or non-blocking reads for
77
- the specified window. The delay is measured in milliseconds. If
78
- it's negative, a blocking read is used; if zero, then non-
79
- blocking reads are done -- if no input is waiting, ERR is
80
- returned immediately. If the delay is positive, the read blocks
81
- for the delay period; if the period expires, ERR is returned.
82
-
83
- intrflush(), notimeout(), noqiflush(), qiflush() and typeahead()
84
- do nothing in PDCurses, but are included for compatibility with
85
- other curses implementations.
86
-
87
- crmode() and nocrmode() are archaic equivalents to cbreak() and
88
- nocbreak(), respectively.
89
-
90
- ### Return Value
91
-
92
- All functions return OK on success and ERR on error.
93
-
94
- ### Portability
95
- X/Open BSD SYS V
96
- cbreak Y Y Y
97
- nocbreak Y Y Y
98
- echo Y Y Y
99
- noecho Y Y Y
100
- halfdelay Y - Y
101
- intrflush Y - Y
102
- keypad Y - Y
103
- meta Y - Y
104
- nl Y Y Y
105
- nonl Y Y Y
106
- nodelay Y - Y
107
- notimeout Y - Y
108
- raw Y Y Y
109
- noraw Y Y Y
110
- noqiflush Y - Y
111
- qiflush Y - Y
112
- timeout Y - Y
113
- wtimeout Y - Y
114
- typeahead Y - Y
115
- crmode -
116
- nocrmode -
117
-
118
- **man-end****************************************************************/
119
-
120
- int cbreak(void)
121
- {
122
- PDC_LOG(("cbreak() - called\n"));
123
-
124
- SP->cbreak = TRUE;
125
-
126
- return OK;
127
- }
128
-
129
- int nocbreak(void)
130
- {
131
- PDC_LOG(("nocbreak() - called\n"));
132
-
133
- SP->cbreak = FALSE;
134
- SP->delaytenths = 0;
135
-
136
- return OK;
137
- }
138
-
139
- int echo(void)
140
- {
141
- PDC_LOG(("echo() - called\n"));
142
-
143
- SP->echo = TRUE;
144
-
145
- return OK;
146
- }
147
-
148
- int noecho(void)
149
- {
150
- PDC_LOG(("noecho() - called\n"));
151
-
152
- SP->echo = FALSE;
153
-
154
- return OK;
155
- }
156
-
157
- int halfdelay(int tenths)
158
- {
159
- PDC_LOG(("halfdelay() - called\n"));
160
-
161
- if (tenths < 1 || tenths > 255)
162
- return ERR;
163
-
164
- SP->delaytenths = tenths;
165
-
166
- return OK;
167
- }
168
-
169
- int intrflush(WINDOW *win, bool bf)
170
- {
171
- PDC_LOG(("intrflush() - called\n"));
172
-
173
- return OK;
174
- }
175
-
176
- int keypad(WINDOW *win, bool bf)
177
- {
178
- PDC_LOG(("keypad() - called\n"));
179
-
180
- if (!win)
181
- return ERR;
182
-
183
- win->_use_keypad = bf;
184
-
185
- return OK;
186
- }
187
-
188
- int meta(WINDOW *win, bool bf)
189
- {
190
- PDC_LOG(("meta() - called\n"));
191
-
192
- SP->raw_inp = bf;
193
-
194
- return OK;
195
- }
196
-
197
- int nl(void)
198
- {
199
- PDC_LOG(("nl() - called\n"));
200
-
201
- SP->autocr = TRUE;
202
-
203
- return OK;
204
- }
205
-
206
- int nonl(void)
207
- {
208
- PDC_LOG(("nonl() - called\n"));
209
-
210
- SP->autocr = FALSE;
211
-
212
- return OK;
213
- }
214
-
215
- int nodelay(WINDOW *win, bool flag)
216
- {
217
- PDC_LOG(("nodelay() - called\n"));
218
-
219
- if (!win)
220
- return ERR;
221
-
222
- win->_nodelay = flag;
223
-
224
- return OK;
225
- }
226
-
227
- int notimeout(WINDOW *win, bool flag)
228
- {
229
- PDC_LOG(("notimeout() - called\n"));
230
-
231
- return OK;
232
- }
233
-
234
- int raw(void)
235
- {
236
- PDC_LOG(("raw() - called\n"));
237
-
238
- PDC_set_keyboard_binary(TRUE);
239
- SP->raw_inp = TRUE;
240
-
241
- return OK;
242
- }
243
-
244
- int noraw(void)
245
- {
246
- PDC_LOG(("noraw() - called\n"));
247
-
248
- PDC_set_keyboard_binary(FALSE);
249
- SP->raw_inp = FALSE;
250
-
251
- return OK;
252
- }
253
-
254
- void noqiflush(void)
255
- {
256
- PDC_LOG(("noqiflush() - called\n"));
257
- }
258
-
259
- void qiflush(void)
260
- {
261
- PDC_LOG(("qiflush() - called\n"));
262
- }
263
-
264
- int typeahead(int fildes)
265
- {
266
- PDC_LOG(("typeahead() - called\n"));
267
-
268
- return OK;
269
- }
270
-
271
- void wtimeout(WINDOW *win, int delay)
272
- {
273
- PDC_LOG(("wtimeout() - called\n"));
274
-
275
- if (!win)
276
- return;
277
-
278
- if (delay < 0)
279
- {
280
- /* This causes a blocking read on the window, so turn on delay
281
- mode */
282
-
283
- win->_nodelay = FALSE;
284
- win->_delayms = 0;
285
- }
286
- else if (!delay)
287
- {
288
- /* This causes a non-blocking read on the window, so turn off
289
- delay mode */
290
-
291
- win->_nodelay = TRUE;
292
- win->_delayms = 0;
293
- }
294
- else
295
- {
296
- /* This causes the read on the window to delay for the number of
297
- milliseconds. Also forces the window into non-blocking read
298
- mode */
299
-
300
- /*win->_nodelay = TRUE;*/
301
- win->_delayms = delay;
302
- }
303
- }
304
-
305
- void timeout(int delay)
306
- {
307
- PDC_LOG(("timeout() - called\n"));
308
-
309
- wtimeout(stdscr, delay);
310
- }
311
-
312
- int crmode(void)
313
- {
314
- PDC_LOG(("crmode() - called\n"));
315
-
316
- return cbreak();
317
- }
318
-
319
- int nocrmode(void)
320
- {
321
- PDC_LOG(("nocrmode() - called\n"));
322
-
323
- return nocbreak();
324
- }
@@ -1,271 +0,0 @@
1
- /* Public Domain Curses */
2
-
3
- #include <curspriv.h>
4
-
5
- /*man-start**************************************************************
6
-
7
- insch
8
- -----
9
-
10
- ### Synopsis
11
-
12
- int insch(chtype ch);
13
- int winsch(WINDOW *win, chtype ch);
14
- int mvinsch(int y, int x, chtype ch);
15
- int mvwinsch(WINDOW *win, int y, int x, chtype ch);
16
-
17
- int insrawch(chtype ch);
18
- int winsrawch(WINDOW *win, chtype ch);
19
- int mvinsrawch(int y, int x, chtype ch);
20
- int mvwinsrawch(WINDOW *win, int y, int x, chtype ch);
21
-
22
- int ins_wch(const cchar_t *wch);
23
- int wins_wch(WINDOW *win, const cchar_t *wch);
24
- int mvins_wch(int y, int x, const cchar_t *wch);
25
- int mvwins_wch(WINDOW *win, int y, int x, const cchar_t *wch);
26
-
27
- ### Description
28
-
29
- The insch() functions insert a chtype into the window at the
30
- current or specified cursor position. The cursor is NOT
31
- advanced. A newline is equivalent to clrtoeol(); tabs are
32
- expanded; other control characters are converted as with
33
- unctrl().
34
-
35
- The ins_wch() functions are the wide-character
36
- equivalents, taking cchar_t pointers rather than chtypes.
37
-
38
- Video attributes can be combined with a character by ORing
39
- them into the parameter. Text, including attributes, can be
40
- copied from one place to another using inch() and insch().
41
-
42
- insrawch() etc. are PDCurses-specific wrappers for insch() etc.
43
- that disable the translation of control characters.
44
-
45
- ### Return Value
46
-
47
- All functions return OK on success and ERR on error.
48
-
49
- ### Portability
50
- X/Open BSD SYS V
51
- insch Y Y Y
52
- winsch Y Y Y
53
- mvinsch Y Y Y
54
- mvwinsch Y Y Y
55
- insrawch - - -
56
- winsrawch - - -
57
- ins_wch Y
58
- wins_wch Y
59
- mvins_wch Y
60
- mvwins_wch Y
61
-
62
- **man-end****************************************************************/
63
-
64
- #include <string.h>
65
-
66
- int winsch(WINDOW *win, chtype ch)
67
- {
68
- int x, y;
69
- chtype attr;
70
- bool xlat;
71
-
72
- PDC_LOG(("winsch() - called: win=%p ch=%x (text=%c attr=0x%x)\n",
73
- win, ch, ch & A_CHARTEXT, ch & A_ATTRIBUTES));
74
-
75
- if (!win)
76
- return ERR;
77
-
78
- x = win->_curx;
79
- y = win->_cury;
80
-
81
- if (y > win->_maxy || x > win->_maxx || y < 0 || x < 0)
82
- return ERR;
83
-
84
- xlat = !SP->raw_out && !(ch & A_ALTCHARSET);
85
- attr = ch & A_ATTRIBUTES;
86
- ch &= A_CHARTEXT;
87
-
88
- if (xlat && (ch < ' ' || ch == 0x7f))
89
- {
90
- int x2;
91
-
92
- switch ((int)ch)
93
- {
94
- case '\t':
95
- for (x2 = ((x / TABSIZE) + 1) * TABSIZE; x < x2; x++)
96
- {
97
- if (winsch(win, attr | ' ') == ERR)
98
- return ERR;
99
- }
100
- return OK;
101
-
102
- case '\n':
103
- wclrtoeol(win);
104
- break;
105
-
106
- case 0x7f:
107
- if (winsch(win, attr | '?') == ERR)
108
- return ERR;
109
-
110
- return winsch(win, attr | '^');
111
-
112
- default:
113
- /* handle control chars */
114
-
115
- if (winsch(win, attr | (ch + '@')) == ERR)
116
- return ERR;
117
-
118
- return winsch(win, attr | '^');
119
- }
120
- }
121
- else
122
- {
123
- int maxx;
124
- chtype *temp;
125
-
126
- /* If the incoming character doesn't have its own attribute,
127
- then use the current attributes for the window. If it has
128
- attributes but not a color component, OR the attributes to
129
- the current attributes for the window. If it has a color
130
- component, use the attributes solely from the incoming
131
- character. */
132
-
133
- if (!(attr & A_COLOR))
134
- attr |= win->_attrs;
135
-
136
- /* wrs (4/10/93): Apply the same sort of logic for the window
137
- background, in that it only takes precedence if other color
138
- attributes are not there and that the background character
139
- will only print if the printing character is blank. */
140
-
141
- if (!(attr & A_COLOR))
142
- attr |= win->_bkgd & A_ATTRIBUTES;
143
- else
144
- attr |= win->_bkgd & (A_ATTRIBUTES ^ A_COLOR);
145
-
146
- if (ch == ' ')
147
- ch = win->_bkgd & A_CHARTEXT;
148
-
149
- /* Add the attribute back into the character. */
150
-
151
- ch |= attr;
152
-
153
- maxx = win->_maxx;
154
- temp = &win->_y[y][x];
155
-
156
- memmove(temp + 1, temp, (maxx - x - 1) * sizeof(chtype));
157
-
158
- win->_lastch[y] = maxx - 1;
159
-
160
- if ((win->_firstch[y] == _NO_CHANGE) || (win->_firstch[y] > x))
161
- win->_firstch[y] = x;
162
-
163
- *temp = ch;
164
- }
165
-
166
- PDC_sync(win);
167
-
168
- return OK;
169
- }
170
-
171
- int insch(chtype ch)
172
- {
173
- PDC_LOG(("insch() - called\n"));
174
-
175
- return winsch(stdscr, ch);
176
- }
177
-
178
- int mvinsch(int y, int x, chtype ch)
179
- {
180
- PDC_LOG(("mvinsch() - called\n"));
181
-
182
- if (move(y, x) == ERR)
183
- return ERR;
184
-
185
- return winsch(stdscr, ch);
186
- }
187
-
188
- int mvwinsch(WINDOW *win, int y, int x, chtype ch)
189
- {
190
- PDC_LOG(("mvwinsch() - called\n"));
191
-
192
- if (wmove(win, y, x) == ERR)
193
- return ERR;
194
-
195
- return winsch(win, ch);
196
- }
197
-
198
- int winsrawch(WINDOW *win, chtype ch)
199
- {
200
- PDC_LOG(("winsrawch() - called: win=%p ch=%x "
201
- "(char=%c attr=0x%x)\n", win, ch,
202
- ch & A_CHARTEXT, ch & A_ATTRIBUTES));
203
-
204
- if ((ch & A_CHARTEXT) < ' ' || (ch & A_CHARTEXT) == 0x7f)
205
- ch |= A_ALTCHARSET;
206
-
207
- return winsch(win, ch);
208
- }
209
-
210
- int insrawch(chtype ch)
211
- {
212
- PDC_LOG(("insrawch() - called\n"));
213
-
214
- return winsrawch(stdscr, ch);
215
- }
216
-
217
- int mvinsrawch(int y, int x, chtype ch)
218
- {
219
- PDC_LOG(("mvinsrawch() - called\n"));
220
-
221
- if (move(y, x) == ERR)
222
- return ERR;
223
-
224
- return winsrawch(stdscr, ch);
225
- }
226
-
227
- int mvwinsrawch(WINDOW *win, int y, int x, chtype ch)
228
- {
229
- PDC_LOG(("mvwinsrawch() - called\n"));
230
-
231
- if (wmove(win, y, x) == ERR)
232
- return ERR;
233
-
234
- return winsrawch(win, ch);
235
- }
236
-
237
- #ifdef PDC_WIDE
238
- int wins_wch(WINDOW *win, const cchar_t *wch)
239
- {
240
- PDC_LOG(("wins_wch() - called\n"));
241
-
242
- return wch ? winsch(win, *wch) : ERR;
243
- }
244
-
245
- int ins_wch(const cchar_t *wch)
246
- {
247
- PDC_LOG(("ins_wch() - called\n"));
248
-
249
- return wins_wch(stdscr, wch);
250
- }
251
-
252
- int mvins_wch(int y, int x, const cchar_t *wch)
253
- {
254
- PDC_LOG(("mvins_wch() - called\n"));
255
-
256
- if (move(y, x) == ERR)
257
- return ERR;
258
-
259
- return wins_wch(stdscr, wch);
260
- }
261
-
262
- int mvwins_wch(WINDOW *win, int y, int x, const cchar_t *wch)
263
- {
264
- PDC_LOG(("mvwins_wch() - called\n"));
265
-
266
- if (wmove(win, y, x) == ERR)
267
- return ERR;
268
-
269
- return wins_wch(win, wch);
270
- }
271
- #endif