curses 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (935) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer/Dockerfile +132 -0
  3. data/.devcontainer/devcontainer.json +58 -0
  4. data/.devcontainer/init-firewall.sh +139 -0
  5. data/.github/workflows/gh-pages.yml +4 -4
  6. data/.github/workflows/macos.yml +5 -2
  7. data/.github/workflows/push_gem.yml +7 -2
  8. data/.github/workflows/ubuntu.yml +5 -2
  9. data/.github/workflows/windows.yml +5 -2
  10. data/.gitmodules +3 -3
  11. data/README.md +2 -2
  12. data/curses.gemspec +1 -1
  13. data/ext/curses/extconf.rb +5 -2
  14. data/lib/curses.rb +1 -1
  15. data/vendor/PDCursesMod/.github/workflows/github_actions_build.yml +42 -0
  16. data/vendor/PDCursesMod/.gitignore +47 -0
  17. data/vendor/PDCursesMod/.travis.yml +308 -0
  18. data/vendor/PDCursesMod/CMakeLists.txt +77 -0
  19. data/vendor/PDCursesMod/README.md +60 -0
  20. data/vendor/PDCursesMod/appveyor.yml +300 -0
  21. data/vendor/PDCursesMod/cmake/README.md +71 -0
  22. data/vendor/PDCursesMod/cmake/build_dependencies.cmake +186 -0
  23. data/vendor/PDCursesMod/cmake/build_options.cmake +29 -0
  24. data/vendor/PDCursesMod/cmake/dll_version.cmake +24 -0
  25. data/vendor/PDCursesMod/cmake/gen_config_header.cmake +40 -0
  26. data/vendor/PDCursesMod/cmake/get_version.cmake +17 -0
  27. data/vendor/PDCursesMod/cmake/project_common.cmake +131 -0
  28. data/vendor/PDCursesMod/cmake/sdl2_ttf/CMakeLists.txt +95 -0
  29. data/vendor/PDCursesMod/cmake/version.in.cmake +61 -0
  30. data/vendor/PDCursesMod/cmake/watcom_open_dos16_toolchain.cmake +90 -0
  31. data/vendor/PDCursesMod/cmake/watcom_open_dos32_toolchain.cmake +89 -0
  32. data/vendor/PDCursesMod/cmake/watcom_open_os2v2_toolchain.cmake +88 -0
  33. data/vendor/PDCursesMod/cmake/watcom_open_win32_toolchain.cmake +12 -0
  34. data/vendor/PDCursesMod/common/acs_defs.h +288 -0
  35. data/vendor/PDCursesMod/common/approx.c +163 -0
  36. data/vendor/PDCursesMod/common/beep.c +70 -0
  37. data/vendor/PDCursesMod/common/blink.c +90 -0
  38. data/vendor/PDCursesMod/common/config_curses.c +134 -0
  39. data/vendor/PDCursesMod/common/dos_key.h +59 -0
  40. data/vendor/PDCursesMod/common/dosutil.c +136 -0
  41. data/vendor/PDCursesMod/common/font437.h +386 -0
  42. data/vendor/PDCursesMod/common/icon32.xpm +42 -0
  43. data/vendor/PDCursesMod/common/icon64.xpm +74 -0
  44. data/vendor/PDCursesMod/common/iconbmp.h +24 -0
  45. data/vendor/PDCursesMod/common/libobjs.mif +32 -0
  46. data/vendor/PDCursesMod/common/mouse.c +293 -0
  47. data/vendor/PDCursesMod/common/pdcclip.c +135 -0
  48. data/vendor/PDCursesMod/common/pdccolor.c +223 -0
  49. data/vendor/PDCursesMod/common/pdccolor.h +17 -0
  50. data/vendor/PDCursesMod/common/pdccolor.txt +81 -0
  51. data/vendor/PDCursesMod/common/pdcurses.rc +35 -0
  52. data/vendor/PDCursesMod/common/psf.c +250 -0
  53. data/vendor/PDCursesMod/common/psf.h +13 -0
  54. data/vendor/PDCursesMod/common/psf_wide.h +584 -0
  55. data/vendor/PDCursesMod/common/watcom.mif +224 -0
  56. data/vendor/PDCursesMod/common/winclip.c +151 -0
  57. data/vendor/PDCursesMod/common/xlates.h +142 -0
  58. data/vendor/PDCursesMod/curses.h +1972 -0
  59. data/vendor/PDCursesMod/curspriv.h +295 -0
  60. data/vendor/PDCursesMod/demos/UTF-8-demo.txt +225 -0
  61. data/vendor/PDCursesMod/demos/calendar.c +278 -0
  62. data/vendor/PDCursesMod/demos/curses.priv.h +37 -0
  63. data/vendor/PDCursesMod/demos/dates.txt +2576 -0
  64. data/vendor/PDCursesMod/demos/firework.c +149 -0
  65. data/vendor/PDCursesMod/demos/init_col.c +152 -0
  66. data/vendor/PDCursesMod/demos/mbrot.c +366 -0
  67. data/vendor/PDCursesMod/demos/nctests.mif +299 -0
  68. data/vendor/PDCursesMod/demos/ncurses_cfg.h +100 -0
  69. data/vendor/PDCursesMod/demos/newtest.c +608 -0
  70. data/vendor/PDCursesMod/demos/ozdemo.c +444 -0
  71. data/vendor/PDCursesMod/demos/picsview.c +516 -0
  72. data/vendor/PDCursesMod/demos/ptest.c +315 -0
  73. data/vendor/PDCursesMod/demos/rain.c +161 -0
  74. data/vendor/PDCursesMod/demos/snprintf.c +30 -0
  75. data/vendor/PDCursesMod/demos/speed.c +124 -0
  76. data/vendor/PDCursesMod/demos/test_pan.c +372 -0
  77. data/vendor/PDCursesMod/demos/testcurs.c +1978 -0
  78. data/vendor/PDCursesMod/demos/tui.c +816 -0
  79. data/vendor/PDCursesMod/demos/tui.h +65 -0
  80. data/vendor/PDCursesMod/demos/tuidemo.c +231 -0
  81. data/vendor/PDCursesMod/demos/version.c +66 -0
  82. data/vendor/PDCursesMod/demos/widetest.c +130 -0
  83. data/vendor/PDCursesMod/demos/worm.c +450 -0
  84. data/vendor/PDCursesMod/demos/xmas.c +955 -0
  85. data/vendor/PDCursesMod/docs/HISTORY.md +3850 -0
  86. data/vendor/PDCursesMod/docs/IMPLEMNT.md +321 -0
  87. data/vendor/PDCursesMod/docs/MANUAL.md +3304 -0
  88. data/vendor/PDCursesMod/docs/README.md +51 -0
  89. data/vendor/PDCursesMod/docs/USERS.md +451 -0
  90. data/vendor/PDCursesMod/docs/manext.awk +15 -0
  91. data/vendor/PDCursesMod/docs/mkman.sh +7 -0
  92. data/vendor/PDCursesMod/dos/CMakeLists.txt +54 -0
  93. data/vendor/PDCursesMod/dos/Makefile +85 -0
  94. data/vendor/PDCursesMod/dos/Makefile.bcc +81 -0
  95. data/vendor/PDCursesMod/dos/Makefile.dmc +315 -0
  96. data/vendor/PDCursesMod/dos/Makefile.wcc +44 -0
  97. data/vendor/PDCursesMod/dos/README.md +49 -0
  98. data/vendor/PDCursesMod/dos/pdcclip.c +1 -0
  99. data/vendor/PDCursesMod/dos/pdcdisp.c +164 -0
  100. data/vendor/PDCursesMod/dos/pdcdos.h +173 -0
  101. data/vendor/PDCursesMod/dos/pdcgetsc.c +81 -0
  102. data/vendor/PDCursesMod/dos/pdckbd.c +428 -0
  103. data/vendor/PDCursesMod/dos/pdcscrn.c +707 -0
  104. data/vendor/PDCursesMod/dos/pdcsetsc.c +120 -0
  105. data/vendor/PDCursesMod/dos/pdcutil.c +11 -0
  106. data/vendor/PDCursesMod/dosvga/CMakeLists.txt +54 -0
  107. data/vendor/PDCursesMod/dosvga/Makefile +109 -0
  108. data/vendor/PDCursesMod/dosvga/Makefile.bcc +82 -0
  109. data/vendor/PDCursesMod/dosvga/Makefile.dmc +318 -0
  110. data/vendor/PDCursesMod/dosvga/Makefile.wcc +40 -0
  111. data/vendor/PDCursesMod/dosvga/README.md +58 -0
  112. data/vendor/PDCursesMod/dosvga/cp437.h +184 -0
  113. data/vendor/PDCursesMod/dosvga/font.h +454 -0
  114. data/vendor/PDCursesMod/dosvga/hexize.c +45 -0
  115. data/vendor/PDCursesMod/dosvga/mk_font.c +35 -0
  116. data/vendor/PDCursesMod/dosvga/pdcclip.c +1 -0
  117. data/vendor/PDCursesMod/dosvga/pdcdisp.c +684 -0
  118. data/vendor/PDCursesMod/dosvga/pdcdos.h +201 -0
  119. data/vendor/PDCursesMod/dosvga/pdcgetsc.c +47 -0
  120. data/vendor/PDCursesMod/dosvga/pdckbd.c +484 -0
  121. data/vendor/PDCursesMod/dosvga/pdcscrn.c +1693 -0
  122. data/vendor/PDCursesMod/dosvga/pdcsetsc.c +79 -0
  123. data/vendor/PDCursesMod/dosvga/pdcutil.c +13 -0
  124. data/vendor/PDCursesMod/dosvga/pdcvesa.h +88 -0
  125. data/vendor/PDCursesMod/fb/Makefile +150 -0
  126. data/vendor/PDCursesMod/fb/README.md +52 -0
  127. data/vendor/PDCursesMod/fb/cursor.c +111 -0
  128. data/vendor/PDCursesMod/fb/drm.c +264 -0
  129. data/vendor/PDCursesMod/fb/pdcclip.c +1 -0
  130. data/vendor/PDCursesMod/fb/pdcdisp.c +521 -0
  131. data/vendor/PDCursesMod/fb/pdcfb.h +11 -0
  132. data/vendor/PDCursesMod/fb/pdcgetsc.c +1 -0
  133. data/vendor/PDCursesMod/fb/pdckbd.c +114 -0
  134. data/vendor/PDCursesMod/fb/pdcmouse.c +185 -0
  135. data/vendor/PDCursesMod/fb/pdcscrn.c +539 -0
  136. data/vendor/PDCursesMod/fb/pdcsetsc.c +3 -0
  137. data/vendor/PDCursesMod/fb/pdcutil.c +5 -0
  138. data/vendor/PDCursesMod/gl/CMakeLists.txt +66 -0
  139. data/vendor/PDCursesMod/gl/Makefile +188 -0
  140. data/vendor/PDCursesMod/gl/Makefile.vc +129 -0
  141. data/vendor/PDCursesMod/gl/README.md +134 -0
  142. data/vendor/PDCursesMod/gl/glfuncs.h +159 -0
  143. data/vendor/PDCursesMod/gl/pdcclip.c +93 -0
  144. data/vendor/PDCursesMod/gl/pdcdisp.c +867 -0
  145. data/vendor/PDCursesMod/gl/pdcgetsc.c +30 -0
  146. data/vendor/PDCursesMod/gl/pdcgl.h +51 -0
  147. data/vendor/PDCursesMod/gl/pdckbd.c +548 -0
  148. data/vendor/PDCursesMod/gl/pdcscrn.c +700 -0
  149. data/vendor/PDCursesMod/gl/pdcsetsc.c +99 -0
  150. data/vendor/PDCursesMod/gl/pdcutil.c +35 -0
  151. data/vendor/PDCursesMod/ncurses/CMakeLists.txt +76 -0
  152. data/vendor/PDCursesMod/ncurses/Makefile +38 -0
  153. data/vendor/PDCursesMod/os2/Makefile +150 -0
  154. data/vendor/PDCursesMod/os2/Makefile.bcc +85 -0
  155. data/vendor/PDCursesMod/os2/Makefile.wcc +26 -0
  156. data/vendor/PDCursesMod/os2/iccos2.lrf +49 -0
  157. data/vendor/PDCursesMod/os2/iccos2.mak +260 -0
  158. data/vendor/PDCursesMod/os2/pdcclip.c +172 -0
  159. data/vendor/PDCursesMod/os2/pdcdisp.c +130 -0
  160. data/vendor/PDCursesMod/os2/pdcgetsc.c +52 -0
  161. data/vendor/PDCursesMod/os2/pdckbd.c +435 -0
  162. data/vendor/PDCursesMod/os2/pdcos2.h +21 -0
  163. data/vendor/PDCursesMod/os2/pdcscrn.c +231 -0
  164. data/vendor/PDCursesMod/os2/pdcsetsc.c +110 -0
  165. data/vendor/PDCursesMod/os2/pdcutil.c +51 -0
  166. data/vendor/PDCursesMod/os2gui/.gitignore +1 -0
  167. data/vendor/PDCursesMod/os2gui/CMakeLists.txt +30 -0
  168. data/vendor/PDCursesMod/os2gui/Makefile +139 -0
  169. data/vendor/PDCursesMod/os2gui/Makefile.wcc +32 -0
  170. data/vendor/PDCursesMod/os2gui/README.md +69 -0
  171. data/vendor/PDCursesMod/os2gui/pdcclip.c +165 -0
  172. data/vendor/PDCursesMod/os2gui/pdcdisp.c +2021 -0
  173. data/vendor/PDCursesMod/os2gui/pdcgetsc.c +26 -0
  174. data/vendor/PDCursesMod/os2gui/pdckbd.c +79 -0
  175. data/vendor/PDCursesMod/os2gui/pdcscrn.c +2433 -0
  176. data/vendor/PDCursesMod/os2gui/pdcsetsc.c +115 -0
  177. data/vendor/PDCursesMod/os2gui/pdcutil.c +42 -0
  178. data/vendor/PDCursesMod/os2gui/pdcwin.h +106 -0
  179. data/vendor/PDCursesMod/os2gui/table.py +112 -0
  180. data/vendor/PDCursesMod/os2gui/unitable.h +3933 -0
  181. data/vendor/PDCursesMod/panel.h +41 -0
  182. data/vendor/PDCursesMod/pdcurses/addch.c +838 -0
  183. data/vendor/PDCursesMod/pdcurses/addchstr.c +232 -0
  184. data/vendor/PDCursesMod/pdcurses/addstr.c +245 -0
  185. data/vendor/PDCursesMod/pdcurses/attr.c +430 -0
  186. data/vendor/PDCursesMod/pdcurses/beep.c +78 -0
  187. data/vendor/PDCursesMod/pdcurses/bkgd.c +233 -0
  188. data/vendor/PDCursesMod/pdcurses/border.c +413 -0
  189. data/vendor/PDCursesMod/pdcurses/clear.c +161 -0
  190. data/vendor/PDCursesMod/pdcurses/color.c +761 -0
  191. data/vendor/PDCursesMod/pdcurses/debug.c +157 -0
  192. data/vendor/PDCursesMod/pdcurses/delch.c +96 -0
  193. data/vendor/PDCursesMod/pdcurses/deleteln.c +149 -0
  194. data/vendor/PDCursesMod/pdcurses/getch.c +871 -0
  195. data/vendor/PDCursesMod/pdcurses/getstr.c +487 -0
  196. data/vendor/PDCursesMod/pdcurses/getyx.c +152 -0
  197. data/vendor/PDCursesMod/pdcurses/inch.c +133 -0
  198. data/vendor/PDCursesMod/pdcurses/inchstr.c +217 -0
  199. data/vendor/PDCursesMod/pdcurses/initscr.c +524 -0
  200. data/vendor/PDCursesMod/pdcurses/inopts.c +490 -0
  201. data/vendor/PDCursesMod/pdcurses/insch.c +273 -0
  202. data/vendor/PDCursesMod/pdcurses/insstr.c +268 -0
  203. data/vendor/PDCursesMod/pdcurses/instr.c +253 -0
  204. data/vendor/PDCursesMod/pdcurses/kernel.c +338 -0
  205. data/vendor/PDCursesMod/pdcurses/keyname.c +149 -0
  206. data/vendor/PDCursesMod/pdcurses/mouse.c +469 -0
  207. data/vendor/PDCursesMod/pdcurses/move.c +84 -0
  208. data/vendor/PDCursesMod/pdcurses/outopts.c +283 -0
  209. data/vendor/PDCursesMod/pdcurses/overlay.c +204 -0
  210. data/vendor/PDCursesMod/pdcurses/pad.c +303 -0
  211. data/vendor/PDCursesMod/pdcurses/pairs.txt +94 -0
  212. data/vendor/PDCursesMod/pdcurses/panel.c +551 -0
  213. data/vendor/PDCursesMod/pdcurses/printw.c +180 -0
  214. data/vendor/PDCursesMod/pdcurses/refresh.c +372 -0
  215. data/vendor/PDCursesMod/pdcurses/scanw.c +582 -0
  216. data/vendor/PDCursesMod/pdcurses/scr_dump.c +311 -0
  217. data/vendor/PDCursesMod/pdcurses/scroll.c +115 -0
  218. data/vendor/PDCursesMod/pdcurses/slk.c +660 -0
  219. data/vendor/PDCursesMod/pdcurses/termattr.c +177 -0
  220. data/vendor/PDCursesMod/pdcurses/terminfo.c +243 -0
  221. data/vendor/PDCursesMod/pdcurses/touch.c +255 -0
  222. data/vendor/PDCursesMod/pdcurses/util.c +502 -0
  223. data/vendor/PDCursesMod/pdcurses/window.c +708 -0
  224. data/vendor/PDCursesMod/plan9/README.md +57 -0
  225. data/vendor/PDCursesMod/plan9/header.patch +11 -0
  226. data/vendor/PDCursesMod/plan9/mkfile +103 -0
  227. data/vendor/PDCursesMod/plan9/mkfile_demo +42 -0
  228. data/vendor/PDCursesMod/plan9/pdcclip.c +1 -0
  229. data/vendor/PDCursesMod/plan9/pdcdisp.c +62 -0
  230. data/vendor/PDCursesMod/plan9/pdcgetsc.c +28 -0
  231. data/vendor/PDCursesMod/plan9/pdckbd.c +53 -0
  232. data/vendor/PDCursesMod/plan9/pdcplan9.h +10 -0
  233. data/vendor/PDCursesMod/plan9/pdcscrn.c +103 -0
  234. data/vendor/PDCursesMod/plan9/pdcsetsc.c +51 -0
  235. data/vendor/PDCursesMod/plan9/pdcutil.c +370 -0
  236. data/vendor/PDCursesMod/psffonts/10x20.psf +0 -0
  237. data/vendor/PDCursesMod/psffonts/18x18.psf +0 -0
  238. data/vendor/PDCursesMod/psffonts/4x6.psf +0 -0
  239. data/vendor/PDCursesMod/psffonts/6x12.psf +0 -0
  240. data/vendor/PDCursesMod/psffonts/8x13.psf +0 -0
  241. data/vendor/PDCursesMod/psffonts/9x15.psf +0 -0
  242. data/vendor/PDCursesMod/psffonts/9x18.psf +0 -0
  243. data/vendor/PDCursesMod/psffonts/README +38 -0
  244. data/vendor/PDCursesMod/psffonts/README.md +14 -0
  245. data/vendor/PDCursesMod/psffonts/bmp2psf2.c +130 -0
  246. data/vendor/PDCursesMod/psffonts/cour11x17.psf +0 -0
  247. data/vendor/PDCursesMod/psffonts/cour20x29.psf +0 -0
  248. data/vendor/PDCursesMod/psffonts/default.psf +0 -0
  249. data/vendor/PDCursesMod/psffonts/dosemu.psf +0 -0
  250. data/vendor/PDCursesMod/psffonts/fntcol16/2_hebrew-14.psf +0 -0
  251. data/vendor/PDCursesMod/psffonts/fntcol16/README +285 -0
  252. data/vendor/PDCursesMod/psffonts/fntcol16/antique-14.psf +0 -0
  253. data/vendor/PDCursesMod/psffonts/fntcol16/apeaus-08.psf +0 -0
  254. data/vendor/PDCursesMod/psffonts/fntcol16/apeaus-14.psf +0 -0
  255. data/vendor/PDCursesMod/psffonts/fntcol16/apeaus-16.psf +0 -0
  256. data/vendor/PDCursesMod/psffonts/fntcol16/apls-08.psf +0 -0
  257. data/vendor/PDCursesMod/psffonts/fntcol16/arabdrft-14.psf +0 -0
  258. data/vendor/PDCursesMod/psffonts/fntcol16/arabic-14.psf +0 -0
  259. data/vendor/PDCursesMod/psffonts/fntcol16/arabkufi-14.psf +0 -0
  260. data/vendor/PDCursesMod/psffonts/fntcol16/arabnaf-14.psf +0 -0
  261. data/vendor/PDCursesMod/psffonts/fntcol16/arbnaskh-14.psf +0 -0
  262. data/vendor/PDCursesMod/psffonts/fntcol16/armenian-08.psf +0 -0
  263. data/vendor/PDCursesMod/psffonts/fntcol16/armenian-14.psf +0 -0
  264. data/vendor/PDCursesMod/psffonts/fntcol16/armenian-16.psf +0 -0
  265. data/vendor/PDCursesMod/psffonts/fntcol16/art-16.psf +0 -0
  266. data/vendor/PDCursesMod/psffonts/fntcol16/ascii-14.psf +0 -0
  267. data/vendor/PDCursesMod/psffonts/fntcol16/backward-14.psf +0 -0
  268. data/vendor/PDCursesMod/psffonts/fntcol16/bdeclo-14.psf +0 -0
  269. data/vendor/PDCursesMod/psffonts/fntcol16/bhexall-14.psf +0 -0
  270. data/vendor/PDCursesMod/psffonts/fntcol16/bhexbox-14.psf +0 -0
  271. data/vendor/PDCursesMod/psffonts/fntcol16/bhexhi-14.psf +0 -0
  272. data/vendor/PDCursesMod/psffonts/fntcol16/bhexlo-14.psf +0 -0
  273. data/vendor/PDCursesMod/psffonts/fntcol16/bigserif-14.psf +0 -0
  274. data/vendor/PDCursesMod/psffonts/fntcol16/bigserif-16.psf +0 -0
  275. data/vendor/PDCursesMod/psffonts/fntcol16/bigsf-14.psf +0 -0
  276. data/vendor/PDCursesMod/psffonts/fntcol16/binaryed-14.psf +0 -0
  277. data/vendor/PDCursesMod/psffonts/fntcol16/blcksnsf-10.psf +0 -0
  278. data/vendor/PDCursesMod/psffonts/fntcol16/block-14.psf +0 -0
  279. data/vendor/PDCursesMod/psffonts/fntcol16/bold-14.psf +0 -0
  280. data/vendor/PDCursesMod/psffonts/fntcol16/boxround-14.psf +0 -0
  281. data/vendor/PDCursesMod/psffonts/fntcol16/boxround-16.psf +0 -0
  282. data/vendor/PDCursesMod/psffonts/fntcol16/broadway-14.psf +0 -0
  283. data/vendor/PDCursesMod/psffonts/fntcol16/bthin-14.psf +0 -0
  284. data/vendor/PDCursesMod/psffonts/fntcol16/bway2-14.psf +0 -0
  285. data/vendor/PDCursesMod/psffonts/fntcol16/cafe-10.psf +0 -0
  286. data/vendor/PDCursesMod/psffonts/fntcol16/cafe-12.psf +0 -0
  287. data/vendor/PDCursesMod/psffonts/fntcol16/cntdown-14.psf +0 -0
  288. data/vendor/PDCursesMod/psffonts/fntcol16/cntdown-16.psf +0 -0
  289. data/vendor/PDCursesMod/psffonts/fntcol16/computer-14.psf +0 -0
  290. data/vendor/PDCursesMod/psffonts/fntcol16/copyleft.txt +209 -0
  291. data/vendor/PDCursesMod/psffonts/fntcol16/courier-14.psf +0 -0
  292. data/vendor/PDCursesMod/psffonts/fntcol16/cp111-08.psf +0 -0
  293. data/vendor/PDCursesMod/psffonts/fntcol16/cp111-14.psf +0 -0
  294. data/vendor/PDCursesMod/psffonts/fntcol16/cp111-16.psf +0 -0
  295. data/vendor/PDCursesMod/psffonts/fntcol16/cp111-19.psf +0 -0
  296. data/vendor/PDCursesMod/psffonts/fntcol16/cp112-08.psf +0 -0
  297. data/vendor/PDCursesMod/psffonts/fntcol16/cp112-14.psf +0 -0
  298. data/vendor/PDCursesMod/psffonts/fntcol16/cp112-16.psf +0 -0
  299. data/vendor/PDCursesMod/psffonts/fntcol16/cp112-19.psf +0 -0
  300. data/vendor/PDCursesMod/psffonts/fntcol16/cp113-08.psf +0 -0
  301. data/vendor/PDCursesMod/psffonts/fntcol16/cp113-14.psf +0 -0
  302. data/vendor/PDCursesMod/psffonts/fntcol16/cp113-16.psf +0 -0
  303. data/vendor/PDCursesMod/psffonts/fntcol16/cp113-19.psf +0 -0
  304. data/vendor/PDCursesMod/psffonts/fntcol16/cp437-08.psf +0 -0
  305. data/vendor/PDCursesMod/psffonts/fntcol16/cp437-14.psf +0 -0
  306. data/vendor/PDCursesMod/psffonts/fntcol16/cp437-16.psf +0 -0
  307. data/vendor/PDCursesMod/psffonts/fntcol16/cp437-19.psf +0 -0
  308. data/vendor/PDCursesMod/psffonts/fntcol16/cp437alt-08.psf +0 -0
  309. data/vendor/PDCursesMod/psffonts/fntcol16/cp437bgr-08.psf +0 -0
  310. data/vendor/PDCursesMod/psffonts/fntcol16/cp850-08.psf +0 -0
  311. data/vendor/PDCursesMod/psffonts/fntcol16/cp850-14.psf +0 -0
  312. data/vendor/PDCursesMod/psffonts/fntcol16/cp850-16.psf +0 -0
  313. data/vendor/PDCursesMod/psffonts/fntcol16/cp850-19.psf +0 -0
  314. data/vendor/PDCursesMod/psffonts/fntcol16/cp851-08.psf +0 -0
  315. data/vendor/PDCursesMod/psffonts/fntcol16/cp851-14.psf +0 -0
  316. data/vendor/PDCursesMod/psffonts/fntcol16/cp851-16.psf +0 -0
  317. data/vendor/PDCursesMod/psffonts/fntcol16/cp851-19.psf +0 -0
  318. data/vendor/PDCursesMod/psffonts/fntcol16/cp852-08.psf +0 -0
  319. data/vendor/PDCursesMod/psffonts/fntcol16/cp852-14.psf +0 -0
  320. data/vendor/PDCursesMod/psffonts/fntcol16/cp852-16.psf +0 -0
  321. data/vendor/PDCursesMod/psffonts/fntcol16/cp852-19.psf +0 -0
  322. data/vendor/PDCursesMod/psffonts/fntcol16/cp853-08.psf +0 -0
  323. data/vendor/PDCursesMod/psffonts/fntcol16/cp853-14.psf +0 -0
  324. data/vendor/PDCursesMod/psffonts/fntcol16/cp853-16.psf +0 -0
  325. data/vendor/PDCursesMod/psffonts/fntcol16/cp853-19.psf +0 -0
  326. data/vendor/PDCursesMod/psffonts/fntcol16/cp860-08.psf +0 -0
  327. data/vendor/PDCursesMod/psffonts/fntcol16/cp860-14.psf +0 -0
  328. data/vendor/PDCursesMod/psffonts/fntcol16/cp860-16.psf +0 -0
  329. data/vendor/PDCursesMod/psffonts/fntcol16/cp860-19.psf +0 -0
  330. data/vendor/PDCursesMod/psffonts/fntcol16/cp861-08.psf +0 -0
  331. data/vendor/PDCursesMod/psffonts/fntcol16/cp861-14.psf +0 -0
  332. data/vendor/PDCursesMod/psffonts/fntcol16/cp861-16.psf +0 -0
  333. data/vendor/PDCursesMod/psffonts/fntcol16/cp861-19.psf +0 -0
  334. data/vendor/PDCursesMod/psffonts/fntcol16/cp862-08.psf +0 -0
  335. data/vendor/PDCursesMod/psffonts/fntcol16/cp862-14.psf +0 -0
  336. data/vendor/PDCursesMod/psffonts/fntcol16/cp862-16.psf +0 -0
  337. data/vendor/PDCursesMod/psffonts/fntcol16/cp863-08.psf +0 -0
  338. data/vendor/PDCursesMod/psffonts/fntcol16/cp863-14.psf +0 -0
  339. data/vendor/PDCursesMod/psffonts/fntcol16/cp863-16.psf +0 -0
  340. data/vendor/PDCursesMod/psffonts/fntcol16/cp863-19.psf +0 -0
  341. data/vendor/PDCursesMod/psffonts/fntcol16/cp864-08.psf +0 -0
  342. data/vendor/PDCursesMod/psffonts/fntcol16/cp864-14.psf +0 -0
  343. data/vendor/PDCursesMod/psffonts/fntcol16/cp864-16.psf +0 -0
  344. data/vendor/PDCursesMod/psffonts/fntcol16/cp865-08.psf +0 -0
  345. data/vendor/PDCursesMod/psffonts/fntcol16/cp865-14.psf +0 -0
  346. data/vendor/PDCursesMod/psffonts/fntcol16/cp865-16.psf +0 -0
  347. data/vendor/PDCursesMod/psffonts/fntcol16/cp865-19.psf +0 -0
  348. data/vendor/PDCursesMod/psffonts/fntcol16/cp866-08.psf +0 -0
  349. data/vendor/PDCursesMod/psffonts/fntcol16/cp866-14.psf +0 -0
  350. data/vendor/PDCursesMod/psffonts/fntcol16/cp866-16.psf +0 -0
  351. data/vendor/PDCursesMod/psffonts/fntcol16/cp880-08.psf +0 -0
  352. data/vendor/PDCursesMod/psffonts/fntcol16/cp880-14.psf +0 -0
  353. data/vendor/PDCursesMod/psffonts/fntcol16/cp880-16.psf +0 -0
  354. data/vendor/PDCursesMod/psffonts/fntcol16/cp881-08.psf +0 -0
  355. data/vendor/PDCursesMod/psffonts/fntcol16/cp881-14.psf +0 -0
  356. data/vendor/PDCursesMod/psffonts/fntcol16/cp881-16.psf +0 -0
  357. data/vendor/PDCursesMod/psffonts/fntcol16/cp882-08.psf +0 -0
  358. data/vendor/PDCursesMod/psffonts/fntcol16/cp882-14.psf +0 -0
  359. data/vendor/PDCursesMod/psffonts/fntcol16/cp882-16.psf +0 -0
  360. data/vendor/PDCursesMod/psffonts/fntcol16/cp883-08.psf +0 -0
  361. data/vendor/PDCursesMod/psffonts/fntcol16/cp883-14.psf +0 -0
  362. data/vendor/PDCursesMod/psffonts/fntcol16/cp883-16.psf +0 -0
  363. data/vendor/PDCursesMod/psffonts/fntcol16/cp884-08.psf +0 -0
  364. data/vendor/PDCursesMod/psffonts/fntcol16/cp884-14.psf +0 -0
  365. data/vendor/PDCursesMod/psffonts/fntcol16/cp884-16.psf +0 -0
  366. data/vendor/PDCursesMod/psffonts/fntcol16/cp885-08.psf +0 -0
  367. data/vendor/PDCursesMod/psffonts/fntcol16/cp885-14.psf +0 -0
  368. data/vendor/PDCursesMod/psffonts/fntcol16/cp885-16.psf +0 -0
  369. data/vendor/PDCursesMod/psffonts/fntcol16/cyril2-14.psf +0 -0
  370. data/vendor/PDCursesMod/psffonts/fntcol16/cyril_b-08.psf +0 -0
  371. data/vendor/PDCursesMod/psffonts/fntcol16/cyrill1-08.psf +0 -0
  372. data/vendor/PDCursesMod/psffonts/fntcol16/cyrill1-14.psf +0 -0
  373. data/vendor/PDCursesMod/psffonts/fntcol16/cyrill1-16.psf +0 -0
  374. data/vendor/PDCursesMod/psffonts/fntcol16/cyrill2-08.psf +0 -0
  375. data/vendor/PDCursesMod/psffonts/fntcol16/cyrill2-14.psf +0 -0
  376. data/vendor/PDCursesMod/psffonts/fntcol16/cyrill2-16.psf +0 -0
  377. data/vendor/PDCursesMod/psffonts/fntcol16/cyrill3-08.psf +0 -0
  378. data/vendor/PDCursesMod/psffonts/fntcol16/cyrill3-14.psf +0 -0
  379. data/vendor/PDCursesMod/psffonts/fntcol16/cyrill3-16.psf +0 -0
  380. data/vendor/PDCursesMod/psffonts/fntcol16/cyrillic-14.psf +0 -0
  381. data/vendor/PDCursesMod/psffonts/fntcol16/decorate-16.psf +0 -0
  382. data/vendor/PDCursesMod/psffonts/fntcol16/draw-14.psf +0 -0
  383. data/vendor/PDCursesMod/psffonts/fntcol16/drawhi-14.psf +0 -0
  384. data/vendor/PDCursesMod/psffonts/fntcol16/europe-14.psf +0 -0
  385. data/vendor/PDCursesMod/psffonts/fntcol16/evga-alt-08.psf +0 -0
  386. data/vendor/PDCursesMod/psffonts/fntcol16/evga-alt-09.psf +0 -0
  387. data/vendor/PDCursesMod/psffonts/fntcol16/evga-alt-10.psf +0 -0
  388. data/vendor/PDCursesMod/psffonts/fntcol16/evga-alt-11.psf +0 -0
  389. data/vendor/PDCursesMod/psffonts/fntcol16/evga-alt-12.psf +0 -0
  390. data/vendor/PDCursesMod/psffonts/fntcol16/evga-alt-13.psf +0 -0
  391. data/vendor/PDCursesMod/psffonts/fntcol16/farsi-14.psf +0 -0
  392. data/vendor/PDCursesMod/psffonts/fntcol16/finnish-14.psf +0 -0
  393. data/vendor/PDCursesMod/psffonts/fntcol16/fontorig.txt +308 -0
  394. data/vendor/PDCursesMod/psffonts/fntcol16/fractur-14.psf +0 -0
  395. data/vendor/PDCursesMod/psffonts/fntcol16/future-14.psf +0 -0
  396. data/vendor/PDCursesMod/psffonts/fntcol16/gaelic-14.psf +0 -0
  397. data/vendor/PDCursesMod/psffonts/fntcol16/gaelic1-14.psf +0 -0
  398. data/vendor/PDCursesMod/psffonts/fntcol16/georgian-14.psf +0 -0
  399. data/vendor/PDCursesMod/psffonts/fntcol16/grckssrf-08.psf +0 -0
  400. data/vendor/PDCursesMod/psffonts/fntcol16/grckssrf-14.psf +0 -0
  401. data/vendor/PDCursesMod/psffonts/fntcol16/grckssrf-16.psf +0 -0
  402. data/vendor/PDCursesMod/psffonts/fntcol16/greek-06.psf +0 -0
  403. data/vendor/PDCursesMod/psffonts/fntcol16/greek-07.psf +0 -0
  404. data/vendor/PDCursesMod/psffonts/fntcol16/greek-08.psf +0 -0
  405. data/vendor/PDCursesMod/psffonts/fntcol16/greek-14.psf +0 -0
  406. data/vendor/PDCursesMod/psffonts/fntcol16/greek-16.psf +0 -0
  407. data/vendor/PDCursesMod/psffonts/fntcol16/greek1-14.psf +0 -0
  408. data/vendor/PDCursesMod/psffonts/fntcol16/greek2-14.psf +0 -0
  409. data/vendor/PDCursesMod/psffonts/fntcol16/hack4th-16.psf +0 -0
  410. data/vendor/PDCursesMod/psffonts/fntcol16/handugly-16.psf +0 -0
  411. data/vendor/PDCursesMod/psffonts/fntcol16/handwrit-14.psf +0 -0
  412. data/vendor/PDCursesMod/psffonts/fntcol16/handwrit-16.psf +0 -0
  413. data/vendor/PDCursesMod/psffonts/fntcol16/heb-7bit-16.psf +0 -0
  414. data/vendor/PDCursesMod/psffonts/fntcol16/heb-big-14.psf +0 -0
  415. data/vendor/PDCursesMod/psffonts/fntcol16/heb-bold-16.psf +0 -0
  416. data/vendor/PDCursesMod/psffonts/fntcol16/heb-ktab-14.psf +0 -0
  417. data/vendor/PDCursesMod/psffonts/fntcol16/heb-med-14.psf +0 -0
  418. data/vendor/PDCursesMod/psffonts/fntcol16/heb-snsf-14.psf +0 -0
  419. data/vendor/PDCursesMod/psffonts/fntcol16/hebboldk-16.psf +0 -0
  420. data/vendor/PDCursesMod/psffonts/fntcol16/hebclrgf-14.psf +0 -0
  421. data/vendor/PDCursesMod/psffonts/fntcol16/hebktav1-16.psf +0 -0
  422. data/vendor/PDCursesMod/psffonts/fntcol16/hebktav2-16.psf +0 -0
  423. data/vendor/PDCursesMod/psffonts/fntcol16/heblarge-14.psf +0 -0
  424. data/vendor/PDCursesMod/psffonts/fntcol16/heblarge-16.psf +0 -0
  425. data/vendor/PDCursesMod/psffonts/fntcol16/hebrew-14.psf +0 -0
  426. data/vendor/PDCursesMod/psffonts/fntcol16/hebugly-16.psf +0 -0
  427. data/vendor/PDCursesMod/psffonts/fntcol16/hebyogi-16.psf +0 -0
  428. data/vendor/PDCursesMod/psffonts/fntcol16/hercital-08.psf +0 -0
  429. data/vendor/PDCursesMod/psffonts/fntcol16/hercules-08.psf +0 -0
  430. data/vendor/PDCursesMod/psffonts/fntcol16/hercules-10.psf +0 -0
  431. data/vendor/PDCursesMod/psffonts/fntcol16/hercules-14.psf +0 -0
  432. data/vendor/PDCursesMod/psffonts/fntcol16/history.txt +45 -0
  433. data/vendor/PDCursesMod/psffonts/fntcol16/hollow-14.psf +0 -0
  434. data/vendor/PDCursesMod/psffonts/fntcol16/hrkgreek-14.psf +0 -0
  435. data/vendor/PDCursesMod/psffonts/fntcol16/hylas-14.psf +0 -0
  436. data/vendor/PDCursesMod/psffonts/fntcol16/icons-14.psf +0 -0
  437. data/vendor/PDCursesMod/psffonts/fntcol16/inverted-14.psf +0 -0
  438. data/vendor/PDCursesMod/psffonts/fntcol16/iso-14.psf +0 -0
  439. data/vendor/PDCursesMod/psffonts/fntcol16/iso2-14.psf +0 -0
  440. data/vendor/PDCursesMod/psffonts/fntcol16/iso3-14.psf +0 -0
  441. data/vendor/PDCursesMod/psffonts/fntcol16/iso4-14.psf +0 -0
  442. data/vendor/PDCursesMod/psffonts/fntcol16/italics-14.psf +0 -0
  443. data/vendor/PDCursesMod/psffonts/fntcol16/kana-14.psf +0 -0
  444. data/vendor/PDCursesMod/psffonts/fntcol16/kana-16.psf +0 -0
  445. data/vendor/PDCursesMod/psffonts/fntcol16/lb_large-16.psf +0 -0
  446. data/vendor/PDCursesMod/psffonts/fntcol16/lb_misc-14.psf +0 -0
  447. data/vendor/PDCursesMod/psffonts/fntcol16/lb_ocr-14.psf +0 -0
  448. data/vendor/PDCursesMod/psffonts/fntcol16/lb_ocr-16.psf +0 -0
  449. data/vendor/PDCursesMod/psffonts/fntcol16/lbarabic-14.psf +0 -0
  450. data/vendor/PDCursesMod/psffonts/fntcol16/lbitalic-14.psf +0 -0
  451. data/vendor/PDCursesMod/psffonts/fntcol16/lbitalic-16.psf +0 -0
  452. data/vendor/PDCursesMod/psffonts/fntcol16/lbscript-14.psf +0 -0
  453. data/vendor/PDCursesMod/psffonts/fntcol16/lcd-14.psf +0 -0
  454. data/vendor/PDCursesMod/psffonts/fntcol16/mac-08.psf +0 -0
  455. data/vendor/PDCursesMod/psffonts/fntcol16/macntosh-14.psf +0 -0
  456. data/vendor/PDCursesMod/psffonts/fntcol16/macntosh-16.psf +0 -0
  457. data/vendor/PDCursesMod/psffonts/fntcol16/madrid-10.psf +0 -0
  458. data/vendor/PDCursesMod/psffonts/fntcol16/medieval-14.psf +0 -0
  459. data/vendor/PDCursesMod/psffonts/fntcol16/modern-16.psf +0 -0
  460. data/vendor/PDCursesMod/psffonts/fntcol16/norway-14.psf +0 -0
  461. data/vendor/PDCursesMod/psffonts/fntcol16/norway2-14.psf +0 -0
  462. data/vendor/PDCursesMod/psffonts/fntcol16/old-engl-14.psf +0 -0
  463. data/vendor/PDCursesMod/psffonts/fntcol16/old-engl-16.psf +0 -0
  464. data/vendor/PDCursesMod/psffonts/fntcol16/oldeng-14.psf +0 -0
  465. data/vendor/PDCursesMod/psffonts/fntcol16/oldeng-f-16.psf +0 -0
  466. data/vendor/PDCursesMod/psffonts/fntcol16/pc_6-14.psf +0 -0
  467. data/vendor/PDCursesMod/psffonts/fntcol16/pc_7-14.psf +0 -0
  468. data/vendor/PDCursesMod/psffonts/fntcol16/persian-14.psf +0 -0
  469. data/vendor/PDCursesMod/psffonts/fntcol16/persian-16.psf +0 -0
  470. data/vendor/PDCursesMod/psffonts/fntcol16/police-16.psf +0 -0
  471. data/vendor/PDCursesMod/psffonts/fntcol16/polish-14.psf +0 -0
  472. data/vendor/PDCursesMod/psffonts/fntcol16/polish1-14.psf +0 -0
  473. data/vendor/PDCursesMod/psffonts/fntcol16/pp_roman-16.psf +0 -0
  474. data/vendor/PDCursesMod/psffonts/fntcol16/pp_sser-16.psf +0 -0
  475. data/vendor/PDCursesMod/psffonts/fntcol16/readabl7-16.psf +0 -0
  476. data/vendor/PDCursesMod/psffonts/fntcol16/readabl8-16.psf +0 -0
  477. data/vendor/PDCursesMod/psffonts/fntcol16/readable-08.psf +0 -0
  478. data/vendor/PDCursesMod/psffonts/fntcol16/readable-10.psf +0 -0
  479. data/vendor/PDCursesMod/psffonts/fntcol16/reverse-14.psf +0 -0
  480. data/vendor/PDCursesMod/psffonts/fntcol16/rimrock-10.psf +0 -0
  481. data/vendor/PDCursesMod/psffonts/fntcol16/rmrkbold-14.psf +0 -0
  482. data/vendor/PDCursesMod/psffonts/fntcol16/rom8pix-08.psf +0 -0
  483. data/vendor/PDCursesMod/psffonts/fntcol16/roman-14.psf +0 -0
  484. data/vendor/PDCursesMod/psffonts/fntcol16/roman-16.psf +0 -0
  485. data/vendor/PDCursesMod/psffonts/fntcol16/runic-14.psf +0 -0
  486. data/vendor/PDCursesMod/psffonts/fntcol16/russian-08.psf +0 -0
  487. data/vendor/PDCursesMod/psffonts/fntcol16/russian-14.psf +0 -0
  488. data/vendor/PDCursesMod/psffonts/fntcol16/russian-16.psf +0 -0
  489. data/vendor/PDCursesMod/psffonts/fntcol16/russian1-14.psf +0 -0
  490. data/vendor/PDCursesMod/psffonts/fntcol16/sanserif-14.psf +0 -0
  491. data/vendor/PDCursesMod/psffonts/fntcol16/sanserif-16.psf +0 -0
  492. data/vendor/PDCursesMod/psffonts/fntcol16/script-14.psf +0 -0
  493. data/vendor/PDCursesMod/psffonts/fntcol16/scrwl----16.psf +0 -0
  494. data/vendor/PDCursesMod/psffonts/fntcol16/scrwl~~~-16.psf +0 -0
  495. data/vendor/PDCursesMod/psffonts/fntcol16/security-14.psf +0 -0
  496. data/vendor/PDCursesMod/psffonts/fntcol16/side-10.psf +0 -0
  497. data/vendor/PDCursesMod/psffonts/fntcol16/slant-14.psf +0 -0
  498. data/vendor/PDCursesMod/psffonts/fntcol16/smalcaps-14.psf +0 -0
  499. data/vendor/PDCursesMod/psffonts/fntcol16/smcapnum-14.psf +0 -0
  500. data/vendor/PDCursesMod/psffonts/fntcol16/spranto-14.psf +0 -0
  501. data/vendor/PDCursesMod/psffonts/fntcol16/spranto1-16.psf +0 -0
  502. data/vendor/PDCursesMod/psffonts/fntcol16/spranto2-16.psf +0 -0
  503. data/vendor/PDCursesMod/psffonts/fntcol16/square-12.psf +0 -0
  504. data/vendor/PDCursesMod/psffonts/fntcol16/standard-14.psf +0 -0
  505. data/vendor/PDCursesMod/psffonts/fntcol16/standard-16.psf +0 -0
  506. data/vendor/PDCursesMod/psffonts/fntcol16/stretch-14.psf +0 -0
  507. data/vendor/PDCursesMod/psffonts/fntcol16/subsup-16.psf +0 -0
  508. data/vendor/PDCursesMod/psffonts/fntcol16/super-16.psf +0 -0
  509. data/vendor/PDCursesMod/psffonts/fntcol16/swiss-16.psf +0 -0
  510. data/vendor/PDCursesMod/psffonts/fntcol16/swiss-av-16.psf +0 -0
  511. data/vendor/PDCursesMod/psffonts/fntcol16/swissav2-16.psf +0 -0
  512. data/vendor/PDCursesMod/psffonts/fntcol16/swissbox-16.psf +0 -0
  513. data/vendor/PDCursesMod/psffonts/fntcol16/swissbx2-16.psf +0 -0
  514. data/vendor/PDCursesMod/psffonts/fntcol16/tex-math-14.psf +0 -0
  515. data/vendor/PDCursesMod/psffonts/fntcol16/tex-math-16.psf +0 -0
  516. data/vendor/PDCursesMod/psffonts/fntcol16/thai-14.psf +0 -0
  517. data/vendor/PDCursesMod/psffonts/fntcol16/thin_ss-08.psf +0 -0
  518. data/vendor/PDCursesMod/psffonts/fntcol16/thin_ss-14.psf +0 -0
  519. data/vendor/PDCursesMod/psffonts/fntcol16/thin_ss-16.psf +0 -0
  520. data/vendor/PDCursesMod/psffonts/fntcol16/thinasci-07.psf +0 -0
  521. data/vendor/PDCursesMod/psffonts/fntcol16/thincaps-14.psf +0 -0
  522. data/vendor/PDCursesMod/psffonts/fntcol16/thindemo-14.psf +0 -0
  523. data/vendor/PDCursesMod/psffonts/fntcol16/thinscrp-14.psf +0 -0
  524. data/vendor/PDCursesMod/psffonts/fntcol16/turkish-14.psf +0 -0
  525. data/vendor/PDCursesMod/psffonts/fntcol16/urdu-14.psf +0 -0
  526. data/vendor/PDCursesMod/psffonts/fntcol16/vga-rom-08.psf +0 -0
  527. data/vendor/PDCursesMod/psffonts/fntcol16/vga-rom-14.psf +0 -0
  528. data/vendor/PDCursesMod/psffonts/fntcol16/vga-rom-16.psf +0 -0
  529. data/vendor/PDCursesMod/psffonts/fntcol16/voynich-16.psf +0 -0
  530. data/vendor/PDCursesMod/psffonts/fntcol16/wiggly-16.psf +0 -0
  531. data/vendor/PDCursesMod/psffonts/fntcol16/yugosla-14.psf +0 -0
  532. data/vendor/PDCursesMod/psffonts/lc12x20.psf +0 -0
  533. data/vendor/PDCursesMod/psffonts/makefile +2 -0
  534. data/vendor/PDCursesMod/psffonts/mappings/8859-3.TXT +285 -0
  535. data/vendor/PDCursesMod/psffonts/mappings/APL-ISO-IR-68.TXT +273 -0
  536. data/vendor/PDCursesMod/psffonts/mappings/ATARIST.TXT +320 -0
  537. data/vendor/PDCursesMod/psffonts/mappings/CP1006.TXT +302 -0
  538. data/vendor/PDCursesMod/psffonts/mappings/CP1250.TXT +274 -0
  539. data/vendor/PDCursesMod/psffonts/mappings/CP1251.TXT +274 -0
  540. data/vendor/PDCursesMod/psffonts/mappings/CP1252.TXT +274 -0
  541. data/vendor/PDCursesMod/psffonts/mappings/CP1253.TXT +274 -0
  542. data/vendor/PDCursesMod/psffonts/mappings/CP1254.TXT +274 -0
  543. data/vendor/PDCursesMod/psffonts/mappings/CP1255.TXT +274 -0
  544. data/vendor/PDCursesMod/psffonts/mappings/CP1256.TXT +274 -0
  545. data/vendor/PDCursesMod/psffonts/mappings/CP1257.TXT +274 -0
  546. data/vendor/PDCursesMod/psffonts/mappings/CP1258.TXT +274 -0
  547. data/vendor/PDCursesMod/psffonts/mappings/CP424.TXT +304 -0
  548. data/vendor/PDCursesMod/psffonts/mappings/CP437.TXT +274 -0
  549. data/vendor/PDCursesMod/psffonts/mappings/CP737.TXT +274 -0
  550. data/vendor/PDCursesMod/psffonts/mappings/CP775.TXT +275 -0
  551. data/vendor/PDCursesMod/psffonts/mappings/CP850.TXT +274 -0
  552. data/vendor/PDCursesMod/psffonts/mappings/CP851.TXT +276 -0
  553. data/vendor/PDCursesMod/psffonts/mappings/CP852.TXT +274 -0
  554. data/vendor/PDCursesMod/psffonts/mappings/CP855.TXT +275 -0
  555. data/vendor/PDCursesMod/psffonts/mappings/CP856.TXT +303 -0
  556. data/vendor/PDCursesMod/psffonts/mappings/CP857.TXT +275 -0
  557. data/vendor/PDCursesMod/psffonts/mappings/CP860.TXT +275 -0
  558. data/vendor/PDCursesMod/psffonts/mappings/CP861.TXT +275 -0
  559. data/vendor/PDCursesMod/psffonts/mappings/CP862.TXT +275 -0
  560. data/vendor/PDCursesMod/psffonts/mappings/CP863.TXT +275 -0
  561. data/vendor/PDCursesMod/psffonts/mappings/CP864.TXT +275 -0
  562. data/vendor/PDCursesMod/psffonts/mappings/CP865.TXT +275 -0
  563. data/vendor/PDCursesMod/psffonts/mappings/CP866.TXT +275 -0
  564. data/vendor/PDCursesMod/psffonts/mappings/CP869.TXT +275 -0
  565. data/vendor/PDCursesMod/psffonts/mappings/CP874.TXT +274 -0
  566. data/vendor/PDCursesMod/psffonts/mappings/CP932.TXT +7998 -0
  567. data/vendor/PDCursesMod/psffonts/mappings/CP936.TXT +22065 -0
  568. data/vendor/PDCursesMod/psffonts/mappings/CP949.TXT +17322 -0
  569. data/vendor/PDCursesMod/psffonts/mappings/CP950.TXT +13777 -0
  570. data/vendor/PDCursesMod/psffonts/mappings/IBMGRAPH.TXT +99 -0
  571. data/vendor/PDCursesMod/psffonts/mappings/KOI8-R.TXT +294 -0
  572. data/vendor/PDCursesMod/psffonts/mappings/KOI8-U.TXT +301 -0
  573. data/vendor/PDCursesMod/psffonts/mappings/KPS9566.TXT +17166 -0
  574. data/vendor/PDCursesMod/psffonts/mappings/KZ1048.TXT +294 -0
  575. data/vendor/PDCursesMod/psffonts/mappings/ReadMe.txt +20 -0
  576. data/vendor/PDCursesMod/psffonts/mappings/SGML.TXT +1041 -0
  577. data/vendor/PDCursesMod/psffonts/medieval2.psf +0 -0
  578. data/vendor/PDCursesMod/psffonts/vga11x19.psf +0 -0
  579. data/vendor/PDCursesMod/sdl1/Makefile +140 -0
  580. data/vendor/PDCursesMod/sdl1/README.md +200 -0
  581. data/vendor/PDCursesMod/sdl1/pdcclip.c +1 -0
  582. data/vendor/PDCursesMod/sdl1/pdcdisp.c +462 -0
  583. data/vendor/PDCursesMod/sdl1/pdcgetsc.c +30 -0
  584. data/vendor/PDCursesMod/sdl1/pdckbd.c +417 -0
  585. data/vendor/PDCursesMod/sdl1/pdcscrn.c +396 -0
  586. data/vendor/PDCursesMod/sdl1/pdcsdl.h +34 -0
  587. data/vendor/PDCursesMod/sdl1/pdcsetsc.c +99 -0
  588. data/vendor/PDCursesMod/sdl1/pdcutil.c +34 -0
  589. data/vendor/PDCursesMod/sdl1/sdltest.c +79 -0
  590. data/vendor/PDCursesMod/sdl2/CMakeLists.txt +76 -0
  591. data/vendor/PDCursesMod/sdl2/Makefile +207 -0
  592. data/vendor/PDCursesMod/sdl2/Makefile.vc +132 -0
  593. data/vendor/PDCursesMod/sdl2/README.md +215 -0
  594. data/vendor/PDCursesMod/sdl2/pdcclip.c +93 -0
  595. data/vendor/PDCursesMod/sdl2/pdcdisp.c +536 -0
  596. data/vendor/PDCursesMod/sdl2/pdcgetsc.c +30 -0
  597. data/vendor/PDCursesMod/sdl2/pdckbd.c +540 -0
  598. data/vendor/PDCursesMod/sdl2/pdcscrn.c +529 -0
  599. data/vendor/PDCursesMod/sdl2/pdcsdl.h +46 -0
  600. data/vendor/PDCursesMod/sdl2/pdcsetsc.c +99 -0
  601. data/vendor/PDCursesMod/sdl2/pdcutil.c +35 -0
  602. data/vendor/PDCursesMod/sdl2/sdltest.c +91 -0
  603. data/vendor/PDCursesMod/sdl2/versions.mif +2 -0
  604. data/vendor/PDCursesMod/term.h +48 -0
  605. data/vendor/PDCursesMod/tests/README.md +16 -0
  606. data/vendor/PDCursesMod/tests/brk_test.c +42 -0
  607. data/vendor/PDCursesMod/tests/del_test.c +95 -0
  608. data/vendor/PDCursesMod/tests/focus.c +53 -0
  609. data/vendor/PDCursesMod/tests/ins_del.c +108 -0
  610. data/vendor/PDCursesMod/tests/keytest.c +87 -0
  611. data/vendor/PDCursesMod/tests/naptest.c +43 -0
  612. data/vendor/PDCursesMod/tests/opaque.c +42 -0
  613. data/vendor/PDCursesMod/tests/restart.c +60 -0
  614. data/vendor/PDCursesMod/tests/ripoff.c +141 -0
  615. data/vendor/PDCursesMod/tests/show_col.c +55 -0
  616. data/vendor/PDCursesMod/tests/show_uni.c +163 -0
  617. data/vendor/PDCursesMod/tests/vt0.c +472 -0
  618. data/vendor/PDCursesMod/vt/CMakeLists.txt +35 -0
  619. data/vendor/PDCursesMod/vt/Makefile +204 -0
  620. data/vendor/PDCursesMod/vt/Makefile.bcc +101 -0
  621. data/vendor/PDCursesMod/vt/Makefile.dmc +313 -0
  622. data/vendor/PDCursesMod/vt/Makefile.vc +145 -0
  623. data/vendor/PDCursesMod/vt/Makefile.wcc +48 -0
  624. data/vendor/PDCursesMod/vt/README.md +82 -0
  625. data/vendor/PDCursesMod/vt/pdcclip.c +8 -0
  626. data/vendor/PDCursesMod/vt/pdcdisp.c +424 -0
  627. data/vendor/PDCursesMod/vt/pdckbd.c +603 -0
  628. data/vendor/PDCursesMod/vt/pdcscrn.c +492 -0
  629. data/vendor/PDCursesMod/vt/pdcsetsc.c +158 -0
  630. data/vendor/PDCursesMod/vt/pdcutil.c +85 -0
  631. data/vendor/PDCursesMod/vt/pdcvt.h +25 -0
  632. data/vendor/PDCursesMod/wincon/CMakeLists.txt +29 -0
  633. data/vendor/PDCursesMod/wincon/Makefile +190 -0
  634. data/vendor/PDCursesMod/wincon/Makefile.bcc +87 -0
  635. data/vendor/PDCursesMod/wincon/Makefile.dmc +275 -0
  636. data/vendor/PDCursesMod/wincon/Makefile.vc +132 -0
  637. data/vendor/PDCursesMod/wincon/Makefile.wcc +33 -0
  638. data/vendor/PDCursesMod/wincon/README.md +76 -0
  639. data/vendor/PDCursesMod/wincon/pdcclip.c +6 -0
  640. data/vendor/PDCursesMod/wincon/pdcdisp.c +408 -0
  641. data/vendor/PDCursesMod/wincon/pdcgetsc.c +42 -0
  642. data/vendor/PDCursesMod/wincon/pdckbd.c +778 -0
  643. data/vendor/PDCursesMod/wincon/pdcscrn.c +733 -0
  644. data/vendor/PDCursesMod/wincon/pdcsetsc.c +130 -0
  645. data/vendor/PDCursesMod/wincon/pdcutil.c +38 -0
  646. data/vendor/PDCursesMod/wincon/pdcwin.h +35 -0
  647. data/vendor/PDCursesMod/wingui/CMakeLists.txt +30 -0
  648. data/vendor/PDCursesMod/wingui/Makefile +186 -0
  649. data/vendor/PDCursesMod/wingui/Makefile.bcc +80 -0
  650. data/vendor/PDCursesMod/wingui/Makefile.dmc +314 -0
  651. data/vendor/PDCursesMod/wingui/Makefile.vc +144 -0
  652. data/vendor/PDCursesMod/wingui/Makefile.wcc +32 -0
  653. data/vendor/PDCursesMod/wingui/README.md +92 -0
  654. data/vendor/PDCursesMod/wingui/pdcclip.c +6 -0
  655. data/vendor/PDCursesMod/wingui/pdcdisp.c +576 -0
  656. data/vendor/PDCursesMod/wingui/pdckbd.c +89 -0
  657. data/vendor/PDCursesMod/wingui/pdcscrn.c +2235 -0
  658. data/vendor/PDCursesMod/wingui/pdcsetsc.c +124 -0
  659. data/vendor/PDCursesMod/wingui/pdcutil.c +44 -0
  660. data/vendor/PDCursesMod/wingui/pdcwin.h +85 -0
  661. data/vendor/PDCursesMod/x11/Makefile.in +1047 -0
  662. data/vendor/PDCursesMod/x11/README.md +227 -0
  663. data/vendor/PDCursesMod/x11/aclocal.m4 +553 -0
  664. data/vendor/PDCursesMod/x11/config.guess +1774 -0
  665. data/vendor/PDCursesMod/x11/config.h.in +37 -0
  666. data/vendor/PDCursesMod/x11/config.sub +1907 -0
  667. data/vendor/PDCursesMod/x11/configure +5944 -0
  668. data/vendor/PDCursesMod/x11/configure.ac +175 -0
  669. data/vendor/PDCursesMod/x11/pdcclip.c +254 -0
  670. data/vendor/PDCursesMod/x11/pdcdisp.c +418 -0
  671. data/vendor/PDCursesMod/x11/pdcgetsc.c +28 -0
  672. data/vendor/PDCursesMod/x11/pdckbd.c +743 -0
  673. data/vendor/PDCursesMod/x11/pdcscrn.c +848 -0
  674. data/vendor/PDCursesMod/x11/pdcsetsc.c +108 -0
  675. data/vendor/PDCursesMod/x11/pdcutil.c +41 -0
  676. data/vendor/PDCursesMod/x11/pdcx11.h +82 -0
  677. data/vendor/PDCursesMod/x11/sb.c +331 -0
  678. data/vendor/PDCursesMod/x11/scrlbox.c +348 -0
  679. data/vendor/PDCursesMod/x11/scrlbox.h +47 -0
  680. data/vendor/PDCursesMod/x11/xcurses-config.in +81 -0
  681. data/vendor/PDCursesMod/x11new/Makefile +151 -0
  682. data/vendor/PDCursesMod/x11new/README.md +63 -0
  683. data/vendor/PDCursesMod/x11new/pdcclip.c +221 -0
  684. data/vendor/PDCursesMod/x11new/pdcdisp.c +195 -0
  685. data/vendor/PDCursesMod/x11new/pdcgetsc.c +27 -0
  686. data/vendor/PDCursesMod/x11new/pdckbd.c +722 -0
  687. data/vendor/PDCursesMod/x11new/pdcscrn.c +277 -0
  688. data/vendor/PDCursesMod/x11new/pdcsetsc.c +90 -0
  689. data/vendor/PDCursesMod/x11new/pdcutil.c +38 -0
  690. data/vendor/PDCursesMod/x11new/pdcx11.h +16 -0
  691. metadata +692 -246
  692. data/vendor/PDCurses/.gitignore +0 -47
  693. data/vendor/PDCurses/.travis.yml +0 -49
  694. data/vendor/PDCurses/CMakeLists.txt +0 -68
  695. data/vendor/PDCurses/HISTORY.md +0 -2036
  696. data/vendor/PDCurses/IMPLEMNT.md +0 -327
  697. data/vendor/PDCurses/Makefile +0 -27
  698. data/vendor/PDCurses/README.md +0 -77
  699. data/vendor/PDCurses/acs_defs.h +0 -265
  700. data/vendor/PDCurses/appveyor.yml +0 -218
  701. data/vendor/PDCurses/cmake/README.md +0 -71
  702. data/vendor/PDCurses/cmake/build_dependencies.cmake +0 -178
  703. data/vendor/PDCurses/cmake/build_options.cmake +0 -25
  704. data/vendor/PDCurses/cmake/dll_version.cmake +0 -26
  705. data/vendor/PDCurses/cmake/gen_config_header.cmake +0 -43
  706. data/vendor/PDCurses/cmake/get_version.cmake +0 -17
  707. data/vendor/PDCurses/cmake/project_common.cmake +0 -121
  708. data/vendor/PDCurses/cmake/sdl2_ttf/CMakeLists.txt +0 -83
  709. data/vendor/PDCurses/cmake/version.in.cmake +0 -73
  710. data/vendor/PDCurses/cmake/watcom_open_dos16_toolchain.cmake +0 -96
  711. data/vendor/PDCurses/cmake/watcom_open_dos32_toolchain.cmake +0 -106
  712. data/vendor/PDCurses/cmake/watcom_open_os2v2_toolchain.cmake +0 -105
  713. data/vendor/PDCurses/curses.h +0 -1846
  714. data/vendor/PDCurses/curspriv.h +0 -134
  715. data/vendor/PDCurses/demos/firework.c +0 -144
  716. data/vendor/PDCurses/demos/newtest.c +0 -581
  717. data/vendor/PDCurses/demos/ozdemo.c +0 -447
  718. data/vendor/PDCurses/demos/ptest.c +0 -283
  719. data/vendor/PDCurses/demos/rain.c +0 -157
  720. data/vendor/PDCurses/demos/testcurs.c +0 -1607
  721. data/vendor/PDCurses/demos/tui.c +0 -1048
  722. data/vendor/PDCurses/demos/tui.h +0 -65
  723. data/vendor/PDCurses/demos/tuidemo.c +0 -233
  724. data/vendor/PDCurses/demos/version.c +0 -61
  725. data/vendor/PDCurses/demos/worm.c +0 -432
  726. data/vendor/PDCurses/demos/xmas.c +0 -955
  727. data/vendor/PDCurses/dos/CMakeLists.txt +0 -47
  728. data/vendor/PDCurses/dos/Makefile +0 -105
  729. data/vendor/PDCurses/dos/Makefile.bcc +0 -83
  730. data/vendor/PDCurses/dos/Makefile.dmc +0 -257
  731. data/vendor/PDCurses/dos/Makefile.msc +0 -113
  732. data/vendor/PDCurses/dos/Makefile.wcc +0 -107
  733. data/vendor/PDCurses/dos/README.md +0 -51
  734. data/vendor/PDCurses/dos/bccdos.lrf +0 -9
  735. data/vendor/PDCurses/dos/mscdos.lrf +0 -50
  736. data/vendor/PDCurses/dos/pdcclip.c +0 -132
  737. data/vendor/PDCurses/dos/pdcdisp.c +0 -135
  738. data/vendor/PDCurses/dos/pdcdos.h +0 -194
  739. data/vendor/PDCurses/dos/pdcgetsc.c +0 -98
  740. data/vendor/PDCurses/dos/pdckbd.c +0 -513
  741. data/vendor/PDCurses/dos/pdcscrn.c +0 -785
  742. data/vendor/PDCurses/dos/pdcsetsc.c +0 -101
  743. data/vendor/PDCurses/dos/pdcutil.c +0 -212
  744. data/vendor/PDCurses/libobjs.mif +0 -26
  745. data/vendor/PDCurses/makedist.mif +0 -20
  746. data/vendor/PDCurses/man/Makefile +0 -37
  747. data/vendor/PDCurses/man/README.md +0 -21
  748. data/vendor/PDCurses/man/intro.md +0 -361
  749. data/vendor/PDCurses/man/manext.c +0 -119
  750. data/vendor/PDCurses/man/sdl.md +0 -152
  751. data/vendor/PDCurses/man/sdl2.md +0 -58
  752. data/vendor/PDCurses/man/x11.md +0 -407
  753. data/vendor/PDCurses/ncurses/CMakeLists.txt +0 -66
  754. data/vendor/PDCurses/ncurses/makefile +0 -29
  755. data/vendor/PDCurses/os2/Makefile +0 -132
  756. data/vendor/PDCurses/os2/Makefile.bcc +0 -90
  757. data/vendor/PDCurses/os2/Makefile.wcc +0 -43
  758. data/vendor/PDCurses/os2/iccos2.lrf +0 -50
  759. data/vendor/PDCurses/os2/iccos2.mak +0 -256
  760. data/vendor/PDCurses/os2/pdcclip.c +0 -188
  761. data/vendor/PDCurses/os2/pdcdisp.c +0 -93
  762. data/vendor/PDCurses/os2/pdcgetsc.c +0 -89
  763. data/vendor/PDCurses/os2/pdckbd.c +0 -521
  764. data/vendor/PDCurses/os2/pdcos2.h +0 -55
  765. data/vendor/PDCurses/os2/pdcscrn.c +0 -449
  766. data/vendor/PDCurses/os2/pdcsetsc.c +0 -112
  767. data/vendor/PDCurses/os2/pdcutil.c +0 -52
  768. data/vendor/PDCurses/panel.h +0 -56
  769. data/vendor/PDCurses/pdcurses/addch.c +0 -693
  770. data/vendor/PDCurses/pdcurses/addchstr.c +0 -245
  771. data/vendor/PDCurses/pdcurses/addstr.c +0 -240
  772. data/vendor/PDCurses/pdcurses/attr.c +0 -359
  773. data/vendor/PDCurses/pdcurses/beep.c +0 -68
  774. data/vendor/PDCurses/pdcurses/bkgd.c +0 -223
  775. data/vendor/PDCurses/pdcurses/border.c +0 -411
  776. data/vendor/PDCurses/pdcurses/clear.c +0 -159
  777. data/vendor/PDCurses/pdcurses/color.c +0 -298
  778. data/vendor/PDCurses/pdcurses/debug.c +0 -109
  779. data/vendor/PDCurses/pdcurses/delch.c +0 -96
  780. data/vendor/PDCurses/pdcurses/deleteln.c +0 -211
  781. data/vendor/PDCurses/pdcurses/deprec.c +0 -27
  782. data/vendor/PDCurses/pdcurses/getch.c +0 -417
  783. data/vendor/PDCurses/pdcurses/getstr.c +0 -474
  784. data/vendor/PDCurses/pdcurses/getyx.c +0 -139
  785. data/vendor/PDCurses/pdcurses/inch.c +0 -127
  786. data/vendor/PDCurses/pdcurses/inchstr.c +0 -214
  787. data/vendor/PDCurses/pdcurses/initscr.c +0 -367
  788. data/vendor/PDCurses/pdcurses/inopts.c +0 -324
  789. data/vendor/PDCurses/pdcurses/insch.c +0 -271
  790. data/vendor/PDCurses/pdcurses/insstr.c +0 -264
  791. data/vendor/PDCurses/pdcurses/instr.c +0 -246
  792. data/vendor/PDCurses/pdcurses/kernel.c +0 -259
  793. data/vendor/PDCurses/pdcurses/keyname.c +0 -157
  794. data/vendor/PDCurses/pdcurses/mouse.c +0 -438
  795. data/vendor/PDCurses/pdcurses/move.c +0 -57
  796. data/vendor/PDCurses/pdcurses/outopts.c +0 -159
  797. data/vendor/PDCurses/pdcurses/overlay.c +0 -214
  798. data/vendor/PDCurses/pdcurses/pad.c +0 -260
  799. data/vendor/PDCurses/pdcurses/panel.c +0 -633
  800. data/vendor/PDCurses/pdcurses/printw.c +0 -126
  801. data/vendor/PDCurses/pdcurses/refresh.c +0 -279
  802. data/vendor/PDCurses/pdcurses/scanw.c +0 -578
  803. data/vendor/PDCurses/pdcurses/scr_dump.c +0 -213
  804. data/vendor/PDCurses/pdcurses/scroll.c +0 -101
  805. data/vendor/PDCurses/pdcurses/slk.c +0 -591
  806. data/vendor/PDCurses/pdcurses/termattr.c +0 -182
  807. data/vendor/PDCurses/pdcurses/terminfo.c +0 -217
  808. data/vendor/PDCurses/pdcurses/touch.c +0 -163
  809. data/vendor/PDCurses/pdcurses/util.c +0 -312
  810. data/vendor/PDCurses/pdcurses/window.c +0 -569
  811. data/vendor/PDCurses/sdl1/Makefile +0 -129
  812. data/vendor/PDCurses/sdl1/Makefile.mng +0 -110
  813. data/vendor/PDCurses/sdl1/README.md +0 -31
  814. data/vendor/PDCurses/sdl1/deffont.h +0 -385
  815. data/vendor/PDCurses/sdl1/deficon.h +0 -23
  816. data/vendor/PDCurses/sdl1/pdcclip.c +0 -131
  817. data/vendor/PDCurses/sdl1/pdcdisp.c +0 -373
  818. data/vendor/PDCurses/sdl1/pdcgetsc.c +0 -30
  819. data/vendor/PDCurses/sdl1/pdckbd.c +0 -405
  820. data/vendor/PDCurses/sdl1/pdcscrn.c +0 -414
  821. data/vendor/PDCurses/sdl1/pdcsdl.h +0 -31
  822. data/vendor/PDCurses/sdl1/pdcsetsc.c +0 -64
  823. data/vendor/PDCurses/sdl1/pdcutil.c +0 -40
  824. data/vendor/PDCurses/sdl1/sdltest.c +0 -79
  825. data/vendor/PDCurses/sdl2/CMakeLists.txt +0 -76
  826. data/vendor/PDCurses/sdl2/Makefile +0 -135
  827. data/vendor/PDCurses/sdl2/Makefile.vc +0 -164
  828. data/vendor/PDCurses/sdl2/README.md +0 -34
  829. data/vendor/PDCurses/sdl2/deffont.h +0 -385
  830. data/vendor/PDCurses/sdl2/deficon.h +0 -23
  831. data/vendor/PDCurses/sdl2/pdcclip.c +0 -93
  832. data/vendor/PDCurses/sdl2/pdcdisp.c +0 -534
  833. data/vendor/PDCurses/sdl2/pdcgetsc.c +0 -30
  834. data/vendor/PDCurses/sdl2/pdckbd.c +0 -480
  835. data/vendor/PDCurses/sdl2/pdcscrn.c +0 -443
  836. data/vendor/PDCurses/sdl2/pdcsdl.h +0 -33
  837. data/vendor/PDCurses/sdl2/pdcsetsc.c +0 -67
  838. data/vendor/PDCurses/sdl2/pdcutil.c +0 -39
  839. data/vendor/PDCurses/sdl2/sdltest.c +0 -81
  840. data/vendor/PDCurses/term.h +0 -48
  841. data/vendor/PDCurses/version.mif +0 -7
  842. data/vendor/PDCurses/vt/CMakeLists.txt +0 -28
  843. data/vendor/PDCurses/vt/Makefile +0 -135
  844. data/vendor/PDCurses/vt/Makefile.bcc +0 -111
  845. data/vendor/PDCurses/vt/Makefile.dmc +0 -258
  846. data/vendor/PDCurses/vt/Makefile.vc +0 -144
  847. data/vendor/PDCurses/vt/Makefile.wcc +0 -107
  848. data/vendor/PDCurses/vt/README.md +0 -64
  849. data/vendor/PDCurses/vt/pdcclip.c +0 -20
  850. data/vendor/PDCurses/vt/pdcdisp.c +0 -284
  851. data/vendor/PDCurses/vt/pdckbd.c +0 -394
  852. data/vendor/PDCurses/vt/pdcscrn.c +0 -434
  853. data/vendor/PDCurses/vt/pdcsetsc.c +0 -45
  854. data/vendor/PDCurses/vt/pdcutil.c +0 -43
  855. data/vendor/PDCurses/vt/pdcvt.h +0 -16
  856. data/vendor/PDCurses/watcom.mif +0 -68
  857. data/vendor/PDCurses/wincon/CMakeLists.txt +0 -27
  858. data/vendor/PDCurses/wincon/Makefile.bcc +0 -88
  859. data/vendor/PDCurses/wincon/Makefile.dmc +0 -256
  860. data/vendor/PDCurses/wincon/Makefile.lcc +0 -273
  861. data/vendor/PDCurses/wincon/Makefile.mng +0 -176
  862. data/vendor/PDCurses/wincon/Makefile.vc +0 -144
  863. data/vendor/PDCurses/wincon/Makefile.wcc +0 -51
  864. data/vendor/PDCurses/wincon/README.md +0 -85
  865. data/vendor/PDCurses/wincon/pdcclip.c +0 -174
  866. data/vendor/PDCurses/wincon/pdcdisp.c +0 -143
  867. data/vendor/PDCurses/wincon/pdcgetsc.c +0 -55
  868. data/vendor/PDCurses/wincon/pdckbd.c +0 -786
  869. data/vendor/PDCurses/wincon/pdcscrn.c +0 -717
  870. data/vendor/PDCurses/wincon/pdcsetsc.c +0 -91
  871. data/vendor/PDCurses/wincon/pdcurses.ico +0 -0
  872. data/vendor/PDCurses/wincon/pdcurses.rc +0 -28
  873. data/vendor/PDCurses/wincon/pdcutil.c +0 -41
  874. data/vendor/PDCurses/wincon/pdcwin.h +0 -31
  875. data/vendor/PDCurses/wingui/CMakeLists.txt +0 -27
  876. data/vendor/PDCurses/wingui/Makefile.bcc +0 -85
  877. data/vendor/PDCurses/wingui/Makefile.dmc +0 -259
  878. data/vendor/PDCurses/wingui/Makefile.lcc +0 -273
  879. data/vendor/PDCurses/wingui/Makefile.mng +0 -171
  880. data/vendor/PDCurses/wingui/Makefile.vc +0 -144
  881. data/vendor/PDCurses/wingui/Makefile.wcc +0 -51
  882. data/vendor/PDCurses/wingui/README.md +0 -93
  883. data/vendor/PDCurses/wingui/pdcclip.c +0 -174
  884. data/vendor/PDCurses/wingui/pdcdisp.c +0 -718
  885. data/vendor/PDCurses/wingui/pdckbd.c +0 -143
  886. data/vendor/PDCurses/wingui/pdcscrn.c +0 -2797
  887. data/vendor/PDCurses/wingui/pdcsetsc.c +0 -89
  888. data/vendor/PDCurses/wingui/pdcurses.ico +0 -0
  889. data/vendor/PDCurses/wingui/pdcurses.rc +0 -28
  890. data/vendor/PDCurses/wingui/pdcutil.c +0 -61
  891. data/vendor/PDCurses/wingui/pdcwin.h +0 -122
  892. data/vendor/PDCurses/x11/Makefile.in +0 -754
  893. data/vendor/PDCurses/x11/PDCurses.spec +0 -82
  894. data/vendor/PDCurses/x11/README.md +0 -62
  895. data/vendor/PDCurses/x11/ScrollBox.c +0 -319
  896. data/vendor/PDCurses/x11/ScrollBox.h +0 -51
  897. data/vendor/PDCurses/x11/ScrollBoxP.h +0 -70
  898. data/vendor/PDCurses/x11/aclocal.m4 +0 -994
  899. data/vendor/PDCurses/x11/big_icon.xbm +0 -46
  900. data/vendor/PDCurses/x11/compose.h +0 -201
  901. data/vendor/PDCurses/x11/config.guess +0 -1500
  902. data/vendor/PDCurses/x11/config.h.in +0 -100
  903. data/vendor/PDCurses/x11/config.sub +0 -1616
  904. data/vendor/PDCurses/x11/configure +0 -6700
  905. data/vendor/PDCurses/x11/configure.ac +0 -295
  906. data/vendor/PDCurses/x11/debian/changelog +0 -6
  907. data/vendor/PDCurses/x11/debian/compat +0 -1
  908. data/vendor/PDCurses/x11/debian/control +0 -11
  909. data/vendor/PDCurses/x11/debian/copyright +0 -27
  910. data/vendor/PDCurses/x11/debian/rules +0 -98
  911. data/vendor/PDCurses/x11/little_icon.xbm +0 -14
  912. data/vendor/PDCurses/x11/ncurses_cfg.h +0 -45
  913. data/vendor/PDCurses/x11/pdcclip.c +0 -173
  914. data/vendor/PDCurses/x11/pdcdisp.c +0 -85
  915. data/vendor/PDCurses/x11/pdcgetsc.c +0 -28
  916. data/vendor/PDCurses/x11/pdckbd.c +0 -104
  917. data/vendor/PDCurses/x11/pdcscrn.c +0 -258
  918. data/vendor/PDCurses/x11/pdcsetsc.c +0 -95
  919. data/vendor/PDCurses/x11/pdcutil.c +0 -52
  920. data/vendor/PDCurses/x11/pdcx11.c +0 -316
  921. data/vendor/PDCurses/x11/pdcx11.h +0 -191
  922. data/vendor/PDCurses/x11/sb.c +0 -155
  923. data/vendor/PDCurses/x11/x11.c +0 -3686
  924. data/vendor/PDCurses/x11/xcurses-config.in +0 -81
  925. /data/vendor/{PDCurses → PDCursesMod}/cmake/make_uninstall.cmake +0 -0
  926. /data/vendor/{PDCurses → PDCursesMod}/cmake/resource.in.cmake +0 -0
  927. /data/vendor/{PDCurses → PDCursesMod}/cmake/target_arch.cmake +0 -0
  928. /data/vendor/{PDCurses → PDCursesMod}/demos/README.md +0 -0
  929. /data/vendor/{PDCurses → PDCursesMod}/ncurses/README.md +0 -0
  930. /data/vendor/{PDCurses → PDCursesMod}/os2/CMakeLists.txt +0 -0
  931. /data/vendor/{PDCurses → PDCursesMod}/os2/README.md +0 -0
  932. /data/vendor/{PDCurses → PDCursesMod}/pdcurses/README.md +0 -0
  933. /data/vendor/{PDCurses → PDCursesMod}/vt/pdcgetsc.c +0 -0
  934. /data/vendor/{PDCurses → PDCursesMod}/wingui/pdcgetsc.c +0 -0
  935. /data/vendor/{PDCurses → PDCursesMod}/x11/install-sh +0 -0
