curses 1.4.4 → 1.4.6

Sign up to get free protection for your applications and to get access to all the features.
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,361 +0,0 @@
1
- PDCurses User's Guide
2
- =====================
3
-
4
- Curses Overview
5
- ---------------
6
-
7
- The X/Open Curses Interface Definition describes a set of C-Language
8
- functions that provide screen-handling and updating, which are
9
- collectively known as the curses library.
10
-
11
- The curses library permits manipulation of data structures called
12
- windows which may be thought of as two-dimensional arrays of
13
- characters representing all or part of a terminal's screen. The
14
- windows are manipulated using a procedural interface described
15
- elsewhere. The curses package maintains a record of what characters
16
- are on the screen. At the most basic level, manipulation is done with
17
- the routines move() and addch() which are used to "move" the curses
18
- around and add characters to the default window, stdscr, which
19
- represents the whole screen.
20
-
21
- An application may use these routines to add data to the window in any
22
- convenient order. Once all data have been added, the routine
23
- refresh() is called. The package then determines what changes have
24
- been made which affect the screen. The screen contents are then
25
- changed to reflect those characters now in the window, using a
26
- sequence of operations optimized for the type of terminal in use.
27
-
28
- At a higher level routines combining the actions of move() and addch()
29
- are defined, as are routines to add whole strings and to perform
30
- format conversions in the manner of printf().
31
-
32
- Interfaces are also defined to erase the entire window and to specify
33
- the attributes of individual characters in the window. Attributes
34
- such as inverse video, underline and blink can be used on a
35
- per-character basis.
36
-
37
- New windows can be created by allowing the application to build
38
- several images of the screen and display the appropriate one very
39
- quickly. New windows are created using the routine newwin(). For
40
- each routine that manipulates the default window, stdscr, there is a
41
- corresponding routine prefixed with w to manipulate the contents of a
42
- specified window; for example, move() and wmove(). In fact, move(...)
43
- is functionally equivalent to wmove( stdscr, ...). This is similar to
44
- the interface offered by printf(...) and fprintf(stdout, ...).
45
-
46
- Windows do not have to correspond to the entire screen. It is
47
- possible to create smaller windows, and also to indicate that the
48
- window is only partially visible on the screen. Furthermore, large
49
- windows or pads, which are bigger than the actual screen size, may be
50
- created.
51
-
52
- Interfaces are also defined to allow input character manipulation and
53
- to disable and enable many input attributes: character echo, single
54
- character input with or without signal processing (cbreak or raw
55
- modes), carriage returns mapping to newlines, screen scrolling, etc.
56
-
57
-
58
- Data Types and the \<curses.h\> Header
59
- --------------------------------------
60
-
61
- The data types supported by curses are described in this section.
62
-
63
- As the library supports a procedural interface to the data types, actual
64
- structure contents are not described. All curses data are manipulated
65
- using the routines provided.
66
-
67
-
68
- ### The \<curses.h\> Header
69
-
70
- The \<curses.h\> header defines various constants and declares the data
71
- types that are available to the application.
72
-
73
-
74
- ### Data Types
75
-
76
- The following data types are declared:
77
-
78
- WINDOW * pointer to screen representation
79
- SCREEN * pointer to terminal descriptor
80
- bool boolean data type
81
- chtype representation of a character in a window
82
- cchar_t the wide-character equivalent of chtype
83
- attr_t for WA_-style attributes
84
-
85
- The actual WINDOW and SCREEN objects used to store information are
86
- created by the corresponding routines and a pointer to them is provided.
87
- All manipulation is through that pointer.
88
-
89
-
90
- ### Variables
91
-
92
- The following variables are defined:
93
-
94
- LINES number of lines on terminal screen
95
- COLS number of columns on terminal screen
96
- stdscr pointer to the default screen window
97
- curscr pointer to the current screen image
98
- SP pointer to the current SCREEN struct
99
- Mouse_status status of the mouse
100
- COLORS number of colors available
101
- COLOR_PAIRS number of color pairs available
102
- TABSIZE size of one TAB block
103
- acs_map[] alternate character set map
104
- ttytype[] terminal name/description
105
-
106
-
107
- ### Constants
108
-
109
- The following constants are defined:
110
-
111
- #### General
112
-
113
- FALSE boolean false value
114
- TRUE boolean true value
115
- NULL zero pointer value
116
- ERR value returned on error condition
117
- OK value returned on successful completion
118
-
119
- #### Video Attributes
120
-
121
- Normally, attributes are a property of the character.
122
-
123
- For chtype:
124
-
125
- A_ALTCHARSET use the alternate character set
126
- A_BLINK bright background or blinking
127
- A_BOLD bright foreground or bold
128
- A_DIM half bright -- no effect in PDCurses
129
- A_INVIS invisible
130
- A_ITALIC italic
131
- A_LEFTLINE line along the left edge
132
- A_PROTECT protected (?) -- PDCurses renders this as a
133
- combination of the *LINE attributes
134
- A_REVERSE reverse video
135
- A_RIGHTLINE line along the right edge
136
- A_STANDOUT terminal's best highlighting mode
137
- A_UNDERLINE underline
138
-
139
- A_ATTRIBUTES bit-mask to extract attributes
140
- A_CHARTEXT bit-mask to extract a character
141
- A_COLOR bit-mask to extract a color-pair
142
-
143
- Not all attributes will work on all terminals. A_RIGHTLINE, A_LEFTLINE
144
- and A_ITALIC are specific to PDCurses. A_INVIS and A_ITALIC are given
145
- the same value in PDCurses.
146
-
147
- For attr_t:
148
-
149
- WA_ALTCHARSET same as A_ALTCHARSET
150
- WA_BLINK same as A_BLINK
151
- WA_BOLD same as A_BOLD
152
- WA_DIM same as A_DIM
153
- WA_INVIS same as A_INVIS
154
- WA_LEFT same as A_LEFTLINE
155
- WA_PROTECT same as A_PROTECT
156
- WA_REVERSE same as A_REVERSE
157
- WA_RIGHT same as A_RIGHTLINE
158
- WA_STANDOUT same as A_STANDOUT
159
- WA_UNDERLINE same as A_UNDERLINE
160
-
161
- Note that while A_LEFTLINE and A_RIGHTLINE are PDCurses-specific,
162
- WA_LEFT and WA_RIGHT are standard. The following are also defined, for
163
- compatibility, but currently have no effect in PDCurses: WA_HORIZONTAL,
164
- WA_LOW, WA_TOP, WA_VERTICAL.
165
-
166
- ### The Alternate Character Set
167
-
168
- For use in chtypes and with related functions. These are a portable way
169
- to represent graphics characters on different terminals.
170
-
171
- VT100-compatible symbols -- box characters:
172
-
173
- ACS_ULCORNER upper left box corner
174
- ACS_LLCORNER lower left box corner
175
- ACS_URCORNER upper right box corner
176
- ACS_LRCORNER lower right box corner
177
- ACS_RTEE right "T"
178
- ACS_LTEE left "T"
179
- ACS_BTEE bottom "T"
180
- ACS_TTEE top "T"
181
- ACS_HLINE horizontal line
182
- ACS_VLINE vertical line
183
- ACS_PLUS plus sign, cross, or four-corner piece
184
-
185
- VT100-compatible symbols -- other:
186
-
187
- ACS_S1 scan line 1
188
- ACS_S9 scan line 9
189
- ACS_DIAMOND diamond
190
- ACS_CKBOARD checkerboard -- 50% grey
191
- ACS_DEGREE degree symbol
192
- ACS_PLMINUS plus/minus sign
193
- ACS_BULLET bullet
194
-
195
- Teletype 5410v1 symbols -- these are defined in SysV curses, but are not
196
- well-supported by most terminals. Stick to VT100 characters for optimum
197
- portability:
198
-
199
- ACS_LARROW left arrow
200
- ACS_RARROW right arrow
201
- ACS_DARROW down arrow
202
- ACS_UARROW up arrow
203
- ACS_BOARD checkerboard -- lighter (less dense) than
204
- ACS_CKBOARD
205
- ACS_LANTERN lantern symbol
206
- ACS_BLOCK solid block
207
-
208
- That goes double for these -- undocumented SysV symbols. Don't use them:
209
-
210
- ACS_S3 scan line 3
211
- ACS_S7 scan line 7
212
- ACS_LEQUAL less than or equal
213
- ACS_GEQUAL greater than or equal
214
- ACS_PI pi
215
- ACS_NEQUAL not equal
216
- ACS_STERLING pounds sterling symbol
217
-
218
- Box character aliases:
219
-
220
- ACS_BSSB same as ACS_ULCORNER
221
- ACS_SSBB same as ACS_LLCORNER
222
- ACS_BBSS same as ACS_URCORNER
223
- ACS_SBBS same as ACS_LRCORNER
224
- ACS_SBSS same as ACS_RTEE
225
- ACS_SSSB same as ACS_LTEE
226
- ACS_SSBS same as ACS_BTEE
227
- ACS_BSSS same as ACS_TTEE
228
- ACS_BSBS same as ACS_HLINE
229
- ACS_SBSB same as ACS_VLINE
230
- ACS_SSSS same as ACS_PLUS
231
-
232
- For cchar_t and wide-character functions, WACS_ equivalents are also
233
- defined.
234
-
235
- ### Colors
236
-
237
- For use with init_pair(), color_set(), etc.:
238
-
239
- COLOR_BLACK
240
- COLOR_BLUE
241
- COLOR_GREEN
242
- COLOR_CYAN
243
- COLOR_RED
244
- COLOR_MAGENTA
245
- COLOR_YELLOW
246
- COLOR_WHITE
247
-
248
- Use these instead of numeric values. The definition of the colors
249
- depends on the implementation of curses.
250
-
251
-
252
- ### Input Values
253
-
254
- The following constants might be returned by getch() if keypad() has
255
- been enabled. Note that not all of these may be supported on a
256
- particular terminal:
257
-
258
- KEY_BREAK break key
259
- KEY_DOWN the four arrow keys
260
- KEY_UP
261
- KEY_LEFT
262
- KEY_RIGHT
263
- KEY_HOME home key (upward+left arrow)
264
- KEY_BACKSPACE backspace
265
- KEY_F0 function keys; space for 64 keys is reserved
266
- KEY_F(n) (KEY_F0+(n))
267
- KEY_DL delete line
268
- KEY_IL insert line
269
- KEY_DC delete character
270
- KEY_IC insert character
271
- KEY_EIC exit insert character mode
272
- KEY_CLEAR clear screen
273
- KEY_EOS clear to end of screen
274
- KEY_EOL clear to end of line
275
- KEY_SF scroll 1 line forwards
276
- KEY_SR scroll 1 line backwards (reverse)
277
- KEY_NPAGE next page
278
- KEY_PPAGE previous page
279
- KEY_STAB set tab
280
- KEY_CTAB clear tab
281
- KEY_CATAB clear all tabs
282
- KEY_ENTER enter or send
283
- KEY_SRESET soft (partial) reset
284
- KEY_RESET reset or hard reset
285
- KEY_PRINT print or copy
286
- KEY_LL home down or bottom (lower left)
287
- KEY_A1 upper left of virtual keypad
288
- KEY_A3 upper right of virtual keypad
289
- KEY_B2 center of virtual keypad
290
- KEY_C1 lower left of virtual keypad
291
- KEY_C3 lower right of virtual keypad
292
-
293
- KEY_BTAB Back tab key
294
- KEY_BEG Beginning key
295
- KEY_CANCEL Cancel key
296
- KEY_CLOSE Close key
297
- KEY_COMMAND Cmd (command) key
298
- KEY_COPY Copy key
299
- KEY_CREATE Create key
300
- KEY_END End key
301
- KEY_EXIT Exit key
302
- KEY_FIND Find key
303
- KEY_HELP Help key
304
- KEY_MARK Mark key
305
- KEY_MESSAGE Message key
306
- KEY_MOVE Move key
307
- KEY_NEXT Next object key
308
- KEY_OPEN Open key
309
- KEY_OPTIONS Options key
310
- KEY_PREVIOUS Previous object key
311
- KEY_REDO Redo key
312
- KEY_REFERENCE Reference key
313
- KEY_REFRESH Refresh key
314
- KEY_REPLACE Replace key
315
- KEY_RESTART Restart key
316
- KEY_RESUME Resume key
317
- KEY_SAVE Save key
318
- KEY_SBEG Shifted beginning key
319
- KEY_SCANCEL Shifted cancel key
320
- KEY_SCOMMAND Shifted command key
321
- KEY_SCOPY Shifted copy key
322
- KEY_SCREATE Shifted create key
323
- KEY_SDC Shifted delete char key
324
- KEY_SDL Shifted delete line key
325
- KEY_SELECT Select key
326
- KEY_SEND Shifted end key
327
- KEY_SEOL Shifted clear line key
328
- KEY_SEXIT Shifted exit key
329
- KEY_SFIND Shifted find key
330
- KEY_SHELP Shifted help key
331
- KEY_SHOME Shifted home key
332
- KEY_SIC Shifted input key
333
- KEY_SLEFT Shifted left arrow key
334
- KEY_SMESSAGE Shifted message key
335
- KEY_SMOVE Shifted move key
336
- KEY_SNEXT Shifted next key
337
- KEY_SOPTIONS Shifted options key
338
- KEY_SPREVIOUS Shifted prev key
339
- KEY_SPRINT Shifted print key
340
- KEY_SREDO Shifted redo key
341
- KEY_SREPLACE Shifted replace key
342
- KEY_SRIGHT Shifted right arrow
343
- KEY_SRSUME Shifted resume key
344
- KEY_SSAVE Shifted save key
345
- KEY_SSUSPEND Shifted suspend key
346
- KEY_SUNDO Shifted undo key
347
- KEY_SUSPEND Suspend key
348
- KEY_UNDO Undo key
349
-
350
- The virtual keypad is arranged like this:
351
-
352
- A1 up A3
353
- left B2 right
354
- C1 down C3
355
-
356
- This list is incomplete -- see curses.h for the full list, and use the
357
- testcurs demo to see what values are actually returned. The above are
358
- just the keys required by X/Open. In particular, PDCurses defines many
359
- CTL_ and ALT_ combinations; these are not portable.
360
-
361
- --------------------------------------------------------------------------
@@ -1,119 +0,0 @@
1
- /***********************************************************************/
2
- /* MANEXT - Extract manual pages from C source code. */
3
- /***********************************************************************/
4
- /*
5
- * MANEXT - A program to extract manual pages from C source code.
6
- * Copyright (C) 1991-1996 Mark Hessling
7
- *
8
- * This program is free software; you can redistribute it and/or
9
- * modify it under the terms of the GNU General Public License as
10
- * published by the Free Software Foundation; either version 2 of
11
- * the License, or any later version.
12
- *
13
- * This program is distributed in the hope that it will be useful,
14
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
- * General Public License for more details.
17
- *
18
- * If you make modifications to this software that you feel increases
19
- * it usefulness for the rest of the community, please email the
20
- * changes, enhancements, bug fixes as well as any and all ideas to me.
21
- * This software is going to be maintained and enhanced as deemed
22
- * necessary by the community.
23
- *
24
- * Mark Hessling <mark@rexx.org>
25
- */
26
-
27
- #include <stdio.h>
28
- #include <stdlib.h>
29
- #include <string.h>
30
-
31
- #define MAX_LINE 255
32
-
33
- void display_info()
34
- {
35
- fprintf(stderr, "\nMANEXT 1.03 Copyright (C) 1991-1996 Mark Hessling\n"
36
- "All rights reserved.\n"
37
- "MANEXT is distributed under the terms of the GNU\n"
38
- "General Public License and comes with NO WARRANTY.\n"
39
- "See the file COPYING for details.\n"
40
- "\nUsage: manext sourcefile [...]\n\n");
41
- }
42
-
43
- int main(int argc, char **argv)
44
- {
45
- char s[MAX_LINE + 1]; /* input line */
46
- int i;
47
- FILE *fp;
48
-
49
- #ifdef __EMX__
50
- _wildcard(&argc, &argv);
51
- #endif
52
- if (strcmp(argv[1], "-h") == 0)
53
- {
54
- display_info();
55
- exit(1);
56
- }
57
-
58
- for (i = 1; i < argc; i++)
59
- {
60
- if ((fp = fopen(argv[i], "r")) == NULL)
61
- {
62
- fprintf(stderr, "\nCould not open %s\n", argv[i]);
63
- continue;
64
- }
65
-
66
- while (!feof(fp))
67
- {
68
- if (fgets(s, (int)sizeof(s), fp) == NULL)
69
- {
70
- if (ferror(fp) != 0)
71
- {
72
- fprintf(stderr, "*** Error reading %s. Exiting.\n",
73
- argv[i]);
74
- exit(1);
75
- }
76
-
77
- break;
78
- }
79
-
80
- /* check for manual entry marker at beginning of line */
81
-
82
- if (strncmp(s, "/*man-start*", 12) != 0)
83
- continue;
84
-
85
- /* inner loop */
86
-
87
- for (;;)
88
- {
89
- /* read next line of manual entry */
90
-
91
- if (fgets(s, (int)sizeof(s), fp) == NULL)
92
- {
93
- if (ferror(fp) != 0)
94
- {
95
- fprintf(stderr, "*** Error reading %s. Exiting.\n",
96
- argv[i]);
97
- exit(1);
98
- }
99
-
100
- break;
101
- }
102
-
103
- /* check for end of entry marker */
104
-
105
- if (strncmp(s, "**man-end", 9) == 0)
106
- break;
107
-
108
- printf("%s", s);
109
- }
110
-
111
- printf("\n\n-----------------------------------"
112
- "---------------------------------------\n\n");
113
- }
114
-
115
- fclose(fp);
116
- }
117
-
118
- return 0;
119
- }
@@ -1,152 +0,0 @@
1
- SDL Considerations
2
- ==================
3
-
4
- There are no special requirements to use PDCurses for SDL -- all
5
- PDCurses-compatible code should work fine. (In fact, you can even build
6
- against the Win32 console pdcurses.dll, and then swap in the SDL
7
- pdcurses.dll.) Nothing extra is needed beyond the base SDL library.
8
- However, there are some optional special features, described here.
9
-
10
- The principal limitation of this port is that input is currently
11
- restricted to ASCII (i.e., 0-127), plus the special keys like KEY_LEFT.
12
- (You could have Unicode input, but then the input wouldn't match the
13
- output, which is in Code Page 437.) Also, see the note about the
14
- potential for incomplete output under "PDC_update_rects()", below.
15
-
16
-
17
- Fonts
18
- -----
19
-
20
- The font is a simple BMP, 32 characters wide by 8 characters tall,
21
- preferably with a palette. (BMPs without palettes still work, but in
22
- that case, no attributes will be available, nor will the cursor work.)
23
- The first entry in the palette (usually black) is treated as the
24
- background color; the last entry (usually white) is treated as the
25
- foreground. These are changed or made transparent as appropriate; any
26
- other colors in the palette are passed through unchanged. So -- although
27
- a one-bit depth is sufficient for a normal font -- you could redraw some
28
- characters as multi-colored tiles.
29
-
30
- The font must be monospaced. The size of each character is derived by
31
- dividing the width of the BMP by 32 and the height by 8. There is no
32
- constraint on the dimensions.
33
-
34
- As provided in the default font and expected by acs_map[], the font is
35
- in Code Page 437 form. But you can of course use any layout if you're
36
- not relying on correct values for the ACS_* macros.
37
-
38
- The font can be set via the environment variable PDC_FONT. If it's not
39
- set, PDCurses looks for a file named "pdcfont.bmp" in the current
40
- directory at the time of initscr(). If neither is found, it uses the
41
- built-in default font encoded in deffont.h.
42
-
43
-
44
- Backgrounds
45
- -----------
46
-
47
- PDCurses for SDL supports an optional background image BMP. This is used
48
- whenever start_color() has not been called (see the ptest demo for an
49
- example), or when use_default_colors() has been called after
50
- start_color(), and the background color of a pair has been set to -1
51
- (see ozdemo, worm, and rain for examples). The usage parallels that of
52
- ncurses in an appropriate terminal (e.g., Gnome Terminal). The image is
53
- tiled to cover the PDCurses window, and can be any size or depth.
54
-
55
- As with the font, you can point to a location for the background via the
56
- environment variable PDC_BACKGROUND; "pdcback.bmp" is the fallback.
57
- (There is no default background.)
58
-
59
-
60
- Icons
61
- -----
62
-
63
- The icon (used with SDL_WM_SetIcon() -- not used for the executable
64
- file) can be set via the environment variable PDC_ICON, and falls back
65
- to "pdcicon.bmp", and then to the built-in icon from deficon.h. The
66
- built-in icon is the PDCurses logo, as seen in ../x11/little_icon.xbm.
67
- The SDL docs say that the icon must be 32x32, at least for use with MS
68
- Windows.
69
-
70
- If pdc_screen is preinitialized (see below), PDCurses does not attempt
71
- to set the icon.
72
-
73
-
74
- Screen size
75
- -----------
76
-
77
- The default screen size is 80x25 characters (whatever size they may be),
78
- but you can override this via the environment variables PDC_COLS and/or
79
- PDC_LINES. (Some other ports use COLS and LINES; this is not done here
80
- because those values are, or should be, those of the controlling
81
- terminal, and PDCurses for SDL is independent of the terminal.) If
82
- pdc_screen is preinitialized (see below), these are ignored.
83
-
84
-
85
- Integration with SDL
86
- --------------------
87
-
88
- If you want to go further, you can mix PDCurses and SDL functions. (Of
89
- course this is extremely non-portable!) To aid you, there are several
90
- external variables and functions specific to the SDL port; you could
91
- include pdcsdl.h, or just add the declarations you need in your code:
92
-
93
- PDCEX SDL_Surface *pdc_screen, *pdc_font, *pdc_icon, *pdc_back;
94
- PDCEX int pdc_sheight, pdc_swidth, pdc_yoffset, pdc_xoffset;
95
-
96
- void PDC_update_rects(void);
97
- void PDC_retile(void);
98
-
99
- pdc_screen is the main surface, created by SDL_SetVideoMode(), unless
100
- it's preset before initscr(). You can perform normal SDL operations on
101
- this surface, but PDCurses won't respect them when it updates. (For
102
- that, see PDC_retile().) As an alternative, you can preinitialize this
103
- surface before calling initscr(). In that case, you can use pdc_sheight,
104
- pdc_swidth, pdc_yoffset and/or pdc_xoffset (q.v.) to confine PDCurses to
105
- only a specific area of the surface, reserving the rest for other SDL
106
- operations. If you preinitialize pdc_screen, you'll have to close it
107
- yourself; PDCurses will ignore resize events, and won't try to set the
108
- icon. Also note that if you preinitialize pdc_screen, it need not be the
109
- display surface.
110
-
111
- pdc_font, pdc_icon, and pdc_back are the SDL_surfaces for the font,
112
- icon, and background, respectively. You can set any or all of them
113
- before initscr(), and thus override any of the other ways to set them.
114
- But note that pdc_icon will be ignored if pdc_screen is preset.
115
-
116
- pdc_sheight and pdc_swidth are the dimensions of the area of pdc_screen
117
- to be used by PDCurses. You can preset them before initscr(); if either
118
- is not set, it defaults to the full screen size minus the x or y offset,
119
- as appropriate.
120
-
121
- pdc_xoffset and pdc_yoffset are the x and y offset for the area of
122
- pdc_screen to be used by PDCurses. See the sdltest demo for an example.
123
-
124
- PDC_retile() makes a copy of pdc_screen, then tiles it with the
125
- background image, if any. The resulting surface is used as the
126
- background for transparent character cells. PDC_retile() is called from
127
- initscr() and resize_term(). However, you can also use it at other
128
- times, to take advantage of the way it copies pdc_screen: Draw some SDL
129
- stuff; call PDC_retile(); do some curses stuff -- it will use whatever
130
- was on pdc_screen as the background. Then you can erase the curses
131
- screen, do some more SDL stuff, and call PDC_retile() again to make a
132
- new background. (If you don't erase the curses screen, it will be
133
- incorporated into the background when you call PDC_retile().) But this
134
- only works if no background image is set.
135
-
136
- PDC_update_rects() is how the screen actually gets updated. For
137
- performance reasons, when drawing, PDCurses for SDL maintains a table of
138
- rectangles that need updating, and only updates (by calling this
139
- function) during getch(), napms(), or when the table gets full.
140
- Normally, this is sufficient; but if you're pausing in some way other
141
- than by using napms(), and you're not doing keyboard checks, you may get
142
- an incomplete update. If that happens, you can call PDC_update_rects()
143
- manually.
144
-
145
-
146
- Interaction with stdio
147
- ----------------------
148
-
149
- As with X11, it's a bad idea to mix curses and stdio calls. (In fact,
150
- that's true for PDCurses on any platform; but especially these two,
151
- which don't run under terminals.) Depending on how SDL is built, stdout
152
- and stderr may be redirected to files.
@@ -1,58 +0,0 @@
1
- SDL2 Considerations
2
- ===================
3
-
4
- Most of the information in the [SDL Considerations](sdl.md) document is also
5
- valid for the SDL2 platform. This document describes the differences.
6
-
7
-
8
- Integration with SDL2
9
- ---------------------
10
-
11
- As mentioned in the [SDL Considerations](sdl.md) document, the SDL port uses
12
- the following variables:
13
-
14
- SDL_Surface *pdc_screen, *pdc_font, *pdc_icon, *pdc_back;
15
- int pdc_sheight, pdc_swidth, pdc_yoffset, pdc_xoffset;
16
-
17
- The SDL2 port adds:
18
-
19
- SDL_Window *pdc_window;
20
-
21
- These can be used or modified in your own code. Like the `pdc_screen` variable
22
- used by the SDL port, you can initialize `pdc_window` in your own code. See the
23
- sdltest demo for an example. If it's not initialized, PDCurses will do it for
24
- you. If PDCurses initializes `pdc_window`, it will clean up/deallocate these
25
- variables on exit.
26
-
27
-
28
- Fonts
29
- -----
30
-
31
- If the `PDC_WIDE` flag is set during compilation, SDL2_ttf is used to render
32
- fonts. This allows for use of a full UCS-2 (16 bit Unicode) character set.
33
-
34
- Using SDL2_ttf adds:
35
-
36
- TTF_Font *pdc_ttffont;
37
- int pdc_font_size;
38
-
39
- The default TrueType font can be modified by setting a define during compile
40
- time (e.g. `-DPDC_FONT_PATH=/usr/share/fonts/truetype/dejavu/`). This can be
41
- overridden by initializing `pdc_ttffont` in your own code. Similar
42
- to the `PDC_FONT` environment variable for bitmap fonts, one can also override
43
- TTF fonts using the `PDC_FONT` environment variables. Unless modified during
44
- compile time, the defaults are:
45
-
46
- Windows: C:/Windows/Fonts/lucon.ttf
47
- OS X: /Library/Fonts/Courier New.ttf
48
- Other: /usr/share/fonts/truetype/freefont/FreeMono.ttf
49
-
50
- Font size can be set using the `PDC_FONT_SIZE` environment variable or by
51
- setting the value of `pdc_font_size` in your own code. The default size is 18.
52
-
53
-
54
- Clipboard
55
- ---------
56
-
57
- SDL2 port uses functionality provided by the SDL2 clipboard functions to add
58
- basic clipboard support.