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,51 +0,0 @@
1
- PDCurses for DOS
2
- ================
3
-
4
- This directory contains PDCurses source code files specific to DOS.
5
-
6
-
7
- Building
8
- --------
9
-
10
- - Choose the appropriate makefile for your compiler:
11
-
12
- Makefile - DJGPP V2
13
- Makefile.bcc - Borland C++ 3.0+
14
- Makefile.wcc - Open Watcom 1.8+ (16-bit or 32-bit)
15
- Makefile.dmc - Digital Mars
16
- Makefile.msc - Microsoft C
17
-
18
- - For 16-bit compilers, you can change the memory MODEL in the makefile.
19
- (Large model is the default, and recommended.)
20
-
21
- (For Open Watcom, pass MODEL=f (flat model) to "wmake" in order to use
22
- the 32-bit compiler. Selcting a 16-bit MODEL (e.g. MODEL=l) will
23
- invoke the 16-bit compiler.)
24
-
25
- - Optionally, you can build in a different directory than the platform
26
- directory by setting PDCURSES_SRCDIR to point to the directory where
27
- you unpacked PDCurses, and changing to your target directory:
28
-
29
- set PDCURSES_SRCDIR=c:\pdcurses
30
-
31
- - Build it:
32
-
33
- make -f makefile
34
-
35
- (For Watcom, use "wmake" instead of "make"; for MSVC, "nmake".) You'll
36
- get the libraries (pdcurses.lib or .a, depending on your compiler; and
37
- panel.lib or .a), the demos (*.exe), and a lot of object files.
38
-
39
-
40
- Distribution Status
41
- -------------------
42
-
43
- The files in this directory are released to the Public Domain.
44
-
45
-
46
- Acknowledgements
47
- ----------------
48
-
49
- Watcom C port was provided by Pieter Kunst <kunst@prl.philips.nl>
50
-
51
- DJGPP 1.x port was provided by David Nugent <davidn@csource.oz.au>
@@ -1,9 +0,0 @@
1
- +addch.obj +addchstr.obj +addstr.obj +attr.obj +beep.obj +bkgd.obj &
2
- +border.obj +clear.obj +color.obj +delch.obj +deleteln.obj +deprec.obj &
3
- +getch.obj +getstr.obj +getyx.obj +inch.obj +inchstr.obj +initscr.obj &
4
- +inopts.obj +insch.obj +insstr.obj +instr.obj +kernel.obj +keyname.obj &
5
- +mouse.obj +move.obj +outopts.obj +overlay.obj +pad.obj +panel.obj &
6
- +printw.obj +refresh.obj +scanw.obj +scr_dump.obj +scroll.obj +slk.obj &
7
- +termattr.obj +terminfo.obj +touch.obj +util.obj +window.obj +debug.obj &
8
- +pdcclip.obj +pdcdisp.obj +pdcgetsc.obj +pdckbd.obj +pdcscrn.obj &
9
- +pdcsetsc.obj +pdcutil.obj ,lib.map
@@ -1,50 +0,0 @@
1
- -+addch.obj &
2
- -+addchstr.obj &
3
- -+addstr.obj &
4
- -+attr.obj &
5
- -+beep.obj &
6
- -+bkgd.obj &
7
- -+border.obj &
8
- -+clear.obj &
9
- -+color.obj &
10
- -+delch.obj &
11
- -+deleteln.obj &
12
- -+deprec.obj &
13
- -+getch.obj &
14
- -+getstr.obj &
15
- -+getyx.obj &
16
- -+inch.obj &
17
- -+inchstr.obj &
18
- -+initscr.obj &
19
- -+inopts.obj &
20
- -+insch.obj &
21
- -+insstr.obj &
22
- -+instr.obj &
23
- -+kernel.obj &
24
- -+keyname.obj &
25
- -+mouse.obj &
26
- -+move.obj &
27
- -+outopts.obj &
28
- -+overlay.obj &
29
- -+pad.obj &
30
- -+panel.obj &
31
- -+printw.obj &
32
- -+refresh.obj &
33
- -+scanw.obj &
34
- -+scr_dump.obj &
35
- -+scroll.obj &
36
- -+slk.obj &
37
- -+termattr.obj &
38
- -+terminfo.obj &
39
- -+touch.obj &
40
- -+util.obj &
41
- -+window.obj &
42
- -+debug.obj &
43
- -+pdcclip.obj &
44
- -+pdcdisp.obj &
45
- -+pdcgetsc.obj &
46
- -+pdckbd.obj &
47
- -+pdcscrn.obj &
48
- -+pdcsetsc.obj &
49
- -+pdcutil.obj &
50
- ,lib.map;
@@ -1,132 +0,0 @@
1
- /* Public Domain Curses */
2
-
3
- #include "pdcdos.h"
4
-
5
- #include <stdlib.h>
6
-
7
- /*man-start**************************************************************
8
-
9
- clipboard
10
- ---------
11
-
12
- ### Synopsis
13
-
14
- int PDC_getclipboard(char **contents, long *length);
15
- int PDC_setclipboard(const char *contents, long length);
16
- int PDC_freeclipboard(char *contents);
17
- int PDC_clearclipboard(void);
18
-
19
- ### Description
20
-
21
- PDC_getclipboard() gets the textual contents of the system's
22
- clipboard. This function returns the contents of the clipboard
23
- in the contents argument. It is the responsibilitiy of the
24
- caller to free the memory returned, via PDC_freeclipboard().
25
- The length of the clipboard contents is returned in the length
26
- argument.
27
-
28
- PDC_setclipboard copies the supplied text into the system's
29
- clipboard, emptying the clipboard prior to the copy.
30
-
31
- PDC_clearclipboard() clears the internal clipboard.
32
-
33
- ### Return Values
34
-
35
- indicator of success/failure of call.
36
- PDC_CLIP_SUCCESS the call was successful
37
- PDC_CLIP_MEMORY_ERROR unable to allocate sufficient memory for
38
- the clipboard contents
39
- PDC_CLIP_EMPTY the clipboard contains no text
40
- PDC_CLIP_ACCESS_ERROR no clipboard support
41
-
42
- ### Portability
43
- X/Open BSD SYS V
44
- PDC_getclipboard - - -
45
- PDC_setclipboard - - -
46
- PDC_freeclipboard - - -
47
- PDC_clearclipboard - - -
48
-
49
- **man-end****************************************************************/
50
-
51
- /* global clipboard contents, should be NULL if none set */
52
-
53
- static char *pdc_DOS_clipboard = NULL;
54
-
55
- int PDC_getclipboard(char **contents, long *length)
56
- {
57
- int len;
58
-
59
- PDC_LOG(("PDC_getclipboard() - called\n"));
60
-
61
- if (!pdc_DOS_clipboard)
62
- return PDC_CLIP_EMPTY;
63
-
64
- len = strlen(pdc_DOS_clipboard);
65
- if ((*contents = malloc(len + 1)) == NULL)
66
- return PDC_CLIP_MEMORY_ERROR;
67
-
68
- strcpy(*contents, pdc_DOS_clipboard);
69
- *length = len;
70
-
71
- return PDC_CLIP_SUCCESS;
72
- }
73
-
74
- int PDC_setclipboard(const char *contents, long length)
75
- {
76
- PDC_LOG(("PDC_setclipboard() - called\n"));
77
-
78
- if (pdc_DOS_clipboard)
79
- {
80
- free(pdc_DOS_clipboard);
81
- pdc_DOS_clipboard = NULL;
82
- }
83
-
84
- if (contents)
85
- {
86
- if ((pdc_DOS_clipboard = malloc(length + 1)) == NULL)
87
- return PDC_CLIP_MEMORY_ERROR;
88
-
89
- strcpy(pdc_DOS_clipboard, contents);
90
- }
91
-
92
- return PDC_CLIP_SUCCESS;
93
- }
94
-
95
- int PDC_freeclipboard(char *contents)
96
- {
97
- PDC_LOG(("PDC_freeclipboard() - called\n"));
98
-
99
- /* should we also free empty the system clipboard? probably not */
100
-
101
- if (contents)
102
- {
103
-
104
- /* NOTE: We free the memory, but we can not set caller's pointer
105
- to NULL, so if caller calls again then will try to access
106
- free'd memory. We 1st overwrite memory with a string so if
107
- caller tries to use free memory they won't get what they
108
- expect & hopefully notice. */
109
-
110
- /* memset(contents, 0xFD, strlen(contents)); */
111
-
112
- if (strlen(contents) >= strlen("PDCURSES"))
113
- strcpy(contents, "PDCURSES");
114
-
115
- free(contents);
116
- }
117
-
118
- return PDC_CLIP_SUCCESS;
119
- }
120
-
121
- int PDC_clearclipboard(void)
122
- {
123
- PDC_LOG(("PDC_clearclipboard() - called\n"));
124
-
125
- if (pdc_DOS_clipboard)
126
- {
127
- free(pdc_DOS_clipboard);
128
- pdc_DOS_clipboard = NULL;
129
- }
130
-
131
- return PDC_CLIP_SUCCESS;
132
- }
@@ -1,135 +0,0 @@
1
- /* Public Domain Curses */
2
-
3
- #include "pdcdos.h"
4
-
5
- /* ACS definitions originally by jshumate@wrdis01.robins.af.mil -- these
6
- match code page 437 and compatible pages (CP850, CP852, etc.) */
7
-
8
- #ifdef CHTYPE_LONG
9
- #define USE_UNICODE_ACS_CHARS 0
10
- #include "acs_defs.h"
11
- #endif
12
-
13
- #ifdef __PACIFIC__
14
- void movedata(unsigned sseg, unsigned soff, unsigned dseg,
15
- unsigned doff, unsigned n)
16
- {
17
- far char *src = MK_FP(sseg, soff);
18
- far char *dst = MK_FP(dseg, doff);
19
-
20
- while (n--)
21
- *dst++ = *src++;
22
- }
23
- #endif
24
-
25
- /* position hardware cursor at (y, x) */
26
-
27
- void PDC_gotoyx(int row, int col)
28
- {
29
- PDCREGS regs;
30
-
31
- PDC_LOG(("PDC_gotoyx() - called: row %d col %d\n", row, col));
32
-
33
- regs.h.ah = 0x02;
34
- regs.h.bh = 0;
35
- regs.h.dh = (unsigned char) row;
36
- regs.h.dl = (unsigned char) col;
37
- PDCINT(0x10, regs);
38
- }
39
-
40
- /* update the given physical line to look like the corresponding line in
41
- curscr */
42
-
43
- /* NOTE: the original indexing into pdc_atrtab[] relied on three or five
44
- attribute bits in 'chtype' being adjacent to the color bits. Such is
45
- not the case for 64-bit chtypes (CHTYPE_LONG == 2), so we have to do
46
- additional bit-fiddling for that situation. Code is similar in Win32
47
- and DOS flavors. (BJG) */
48
-
49
- void PDC_transform_line(int lineno, int x, int len, const chtype *srcp)
50
- {
51
- int j;
52
-
53
- PDC_LOG(("PDC_transform_line() - called: line %d\n", lineno));
54
-
55
- if (pdc_direct_video)
56
- {
57
- #if SMALL || MEDIUM
58
- # ifndef __PACIFIC__
59
- struct SREGS segregs;
60
- # endif
61
- int ds;
62
- #endif
63
- /* this should be enough for the maximum width of a screen */
64
-
65
- struct {unsigned char text, attr;} temp_line[256];
66
-
67
- /* replace the attribute part of the chtype with the actual
68
- color value for each chtype in the line */
69
-
70
- for (j = 0; j < len; j++)
71
- {
72
- chtype ch = srcp[j];
73
-
74
- #if defined( CHTYPE_LONG) && (CHTYPE_LONG >= 2)
75
- temp_line[j].attr = pdc_atrtab[((ch >> PDC_ATTR_SHIFT) & 0x1f)
76
- | (((ch >> PDC_COLOR_SHIFT) & 0xff) << 5)];
77
- #else
78
- temp_line[j].attr = pdc_atrtab[ch >> PDC_ATTR_SHIFT];
79
- #endif
80
-
81
- #ifdef CHTYPE_LONG
82
- if (ch & A_ALTCHARSET && !(ch & 0xff80))
83
- ch = acs_map[ch & 0x7f];
84
- #endif
85
- temp_line[j].text = ch & 0xff;
86
- }
87
-
88
- #ifdef __DJGPP__
89
- dosmemput(temp_line, len * 2,
90
- (unsigned long)_FAR_POINTER(pdc_video_seg,
91
- pdc_video_ofs + (lineno * curscr->_maxx + x) * 2));
92
- #else
93
- # if SMALL || MEDIUM
94
- # ifdef __PACIFIC__
95
- ds = FP_SEG((void far *) temp_line);
96
- # else
97
- segread(&segregs);
98
- ds = segregs.ds;
99
- # endif
100
- movedata(ds, (int)temp_line, pdc_video_seg,
101
- pdc_video_ofs + (lineno * curscr->_maxx + x) * 2, len * 2);
102
- # else
103
- memcpy((void *)_FAR_POINTER(pdc_video_seg,
104
- pdc_video_ofs + (lineno * curscr->_maxx + x) * 2),
105
- temp_line, len * 2);
106
- # endif
107
- #endif
108
-
109
- }
110
- else
111
- for (j = 0; j < len;)
112
- {
113
- PDCREGS regs;
114
- unsigned short count = 1;
115
- chtype ch = srcp[j];
116
-
117
- while ((j + count < len) && (ch == srcp[j + count]))
118
- count++;
119
-
120
- PDC_gotoyx(lineno, j + x);
121
-
122
- regs.h.ah = 0x09;
123
- regs.W.bx = pdc_atrtab[ch >> PDC_ATTR_SHIFT];
124
- regs.W.cx = count;
125
- #ifdef CHTYPE_LONG
126
- if (ch & A_ALTCHARSET && !(ch & 0xff80))
127
- ch = acs_map[ch & 0x7f];
128
- #endif
129
- regs.h.al = (unsigned char) (ch & 0xff);
130
-
131
- PDCINT(0x10, regs);
132
-
133
- j += count;
134
- }
135
- }
@@ -1,194 +0,0 @@
1
- /* Public Domain Curses */
2
-
3
- #include <curspriv.h>
4
- #include <string.h>
5
-
6
- # if(CHTYPE_LONG >= 2) /* 64-bit chtypes */
7
- # define PDC_ATTR_SHIFT 23
8
- # else
9
- #ifdef CHTYPE_LONG /* 32-bit chtypes */
10
- # define PDC_ATTR_SHIFT 19
11
- #else /* 16-bit chtypes */
12
- # define PDC_ATTR_SHIFT 8
13
- #endif
14
- #endif
15
-
16
- #if defined(_MSC_VER) || defined(_QC)
17
- # define MSC 1
18
- #endif
19
-
20
- #if defined(__PACIFIC__) && !defined(__SMALL__)
21
- # define __SMALL__
22
- #endif
23
-
24
- #if defined(__HIGHC__) || MSC
25
- # include <bios.h>
26
- #endif
27
-
28
- /*----------------------------------------------------------------------
29
- * MEMORY MODEL SUPPORT:
30
- *
31
- * MODELS
32
- * TINY cs,ds,ss all in 1 segment (not enough memory!)
33
- * SMALL cs:1 segment, ds:1 segment
34
- * MEDIUM cs:many segments, ds:1 segment
35
- * COMPACT cs:1 segment, ds:many segments
36
- * LARGE cs:many segments, ds:many segments
37
- * HUGE cs:many segments, ds:segments > 64K
38
- */
39
-
40
- #ifdef __TINY__
41
- # define SMALL 1
42
- #endif
43
- #ifdef __SMALL__
44
- # define SMALL 1
45
- #endif
46
- #ifdef __MEDIUM__
47
- # define MEDIUM 1
48
- #endif
49
- #ifdef __COMPACT__
50
- # define COMPACT 1
51
- #endif
52
- #ifdef __LARGE__
53
- # define LARGE 1
54
- #endif
55
- #ifdef __HUGE__
56
- # define HUGE 1
57
- #endif
58
-
59
- #include <dos.h>
60
-
61
- extern unsigned char *pdc_atrtab;
62
- extern int pdc_adapter;
63
- extern int pdc_scrnmode;
64
- extern int pdc_font;
65
- extern bool pdc_direct_video;
66
- extern bool pdc_bogus_adapter;
67
- extern unsigned pdc_video_seg;
68
- extern unsigned pdc_video_ofs;
69
-
70
- #ifdef __DJGPP__ /* Note: works only in plain DOS... */
71
- # if DJGPP == 2
72
- # define _FAR_POINTER(s,o) ((((int)(s)) << 4) + ((int)(o)))
73
- # else
74
- # define _FAR_POINTER(s,o) (0xe0000000 + (((int)(s)) << 4) + ((int)(o)))
75
- # endif
76
- # define _FP_SEGMENT(p) (unsigned short)((((long)p) >> 4) & 0xffff)
77
- #else
78
- # ifdef __TURBOC__
79
- # define _FAR_POINTER(s,o) MK_FP(s,o)
80
- # else
81
- # if defined(__WATCOMC__) && defined(__FLAT__)
82
- # define _FAR_POINTER(s,o) ((((int)(s)) << 4) + ((int)(o)))
83
- # else
84
- # define _FAR_POINTER(s,o) (((long)s << 16) | (long)o)
85
- # endif
86
- # endif
87
- # define _FP_SEGMENT(p) (unsigned short)(((long)p) >> 4)
88
- #endif
89
- #define _FP_OFFSET(p) ((unsigned short)p & 0x000f)
90
-
91
- #ifdef __DJGPP__
92
- # include <sys/movedata.h>
93
- unsigned char getdosmembyte(int offs);
94
- unsigned short getdosmemword(int offs);
95
- unsigned long getdosmemdword(int offs);
96
- void setdosmembyte(int offs, unsigned char b);
97
- void setdosmemword(int offs, unsigned short w);
98
- #else
99
- # if SMALL || MEDIUM || MSC
100
- # define PDC_FAR far
101
- # else
102
- # define PDC_FAR
103
- # endif
104
- # define getdosmembyte(offs) \
105
- (*((unsigned char PDC_FAR *) _FAR_POINTER(0,offs)))
106
- # define getdosmemword(offs) \
107
- (*((unsigned short PDC_FAR *) _FAR_POINTER(0,offs)))
108
- # define getdosmemdword(offs) \
109
- (*((unsigned long PDC_FAR *) _FAR_POINTER(0,offs)))
110
- # define setdosmembyte(offs,x) \
111
- (*((unsigned char PDC_FAR *) _FAR_POINTER(0,offs)) = (x))
112
- # define setdosmemword(offs,x) \
113
- (*((unsigned short PDC_FAR *) _FAR_POINTER(0,offs)) = (x))
114
- #endif
115
-
116
- #if defined(__WATCOMC__) && defined(__386__)
117
-
118
- typedef union
119
- {
120
- struct
121
- {
122
- unsigned long edi, esi, ebp, res, ebx, edx, ecx, eax;
123
- } d;
124
-
125
- struct
126
- {
127
- unsigned short di, di_hi, si, si_hi, bp, bp_hi, res, res_hi,
128
- bx, bx_hi, dx, dx_hi, cx, cx_hi, ax, ax_hi,
129
- flags, es, ds, fs, gs, ip, cs, sp, ss;
130
- } w;
131
-
132
- struct
133
- {
134
- unsigned char edi[4], esi[4], ebp[4], res[4],
135
- bl, bh, ebx_b2, ebx_b3, dl, dh, edx_b2, edx_b3,
136
- cl, ch, ecx_b2, ecx_b3, al, ah, eax_b2, eax_b3;
137
- } h;
138
- } pdc_dpmi_regs;
139
-
140
- void PDC_dpmi_int(int, pdc_dpmi_regs *);
141
-
142
- #endif
143
-
144
- #ifdef __DJGPP__
145
- # include <dpmi.h>
146
- # define PDCREGS __dpmi_regs
147
- # define PDCINT(vector, regs) __dpmi_int(vector, &regs)
148
- #else
149
- # ifdef __WATCOMC__
150
- # ifdef __386__
151
- # define PDCREGS pdc_dpmi_regs
152
- # define PDCINT(vector, regs) PDC_dpmi_int(vector, &regs)
153
- # else
154
- # define PDCREGS union REGPACK
155
- # define PDCINT(vector, regs) intr(vector, &regs)
156
- # endif
157
- # else
158
- # define PDCREGS union REGS
159
- # define PDCINT(vector, regs) int86(vector, &regs, &regs)
160
- # endif
161
- #endif
162
-
163
- /* Wide registers in REGS: w or x? */
164
-
165
- #ifdef __WATCOMC__
166
- # define W w
167
- #else
168
- # define W x
169
- #endif
170
-
171
- /* Monitor (terminal) type information */
172
-
173
- enum
174
- {
175
- _NONE, _MDA, _CGA,
176
- _EGACOLOR = 0x04, _EGAMONO,
177
- _VGACOLOR = 0x07, _VGAMONO,
178
- _MCGACOLOR = 0x0a, _MCGAMONO,
179
- _MDS_GENIUS = 0x30
180
- };
181
-
182
- /* Text-mode font size information */
183
-
184
- enum
185
- {
186
- _FONT8 = 8,
187
- _FONT14 = 14,
188
- _FONT15, /* GENIUS */
189
- _FONT16
190
- };
191
-
192
- #ifdef __PACIFIC__
193
- void movedata(unsigned, unsigned, unsigned, unsigned, unsigned);
194
- #endif
@@ -1,98 +0,0 @@
1
- /* Public Domain Curses */
2
-
3
- #include "pdcdos.h"
4
-
5
- #include <stdlib.h>
6
-
7
- /* return width of screen/viewport */
8
-
9
- int PDC_get_columns(void)
10
- {
11
- PDCREGS regs;
12
- int cols;
13
- const char *env_cols;
14
-
15
- PDC_LOG(("PDC_get_columns() - called\n"));
16
-
17
- /* use the value from COLS environment variable, if set. MH 10-Jun-92 */
18
- /* and use the minimum of COLS and return from int10h MH 18-Jun-92 */
19
-
20
- regs.h.ah = 0x0f;
21
- PDCINT(0x10, regs);
22
- cols = (int)regs.h.ah;
23
-
24
- env_cols = getenv("COLS");
25
-
26
- if (env_cols)
27
- cols = min(atoi(env_cols), cols);
28
-
29
- PDC_LOG(("PDC_get_columns() - returned: cols %d\n", cols));
30
-
31
- return cols;
32
- }
33
-
34
- /* get the cursor size/shape */
35
-
36
- int PDC_get_cursor_mode(void)
37
- {
38
- PDC_LOG(("PDC_get_cursor_mode() - called\n"));
39
-
40
- return getdosmemword(0x460);
41
- }
42
-
43
- /* return number of screen rows */
44
-
45
- int PDC_get_rows(void)
46
- {
47
- const char *env_rows;
48
- int rows;
49
-
50
- PDC_LOG(("PDC_get_rows() - called\n"));
51
-
52
- /* use the value from LINES environment variable, if set. MH 10-Jun-92 */
53
- /* and use the minimum of LINES and *ROWS. MH 18-Jun-92 */
54
-
55
- rows = getdosmembyte(0x484) + 1;
56
- env_rows = getenv("LINES");
57
-
58
- if (env_rows)
59
- rows = min(atoi(env_rows), rows);
60
-
61
- if (rows == 1 && pdc_adapter == _MDS_GENIUS)
62
- rows = 66;
63
- if (rows == 1 && pdc_adapter == _MDA)
64
- rows = 25;
65
-
66
- if (rows == 1)
67
- {
68
- rows = 25;
69
- pdc_direct_video = FALSE;
70
- }
71
-
72
- switch (pdc_adapter)
73
- {
74
- case _EGACOLOR:
75
- case _EGAMONO:
76
- switch (rows)
77
- {
78
- case 25:
79
- case 43:
80
- break;
81
- default:
82
- rows = 25;
83
- }
84
- break;
85
-
86
- case _VGACOLOR:
87
- case _VGAMONO:
88
- break;
89
-
90
- default:
91
- rows = 25;
92
- break;
93
- }
94
-
95
- PDC_LOG(("PDC_get_rows() - returned: rows %d\n", rows));
96
-
97
- return rows;
98
- }