@@ -0,0 +1,1978 @@
1
+
2
+ /*
3
+ * This is a test program for PDCurses. Originally by
4
+ * John Burnell <johnb@kea.am.dsir.govt.nz>
5
+ *
6
+ * wrs (1993-05-28) -- modified to be consistent (perform identically)
7
+ * with either PDCurses or under Unix System V, R4
8
+ */
9
+
10
+ #ifndef _XOPEN_SOURCE_EXTENDED
11
+ # define _XOPEN_SOURCE_EXTENDED 1
12
+ #endif
13
+
14
+ /* Uncomment the following #define to test the 'classic' (undocumented
15
+ SysV) mouse functions in inputTest. Otherwise, the ncurses mouse
16
+ interface will be used. */
17
+
18
+ /* #define CLASSIC_MOUSE_INTERFACE */
19
+
20
+ #if defined( CLASSIC_MOUSE_INTERFACE)
21
+ #define BUTTON_MOVE_EVENTS (BUTTON1_MOVED | BUTTON2_MOVED | BUTTON3_MOVED \
22
+ | BUTTON4_MOVED | BUTTON5_MOVED)
23
+ #define ALL_MOVE_EVENTS (BUTTON_MOVE_EVENTS | REPORT_MOUSE_POSITION)
24
+ #else
25
+ #define PDC_NCMOUSE
26
+ #define ALL_MOVE_EVENTS REPORT_MOUSE_POSITION
27
+ #endif
28
+
29
+ #include <stdio.h>
30
+ #include <stdlib.h>
31
+ #include <ctype.h>
32
+ #include <string.h>
33
+ #include <curses.h>
34
+
35
+ #ifdef WACS_S1
36
+ # define HAVE_WIDE 1
37
+ #else
38
+ # define HAVE_WIDE 0
39
+ #endif
40
+
41
+ #include <locale.h>
42
+
43
+ #if HAVE_WIDE
44
+ # include <wchar.h>
45
+ #endif
46
+
47
+ #if defined(PDCURSES) && !defined(XCURSES)
48
+ # define HAVE_RESIZE 1
49
+ #else
50
+ # define HAVE_RESIZE 0
51
+ #endif
52
+
53
+ #ifdef A_COLOR
54
+ # define HAVE_COLOR 1
55
+ #else
56
+ # define HAVE_COLOR 0
57
+ #endif
58
+
59
+ #ifdef PDCURSES
60
+ # define HAVE_CLIPBOARD 1
61
+ #else
62
+ # define HAVE_CLIPBOARD 0
63
+ #endif
64
+
65
+ void inputTest(WINDOW *);
66
+ void scrollTest(WINDOW *);
67
+ void introTest(WINDOW *);
68
+ int initTest(WINDOW **, int, char **);
69
+ void outputTest(WINDOW *);
70
+ void padTest(WINDOW *);
71
+ void acsTest(WINDOW *);
72
+ void attrTest(WINDOW *);
73
+
74
+ #if HAVE_COLOR
75
+ void colorTest(WINDOW *);
76
+ #endif
77
+
78
+ #if HAVE_RESIZE
79
+ void resizeTest(WINDOW *);
80
+ #endif
81
+
82
+ #if HAVE_CLIPBOARD
83
+ void clipboardTest(WINDOW *);
84
+ #endif
85
+
86
+ #if HAVE_WIDE
87
+ void wideTest(WINDOW *);
88
+ #endif
89
+
90
+ void display_menu(int, int);
91
+
92
+ struct commands
93
+ {
94
+ const char *text;
95
+ void (*function)(WINDOW *);
96
+ };
97
+
98
+ typedef struct commands COMMAND;
99
+
100
+ #define INTENTIONALLY_UNUSED_PARAMETER( param) (void)(param)
101
+ #define MAX_OPTIONS (7 + HAVE_COLOR + HAVE_RESIZE + HAVE_CLIPBOARD + HAVE_WIDE)
102
+
103
+ COMMAND command[MAX_OPTIONS] =
104
+ {
105
+ {"Intro Test", introTest},
106
+ {"Pad Test", padTest},
107
+ #if HAVE_RESIZE
108
+ {"Resize Test", resizeTest},
109
+ #endif
110
+ {"Scroll Test", scrollTest},
111
+ {"Input Test", inputTest},
112
+ {"Output Test", outputTest},
113
+ {"ACS Test", acsTest},
114
+ {"Attrib Test", attrTest},
115
+ #if HAVE_COLOR
116
+ {"Color Test", colorTest},
117
+ #endif
118
+ #if HAVE_CLIPBOARD
119
+ {"Clipboard Test", clipboardTest},
120
+ #endif
121
+ #if HAVE_WIDE
122
+ {"Wide Input", wideTest}
123
+ #endif
124
+ };
125
+
126
+ int width, height;
127
+ static mmask_t test_mouse_mask = ALL_MOUSE_EVENTS;
128
+ static SCREEN *screen_pointer;
129
+
130
+ static mmask_t parse_mouse_mask( const char *str)
131
+ {
132
+ test_mouse_mask = 0;
133
+ while( *str)
134
+ {
135
+ const mmask_t *event_ptr = NULL;
136
+ const mmask_t pressed[5] = { BUTTON1_PRESSED, BUTTON2_PRESSED,
137
+ BUTTON3_PRESSED, BUTTON4_PRESSED, BUTTON5_PRESSED };
138
+ const mmask_t released[5] = { BUTTON1_RELEASED, BUTTON2_RELEASED,
139
+ BUTTON3_RELEASED, BUTTON4_RELEASED, BUTTON5_RELEASED };
140
+ const mmask_t clicked[5] = { BUTTON1_CLICKED, BUTTON2_CLICKED,
141
+ BUTTON3_CLICKED, BUTTON4_CLICKED, BUTTON5_CLICKED };
142
+ const mmask_t dblclk[5] = { BUTTON1_DOUBLE_CLICKED, BUTTON2_DOUBLE_CLICKED,
143
+ BUTTON3_DOUBLE_CLICKED, BUTTON4_DOUBLE_CLICKED, BUTTON5_DOUBLE_CLICKED };
144
+ const mmask_t triclk[5] = { BUTTON1_TRIPLE_CLICKED, BUTTON2_TRIPLE_CLICKED,
145
+ BUTTON3_TRIPLE_CLICKED, BUTTON4_TRIPLE_CLICKED, BUTTON5_TRIPLE_CLICKED };
146
+ #ifdef BUTTON1_MOVED
147
+ const mmask_t moved[5] = { BUTTON1_MOVED, BUTTON2_MOVED,
148
+ BUTTON3_MOVED, BUTTON4_MOVED, BUTTON5_MOVED };
149
+ #endif
150
+
151
+ switch( *str)
152
+ {
153
+ case 'p':
154
+ event_ptr = pressed;
155
+ break;
156
+ case 'r':
157
+ event_ptr = released;
158
+ break;
159
+ case 'c':
160
+ event_ptr = clicked;
161
+ break;
162
+ case 'd':
163
+ event_ptr = dblclk;
164
+ break;
165
+ case 't':
166
+ event_ptr = triclk;
167
+ break;
168
+ #ifdef BUTTON1_MOVED
169
+ case 'm':
170
+ event_ptr = moved;
171
+ break;
172
+ #endif
173
+ #ifdef MOUSE_WHEEL_SCROLL
174
+ case 'w':
175
+ test_mouse_mask |= MOUSE_WHEEL_SCROLL;
176
+ break;
177
+ #endif
178
+ #ifdef BUTTON_MODIFIER_SHIFT
179
+ case 's':
180
+ test_mouse_mask |= BUTTON_MODIFIER_SHIFT;
181
+ break;
182
+ #endif
183
+ #ifdef BUTTON_MODIFIER_CONTROL
184
+ case 'x':
185
+ test_mouse_mask |= BUTTON_MODIFIER_CONTROL;
186
+ break;
187
+ #endif
188
+ #ifdef BUTTON_MODIFIER_ALT
189
+ case 'a':
190
+ test_mouse_mask |= BUTTON_MODIFIER_ALT;
191
+ break;
192
+ #endif
193
+ case 'M':
194
+ test_mouse_mask |= REPORT_MOUSE_POSITION;
195
+ break;
196
+ }
197
+ str++;
198
+ if( event_ptr)
199
+ while( *str >= '1' && *str <= '5')
200
+ test_mouse_mask |= event_ptr[*str++ - '1'];
201
+ }
202
+ return test_mouse_mask;
203
+ }
204
+
205
+ int main(int argc, char *argv[])
206
+ {
207
+ WINDOW *win;
208
+ int key, old_option = -1, new_option = 0, i;
209
+ bool quit = FALSE;
210
+
211
+ if( !setlocale( LC_CTYPE, "C.UTF-8"))
212
+ setlocale( LC_CTYPE, "en_US.utf8");
213
+
214
+ #ifdef __PDCURSESMOD__
215
+ #ifdef PDC_VER_MAJOR /* so far only seen in 4.0+ */
216
+ PDC_set_resize_limits( 20, 50, 70, 200);
217
+ #endif
218
+ #endif
219
+
220
+ if (initTest(&win, argc, argv))
221
+ return 1;
222
+ #ifdef __PDCURSESMOD__
223
+ PDC_set_title( "testcurs -- PDCurses* demo/test program");
224
+ #endif
225
+ for( i = 1; i < argc; i++)
226
+ if( argv[i][0] == '-')
227
+ switch( argv[i][1])
228
+ {
229
+ #if defined( __PDCURSES__) || defined( NCURSES_DEBUG_LIB)
230
+ case 'd':
231
+ {
232
+ unsigned flags;
233
+
234
+ if( 1 == sscanf( argv[i] + 2, "%x", &flags))
235
+ curses_trace( flags);
236
+ }
237
+ break;
238
+ #endif
239
+ case 'i': case 'I':
240
+ mouseinterval( atoi( argv[i] + 2));
241
+ break;
242
+ case 'l': case 'L':
243
+ setlocale( LC_CTYPE, argv[i] + 2);
244
+ break;
245
+ case 's':
246
+ {
247
+ char tbuff[200];
248
+
249
+ if( fgets( tbuff, sizeof( tbuff), stdin))
250
+ printf( "Got a line\n%s", tbuff);
251
+ }
252
+ break;
253
+ #ifdef __PDCURSESMOD__
254
+ case 'b': case 'B':
255
+ PDC_set_blink( TRUE);
256
+ break;
257
+ case 'm': case 'M':
258
+ PDC_return_key_modifiers( TRUE);
259
+ break;
260
+ case 't':
261
+ traceon( );
262
+ break;
263
+ #ifdef PDC_VER_MAJOR /* so far only seen in 4.0+ */
264
+ case 'r': /* allow user-resizable windows */
265
+ {
266
+ int min_lines, max_lines, min_cols, max_cols;
267
+
268
+ if( sscanf( argv[i] + 2, "%d,%d,%d,%d",
269
+ &min_lines, &max_lines,
270
+ &min_cols, &max_cols) == 4)
271
+ PDC_set_resize_limits( min_lines, max_lines,
272
+ min_cols, max_cols);
273
+ }
274
+ break;
275
+ #endif
276
+ #endif
277
+ case 'z':
278
+ if( !argv[i][2])
279
+ test_mouse_mask = ALL_MOUSE_EVENTS | REPORT_MOUSE_POSITION;
280
+ else
281
+ test_mouse_mask = parse_mouse_mask( argv[i] + 2);
282
+ break;
283
+ default:
284
+ break;
285
+ }
286
+ #ifdef A_COLOR
287
+ if (has_colors())
288
+ {
289
+ init_pair(1, COLOR_WHITE, COLOR_BLUE);
290
+ wbkgd(win, COLOR_PAIR(1));
291
+ }
292
+ else
293
+ #endif
294
+ wbkgd(win, A_REVERSE);
295
+
296
+ erase();
297
+ display_menu(old_option, new_option);
298
+
299
+ while (1)
300
+ {
301
+ noecho();
302
+ keypad(stdscr, TRUE);
303
+ raw();
304
+
305
+ key = getch();
306
+
307
+ switch(key)
308
+ {
309
+ case 10:
310
+ case 13:
311
+ case KEY_ENTER:
312
+ old_option = -1;
313
+ erase();
314
+ refresh();
315
+ (*command[new_option].function)(win);
316
+ erase();
317
+ display_menu(old_option, new_option);
318
+ break;
319
+
320
+ case KEY_PPAGE:
321
+ case KEY_HOME:
322
+ old_option = new_option;
323
+ new_option = 0;
324
+ display_menu(old_option, new_option);
325
+ break;
326
+
327
+ case KEY_NPAGE:
328
+ case KEY_END:
329
+ old_option = new_option;
330
+ new_option = MAX_OPTIONS - 1;
331
+ display_menu(old_option, new_option);
332
+ break;
333
+
334
+ case KEY_UP:
335
+ old_option = new_option;
336
+ new_option = (new_option == 0) ?
337
+ new_option : new_option - 1;
338
+ display_menu(old_option, new_option);
339
+ break;
340
+
341
+ case KEY_DOWN:
342
+ old_option = new_option;
343
+ new_option = (new_option == MAX_OPTIONS - 1) ?
344
+ new_option : new_option + 1;
345
+ display_menu(old_option, new_option);
346
+ break;
347
+ #ifdef KEY_RESIZE
348
+ case KEY_RESIZE:
349
+ old_option = -1;
350
+ erase();
351
+ display_menu(old_option, new_option);
352
+ break;
353
+ #endif
354
+ case 'Q':
355
+ case 'q':
356
+ quit = TRUE;
357
+ }
358
+
359
+ if (quit == TRUE)
360
+ break;
361
+ }
362
+
363
+ delwin(win);
364
+ endwin();
365
+ /* Not really needed, but ensures Valgrind */
366
+ delscreen( screen_pointer); /* says all memory was freed */
367
+ return 0;
368
+ }
369
+
370
+ void Continue(WINDOW *win)
371
+ {
372
+ mvwaddstr(win, 10, 1, " Press any key to continue");
373
+ wrefresh(win);
374
+ raw();
375
+ wgetch(win);
376
+ }
377
+
378
+ void Continue2(void)
379
+ {
380
+ move(LINES - 1, 1);
381
+ clrtoeol();
382
+ mvaddstr(LINES - 2, 1, " Press any key to continue");
383
+ refresh();
384
+ raw();
385
+ getch();
386
+ }
387
+
388
+ int initTest(WINDOW **win, int argc, char *argv[])
389
+ {
390
+ INTENTIONALLY_UNUSED_PARAMETER( argv);
391
+ INTENTIONALLY_UNUSED_PARAMETER( argc);
392
+ screen_pointer = newterm(NULL, stdout, stdin);
393
+ #ifdef A_COLOR
394
+ if (has_colors())
395
+ start_color();
396
+ #endif
397
+ /* Create a drawing window */
398
+
399
+ width = 60;
400
+ height = 13;
401
+
402
+ *win = newwin(height, width, (LINES - height) / 2, (COLS - width) / 2);
403
+
404
+ if (*win == NULL)
405
+ {
406
+ endwin();
407
+ return 1;
408
+ }
409
+
410
+ return 0;
411
+ }
412
+
413
+ void introTest(WINDOW *win)
414
+ {
415
+ werase(win);
416
+ wmove(win, height / 2 - 5, width / 2);
417
+ wvline(win, ACS_VLINE, 10);
418
+ wmove(win, height / 2, width / 2 - 10);
419
+ whline(win, ACS_HLINE, 20);
420
+ Continue(win);
421
+
422
+ beep();
423
+ werase(win);
424
+
425
+ box(win, ACS_VLINE, ACS_HLINE);
426
+ wrefresh(win);
427
+
428
+ cbreak();
429
+ mvwaddstr(win, 1, 1,
430
+ "You should have a rectangle in the middle of the screen");
431
+ mvwaddstr(win, 2, 1, "You should have heard a beep");
432
+ Continue(win);
433
+
434
+ flash();
435
+ mvwaddstr(win, 3, 1, "You should have seen a flash");
436
+ Continue(win);
437
+ }
438
+
439
+ void scrollTest(WINDOW *win)
440
+ {
441
+ int i, OldY;
442
+ #if !defined (PDCURSES) && !defined (NCURSES_VERSION)
443
+ int OldX;
444
+ #endif
445
+ werase(win);
446
+ mvwaddstr(win, height - 2, 1, "The window will now scroll slowly");
447
+ box(win, ACS_VLINE, ACS_HLINE);
448
+ wrefresh(win);
449
+ scrollok(win, TRUE);
450
+ napms(500);
451
+
452
+ for (i = 1; i <= height; i++)
453
+ {
454
+ napms(150);
455
+ scroll(win);
456
+ wrefresh(win);
457
+ };
458
+
459
+ #if defined (PDCURSES) || defined (NCURSES_VERSION)
460
+ OldY = getmaxy(win);
461
+ #else
462
+ getmaxyx(win, OldY, OldX);
463
+ #endif
464
+ mvwaddstr(win, 6, 1, "The top of the window will scroll");
465
+ wmove(win, 1, 1);
466
+ wsetscrreg(win, 0, 4);
467
+ box(win, ACS_VLINE, ACS_HLINE);
468
+ wrefresh(win);
469
+
470
+ for (i = 1; i <= 5; i++)
471
+ {
472
+ napms(500);
473
+ scroll(win);
474
+ wrefresh(win);
475
+ }
476
+
477
+ mvwaddstr(win, 3, 1, "The bottom of the window will scroll");
478
+ wmove(win, 8, 1);
479
+ wsetscrreg(win, 5, --OldY);
480
+ box(win, ACS_VLINE, ACS_HLINE);
481
+ wrefresh(win);
482
+
483
+ for (i = 5; i <= OldY; i++)
484
+ {
485
+ napms(300);
486
+ wscrl(win, -1);
487
+ wrefresh(win);
488
+ }
489
+
490
+ wsetscrreg(win, 0, OldY);
491
+ }
492
+
493
+ void inputTest(WINDOW *win)
494
+ {
495
+ int w, h, bx, by, sw, sh, i, c, num = 0;
496
+ char buffer[80];
497
+ WINDOW *subWin;
498
+ static const char spinner[5] = "/-\\|";
499
+ int spinner_count = 0;
500
+ int line = 3;
501
+ #ifndef CLASSIC_MOUSE_INTERFACE
502
+ int mouse_buttons_held = 0;
503
+ #endif
504
+
505
+ wclear(win);
506
+
507
+ getmaxyx(win, h, w);
508
+ getbegyx(win, by, bx);
509
+
510
+ sw = w / 3;
511
+ sh = h / 3;
512
+
513
+ if ((subWin = subwin(win, sh, sw, by + h - sh - 2, bx + w - sw - 2))
514
+ == NULL)
515
+ return;
516
+
517
+ #ifdef A_COLOR
518
+ if (has_colors())
519
+ {
520
+ init_pair(2, COLOR_WHITE, COLOR_RED);
521
+ wbkgd(subWin, COLOR_PAIR(2) | A_BOLD);
522
+ }
523
+ else
524
+ #endif
525
+ wbkgd(subWin, A_BOLD);
526
+
527
+ box(subWin, ACS_VLINE, ACS_HLINE);
528
+ wrefresh(win);
529
+
530
+ nocbreak();
531
+
532
+ wclear (win);
533
+ mvwaddstr(win, 1, 1,
534
+ "Press keys (or mouse buttons) to show their names");
535
+ mvwaddstr(win, 2, 1, "Press spacebar to finish, Ctrl-A to return to main menu");
536
+ wrefresh(win);
537
+
538
+ keypad(win, TRUE);
539
+ raw();
540
+ noecho();
541
+
542
+ wtimeout(win, 200);
543
+
544
+ #ifdef CLASSIC_MOUSE_INTERFACE
545
+ mouse_set( test_mouse_mask);
546
+ #else
547
+ mousemask( test_mouse_mask, NULL);
548
+ #endif
549
+ #ifdef NCURSES_VERSION
550
+ if( test_mouse_mask & REPORT_MOUSE_POSITION)
551
+ printf( "\x1b\x5b?1003h\n"); /* command string to enable mouse movement */
552
+ #endif
553
+ curs_set(0); /* turn cursor off */
554
+
555
+ while (1)
556
+ {
557
+ if( line >= h - 2)
558
+ line = 3;
559
+ wmove(win, line + 1, 3);
560
+ wclrtoeol(win);
561
+ wmove(win, line, 3);
562
+ wclrtoeol(win);
563
+ while (1)
564
+ {
565
+ #ifdef PDC_WIDE
566
+ wint_t wch;
567
+
568
+ if( ERR == wget_wch( win, &wch))
569
+ c = ERR;
570
+ else
571
+ c = (int)wch;
572
+ #else
573
+ c = wgetch(win);
574
+ #endif
575
+
576
+ if (c == ERR)
577
+ {
578
+ spinner_count++;
579
+ if (spinner_count == 4)
580
+ spinner_count = 0;
581
+ mvwaddch(win, line, 3, spinner[spinner_count]);
582
+ wrefresh(win);
583
+ }
584
+ else
585
+ break;
586
+ }
587
+ mvwaddstr(win, line, 5, "Key Pressed: ");
588
+
589
+ wprintw( win, "(%x) ", c);
590
+ if( has_key( c))
591
+ wprintw(win, "%s", keyname(c));
592
+ else if (isprint(c) || c > 0x7f)
593
+ waddch( win, c);
594
+ else
595
+ wprintw(win, "%s", unctrl(c));
596
+ #ifdef CLASSIC_MOUSE_INTERFACE
597
+ if (c == KEY_MOUSE)
598
+ {
599
+ int button = 0;
600
+ request_mouse_pos();
601
+
602
+ for( i = 0; i < PDC_MAX_MOUSE_BUTTONS; i++)
603
+ if (BUTTON_CHANGED(i))
604
+ button = i;
605
+
606
+ wmove(win, line, 5);
607
+ wclrtoeol(win);
608
+ if( button)
609
+ wprintw(win, "Button %d: ", button);
610
+
611
+ if (MOUSE_MOVED)
612
+ waddstr(win, "moved: ");
613
+ else if (MOUSE_WHEEL_UP)
614
+ waddstr(win, "wheel up: ");
615
+ else if (MOUSE_WHEEL_DOWN)
616
+ waddstr(win, "wheel dn: ");
617
+ else if (MOUSE_WHEEL_LEFT)
618
+ waddstr(win, "wheel lt: ");
619
+ else if (MOUSE_WHEEL_RIGHT)
620
+ waddstr(win, "wheel rt: ");
621
+ else if ((BUTTON_STATUS(button) &
622
+ BUTTON_ACTION_MASK) == BUTTON_PRESSED)
623
+ waddstr(win, "pressed: ");
624
+ else if ((BUTTON_STATUS(button) &
625
+ BUTTON_ACTION_MASK) == BUTTON_CLICKED)
626
+ waddstr(win, "clicked: ");
627
+ else if ((BUTTON_STATUS(button) &
628
+ BUTTON_ACTION_MASK) == BUTTON_DOUBLE_CLICKED)
629
+ waddstr(win, "double: ");
630
+ else if ((BUTTON_STATUS(button) &
631
+ BUTTON_ACTION_MASK) == BUTTON_TRIPLE_CLICKED)
632
+ waddstr(win, "triple: ");
633
+ else
634
+ waddstr(win, "released: ");
635
+
636
+ if( !button)
637
+ button = 1; /* to allow button modifiers to be read */
638
+ if( BUTTON_STATUS(button) & BUTTON_MODIFIER_MASK)
639
+ {
640
+ if (BUTTON_STATUS(button) & BUTTON_SHIFT)
641
+ waddstr(win, "SHIFT ");
642
+
643
+ if (BUTTON_STATUS(button) & BUTTON_CONTROL)
644
+ waddstr(win, "CONTROL ");
645
+
646
+ if (BUTTON_STATUS(button) & BUTTON_ALT)
647
+ waddstr(win, "ALT ");
648
+ }
649
+
650
+ wprintw(win, "Posn: Y: %d X: %d", MOUSE_Y_POS, MOUSE_X_POS);
651
+ }
652
+ #else /* ncurses mouse handling */
653
+ if (c == KEY_MOUSE)
654
+ {
655
+ MEVENT mevent;
656
+
657
+ wmove(win, line, 5);
658
+ wclrtoeol(win);
659
+ if( OK == getmouse( &mevent))
660
+ {
661
+ const mmask_t events[] = { BUTTON1_PRESSED, BUTTON1_RELEASED,
662
+ BUTTON1_CLICKED, BUTTON1_DOUBLE_CLICKED, BUTTON1_TRIPLE_CLICKED,
663
+ BUTTON2_PRESSED, BUTTON2_RELEASED, BUTTON2_CLICKED,
664
+ BUTTON2_DOUBLE_CLICKED, BUTTON2_TRIPLE_CLICKED,
665
+ BUTTON3_PRESSED, BUTTON3_RELEASED, BUTTON3_CLICKED,
666
+ BUTTON3_DOUBLE_CLICKED, BUTTON3_TRIPLE_CLICKED,
667
+ BUTTON4_PRESSED, BUTTON4_RELEASED, BUTTON4_CLICKED,
668
+ BUTTON4_DOUBLE_CLICKED, BUTTON4_TRIPLE_CLICKED,
669
+ BUTTON5_PRESSED, BUTTON5_RELEASED, BUTTON5_CLICKED,
670
+ BUTTON5_DOUBLE_CLICKED, BUTTON5_TRIPLE_CLICKED,
671
+ #ifdef BUTTON_CTRL
672
+ BUTTON_CTRL,
673
+ #else
674
+ BUTTON_CONTROL,
675
+ #endif
676
+ BUTTON_SHIFT, BUTTON_ALT };
677
+
678
+ for( i = 0; (size_t)i < sizeof( events) / sizeof( events[0]); i++)
679
+ if( mevent.bstate & events[i])
680
+ {
681
+ const char *text[8] = { "pressed", "released", "clicked",
682
+ "dblclick", "triple-click", "Ctrl", "Shift", "Alt" };
683
+
684
+ if( i < 25)
685
+ wprintw( win, "button %d %s", i / 5 + 1, text[i % 5]);
686
+ else
687
+ wprintw( win, " %s", text[i - 20]);
688
+ if( i % 5 == 0) /* button pressed */
689
+ mouse_buttons_held |= (1 << (i / 5));
690
+ if( i % 5 == 1) /* button released */
691
+ mouse_buttons_held &= ~(1 << (i / 5));
692
+ }
693
+ if( mevent.bstate & ALL_MOVE_EVENTS)
694
+ {
695
+ wprintw( win, "moved <%d>", mouse_buttons_held);
696
+ for( i = 0; i < 3; i++)
697
+ if( (mouse_buttons_held >> i) & 1)
698
+ wprintw( win, " Button %d", i + 1);
699
+ }
700
+ wprintw(win, " Posn: Y: %d X: %d", mevent.y, mevent.x);
701
+ }
702
+ else
703
+ wprintw( win, " ? getmouse failed ?");
704
+ }
705
+ #endif
706
+ #ifdef PDCURSES
707
+ if( c != KEY_MOUSE && PDC_get_key_modifiers())
708
+ {
709
+ waddstr(win, " Modifier(s):");
710
+ if (PDC_get_key_modifiers() & PDC_KEY_MODIFIER_SHIFT)
711
+ waddstr(win, " SHIFT");
712
+
713
+ if (PDC_get_key_modifiers() & PDC_KEY_MODIFIER_CONTROL)
714
+ waddstr(win, " CONTROL");
715
+
716
+ if (PDC_get_key_modifiers() & PDC_KEY_MODIFIER_ALT)
717
+ waddstr(win, " ALT");
718
+
719
+ if (PDC_get_key_modifiers() & PDC_KEY_MODIFIER_NUMLOCK)
720
+ waddstr(win, " NUMLOCK");
721
+ }
722
+ #endif
723
+ wrefresh(win);
724
+ line++;
725
+
726
+ if (c == ' ' || c == 1)
727
+ break;
728
+ }
729
+
730
+ wtimeout(win, -1); /* turn off timeout() */
731
+ curs_set(1); /* turn cursor back on */
732
+
733
+ #ifdef CLASSIC_MOUSE_INTERFACE
734
+ mouse_set(0L);
735
+ PDC_return_key_modifiers(FALSE);
736
+ #else
737
+ mousemask( (mmask_t)0, NULL);
738
+ #endif
739
+ #ifdef NCURSES_VERSION
740
+ if( test_mouse_mask & REPORT_MOUSE_POSITION)
741
+ printf( "\x1b\x5b?1003l\n"); /* disables mouse movement reports */
742
+ #endif
743
+ wclear(win);
744
+ if( c == 1)
745
+ {
746
+ delwin( subWin);
747
+ return;
748
+ }
749
+ mvwaddstr(win, 2, 1, "Press some keys for 5 seconds");
750
+ mvwaddstr(win, 1, 1, "Pressing ^C should do nothing");
751
+ wrefresh(win);
752
+
753
+ werase(subWin);
754
+ box(subWin, ACS_VLINE, ACS_HLINE);
755
+
756
+ for (i = 0; i < 5; i++)
757
+ {
758
+ mvwprintw(subWin, 1, 1, "Time = %d", i);
759
+ wrefresh(subWin);
760
+ napms(1000);
761
+ flushinp();
762
+ }
763
+
764
+ delwin(subWin);
765
+ werase(win);
766
+ flash();
767
+ wrefresh(win);
768
+ napms(500);
769
+ flushinp();
770
+
771
+ mvwaddstr(win, 2, 1, "Press a key, followed by ENTER");
772
+ wmove(win, 9, 10);
773
+ wrefresh(win);
774
+ echo();
775
+
776
+ keypad(win, TRUE);
777
+ raw();
778
+ wgetnstr(win, buffer, 3);
779
+ flushinp();
780
+
781
+ wmove(win, 9, 10);
782
+ wdelch(win);
783
+ mvwaddstr(win, 4, 1, "The character should now have been deleted");
784
+ Continue(win);
785
+
786
+ refresh();
787
+ wclear(win);
788
+ echo();
789
+ buffer[0] = '\0';
790
+ mvwaddstr(win, 3, 2, "The window should have moved");
791
+ mvwaddstr(win, 4, 2,
792
+ "This text should have appeared without you pressing a key");
793
+ mvwaddstr(win, 6, 2, "Enter a number then a string separated by space");
794
+ mvwin(win, 2, 1);
795
+ wrefresh(win);
796
+ mvwscanw(win, 7, 6, "%d %79s", &num, buffer);
797
+ mvwprintw(win, 8, 6, "String: %s Number: %d", buffer, num);
798
+ Continue(win);
799
+
800
+ refresh();
801
+ wclear(win);
802
+ echo();
803
+ mvwaddstr(win, 3, 2, "Enter a 5 character string: ");
804
+ wgetnstr(win, buffer, 5);
805
+ mvwprintw(win, 4, 2, "String: %s", buffer);
806
+ Continue(win);
807
+ }
808
+
809
+ void outputTest(WINDOW *win)
810
+ {
811
+ WINDOW *win1;
812
+ char Buffer[80];
813
+ chtype ch;
814
+ int by, bx;
815
+
816
+ #ifdef PDCURSES
817
+ PDC_set_blink(TRUE);
818
+ #endif
819
+ nl();
820
+ wclear(win);
821
+ mvwaddstr(win, 1, 1, "You should now have a screen in the upper "
822
+ "left corner, and this text should have wrapped");
823
+ waddstr(win,"\nThis text should be down\n");
824
+ waddstr(win, "and broken into two here ^");
825
+ Continue(win);
826
+
827
+ wclear(win);
828
+ wattron(win, A_BOLD);
829
+ mvwaddstr(win, 1, 1, "A new window will appear with this text in it");
830
+ mvwaddstr(win, 8, 1, "Press any key to continue");
831
+ wrefresh(win);
832
+ wgetch(win);
833
+
834
+ getbegyx(win, by, bx);
835
+
836
+ if (LINES < 24 || COLS < 75)
837
+ {
838
+ mvwaddstr(win, 5, 1, "Some tests have been skipped as they require a");
839
+ mvwaddstr(win, 6, 1, "display of at least 24 LINES by 75 COLUMNS");
840
+ Continue(win);
841
+ }
842
+ else
843
+ {
844
+ win1 = newwin(10, 50, 14, 25);
845
+
846
+ if (win1 == NULL)
847
+ {
848
+ endwin();
849
+ return;
850
+ }
851
+
852
+ #ifdef A_COLOR
853
+ if (has_colors())
854
+ {
855
+ init_pair(3, COLOR_BLUE, COLOR_WHITE);
856
+ wbkgd(win1, COLOR_PAIR(3));
857
+ }
858
+ else
859
+ #endif
860
+ wbkgd(win1, A_NORMAL);
861
+
862
+ wclear(win1);
863
+ mvwaddstr(win1, 5, 1, "This text should appear; using overlay option");
864
+ copywin(win, win1, 0, 0, 0, 0, 9, 49, TRUE);
865
+ box(win1, ACS_VLINE, ACS_HLINE);
866
+ wmove(win1, 8, 26);
867
+ wrefresh(win1);
868
+ wgetch(win1);
869
+
870
+ wclear(win1);
871
+
872
+ wattron(win1, A_BLINK);
873
+ mvwaddstr(win1, 4, 1,
874
+ "This blinking text should appear in only the second window");
875
+ wattroff(win1, A_BLINK);
876
+
877
+ mvwin(win1, by, bx);
878
+ overlay(win, win1);
879
+ mvwin(win1, 14, 25);
880
+ wmove(win1, 8, 26);
881
+ wrefresh(win1);
882
+ wgetch(win1);
883
+
884
+ delwin(win1);
885
+ }
886
+
887
+ clear();
888
+ wclear(win);
889
+ wrefresh(win);
890
+ mvwaddstr(win, 6, 2, "This line shouldn't appear");
891
+ mvwaddstr(win, 4, 2, "Only half of the next line is visible");
892
+ mvwaddstr(win, 5, 2, "Only half of the next line is visible");
893
+ wmove(win, 6, 1);
894
+ wclrtobot(win);
895
+ wmove(win, 5, 20);
896
+ wclrtoeol(win);
897
+ mvwaddstr(win, 8, 2, "This line also shouldn't appear");
898
+ wmove(win, 8, 1);
899
+ winsdelln(win, -1);
900
+ Continue(win);
901
+
902
+ wmove(win, 5, 9);
903
+ ch = winch(win);
904
+
905
+ wclear(win);
906
+ wmove(win, 6, 2);
907
+ waddstr(win, "The next char should be l: ");
908
+ winsch(win, ch);
909
+ Continue(win);
910
+
911
+ mvwinsstr(win, 6, 2, "A1B2C3D4E5");
912
+ Continue(win);
913
+
914
+ wmove(win, 5, 1);
915
+ winsdelln(win, 1);
916
+ mvwaddstr(win, 5, 2, "The lines below should have moved down");
917
+ Continue(win);
918
+
919
+ wclear(win);
920
+ wmove(win, 2, 2);
921
+ wprintw(win, "This is a formatted string in a window: %d %s\n",
922
+ 42, "is it");
923
+ mvwaddstr(win, 10, 1, "Enter a string: ");
924
+ wrefresh(win);
925
+ echo();
926
+ wscanw(win, "%79s", Buffer);
927
+
928
+ printw("This is a formatted string in stdscr: %d %s\n", 42, "is it");
929
+ mvaddstr(10, 1, "Enter a string: ");
930
+ scanw("%79s", Buffer);
931
+
932
+ wclear(win);
933
+ curs_set(2);
934
+ mvwaddstr(win, 1, 1, "The cursor should be in high-visibility mode");
935
+ Continue(win);
936
+
937
+ wclear(win);
938
+ curs_set(0);
939
+ mvwaddstr(win, 1, 1, "The cursor should have disappeared");
940
+ Continue(win);
941
+
942
+ wclear(win);
943
+ curs_set(1);
944
+ mvwaddstr(win, 1, 1, "The cursor should be normal");
945
+ Continue(win);
946
+
947
+ #ifdef A_COLOR
948
+ if (has_colors())
949
+ {
950
+ wclear(win);
951
+ mvwaddstr(win, 1, 1, "This window should change to red text on a white");
952
+ mvwaddstr(win, 2, 1, "background after you press a key");
953
+ Continue(win);
954
+
955
+ init_pair(1, COLOR_RED, COLOR_WHITE);
956
+ wrefresh(win);
957
+ }
958
+ #endif
959
+ werase(win);
960
+ mvwaddstr(win, 1, 1, "Information About Your Terminal");
961
+ mvwaddstr(win, 3, 1, termname());
962
+ mvwaddstr(win, 4, 1, longname());
963
+
964
+ if (termattrs() & A_BLINK)
965
+ mvwaddstr(win, 5, 1, "This terminal claims to support blinking.");
966
+ else
967
+ mvwaddstr(win, 5, 1, "This terminal does NOT support blinking.");
968
+
969
+ mvwaddnstr(win, 7, 5, "Have a nice day!ok", 16);
970
+ wrefresh(win);
971
+
972
+ mvwinnstr(win, 7, 5, Buffer, 18);
973
+ mvaddstr(LINES - 2, 10, Buffer);
974
+ refresh();
975
+ Continue(win);
976
+ #ifdef PDCURSES
977
+ PDC_set_blink(FALSE);
978
+ #endif
979
+ }
980
+
981
+ #if HAVE_RESIZE
982
+ void resizeTest(WINDOW *dummy)
983
+ {
984
+ WINDOW *win1;
985
+ int nwidth = 135, nheight = 52;
986
+ int owidth = COLS, oheight = LINES;
987
+
988
+ INTENTIONALLY_UNUSED_PARAMETER( dummy);
989
+ savetty();
990
+
991
+ resize_term(nheight, nwidth);
992
+
993
+ clear();
994
+ refresh();
995
+
996
+ win1 = newwin(10, 50, 14, 25);
997
+
998
+ if (win1 == NULL)
999
+ {
1000
+ endwin();
1001
+ return;
1002
+ }
1003
+
1004
+ #ifdef A_COLOR
1005
+ if (has_colors())
1006
+ {
1007
+ init_pair(3, COLOR_BLUE, COLOR_WHITE);
1008
+ wattrset(win1, COLOR_PAIR(3));
1009
+ }
1010
+
1011
+ wclear(win1);
1012
+ #endif
1013
+ mvwaddstr(win1, 0, 0, "The screen may now be resized");
1014
+ mvwprintw(win1, 1, 4, "Given size: %d by %d", nwidth, nheight);
1015
+ mvwprintw(win1, 2, 4, "Actual size: %d by %d", COLS, LINES);
1016
+ Continue(win1);
1017
+
1018
+ wclear(win1);
1019
+ resetty();
1020
+
1021
+ mvwaddstr(win1, 0, 0, "The screen should now be reset");
1022
+ mvwprintw(win1, 1, 6, "Old size: %d by %d", owidth, oheight);
1023
+ mvwprintw(win1, 2, 6, "Size now: %d by %d", COLS, LINES);
1024
+ Continue(win1);
1025
+
1026
+ delwin(win1);
1027
+
1028
+ clear();
1029
+ refresh();
1030
+ }
1031
+ #endif /* HAVE_RESIZE */
1032
+
1033
+ void padTest(WINDOW *dummy)
1034
+ {
1035
+ WINDOW *pad, *spad;
1036
+
1037
+ INTENTIONALLY_UNUSED_PARAMETER( dummy);
1038
+ pad = newpad(50, 100);
1039
+ wattron(pad, A_REVERSE);
1040
+ mvwaddstr(pad, 5, 2, "This is a new pad");
1041
+ wattrset(pad, 0);
1042
+ mvwaddstr(pad, 8, 0,
1043
+ "The end of this line should be truncated here:except now");
1044
+ mvwaddstr(pad, 11, 1, "This line should not appear.It will now");
1045
+ wmove(pad, 10, 1);
1046
+ wclrtoeol(pad);
1047
+ mvwaddstr(pad, 10, 1, " Press any key to continue");
1048
+ prefresh(pad, 0, 0, 0, 0, 10, 45);
1049
+ keypad(pad, TRUE);
1050
+ raw();
1051
+ wgetch(pad);
1052
+
1053
+ spad = subpad(pad, 12, 25, 7, 52);
1054
+ mvwaddstr(spad, 2, 2, "This is a new subpad");
1055
+ box(spad, 0, 0);
1056
+ delwin(spad);
1057
+ prefresh(pad, 0, 0, 0, 0, 15, 75);
1058
+ keypad(pad, TRUE);
1059
+ raw();
1060
+ wgetch(pad);
1061
+
1062
+ mvwaddstr(pad, 35, 2, "This is displayed at line 35 in the pad");
1063
+ mvwaddstr(pad, 40, 1, " Press any key to continue");
1064
+ prefresh(pad, 30, 0, 0, 0, 10, 45);
1065
+ keypad(pad, TRUE);
1066
+ raw();
1067
+ wgetch(pad);
1068
+
1069
+ delwin(pad);
1070
+ }
1071
+
1072
+ #if HAVE_CLIPBOARD
1073
+ void clipboardTest(WINDOW *win)
1074
+ {
1075
+ static const char *text =
1076
+ "This string placed in clipboard by PDCurses test program, testcurs.";
1077
+ char *ptr = NULL;
1078
+ long i, length = 0;
1079
+
1080
+ INTENTIONALLY_UNUSED_PARAMETER( win);
1081
+ mvaddstr(1, 1,
1082
+ "This test will display the contents of the system clipboard");
1083
+
1084
+ Continue2();
1085
+
1086
+ scrollok(stdscr, TRUE);
1087
+ i = PDC_getclipboard(&ptr, &length);
1088
+
1089
+ switch(i)
1090
+ {
1091
+ case PDC_CLIP_ACCESS_ERROR:
1092
+ mvaddstr(3, 1, "There was an error accessing the clipboard");
1093
+ refresh();
1094
+ break;
1095
+
1096
+ case PDC_CLIP_MEMORY_ERROR:
1097
+ mvaddstr(3, 1,
1098
+ "Unable to allocate memory for clipboard contents");
1099
+ break;
1100
+
1101
+ case PDC_CLIP_EMPTY:
1102
+ mvaddstr(3, 1, "There was no text in the clipboard");
1103
+ break;
1104
+
1105
+ default:
1106
+ wsetscrreg(stdscr, 0, LINES - 1);
1107
+ clear();
1108
+ mvaddstr(1, 1, "Clipboard contents...");
1109
+ mvprintw(2, 1, "%s\n", ptr);
1110
+ PDC_freeclipboard( ptr);
1111
+ }
1112
+
1113
+ Continue2();
1114
+
1115
+ clear();
1116
+ mvaddstr(1, 1,
1117
+ "This test will place the following string in the system clipboard:");
1118
+ mvaddstr(2, 1, text);
1119
+
1120
+ i = PDC_setclipboard(text, (long)strlen(text));
1121
+
1122
+ switch(i)
1123
+ {
1124
+ case PDC_CLIP_ACCESS_ERROR:
1125
+ mvaddstr(3, 1, "There was an error accessing the clipboard");
1126
+ break;
1127
+
1128
+ case PDC_CLIP_MEMORY_ERROR:
1129
+ mvaddstr(3, 1, "Unable to allocate memory for clipboard contents");
1130
+ break;
1131
+
1132
+ default:
1133
+ mvaddstr(3, 1, "The string was placed in the clipboard successfully");
1134
+ }
1135
+
1136
+ Continue2();
1137
+ }
1138
+ #endif /* HAVE_CLIPBOARD */
1139
+
1140
+ void curTest(void)
1141
+ {
1142
+ do {
1143
+ int c = getch();
1144
+
1145
+ #if defined (PDCURSES) || defined (NCURSES_VERSION)
1146
+ #ifdef __linux
1147
+ const char *screen_dump_filename = "/tmp/screen.xyz";
1148
+ #else
1149
+ const char *screen_dump_filename = "screen.xyz";
1150
+ #endif
1151
+
1152
+ if (c == KEY_UP)
1153
+ move(getcury(stdscr) - 1, getcurx(stdscr));
1154
+ else if (c == KEY_DOWN)
1155
+ move(getcury(stdscr) + 1, getcurx(stdscr));
1156
+ else if (c == KEY_LEFT)
1157
+ move(getcury(stdscr), getcurx(stdscr) - 1);
1158
+ else if (c == KEY_RIGHT)
1159
+ move(getcury(stdscr), getcurx(stdscr) + 1);
1160
+ else if (c == 'i') /* cycle cursor visibility from */
1161
+ { /* 1 = low to 2 = high to 0 =off to low again */
1162
+ const int curr_visibility = curs_set( 1);
1163
+
1164
+ if( curr_visibility == 1 || curr_visibility == 2)
1165
+ curs_set( (curr_visibility + 1) % 3);
1166
+ }
1167
+ else if( c == 's')
1168
+ scr_dump( screen_dump_filename);
1169
+ else if( c == 'r')
1170
+ {
1171
+ scr_restore( screen_dump_filename);
1172
+ refresh( );
1173
+ }
1174
+ else
1175
+ #endif
1176
+ break;
1177
+ } while (TRUE);
1178
+ }
1179
+
1180
+ void acsTest(WINDOW *win)
1181
+ {
1182
+ static const char *acs_names[] =
1183
+ {
1184
+ "ACS_ULCORNER", "ACS_URCORNER", "ACS_LLCORNER", "ACS_LRCORNER",
1185
+ "ACS_LTEE", "ACS_RTEE", "ACS_TTEE", "ACS_BTEE", "ACS_HLINE",
1186
+ "ACS_VLINE", "ACS_PLUS",
1187
+ "ACS_D_ULCORNER", "ACS_D_URCORNER", "ACS_D_LLCORNER", "ACS_D_LRCORNER",
1188
+ "ACS_D_LTEE", "ACS_D_RTEE", "ACS_D_TTEE", "ACS_D_BTEE", "ACS_D_HLINE",
1189
+ "ACS_D_VLINE", "ACS_D_PLUS",
1190
+
1191
+ "ACS_T_ULCORNER", "ACS_T_URCORNER", "ACS_T_LLCORNER", "ACS_T_LRCORNER",
1192
+ "ACS_T_LTEE", "ACS_T_RTEE", "ACS_T_TTEE", "ACS_T_BTEE", "ACS_T_HLINE",
1193
+ "ACS_T_VLINE", "ACS_T_PLUS",
1194
+
1195
+ "ACS_SD_ULCORNER", "ACS_SD_URCORNER", "ACS_SD_LLCORNER",
1196
+ "ACS_SD_LRCORNER", "ACS_SD_LTEE",
1197
+ "ACS_SD_RTEE", "ACS_SD_TTEE", "ACS_SD_BTEE", "ACS_SD_PLUS",
1198
+ "ACS_DS_ULCORNER", "ACS_DS_URCORNER", "ACS_DS_LLCORNER",
1199
+ "ACS_DS_LRCORNER", "ACS_DS_LTEE", "ACS_DS_RTEE", "ACS_DS_TTEE",
1200
+ "ACS_DS_BTEE", "ACS_DS_PLUS",
1201
+ "ACS_S1",
1202
+ "ACS_S3", "ACS_S7",
1203
+ "ACS_S9", "ACS_DIAMOND",
1204
+ "ACS_CLUB", "ACS_SPADE", "ACS_HEART",
1205
+ "ACS_LTBOARD",
1206
+ "ACS_BOARD", "ACS_CKBOARD", "ACS_DEGREE", "ACS_PLMINUS",
1207
+ "ACS_BULLET",
1208
+ "ACS_SM_BULLET", "ACS_MED_BULLET", "ACS_WHITE_BULLET",
1209
+ "ACS_PILCROW", "ACS_SECTION", "ACS_SMILE", "ACS_REV_SMILE",
1210
+ "ACS_LARROW", "ACS_RARROW", "ACS_UARROW", "ACS_DARROW",
1211
+ "ACS_LANTERN", "ACS_BLOCK",
1212
+ "ACS_LEQUAL", "ACS_GEQUAL", "ACS_NEQUAL",
1213
+ "ACS_PI", "ACS_STERLING",
1214
+ "ACS_CENT", "ACS_YEN", "ACS_PESETA",
1215
+ "ACS_ALPHA", "ACS_BETA", "ACS_GAMMA", "ACS_UP_SIGMA",
1216
+ "ACS_LO_SIGMA", "ACS_MU", "ACS_TAU", "ACS_UP_PHI", "ACS_LO_PHI",
1217
+ "ACS_OMEGA", "ACS_DELTA", "ACS_INFINITY", "ACS_THETA", "ACS_EPSILON",
1218
+ "ACS_INTERSECT", "ACS_SUP2", "ACS_SUP_N", "ACS_TRIPLE_BAR",
1219
+ "ACS_APPROX_EQ", "ACS_SQUARE_ROOT", "ACS_NOT", "ACS_REV_NOT",
1220
+ "ACS_HALF", "ACS_QUARTER", "ACS_DIVISION",
1221
+ "ACS_UP_INTEGRAL", "ACS_LO_INTEGRAL",
1222
+ "ACS_UBLOCK", "ACS_BBLOCK",
1223
+ "ACS_LBLOCK", "ACS_RBLOCK",
1224
+ "ACS_A_ORDINAL", "ACS_O_ORDINAL",
1225
+ "ACS_INV_BANG", "ACS_INV_QUERY",
1226
+ "ACS_LEFT_ANG_QU", "ACS_RIGHT_ANG_QU",
1227
+ "ACS_CENTER_SQU", "ACS_F_WITH_HOOK"
1228
+ };
1229
+
1230
+ const chtype acs_values[] =
1231
+ {
1232
+ ACS_ULCORNER, ACS_URCORNER, ACS_LLCORNER, ACS_LRCORNER,
1233
+ ACS_LTEE, ACS_RTEE, ACS_TTEE, ACS_BTEE, ACS_HLINE,
1234
+ ACS_VLINE, ACS_PLUS,
1235
+
1236
+ #ifdef ACS_D_ULCORNER
1237
+ ACS_D_ULCORNER, ACS_D_URCORNER, ACS_D_LLCORNER, ACS_D_LRCORNER,
1238
+ ACS_D_LTEE, ACS_D_RTEE, ACS_D_TTEE, ACS_D_BTEE, ACS_D_HLINE,
1239
+ ACS_D_VLINE, ACS_D_PLUS,
1240
+ #else
1241
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1242
+ #endif
1243
+
1244
+ #ifdef ACS_T_ULCORNER
1245
+ ACS_T_ULCORNER, ACS_T_URCORNER, ACS_T_LLCORNER, ACS_T_LRCORNER,
1246
+ ACS_T_LTEE, ACS_T_RTEE, ACS_T_TTEE, ACS_T_BTEE, ACS_T_HLINE,
1247
+ ACS_T_VLINE, ACS_T_PLUS,
1248
+ #else
1249
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1250
+ #endif
1251
+
1252
+ #ifdef ACS_SD_ULCORNER
1253
+ ACS_SD_ULCORNER, ACS_SD_URCORNER, ACS_SD_LLCORNER,
1254
+ ACS_SD_LRCORNER, ACS_SD_LTEE,
1255
+ ACS_SD_RTEE, ACS_SD_TTEE, ACS_SD_BTEE, ACS_SD_PLUS,
1256
+ ACS_DS_ULCORNER, ACS_DS_URCORNER, ACS_DS_LLCORNER,
1257
+ ACS_DS_LRCORNER, ACS_DS_LTEE, ACS_DS_RTEE, ACS_DS_TTEE,
1258
+ ACS_DS_BTEE, ACS_DS_PLUS,
1259
+ #else
1260
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,
1261
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,
1262
+ #endif
1263
+ ACS_S1,
1264
+ #ifdef ACS_S3
1265
+ ACS_S3, ACS_S7,
1266
+ #else
1267
+ 0, 0,
1268
+ #endif
1269
+ ACS_S9, ACS_DIAMOND,
1270
+ #ifdef ACS_CLUB
1271
+ ACS_CLUB, ACS_SPADE, ACS_HEART, ACS_LTBOARD,
1272
+ #else
1273
+ 0, 0, 0, 0,
1274
+ #endif
1275
+ ACS_BOARD, ACS_CKBOARD, ACS_DEGREE, ACS_PLMINUS, ACS_BULLET,
1276
+ #ifdef ACS_SM_BULLET
1277
+ ACS_SM_BULLET, ACS_MED_BULLET, ACS_WHITE_BULLET,
1278
+ ACS_PILCROW, ACS_SECTION, ACS_SMILE, ACS_REV_SMILE,
1279
+ #else
1280
+ 0, 0, 0, 0, 0, 0, 0,
1281
+ #endif
1282
+ ACS_LARROW, ACS_RARROW, ACS_UARROW, ACS_DARROW,
1283
+ ACS_LANTERN, ACS_BLOCK,
1284
+ #ifdef ACS_LEQUAL
1285
+ ACS_LEQUAL, ACS_GEQUAL, ACS_NEQUAL,
1286
+ ACS_PI, ACS_STERLING,
1287
+ #else
1288
+ 0, 0, 0, 0, 0,
1289
+ #endif
1290
+ #ifdef ACS_CENT
1291
+ ACS_CENT, ACS_YEN, ACS_PESETA,
1292
+ ACS_ALPHA, ACS_BETA, ACS_GAMMA, ACS_UP_SIGMA,
1293
+ ACS_LO_SIGMA, ACS_MU, ACS_TAU, ACS_UP_PHI, ACS_LO_PHI,
1294
+ ACS_OMEGA, ACS_DELTA, ACS_INFINITY, ACS_THETA, ACS_EPSILON,
1295
+ ACS_INTERSECT, ACS_SUP2, ACS_SUP_N, ACS_TRIPLE_BAR,
1296
+ ACS_APPROX_EQ, ACS_SQUARE_ROOT, ACS_NOT, ACS_REV_NOT,
1297
+ ACS_HALF, ACS_QUARTER, ACS_DIVISION,
1298
+ ACS_UP_INTEGRAL, ACS_LO_INTEGRAL,
1299
+ ACS_UBLOCK, ACS_BBLOCK,
1300
+ ACS_LBLOCK, ACS_RBLOCK,
1301
+ ACS_A_ORDINAL, ACS_O_ORDINAL,
1302
+ ACS_INV_BANG, ACS_INV_QUERY,
1303
+ ACS_LEFT_ANG_QU, ACS_RIGHT_ANG_QU,
1304
+ ACS_CENTER_SQU, ACS_F_WITH_HOOK
1305
+ #endif
1306
+ };
1307
+
1308
+ #if HAVE_WIDE && defined( WACS_S1)
1309
+ const cchar_t *wacs_values[] =
1310
+ {
1311
+ WACS_ULCORNER, WACS_URCORNER, WACS_LLCORNER, WACS_LRCORNER,
1312
+ WACS_LTEE, WACS_RTEE, WACS_TTEE, WACS_BTEE, WACS_HLINE,
1313
+ WACS_VLINE, WACS_PLUS,
1314
+
1315
+ #ifdef WACS_D_ULCORNER
1316
+ WACS_D_ULCORNER, WACS_D_URCORNER, WACS_D_LLCORNER, WACS_D_LRCORNER,
1317
+ WACS_D_LTEE, WACS_D_RTEE, WACS_D_TTEE, WACS_D_BTEE, WACS_D_HLINE,
1318
+ WACS_D_VLINE, WACS_D_PLUS,
1319
+ #else
1320
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1321
+ #endif
1322
+
1323
+ #ifdef WACS_T_ULCORNER
1324
+ WACS_T_ULCORNER, WACS_T_URCORNER, WACS_T_LLCORNER, WACS_T_LRCORNER,
1325
+ WACS_T_LTEE, WACS_T_RTEE, WACS_T_TTEE, WACS_T_BTEE, WACS_T_HLINE,
1326
+ WACS_T_VLINE, WACS_T_PLUS,
1327
+ #else
1328
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1329
+ #endif
1330
+
1331
+ #ifdef WACS_SD_ULCORNER
1332
+ WACS_SD_ULCORNER, WACS_SD_URCORNER, WACS_SD_LLCORNER,
1333
+ WACS_SD_LRCORNER, WACS_SD_LTEE,
1334
+ WACS_SD_RTEE, WACS_SD_TTEE, WACS_SD_BTEE, WACS_SD_PLUS,
1335
+ WACS_DS_ULCORNER, WACS_DS_URCORNER, WACS_DS_LLCORNER,
1336
+ WACS_DS_LRCORNER, WACS_DS_LTEE, WACS_DS_RTEE, WACS_DS_TTEE,
1337
+ WACS_DS_BTEE, WACS_DS_PLUS,
1338
+ #else
1339
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,
1340
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,
1341
+ #endif
1342
+ WACS_S1,
1343
+ #ifdef WACS_S3
1344
+ WACS_S3, WACS_S7,
1345
+ #else
1346
+ 0, 0,
1347
+ #endif
1348
+ WACS_S9, WACS_DIAMOND,
1349
+ #ifdef WACS_CLUB
1350
+ WACS_CLUB, WACS_SPADE, WACS_HEART, WACS_LTBOARD,
1351
+ #else
1352
+ 0, 0, 0, 0,
1353
+ #endif
1354
+ WACS_BOARD, WACS_CKBOARD, WACS_DEGREE, WACS_PLMINUS, WACS_BULLET,
1355
+ #ifdef WACS_SM_BULLET
1356
+ WACS_SM_BULLET, WACS_MED_BULLET, WACS_WHITE_BULLET,
1357
+ WACS_PILCROW, WACS_SECTION, WACS_SMILE, WACS_REV_SMILE,
1358
+ #else
1359
+ 0, 0, 0, 0, 0, 0, 0,
1360
+ #endif
1361
+ WACS_LARROW, WACS_RARROW, WACS_UARROW, WACS_DARROW,
1362
+ WACS_LANTERN, WACS_BLOCK,
1363
+ #ifdef WACS_LEQUAL
1364
+ WACS_LEQUAL, WACS_GEQUAL, WACS_NEQUAL,
1365
+ WACS_PI, WACS_STERLING,
1366
+ #else
1367
+ 0, 0, 0, 0, 0,
1368
+ #endif
1369
+ #ifdef WACS_CENT
1370
+ WACS_CENT, WACS_YEN, WACS_PESETA,
1371
+ WACS_ALPHA, WACS_BETA, WACS_GAMMA, WACS_UP_SIGMA,
1372
+ WACS_LO_SIGMA, WACS_MU, WACS_TAU, WACS_UP_PHI, WACS_LO_PHI,
1373
+ WACS_OMEGA, WACS_DELTA, WACS_INFINITY, WACS_THETA, WACS_EPSILON,
1374
+ WACS_INTERSECT, WACS_SUP2, WACS_SUP_N, WACS_TRIPLE_BAR,
1375
+ WACS_APPROX_EQ, WACS_SQUARE_ROOT, WACS_NOT, WACS_REV_NOT,
1376
+ WACS_HALF, WACS_QUARTER, WACS_DIVISION,
1377
+ WACS_UP_INTEGRAL, WACS_LO_INTEGRAL,
1378
+ WACS_UBLOCK, WACS_BBLOCK,
1379
+ WACS_LBLOCK, WACS_RBLOCK,
1380
+ WACS_A_ORDINAL, WACS_O_ORDINAL,
1381
+ WACS_INV_BANG, WACS_INV_QUERY,
1382
+ WACS_LEFT_ANG_QU, WACS_RIGHT_ANG_QU,
1383
+ WACS_CENTER_SQU, WACS_F_WITH_HOOK
1384
+ #endif /* #if WACS_CENT */
1385
+ };
1386
+ #endif /* #ifdef WACS_S1 */
1387
+
1388
+ #if HAVE_WIDE
1389
+ static const wchar_t russian[] = {0x0420, 0x0443, 0x0441, 0x0441,
1390
+ 0x043a, 0x0438, 0x0439, L' ', 0x044f, 0x0437, 0x044b, 0x043a, 0};
1391
+
1392
+ static const wchar_t greek[] = {0x0395, 0x03bb, 0x03bb, 0x03b7,
1393
+ 0x03bd, 0x03b9, 0x03ba, 0x03ac, 0};
1394
+
1395
+ static const wchar_t georgian[] = {0x10e5, 0x10d0, 0x10e0, 0x10d7,
1396
+ 0x10e3, 0x10da, 0x10d8, L' ', 0x10d4, 0x10dc, 0x10d0, 0};
1397
+
1398
+ static const wchar_t fullwidth[] = { 0xff26, 0xff55, 0xff4c, 0xff4c,
1399
+ 0xff57, 0xff49, 0xff44, 0xff54, 0xff48, 0 }; /* "Fullwidth" */
1400
+
1401
+ static const wchar_t combining_marks[] = { L'C', L'o', 0x35c, L'm',
1402
+ L'b', 0x30a, L'i', L'n', L'i', 0x304, L'n', 0x30b, 0x329,
1403
+ L'g', 0x310,
1404
+ L' ', L'C', 0x338, L'h', 0x306, L'a', 0x361, L'r', L's',
1405
+ 0x30e, 0x348, 0 };
1406
+
1407
+ #endif
1408
+
1409
+ int i, idx, tmarg = 1, ncols = (COLS - 4) / 19;
1410
+ int col_size = (COLS - 4) / ncols;
1411
+ int n_items = 0;
1412
+ int n_rows = LINES / 2 - 4;
1413
+
1414
+ INTENTIONALLY_UNUSED_PARAMETER( win);
1415
+ for( i = 0; i < (int)( sizeof( acs_values) / sizeof( acs_values[0])); i++)
1416
+ if( acs_values[i])
1417
+ n_items++;
1418
+ i = idx = 0;
1419
+ while( i < n_items)
1420
+ {
1421
+ int j, xloc = 3;
1422
+
1423
+ attrset(A_BOLD);
1424
+ mvaddstr( 1, (COLS - 23) / 2, "Alternate Character Set");
1425
+ attrset(A_NORMAL);
1426
+ tmarg = 4;
1427
+ while( i < n_items && xloc < COLS - col_size)
1428
+ {
1429
+ for( j = 0; i < n_items && j < n_rows; j++, i++)
1430
+ {
1431
+ move( j * 2 + tmarg, xloc);
1432
+ while( !acs_values[idx])
1433
+ idx++;
1434
+ addch(acs_values[idx]);
1435
+ printw(" %s", acs_names[idx]);
1436
+ idx++;
1437
+ }
1438
+ xloc += col_size;
1439
+ }
1440
+
1441
+ mvaddstr( tmarg + n_rows * 2, 3, curses_version( ));
1442
+ move( tmarg + n_rows * 2 + 1, 3);
1443
+ printw( "sizeof( chtype) = %d; sizeof( mmask_t) = %d",
1444
+ (int)sizeof( chtype), (int)sizeof( mmask_t));
1445
+ mvaddstr(tmarg + n_rows * 2 + 2, 3, "Press any key to continue");
1446
+ curTest( );
1447
+ clear( );
1448
+ }
1449
+
1450
+ #if HAVE_WIDE
1451
+ n_items = 0;
1452
+ for( i = 0; i < (int)( sizeof( wacs_values) / sizeof( wacs_values[0])); i++)
1453
+ if( wacs_values[i])
1454
+ n_items++;
1455
+ i = idx = 0;
1456
+ while( i < n_items)
1457
+ {
1458
+ int j, xloc = 3;
1459
+
1460
+ attrset(A_BOLD);
1461
+ mvaddstr( 1, (COLS - 28) / 2, "Wide Alternate Character Set");
1462
+ attrset(A_NORMAL);
1463
+ tmarg = 4;
1464
+ #ifdef WACS_S1
1465
+ while( i < n_items && xloc < COLS - col_size)
1466
+ {
1467
+ for( j = 0; i < n_items && j < n_rows; j++, i++)
1468
+ {
1469
+ move( j * 2 + tmarg, xloc);
1470
+ while( !wacs_values[idx])
1471
+ idx++;
1472
+ add_wch( wacs_values[idx]);
1473
+ printw(" W%s", acs_names[idx]);
1474
+ idx++;
1475
+ }
1476
+ xloc += col_size;
1477
+ }
1478
+ #endif
1479
+ /* Spanish, Russian, Greek, Georgian, fullwidth, combining */
1480
+
1481
+ tmarg += n_rows * 2;
1482
+ mvaddwstr(tmarg, COLS / 8 - 5, L"Espa\xf1ol");
1483
+ mvaddwstr(tmarg, 3 * (COLS / 8) - 5, russian);
1484
+ mvaddwstr(tmarg, 5 * (COLS / 8) - 5, greek);
1485
+ mvaddwstr(tmarg, 7 * (COLS / 8) - 5, georgian);
1486
+ mvaddwstr(tmarg + 1, COLS / 8 - 5, fullwidth);
1487
+
1488
+ mvaddwstr(tmarg + 1, 3 * (COLS / 8) - 5, combining_marks);
1489
+ #ifndef CHTYPE_32
1490
+ mvaddch( tmarg + 1, 7 * (COLS / 8) - 5, (chtype)0x1d11e);
1491
+ #endif /* U+1D11E = musical symbol G clef */
1492
+
1493
+ mvaddstr(tmarg + 2, 3, "Press any key to continue");
1494
+ curTest( );
1495
+ clear( );
1496
+ }
1497
+ #endif
1498
+ }
1499
+
1500
+ void attrTest(WINDOW *win)
1501
+ {
1502
+ const int tmarg = (LINES > 20 ? (LINES - 20) / 2 : 0);
1503
+ const int col1 = (COLS - 36) / 2, col2 = col1 + 20;
1504
+ const char *attr_names[] = {
1505
+ "Right", "Left", "Underline", "Reverse", "Bold", "Blink", "Top",
1506
+ #ifdef WA_ITALIC
1507
+ "Italic",
1508
+ #endif
1509
+ #ifdef WA_STRIKEOUT
1510
+ "Strikeout",
1511
+ #endif
1512
+ "Dim", "Horizontal", "Vertical", "Invis", "Low", "Protect",
1513
+ "Standout" };
1514
+ const attr_t attr_masks[] = {
1515
+ WA_RIGHT, WA_LEFT, WA_UNDERLINE, WA_REVERSE, WA_BOLD, WA_BLINK, WA_TOP,
1516
+ #ifdef WA_ITALIC
1517
+ WA_ITALIC,
1518
+ #endif
1519
+ #ifdef WA_STRIKEOUT
1520
+ WA_STRIKEOUT,
1521
+ #endif
1522
+ WA_DIM, WA_HORIZONTAL, WA_VERTICAL, WA_INVIS, WA_LOW, WA_PROTECT,
1523
+ WA_STANDOUT };
1524
+ const size_t n_attribs = sizeof( attr_names) / sizeof( attr_names[0]);
1525
+ size_t i;
1526
+
1527
+ INTENTIONALLY_UNUSED_PARAMETER( win);
1528
+ attrset(A_BOLD);
1529
+ mvaddstr(tmarg, (COLS - 20) / 2, "Character Attributes");
1530
+ attrset(A_NORMAL);
1531
+
1532
+ refresh();
1533
+
1534
+ #ifdef PDCURSES
1535
+ PDC_set_blink(TRUE);
1536
+ PDC_set_bold(TRUE);
1537
+ #endif
1538
+
1539
+ #ifdef A_ITALIC
1540
+ attrset(A_ITALIC);
1541
+ mvaddstr(tmarg + 3, col1, "A_ITALIC");
1542
+ #endif
1543
+
1544
+ attrset(A_BOLD);
1545
+ mvaddstr(tmarg + 5, col1, "A_BOLD");
1546
+
1547
+ attrset(A_BLINK);
1548
+ mvaddstr(tmarg + 7, col1, "A_BLINK");
1549
+
1550
+ attrset(A_REVERSE);
1551
+ mvaddstr(tmarg + 9, col1, "A_REVERSE");
1552
+
1553
+ attrset(A_STANDOUT);
1554
+ mvaddstr(tmarg + 11, col1, "A_STANDOUT");
1555
+
1556
+ attrset(A_UNDERLINE);
1557
+ mvaddstr(tmarg + 13, col1, "A_UNDERLINE");
1558
+
1559
+ #if PDC_COLOR_BITS >= 11
1560
+ attrset(A_STRIKEOUT);
1561
+ mvaddstr(tmarg + 15, col1, "A_STRIKEOUT");
1562
+ #endif
1563
+
1564
+ (void)attr_set( WA_TOP, 0, NULL);
1565
+ mvaddstr(tmarg + 15, col2, "A_TOP");
1566
+
1567
+ (void)attr_set( WA_DIM, 0, NULL);
1568
+ mvaddstr(tmarg + 17, col2, "A_DIM");
1569
+
1570
+ #ifdef WA_ITALIC
1571
+ (void)attr_set( WA_ITALIC | WA_UNDERLINE, 0, NULL);
1572
+ mvaddstr(tmarg + 3, col2, "Underlined Italic");
1573
+ #endif
1574
+
1575
+ attrset( A_BOLD | A_UNDERLINE);
1576
+ mvaddstr(tmarg + 5, col2, "Underlined Bold");
1577
+
1578
+ attrset( A_BLINK | A_UNDERLINE);
1579
+ mvaddstr(tmarg + 7, col2, "Underlined Blink");
1580
+
1581
+ (void)attr_set( WA_LEFT, 0, NULL);
1582
+ mvaddstr(tmarg + 9, col2, "A_LEFT");
1583
+
1584
+ (void)attr_set( WA_RIGHT, 0, NULL);
1585
+ mvaddstr(tmarg + 11, col2, "A_RIGHT");
1586
+
1587
+ attrset(A_BLINK|A_REVERSE);
1588
+ mvaddstr(tmarg + 13, col2, "Reverse Blink");
1589
+ attrset(A_NORMAL);
1590
+
1591
+ mvaddstr(tmarg + 19, 5, "This platform claims to support:");
1592
+ for( i = 0; i < n_attribs; i++)
1593
+ if( term_attrs( ) & attr_masks[i])
1594
+ {
1595
+ if( getcurx( stdscr) + 10 > COLS)
1596
+ move( getcury( stdscr) + 1, 10);
1597
+ addstr( " ");
1598
+ addstr( attr_names[i]);
1599
+ }
1600
+
1601
+ mvaddstr(tmarg + 17, 3, "Press any key to continue");
1602
+ curTest();
1603
+
1604
+ #ifdef PDCURSES
1605
+ PDC_set_bold(FALSE);
1606
+ PDC_set_blink(FALSE);
1607
+ #endif
1608
+ }
1609
+
1610
+ #if HAVE_COLOR
1611
+ void remap(int tmarg, const short *colors)
1612
+ {
1613
+ struct
1614
+ {
1615
+ short red, green, blue;
1616
+ } orgcolors[16];
1617
+ short i, maxcol = (COLORS >= 16) ? 16 : 8;
1618
+
1619
+ for (i = 0; i < maxcol; i++)
1620
+ color_content(i, &(orgcolors[i].red),
1621
+ &(orgcolors[i].green),
1622
+ &(orgcolors[i].blue));
1623
+
1624
+ attrset(A_BOLD);
1625
+ mvaddstr(tmarg, (COLS - 22) / 2, " init_color() Example ");
1626
+ attrset(A_NORMAL);
1627
+
1628
+ refresh();
1629
+
1630
+ for (i = 0; i < 8; i++)
1631
+ {
1632
+ init_color(colors[i], (short)( i * 125), 0, (short)( i * 125));
1633
+
1634
+ if (COLORS >= 16)
1635
+ init_color((short)( colors[i] + 8), 0, (short)( i * 125), 0);
1636
+ }
1637
+
1638
+ mvaddstr(tmarg + 19, 3, "Press any key to continue");
1639
+ curTest();
1640
+
1641
+ for (i = 0; i < maxcol; i++)
1642
+ init_color(i, orgcolors[i].red,
1643
+ orgcolors[i].green,
1644
+ orgcolors[i].blue);
1645
+ }
1646
+
1647
+ static void show_color_cube( int tmarg)
1648
+ {
1649
+ short i, x, y, z, lmarg = (short)(COLS - 77) / 2;
1650
+
1651
+ erase();
1652
+ if( lmarg < 0)
1653
+ lmarg = 0;
1654
+
1655
+ curs_set(0);
1656
+
1657
+ attrset(A_BOLD);
1658
+ mvaddstr(tmarg, (COLS - 15) / 2, "Extended Colors");
1659
+ attrset(A_NORMAL);
1660
+
1661
+ mvaddstr(tmarg + 2, lmarg, "6x6x6 Color Cube (16-231):");
1662
+
1663
+ mvaddstr(tmarg + 4, lmarg, "Black Red");
1664
+ mvaddstr(tmarg + 11, lmarg, "Blue Magenta");
1665
+ if( COLS >= 77)
1666
+ {
1667
+ mvaddstr(tmarg + 4, lmarg + 65, "Green Yellow");
1668
+ mvaddstr(tmarg + 11, lmarg + 65, "Cyan White");
1669
+ }
1670
+ else
1671
+ {
1672
+ mvaddstr(tmarg + 11, COLS - 12, "Green Yellow");
1673
+ mvaddstr(tmarg + 18, COLS - 12, "Cyan White");
1674
+ }
1675
+
1676
+ for (i = 16; i < 256; i++)
1677
+ init_pair(i, COLOR_BLACK, i);
1678
+
1679
+ for (i = 16, x = 0; x < 6; x++)
1680
+ for (z = 0; z < 6; z++)
1681
+ for (y = 0; y < 6; y++)
1682
+ {
1683
+ chtype ch = ' ' | COLOR_PAIR(i++);
1684
+ int line = tmarg + 5 + y, col = z * 13 + x * 2 + lmarg;
1685
+
1686
+ if( z == 5 && COLS < 77)
1687
+ {
1688
+ line += 7;
1689
+ col += COLS - 77;
1690
+ }
1691
+ mvaddch( line, col, ch);
1692
+ addch(ch);
1693
+ }
1694
+
1695
+ mvaddstr(tmarg + 13, lmarg, "Greyscale (232-255):");
1696
+
1697
+ for (x = 0; x < 24; x++)
1698
+ {
1699
+ chtype ch = ' ' | COLOR_PAIR(232 + x);
1700
+
1701
+ mvaddch(tmarg + 15, x * 2 + lmarg, ch);
1702
+ addch(ch);
1703
+ }
1704
+
1705
+ refresh();
1706
+ curs_set(1);
1707
+
1708
+ mvaddstr(tmarg + 19, 3, "Press any key to continue");
1709
+ curTest();
1710
+ }
1711
+
1712
+ #if defined( __PDCURSESMOD__)
1713
+ static void supergradient(int tmarg)
1714
+ {
1715
+ int i, j, pair_num = 256;
1716
+
1717
+ erase();
1718
+ refresh();
1719
+ for( i = 0; i < LINES; i++)
1720
+ {
1721
+ const int green1 = ((i * 2 + 1) * 255 / (LINES * 2)) << 8;
1722
+ const int green2 = ( (i * 2) * 255 / (LINES * 2)) << 8;
1723
+
1724
+ move( i, 0);
1725
+ for( j = 0; j < COLS && pair_num < COLOR_PAIRS; j++)
1726
+ {
1727
+ const int red = (j * 255 / COLS);
1728
+
1729
+ init_extended_pair( pair_num, red + green1 + 256, red + green2 + 256);
1730
+ attrset( COLOR_PAIR( pair_num));
1731
+ addch( ACS_BBLOCK);
1732
+ pair_num++;
1733
+ }
1734
+ }
1735
+ refresh();
1736
+ curs_set(1);
1737
+
1738
+ attrset( COLOR_PAIR( 0));
1739
+ mvaddstr(tmarg, 3, " Generalized gradients ");
1740
+ mvaddstr( 0, 1, "Black");
1741
+ mvaddstr( 0, COLS - 4, "Red");
1742
+ mvaddstr( LINES - 1, COLS - 7, "Yellow");
1743
+ mvaddstr( LINES - 1, 1, "Green");
1744
+
1745
+ mvaddstr(tmarg + 19, 3, "Press any key to continue");
1746
+ curTest( );
1747
+ }
1748
+ #endif
1749
+
1750
+
1751
+ void gradient(int tmarg)
1752
+ {
1753
+ int i;
1754
+ short cnum = 256, pnum = 16;
1755
+
1756
+ erase();
1757
+ refresh();
1758
+
1759
+ curs_set(0);
1760
+
1761
+ attrset(A_BOLD);
1762
+ mvaddstr(tmarg, (COLS - 17) / 2, "Colors Beyond 256");
1763
+ attrset(A_NORMAL);
1764
+
1765
+ for (i = 0; i < 6; i++)
1766
+ {
1767
+ int j;
1768
+ const char *output_text[6] = {
1769
+ "Red on green to white on black | "
1770
+ " (gradients work just as well with",
1771
+ "Blue on yellow to black on red | "
1772
+ "palettes, if you have enough colors)",
1773
+ "White on red to green on blue, underlined (if available)",
1774
+ "We can keep going on and on until we "
1775
+ "run out of color pairs or colors.",
1776
+ "Some platforms will have plenty of both "
1777
+ "and this won't be a real problem. ",
1778
+ "Others can be made to work that way "
1779
+ "without too much trouble." };
1780
+
1781
+ const int len = (int)strlen(output_text[i]);
1782
+
1783
+ move(tmarg + 3 + i, (COLS - 69) / 2);
1784
+ for (j = 0; j < len && cnum < COLORS && pnum < COLOR_PAIRS; j++)
1785
+ {
1786
+ const short oval = (short)( j * 1000 / len);
1787
+ const short reverse = 1000 - oval;
1788
+
1789
+ if (!i || i == 3)
1790
+ {
1791
+ init_color(cnum, (short)( i ? 0 : 1000), oval, oval);
1792
+ cnum++;
1793
+ init_color( cnum, (short)( i ? 1000 : 0), reverse, 0);
1794
+ }
1795
+ else if (i == 1 || i == 4)
1796
+ {
1797
+ init_color( cnum, (short)( i == 4 ? 1000 : 0), 0, reverse);
1798
+ cnum++;
1799
+ init_color( cnum, (short)( i == 4 ? 0 : 1000), reverse, 0);
1800
+ }
1801
+ else if( i == 2 || i == 5)
1802
+ {
1803
+ init_color(cnum, reverse, (short)( i == 2 ? 1000 : 0), reverse);
1804
+ cnum++;
1805
+ if( i == 2)
1806
+ init_color(cnum, reverse, 0, oval);
1807
+ else
1808
+ init_color(cnum, oval, oval, oval);
1809
+ }
1810
+ init_pair(pnum, (short)( cnum - 1), cnum);
1811
+ cnum++;
1812
+ attrset(COLOR_PAIR(pnum));
1813
+ if (i == 2)
1814
+ attron(A_UNDERLINE);
1815
+ else
1816
+ attroff(A_UNDERLINE);
1817
+ addch(output_text[i][j]);
1818
+ pnum++;
1819
+ }
1820
+ }
1821
+
1822
+ refresh();
1823
+ curs_set(1);
1824
+
1825
+ attrset(A_NORMAL);
1826
+ if( cnum >= COLORS || pnum >= COLOR_PAIRS)
1827
+ mvprintw(tmarg + 18, 3, "RAN OUT OF COLORS at %d colors", (int)cnum);
1828
+ mvaddstr(tmarg + 19, 3, "Press any key to continue");
1829
+ curTest();
1830
+ }
1831
+
1832
+ void colorTest(WINDOW *win)
1833
+ {
1834
+ static const short colors[] =
1835
+ {
1836
+ COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_BLUE,
1837
+ COLOR_CYAN, COLOR_MAGENTA, COLOR_YELLOW, COLOR_WHITE
1838
+ };
1839
+
1840
+ static const char *colornames[] =
1841
+ {
1842
+ "COLOR_BLACK", "COLOR_RED", "COLOR_GREEN", "COLOR_BLUE",
1843
+ "COLOR_CYAN", "COLOR_MAGENTA", "COLOR_YELLOW", "COLOR_WHITE"
1844
+ };
1845
+
1846
+ const bool widecol = (COLORS >= 16);
1847
+ const chtype fill = widecol ? ' ' : '@';
1848
+ const int tmarg = (LINES - 19) / 2;
1849
+ const int col1 = (COLS - 60) / 2;
1850
+ const int col2 = col1 + 20;
1851
+ const int col3 = col2 + 20;
1852
+
1853
+ int i, j;
1854
+
1855
+ INTENTIONALLY_UNUSED_PARAMETER( win);
1856
+ if (!has_colors())
1857
+ return;
1858
+
1859
+
1860
+ attrset(A_BOLD);
1861
+ mvaddstr(tmarg, (COLS - 22) / 2, "Color Attribute Macros");
1862
+ attrset(A_NORMAL);
1863
+
1864
+ if (widecol)
1865
+ {
1866
+ mvaddstr(tmarg + 3, col2 + 3, "Colors 0-7");
1867
+ mvaddstr(tmarg + 3, col3 + 2, "Colors 8-15");
1868
+ }
1869
+ else
1870
+ {
1871
+ mvaddstr(tmarg + 3, col2 + 4, "A_NORMAL");
1872
+ mvaddstr(tmarg + 3, col3 + 5, "A_BOLD");
1873
+ }
1874
+
1875
+ for (i = 0; i < 8; i++)
1876
+ {
1877
+ if (widecol)
1878
+ {
1879
+ init_pair((short)( i + 4), COLOR_BLACK, colors[i]);
1880
+ init_pair((short)(i + 12), COLOR_BLACK, colors[i] + 8);
1881
+ }
1882
+ else
1883
+ init_pair((short)( i + 4), colors[i], COLOR_BLACK);
1884
+
1885
+ mvaddstr(tmarg + i + 5, col1, colornames[i]);
1886
+
1887
+ for (j = 0; j < 16; j++)
1888
+ {
1889
+ mvaddch(tmarg + i + 5, col2 + j, fill | COLOR_PAIR(i + 4));
1890
+ mvaddch(tmarg + i + 5, col3 + j, fill | (widecol ?
1891
+ COLOR_PAIR(i + 12) : (COLOR_PAIR(i + 4) | A_BOLD) ));
1892
+ }
1893
+ }
1894
+
1895
+ mvprintw(tmarg + 15, col1, "COLORS = %d", COLORS);
1896
+ mvprintw(tmarg + 16, col1, "COLOR_PAIRS = %d", COLOR_PAIRS);
1897
+
1898
+ mvaddstr(tmarg + 19, 3, "Press any key to continue");
1899
+ curTest();
1900
+
1901
+ if (can_change_color())
1902
+ remap(tmarg, colors);
1903
+
1904
+ if( COLORS >= 256 && COLOR_PAIRS >= 256)
1905
+ show_color_cube( tmarg);
1906
+
1907
+ #if defined( __PDCURSESMOD__)
1908
+ if (can_change_color() && (long)COLORS == ((1L << 24) + 256L)
1909
+ && LINES * COLS + 256 < COLOR_PAIRS)
1910
+ supergradient( tmarg);
1911
+ #endif
1912
+
1913
+ if (can_change_color() && COLORS >= 768 && COLOR_PAIRS > 256)
1914
+ gradient(tmarg);
1915
+ }
1916
+ #endif
1917
+
1918
+ #if HAVE_WIDE
1919
+ void wideTest(WINDOW *win)
1920
+ {
1921
+ wchar_t tmp[513];
1922
+ size_t i;
1923
+
1924
+ INTENTIONALLY_UNUSED_PARAMETER( win);
1925
+ attrset(A_BOLD);
1926
+ mvaddstr(1, (COLS - 25) / 2, "Wide Character Input Test");
1927
+ attrset(A_NORMAL);
1928
+
1929
+ mvaddstr(4, 1, "Enter a string: ");
1930
+
1931
+ echo();
1932
+
1933
+ get_wstr((wint_t *)tmp);
1934
+ addstr("\n\n String:\n\n ");
1935
+ addwstr(tmp);
1936
+ addstr("\n\n\n Hex:\n\n ");
1937
+
1938
+ for (i = 0; tmp[i]; i++)
1939
+ {
1940
+ printw("%04x ", tmp[i]);
1941
+ addnwstr(tmp + i, 1);
1942
+ addstr( getcurx( stdscr) > COLS - 8 ? "\n " : " ");
1943
+ }
1944
+
1945
+ noecho();
1946
+
1947
+ Continue2();
1948
+ }
1949
+ #endif
1950
+
1951
+ void display_menu(int old_option, int new_option)
1952
+ {
1953
+ int lmarg = (COLS - 14) / 2,
1954
+ tmarg = (LINES - (MAX_OPTIONS + 2)) / 2;
1955
+
1956
+ if (old_option == -1)
1957
+ {
1958
+ int i;
1959
+
1960
+ attrset(A_BOLD);
1961
+ mvprintw( tmarg - 3, (COLS - (int)strlen( longname( ))) / 2 - 6,
1962
+ "%s Test Program", longname( ));
1963
+ attrset(A_NORMAL);
1964
+
1965
+ for (i = 0; i < MAX_OPTIONS; i++)
1966
+ mvaddstr(tmarg + i, lmarg, command[i].text);
1967
+ }
1968
+ else
1969
+ mvaddstr(tmarg + old_option, lmarg, command[old_option].text);
1970
+
1971
+ attrset(A_REVERSE);
1972
+ mvaddstr(tmarg + new_option, lmarg, command[new_option].text);
1973
+ attrset(A_NORMAL);
1974
+
1975
+ mvaddstr(tmarg + MAX_OPTIONS + 2, lmarg - 23,
1976
+ "Use Up and Down Arrows to select - Enter to run - Q to quit");
1977
+ refresh();
1978
+ }