curses 1.2.6 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/macos.yml +19 -0
  3. data/.github/workflows/ubuntu.yml +26 -0
  4. data/.github/workflows/windows.yml +28 -0
  5. data/.gitmodules +1 -1
  6. data/.travis.yml +6 -3
  7. data/History.md +40 -0
  8. data/README.md +4 -1
  9. data/Rakefile +0 -83
  10. data/curses.gemspec +2 -3
  11. data/ext/curses/curses.c +1271 -151
  12. data/ext/curses/extconf.rb +140 -17
  13. data/lib/curses.rb +5 -12
  14. data/sample/form.rb +52 -0
  15. data/sample/menu.rb +1 -1
  16. data/vendor/PDCurses/.gitignore +47 -0
  17. data/vendor/PDCurses/.travis.yml +49 -0
  18. data/vendor/PDCurses/CMakeLists.txt +68 -0
  19. data/vendor/PDCurses/HISTORY.md +2036 -0
  20. data/vendor/PDCurses/IMPLEMNT.md +327 -0
  21. data/vendor/PDCurses/README.md +77 -0
  22. data/vendor/PDCurses/acs_defs.h +265 -0
  23. data/vendor/PDCurses/appveyor.yml +218 -0
  24. data/vendor/PDCurses/cmake/README.md +71 -0
  25. data/vendor/PDCurses/cmake/build_dependencies.cmake +178 -0
  26. data/vendor/PDCurses/cmake/build_options.cmake +25 -0
  27. data/vendor/PDCurses/cmake/dll_version.cmake +26 -0
  28. data/vendor/PDCurses/cmake/gen_config_header.cmake +43 -0
  29. data/vendor/PDCurses/cmake/get_version.cmake +17 -0
  30. data/vendor/PDCurses/cmake/make_uninstall.cmake +19 -0
  31. data/vendor/PDCurses/cmake/project_common.cmake +121 -0
  32. data/vendor/PDCurses/cmake/resource.in.cmake +52 -0
  33. data/vendor/PDCurses/cmake/sdl2_ttf/CMakeLists.txt +83 -0
  34. data/vendor/PDCurses/cmake/target_arch.cmake +36 -0
  35. data/vendor/PDCurses/cmake/version.in.cmake +73 -0
  36. data/vendor/PDCurses/cmake/watcom_open_dos16_toolchain.cmake +96 -0
  37. data/vendor/PDCurses/cmake/watcom_open_dos32_toolchain.cmake +106 -0
  38. data/vendor/PDCurses/cmake/watcom_open_os2v2_toolchain.cmake +105 -0
  39. data/vendor/PDCurses/curses.h +1846 -0
  40. data/vendor/PDCurses/curspriv.h +134 -0
  41. data/vendor/PDCurses/demos/README.md +25 -0
  42. data/vendor/PDCurses/demos/firework.c +144 -0
  43. data/vendor/PDCurses/demos/newtest.c +581 -0
  44. data/vendor/PDCurses/demos/ozdemo.c +447 -0
  45. data/vendor/PDCurses/demos/ptest.c +283 -0
  46. data/vendor/PDCurses/demos/rain.c +157 -0
  47. data/vendor/PDCurses/demos/testcurs.c +1607 -0
  48. data/vendor/PDCurses/demos/tui.c +1048 -0
  49. data/vendor/PDCurses/demos/tui.h +65 -0
  50. data/vendor/PDCurses/demos/tuidemo.c +233 -0
  51. data/vendor/PDCurses/demos/version.c +61 -0
  52. data/vendor/PDCurses/demos/worm.c +432 -0
  53. data/vendor/PDCurses/demos/xmas.c +955 -0
  54. data/vendor/PDCurses/dos/CMakeLists.txt +47 -0
  55. data/vendor/PDCurses/dos/Makefile.bcc +83 -0
  56. data/vendor/PDCurses/dos/Makefile.dmc +257 -0
  57. data/vendor/PDCurses/dos/Makefile.msc +113 -0
  58. data/vendor/PDCurses/dos/Makefile.wcc +107 -0
  59. data/vendor/PDCurses/dos/README.md +51 -0
  60. data/vendor/PDCurses/dos/bccdos.lrf +9 -0
  61. data/vendor/PDCurses/dos/mscdos.lrf +50 -0
  62. data/vendor/PDCurses/dos/pdcclip.c +132 -0
  63. data/vendor/PDCurses/dos/pdcdisp.c +135 -0
  64. data/vendor/PDCurses/dos/pdcdos.h +194 -0
  65. data/vendor/PDCurses/dos/pdcgetsc.c +98 -0
  66. data/vendor/PDCurses/dos/pdckbd.c +513 -0
  67. data/vendor/PDCurses/dos/pdcscrn.c +785 -0
  68. data/vendor/PDCurses/dos/pdcsetsc.c +101 -0
  69. data/vendor/PDCurses/dos/pdcutil.c +212 -0
  70. data/vendor/PDCurses/libobjs.mif +26 -0
  71. data/vendor/PDCurses/makedist.mif +20 -0
  72. data/vendor/PDCurses/man/README.md +21 -0
  73. data/vendor/PDCurses/man/intro.md +361 -0
  74. data/vendor/PDCurses/man/manext.c +119 -0
  75. data/vendor/PDCurses/man/sdl.md +152 -0
  76. data/vendor/PDCurses/man/sdl2.md +58 -0
  77. data/vendor/PDCurses/man/x11.md +407 -0
  78. data/vendor/PDCurses/ncurses/CMakeLists.txt +66 -0
  79. data/vendor/PDCurses/ncurses/README.md +26 -0
  80. data/vendor/PDCurses/ncurses/makefile +29 -0
  81. data/vendor/PDCurses/os2/CMakeLists.txt +41 -0
  82. data/vendor/PDCurses/os2/Makefile.bcc +90 -0
  83. data/vendor/PDCurses/os2/Makefile.wcc +43 -0
  84. data/vendor/PDCurses/os2/README.md +43 -0
  85. data/vendor/PDCurses/os2/iccos2.lrf +50 -0
  86. data/vendor/PDCurses/os2/iccos2.mak +256 -0
  87. data/vendor/PDCurses/os2/pdcclip.c +188 -0
  88. data/vendor/PDCurses/os2/pdcdisp.c +93 -0
  89. data/vendor/PDCurses/os2/pdcgetsc.c +89 -0
  90. data/vendor/PDCurses/os2/pdckbd.c +521 -0
  91. data/vendor/PDCurses/os2/pdcos2.h +55 -0
  92. data/vendor/PDCurses/os2/pdcscrn.c +449 -0
  93. data/vendor/PDCurses/os2/pdcsetsc.c +112 -0
  94. data/vendor/PDCurses/os2/pdcutil.c +52 -0
  95. data/vendor/PDCurses/panel.h +56 -0
  96. data/vendor/PDCurses/pdcurses/README.md +25 -0
  97. data/vendor/PDCurses/pdcurses/addch.c +693 -0
  98. data/vendor/PDCurses/pdcurses/addchstr.c +245 -0
  99. data/vendor/PDCurses/pdcurses/addstr.c +240 -0
  100. data/vendor/PDCurses/pdcurses/attr.c +359 -0
  101. data/vendor/PDCurses/pdcurses/beep.c +68 -0
  102. data/vendor/PDCurses/pdcurses/bkgd.c +223 -0
  103. data/vendor/PDCurses/pdcurses/border.c +411 -0
  104. data/vendor/PDCurses/pdcurses/clear.c +159 -0
  105. data/vendor/PDCurses/pdcurses/color.c +298 -0
  106. data/vendor/PDCurses/pdcurses/debug.c +109 -0
  107. data/vendor/PDCurses/pdcurses/delch.c +96 -0
  108. data/vendor/PDCurses/pdcurses/deleteln.c +211 -0
  109. data/vendor/PDCurses/pdcurses/deprec.c +27 -0
  110. data/vendor/PDCurses/pdcurses/getch.c +417 -0
  111. data/vendor/PDCurses/pdcurses/getstr.c +474 -0
  112. data/vendor/PDCurses/pdcurses/getyx.c +139 -0
  113. data/vendor/PDCurses/pdcurses/inch.c +127 -0
  114. data/vendor/PDCurses/pdcurses/inchstr.c +214 -0
  115. data/vendor/PDCurses/pdcurses/initscr.c +367 -0
  116. data/vendor/PDCurses/pdcurses/inopts.c +324 -0
  117. data/vendor/PDCurses/pdcurses/insch.c +271 -0
  118. data/vendor/PDCurses/pdcurses/insstr.c +264 -0
  119. data/vendor/PDCurses/pdcurses/instr.c +246 -0
  120. data/vendor/PDCurses/pdcurses/kernel.c +259 -0
  121. data/vendor/PDCurses/pdcurses/keyname.c +157 -0
  122. data/vendor/PDCurses/pdcurses/mouse.c +438 -0
  123. data/vendor/PDCurses/pdcurses/move.c +57 -0
  124. data/vendor/PDCurses/pdcurses/outopts.c +159 -0
  125. data/vendor/PDCurses/pdcurses/overlay.c +214 -0
  126. data/vendor/PDCurses/pdcurses/pad.c +260 -0
  127. data/vendor/PDCurses/pdcurses/panel.c +633 -0
  128. data/vendor/PDCurses/pdcurses/printw.c +126 -0
  129. data/vendor/PDCurses/pdcurses/refresh.c +279 -0
  130. data/vendor/PDCurses/pdcurses/scanw.c +578 -0
  131. data/vendor/PDCurses/pdcurses/scr_dump.c +213 -0
  132. data/vendor/PDCurses/pdcurses/scroll.c +101 -0
  133. data/vendor/PDCurses/pdcurses/slk.c +591 -0
  134. data/vendor/PDCurses/pdcurses/termattr.c +182 -0
  135. data/vendor/PDCurses/pdcurses/terminfo.c +217 -0
  136. data/vendor/PDCurses/pdcurses/touch.c +163 -0
  137. data/vendor/PDCurses/pdcurses/util.c +312 -0
  138. data/vendor/PDCurses/pdcurses/window.c +569 -0
  139. data/vendor/PDCurses/sdl1/Makefile.mng +110 -0
  140. data/vendor/PDCurses/sdl1/README.md +31 -0
  141. data/vendor/PDCurses/sdl1/deffont.h +385 -0
  142. data/vendor/PDCurses/sdl1/deficon.h +23 -0
  143. data/vendor/PDCurses/sdl1/pdcclip.c +131 -0
  144. data/vendor/PDCurses/sdl1/pdcdisp.c +373 -0
  145. data/vendor/PDCurses/sdl1/pdcgetsc.c +30 -0
  146. data/vendor/PDCurses/sdl1/pdckbd.c +405 -0
  147. data/vendor/PDCurses/sdl1/pdcscrn.c +414 -0
  148. data/vendor/PDCurses/sdl1/pdcsdl.h +31 -0
  149. data/vendor/PDCurses/sdl1/pdcsetsc.c +64 -0
  150. data/vendor/PDCurses/sdl1/pdcutil.c +40 -0
  151. data/vendor/PDCurses/sdl1/sdltest.c +79 -0
  152. data/vendor/PDCurses/sdl2/CMakeLists.txt +76 -0
  153. data/vendor/PDCurses/sdl2/Makefile.vc +164 -0
  154. data/vendor/PDCurses/sdl2/README.md +34 -0
  155. data/vendor/PDCurses/sdl2/deffont.h +385 -0
  156. data/vendor/PDCurses/sdl2/deficon.h +23 -0
  157. data/vendor/PDCurses/sdl2/pdcclip.c +93 -0
  158. data/vendor/PDCurses/sdl2/pdcdisp.c +534 -0
  159. data/vendor/PDCurses/sdl2/pdcgetsc.c +30 -0
  160. data/vendor/PDCurses/sdl2/pdckbd.c +480 -0
  161. data/vendor/PDCurses/sdl2/pdcscrn.c +443 -0
  162. data/vendor/PDCurses/sdl2/pdcsdl.h +33 -0
  163. data/vendor/PDCurses/sdl2/pdcsetsc.c +67 -0
  164. data/vendor/PDCurses/sdl2/pdcutil.c +39 -0
  165. data/vendor/PDCurses/sdl2/sdltest.c +81 -0
  166. data/vendor/PDCurses/term.h +48 -0
  167. data/vendor/PDCurses/version.mif +7 -0
  168. data/vendor/PDCurses/vt/CMakeLists.txt +28 -0
  169. data/vendor/PDCurses/vt/Makefile.bcc +111 -0
  170. data/vendor/PDCurses/vt/Makefile.dmc +258 -0
  171. data/vendor/PDCurses/vt/Makefile.vc +144 -0
  172. data/vendor/PDCurses/vt/Makefile.wcc +107 -0
  173. data/vendor/PDCurses/vt/README.md +64 -0
  174. data/vendor/PDCurses/vt/pdcclip.c +20 -0
  175. data/vendor/PDCurses/vt/pdcdisp.c +284 -0
  176. data/vendor/PDCurses/vt/pdcgetsc.c +27 -0
  177. data/vendor/PDCurses/vt/pdckbd.c +394 -0
  178. data/vendor/PDCurses/vt/pdcscrn.c +434 -0
  179. data/vendor/PDCurses/vt/pdcsetsc.c +45 -0
  180. data/vendor/PDCurses/vt/pdcutil.c +43 -0
  181. data/vendor/PDCurses/vt/pdcvt.h +16 -0
  182. data/vendor/PDCurses/watcom.mif +68 -0
  183. data/vendor/PDCurses/wincon/CMakeLists.txt +27 -0
  184. data/vendor/PDCurses/wincon/Makefile.bcc +88 -0
  185. data/vendor/PDCurses/wincon/Makefile.dmc +256 -0
  186. data/vendor/PDCurses/wincon/Makefile.lcc +273 -0
  187. data/vendor/PDCurses/wincon/Makefile.mng +176 -0
  188. data/vendor/PDCurses/wincon/Makefile.vc +144 -0
  189. data/vendor/PDCurses/wincon/Makefile.wcc +51 -0
  190. data/vendor/PDCurses/wincon/README.md +85 -0
  191. data/vendor/PDCurses/wincon/pdcclip.c +174 -0
  192. data/vendor/PDCurses/wincon/pdcdisp.c +143 -0
  193. data/vendor/PDCurses/wincon/pdcgetsc.c +55 -0
  194. data/vendor/PDCurses/wincon/pdckbd.c +786 -0
  195. data/vendor/PDCurses/wincon/pdcscrn.c +717 -0
  196. data/vendor/PDCurses/wincon/pdcsetsc.c +91 -0
  197. data/vendor/PDCurses/wincon/pdcurses.ico +0 -0
  198. data/vendor/PDCurses/wincon/pdcurses.rc +28 -0
  199. data/vendor/PDCurses/wincon/pdcutil.c +41 -0
  200. data/vendor/PDCurses/wincon/pdcwin.h +31 -0
  201. data/vendor/PDCurses/wingui/CMakeLists.txt +27 -0
  202. data/vendor/PDCurses/wingui/Makefile.bcc +85 -0
  203. data/vendor/PDCurses/wingui/Makefile.dmc +259 -0
  204. data/vendor/PDCurses/wingui/Makefile.lcc +273 -0
  205. data/vendor/PDCurses/wingui/Makefile.mng +171 -0
  206. data/vendor/PDCurses/wingui/Makefile.vc +144 -0
  207. data/vendor/PDCurses/wingui/Makefile.wcc +51 -0
  208. data/vendor/PDCurses/wingui/README.md +93 -0
  209. data/vendor/PDCurses/wingui/pdcclip.c +174 -0
  210. data/vendor/PDCurses/wingui/pdcdisp.c +718 -0
  211. data/vendor/PDCurses/wingui/pdcgetsc.c +30 -0
  212. data/vendor/PDCurses/wingui/pdckbd.c +143 -0
  213. data/vendor/PDCurses/wingui/pdcscrn.c +2797 -0
  214. data/vendor/PDCurses/wingui/pdcsetsc.c +89 -0
  215. data/vendor/PDCurses/wingui/pdcurses.ico +0 -0
  216. data/vendor/PDCurses/wingui/pdcurses.rc +28 -0
  217. data/vendor/PDCurses/wingui/pdcutil.c +61 -0
  218. data/vendor/PDCurses/wingui/pdcwin.h +122 -0
  219. data/vendor/PDCurses/x11/Makefile.in +754 -0
  220. data/vendor/PDCurses/x11/PDCurses.spec +82 -0
  221. data/vendor/PDCurses/x11/README.md +62 -0
  222. data/vendor/PDCurses/x11/ScrollBox.c +319 -0
  223. data/vendor/PDCurses/x11/ScrollBox.h +51 -0
  224. data/vendor/PDCurses/x11/ScrollBoxP.h +70 -0
  225. data/vendor/PDCurses/x11/aclocal.m4 +994 -0
  226. data/vendor/PDCurses/x11/big_icon.xbm +46 -0
  227. data/vendor/PDCurses/x11/compose.h +201 -0
  228. data/vendor/PDCurses/x11/config.guess +1500 -0
  229. data/vendor/PDCurses/x11/config.h.in +100 -0
  230. data/vendor/PDCurses/x11/config.sub +1616 -0
  231. data/vendor/PDCurses/x11/configure +6700 -0
  232. data/vendor/PDCurses/x11/configure.ac +295 -0
  233. data/vendor/PDCurses/x11/debian/changelog +6 -0
  234. data/vendor/PDCurses/x11/debian/compat +1 -0
  235. data/vendor/PDCurses/x11/debian/control +11 -0
  236. data/vendor/PDCurses/x11/debian/copyright +27 -0
  237. data/vendor/PDCurses/x11/debian/rules +98 -0
  238. data/vendor/PDCurses/x11/install-sh +253 -0
  239. data/vendor/PDCurses/x11/little_icon.xbm +14 -0
  240. data/vendor/PDCurses/x11/ncurses_cfg.h +45 -0
  241. data/vendor/PDCurses/x11/pdcclip.c +173 -0
  242. data/vendor/PDCurses/x11/pdcdisp.c +85 -0
  243. data/vendor/PDCurses/x11/pdcgetsc.c +28 -0
  244. data/vendor/PDCurses/x11/pdckbd.c +104 -0
  245. data/vendor/PDCurses/x11/pdcscrn.c +258 -0
  246. data/vendor/PDCurses/x11/pdcsetsc.c +95 -0
  247. data/vendor/PDCurses/x11/pdcutil.c +52 -0
  248. data/vendor/PDCurses/x11/pdcx11.c +316 -0
  249. data/vendor/PDCurses/x11/pdcx11.h +191 -0
  250. data/vendor/PDCurses/x11/sb.c +155 -0
  251. data/vendor/PDCurses/x11/x11.c +3686 -0
  252. data/vendor/PDCurses/x11/xcurses-config.in +81 -0
  253. metadata +255 -21
@@ -0,0 +1,91 @@
1
+ /* Public Domain Curses */
2
+
3
+ #include "pdcwin.h"
4
+
5
+ /*man-start**************************************************************
6
+
7
+ pdcsetsc
8
+ --------
9
+
10
+ ### Synopsis
11
+
12
+ int PDC_set_blink(bool blinkon);
13
+ void PDC_set_title(const char *title);
14
+
15
+ ### Description
16
+
17
+ PDC_set_blink() toggles whether the A_BLINK attribute sets an
18
+ actual blink mode (TRUE), or sets the background color to high
19
+ intensity (FALSE). The default is platform-dependent (FALSE in
20
+ most cases). It returns OK if it could set the state to match
21
+ the given parameter, ERR otherwise. Current platforms also
22
+ adjust the value of COLORS according to this function -- 16 for
23
+ FALSE, and 8 for TRUE.
24
+
25
+ PDC_set_title() sets the title of the window in which the curses
26
+ program is running. This function may not do anything on some
27
+ platforms. (Currently it only works in Win32 and X11.)
28
+
29
+ ### Portability
30
+ X/Open BSD SYS V
31
+ PDC_set_blink - - -
32
+ PDC_set_title - - -
33
+
34
+ **man-end****************************************************************/
35
+
36
+ int PDC_curs_set(int visibility)
37
+ {
38
+ CONSOLE_CURSOR_INFO cci;
39
+ int ret_vis;
40
+
41
+ PDC_LOG(("PDC_curs_set() - called: visibility=%d\n", visibility));
42
+
43
+ ret_vis = SP->visibility;
44
+
45
+ if (GetConsoleCursorInfo(pdc_con_out, &cci) == FALSE)
46
+ return ERR;
47
+
48
+ switch(visibility)
49
+ {
50
+ case 0: /* invisible */
51
+ cci.bVisible = FALSE;
52
+ break;
53
+ case 2: /* highly visible */
54
+ cci.bVisible = TRUE;
55
+ cci.dwSize = 95;
56
+ break;
57
+ default: /* normal visibility */
58
+ cci.bVisible = TRUE;
59
+ cci.dwSize = SP->orig_cursor;
60
+ break;
61
+ }
62
+
63
+ if (SetConsoleCursorInfo(pdc_con_out, &cci) == FALSE)
64
+ return ERR;
65
+
66
+ SP->visibility = visibility;
67
+ return ret_vis;
68
+ }
69
+
70
+ void PDC_set_title(const char *title)
71
+ {
72
+ #ifdef PDC_WIDE
73
+ wchar_t wtitle[512];
74
+ #endif
75
+ PDC_LOG(("PDC_set_title() - called:<%s>\n", title));
76
+
77
+ #ifdef PDC_WIDE
78
+ PDC_mbstowcs(wtitle, title, 511);
79
+ SetConsoleTitleW(wtitle);
80
+ #else
81
+ SetConsoleTitleA(title);
82
+ #endif
83
+ }
84
+
85
+ int PDC_set_blink(bool blinkon)
86
+ {
87
+ if (pdc_color_started)
88
+ COLORS = 16;
89
+
90
+ return blinkon ? ERR : OK;
91
+ }
@@ -0,0 +1,28 @@
1
+ #include "winver.h"
2
+
3
+ 1 VERSIONINFO
4
+ FILEVERSION 4,0,2,0
5
+ PRODUCTVERSION 4,0,2,0
6
+ FILEFLAGSMASK 0x3fL
7
+ FILEFLAGS 0x0L
8
+ FILEOS VOS_UNKNOWN
9
+ FILETYPE VFT_DLL
10
+ FILESUBTYPE 0x0L
11
+ BEGIN
12
+ BLOCK "StringFileInfo"
13
+ BEGIN
14
+ BLOCK "040904b0"
15
+ BEGIN
16
+ VALUE "Maintainer", "William McBrine\0"
17
+ VALUE "FileDescription", "Public Domain Curses\0"
18
+ VALUE "FileVersion", "4.0.2\0"
19
+ VALUE "InternalName", "PDCurses\0"
20
+ VALUE "LegalCopyright", "Public Domain\0"
21
+ VALUE "OriginalFilename", "PDCURSES.DLL\0"
22
+ VALUE "ProductName", "Public Domain Curses Library\0"
23
+ VALUE "ProductVersion", "4.0.2\0"
24
+ END
25
+ END
26
+ END
27
+
28
+ 1 ICON DISCARDABLE "PDCURSES.ico"
@@ -0,0 +1,41 @@
1
+ /* Public Domain Curses */
2
+
3
+ #include "pdcwin.h"
4
+
5
+ void PDC_beep(void)
6
+ {
7
+ PDC_LOG(("PDC_beep() - called\n"));
8
+
9
+ /* MessageBeep(MB_OK); */
10
+ MessageBeep(0XFFFFFFFF);
11
+ }
12
+
13
+ void PDC_napms(int ms)
14
+ {
15
+ PDC_LOG(("PDC_napms() - called: ms=%d\n", ms));
16
+
17
+ Sleep(ms);
18
+ }
19
+
20
+ const char *PDC_sysname(void)
21
+ {
22
+ return "Win32";
23
+ }
24
+
25
+ PDC_version_info PDC_version = { PDC_PORT_WIN32,
26
+ PDC_VER_MAJOR, PDC_VER_MINOR, PDC_VER_CHANGE,
27
+ sizeof( chtype),
28
+ /* note that thus far, 'wide' and 'UTF8' versions exist */
29
+ /* only for SDL2, X11, Win32, and Win32a; elsewhere, */
30
+ /* these will be FALSE */
31
+ #ifdef PDC_WIDE
32
+ TRUE,
33
+ #else
34
+ FALSE,
35
+ #endif
36
+ #ifdef PDC_FORCE_UTF8
37
+ TRUE,
38
+ #else
39
+ FALSE,
40
+ #endif
41
+ };
@@ -0,0 +1,31 @@
1
+ /* Public Domain Curses */
2
+
3
+ #ifdef PDC_WIDE
4
+ # define UNICODE
5
+ #endif
6
+
7
+ #include <windows.h>
8
+ #undef MOUSE_MOVED
9
+ #include <curspriv.h>
10
+
11
+ # if(CHTYPE_LONG >= 2) /* 64-bit chtypes */
12
+ # define PDC_ATTR_SHIFT 23
13
+ # else
14
+ #ifdef CHTYPE_LONG /* 32-bit chtypes */
15
+ # define PDC_ATTR_SHIFT 19
16
+ #else /* 16-bit chtypes */
17
+ # define PDC_ATTR_SHIFT 8
18
+ #endif
19
+ #endif
20
+ #if (defined(__CYGWIN__) || defined(__MINGW32__) || defined(__WATCOMC__) \
21
+ || (defined(_MSC_VER) && _WIN32_WINNT >= _WIN32_WINNT_VISTA))
22
+ #if !defined(HAVE_INFOEX) && !defined(HAVE_NO_INFOEX)
23
+ # define HAVE_INFOEX
24
+ #endif
25
+ #endif
26
+
27
+ extern unsigned char *pdc_atrtab;
28
+ extern HANDLE pdc_con_out, pdc_con_in;
29
+ extern DWORD pdc_quick_edit;
30
+
31
+ extern int PDC_get_buffer_rows(void);
@@ -0,0 +1,27 @@
1
+ cmake_minimum_required(VERSION 3.11)
2
+
3
+ if(NOT CMAKE_BUILD_TYPE)
4
+ set(CMAKE_BUILD_TYPE "MinSizeRel" CACHE STRING "Choose the type of build, options are: Debug, Release, or MinSizeRel." FORCE)
5
+ message(STATUS "No build type specified, defaulting to MinSizeRel.")
6
+ endif()
7
+
8
+ PROJECT(wingui VERSION "${PROJECT_VERSION}" LANGUAGES C)
9
+
10
+ INCLUDE(project_common)
11
+
12
+ demo_app(../demos version)
13
+ demo_app(../demos firework)
14
+ demo_app(../demos ozdemo)
15
+ demo_app(../demos newtest)
16
+ demo_app(../demos ptest)
17
+ demo_app(../demos rain)
18
+ demo_app(../demos testcurs)
19
+ demo_app(../demos tuidemo)
20
+ demo_app(../demos worm)
21
+ demo_app(../demos xmas)
22
+
23
+ IF(WIN32)
24
+ SET_TARGET_PROPERTIES(${PROJECT_NAME}_newtest PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS")
25
+ ENDIF(WIN32)
26
+
27
+ SET(CPACK_COMPONENTS_ALL applications)
@@ -0,0 +1,85 @@
1
+ # Borland MAKE Makefile for PDCurses library - Win32 BC++ 4.0+
2
+ #
3
+ # Usage: make -f [path\]Makefile.bcc [DEBUG=] [WIDE=] [UTF8=] [target]
4
+ #
5
+ # where target can be any of:
6
+ # [all|demos|pdcurses.lib|testcurs.exe...]
7
+
8
+ O = obj
9
+
10
+ !ifndef PDCURSES_SRCDIR
11
+ PDCURSES_SRCDIR = ..
12
+ !endif
13
+
14
+ !include $(PDCURSES_SRCDIR)\version.mif
15
+ !include $(PDCURSES_SRCDIR)\libobjs.mif
16
+
17
+ osdir = $(PDCURSES_SRCDIR)\wingui
18
+
19
+ CC = bcc32 -q
20
+
21
+ !ifdef DEBUG
22
+ CFLAGS = -N -v -y -DPDCDEBUG
23
+ !else
24
+ CFLAGS = -O
25
+ !endif
26
+
27
+ !ifdef WIDE
28
+ WIDEOPT = -DPDC_WIDE
29
+ !endif
30
+
31
+ !ifdef UTF8
32
+ UTF8OPT = -DPDC_FORCE_UTF8
33
+ !endif
34
+
35
+ BUILD = $(CC) -I$(PDCURSES_SRCDIR) -c -Tpe -w32 $(CFLAGS) -w-par \
36
+ $(WIDEOPT) $(UTF8OPT)
37
+
38
+ LIBEXE = tlib /C /E /0 /a
39
+
40
+ LIBCURSES = pdcurses.lib
41
+
42
+ all: $(LIBCURSES) $(DEMOS)
43
+
44
+ clean:
45
+ -del *.obj
46
+ -del *.lib
47
+ -del *.tds
48
+ -del *.exe
49
+
50
+ $(LIBCURSES) : $(LIBOBJS) $(PDCOBJS)
51
+ -del $@
52
+ $(LIBEXE) $@ $(LIBOBJS) $(PDCOBJS)
53
+ -copy $(LIBCURSES) panel.lib
54
+
55
+ .autodepend
56
+
57
+ {$(srcdir)\}.c.obj:
58
+ $(BUILD) $<
59
+
60
+ {$(osdir)\}.c.obj:
61
+ $(BUILD) $<
62
+
63
+ {$(demodir)\}.c.obj:
64
+ $(BUILD) $<
65
+
66
+ .c.obj:
67
+ $(BUILD) $<
68
+
69
+ .obj.exe:
70
+ $(CC) -e$@ $** $(LIBCURSES)
71
+
72
+ tuidemo.exe: tuidemo.obj tui.obj $(LIBCURSES)
73
+ $(CC) -e$@ $**
74
+
75
+ tui.obj: $(demodir)\tui.c $(demodir)\tui.h $(PDCURSES_CURSES_H)
76
+ $(BUILD) -I$(demodir) $(demodir)\tui.c
77
+
78
+ tuidemo.obj: $(demodir)\tuidemo.c $(PDCURSES_CURSES_H)
79
+ $(BUILD) -I$(demodir) $(demodir)\tuidemo.c
80
+
81
+ PLATFORM1 = Borland C++ Win32
82
+ PLATFORM2 = Borland C/C++ 5.5 for Win32
83
+ ARCNAME = pdc$(VER)_bcc_w32
84
+
85
+ !include $(PDCURSES_SRCDIR)\makedist.mif
@@ -0,0 +1,259 @@
1
+ # Makefile for PDCurses library - WIN32 Digital Mars
2
+ #
3
+ # Usage: make -f Makefile.dmc [target]
4
+ #
5
+ # where target can be any of:
6
+ # [all|demos|pdcurses.lib|testcurs.exe...]
7
+
8
+ PDCURSES_SRCDIR = ..
9
+
10
+ PDCURSES_CURSES_H = $(PDCURSES_SRCDIR)\curses.h
11
+ PDCURSES_CURSPRIV_H = $(PDCURSES_SRCDIR)\curspriv.h
12
+ PDCURSES_HEADERS = $(PDCURSES_CURSES_H) $(PDCURSES_CURSPRIV_H)
13
+
14
+ PANEL_HEADER = $(PDCURSES_SRCDIR)\panel.h
15
+ TERM_HEADER = $(PDCURSES_SRCDIR)\term.h
16
+
17
+ srcdir = $(PDCURSES_SRCDIR)\pdcurses
18
+ osdir = $(PDCURSES_SRCDIR)\wingui
19
+ demodir = $(PDCURSES_SRCDIR)\demos
20
+
21
+ PDCURSES_WIN_H = $(osdir)\pdcwin.h
22
+
23
+ CC = dmc
24
+
25
+ CFLAGS = -c -o+space -Nc
26
+
27
+ # CPPFLAGS = -I$(PDCURSES_SRCDIR)
28
+ CPPFLAGS = -I$(PDCURSES_SRCDIR) -DPDC_WIDE
29
+
30
+ LINK = dmc
31
+ LIBEXE = lib
32
+
33
+ LIBCURSES = pdcurses.lib
34
+
35
+ BUILD = $(CC) $(CFLAGS) $(CPPFLAGS)
36
+
37
+ DEMOS = testcurs.exe ozdemo.exe newtest.exe xmas.exe tuidemo.exe \
38
+ firework.exe ptest.exe rain.exe worm.exe
39
+
40
+ all: $(LIBCURSES) $(DEMOS)
41
+
42
+ clean:
43
+ -del *.obj
44
+ -del *.lib
45
+ -del *.exe
46
+ -del *.map
47
+ -del advapi32.def
48
+
49
+ LIBOBJS = addch.obj addchstr.obj addstr.obj attr.obj beep.obj bkgd.obj \
50
+ border.obj clear.obj color.obj delch.obj deleteln.obj deprec.obj getch.obj \
51
+ getstr.obj getyx.obj inch.obj inchstr.obj initscr.obj inopts.obj \
52
+ insch.obj insstr.obj instr.obj kernel.obj keyname.obj mouse.obj move.obj \
53
+ outopts.obj overlay.obj pad.obj panel.obj printw.obj refresh.obj \
54
+ scanw.obj scr_dump.obj scroll.obj slk.obj termattr.obj terminfo.obj \
55
+ touch.obj util.obj window.obj debug.obj
56
+
57
+ PDCOBJS = pdcclip.obj pdcdisp.obj pdcgetsc.obj pdckbd.obj pdcscrn.obj \
58
+ pdcsetsc.obj pdcutil.obj
59
+
60
+ DEMOOBJS = testcurs.obj ozdemo.obj newtest.obj xmas.obj tuidemo.obj tui.obj \
61
+ firework.obj ptest.obj rain.obj worm.obj
62
+
63
+ LIBS = advapi32.lib gdi32.lib user32.lib shell32.lib comdlg32.lib
64
+
65
+ $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS)
66
+ $(PDCOBJS) : $(PDCURSES_WIN_H)
67
+ panel.obj ptest.obj: $(PANEL_HEADER)
68
+ terminfo.obj: $(TERM_HEADER)
69
+
70
+ $(DEMOOBJS) : $(PDCURSES_CURSES_H)
71
+ $(DEMOS) : $(LIBCURSES)
72
+
73
+ $(LIBCURSES) : $(LIBOBJS) $(PDCOBJS)
74
+ $(LIBEXE) -c $@ $(LIBOBJS) $(PDCOBJS)
75
+ -copy $(LIBCURSES) panel.lib
76
+
77
+ SRCBUILD = $(BUILD) $(srcdir)\$*.c
78
+ OSBUILD = $(BUILD) $(osdir)\$*.c
79
+ DEMOBUILD = $(LINK) $(CPPFLAGS) -o+space $@ $**
80
+
81
+ addch.obj: $(srcdir)\addch.c
82
+ $(SRCBUILD)
83
+
84
+ addchstr.obj: $(srcdir)\addchstr.c
85
+ $(SRCBUILD)
86
+
87
+ addstr.obj: $(srcdir)\addstr.c
88
+ $(SRCBUILD)
89
+
90
+ attr.obj: $(srcdir)\attr.c
91
+ $(SRCBUILD)
92
+
93
+ beep.obj: $(srcdir)\beep.c
94
+ $(SRCBUILD)
95
+
96
+ bkgd.obj: $(srcdir)\bkgd.c
97
+ $(SRCBUILD)
98
+
99
+ border.obj: $(srcdir)\border.c
100
+ $(SRCBUILD)
101
+
102
+ clear.obj: $(srcdir)\clear.c
103
+ $(SRCBUILD)
104
+
105
+ color.obj: $(srcdir)\color.c
106
+ $(SRCBUILD)
107
+
108
+ delch.obj: $(srcdir)\delch.c
109
+ $(SRCBUILD)
110
+
111
+ deleteln.obj: $(srcdir)\deleteln.c
112
+ $(SRCBUILD)
113
+
114
+ deprec.obj: $(srcdir)\deprec.c
115
+ $(SRCBUILD)
116
+
117
+ getch.obj: $(srcdir)\getch.c
118
+ $(SRCBUILD)
119
+
120
+ getstr.obj: $(srcdir)\getstr.c
121
+ $(SRCBUILD)
122
+
123
+ getyx.obj: $(srcdir)\getyx.c
124
+ $(SRCBUILD)
125
+
126
+ inch.obj: $(srcdir)\inch.c
127
+ $(SRCBUILD)
128
+
129
+ inchstr.obj: $(srcdir)\inchstr.c
130
+ $(SRCBUILD)
131
+
132
+ initscr.obj: $(srcdir)\initscr.c
133
+ $(SRCBUILD)
134
+
135
+ inopts.obj: $(srcdir)\inopts.c
136
+ $(SRCBUILD)
137
+
138
+ insch.obj: $(srcdir)\insch.c
139
+ $(SRCBUILD)
140
+
141
+ insstr.obj: $(srcdir)\insstr.c
142
+ $(SRCBUILD)
143
+
144
+ instr.obj: $(srcdir)\instr.c
145
+ $(SRCBUILD)
146
+
147
+ kernel.obj: $(srcdir)\kernel.c
148
+ $(SRCBUILD)
149
+
150
+ keyname.obj: $(srcdir)\keyname.c
151
+ $(SRCBUILD)
152
+
153
+ mouse.obj: $(srcdir)\mouse.c
154
+ $(SRCBUILD)
155
+
156
+ move.obj: $(srcdir)\move.c
157
+ $(SRCBUILD)
158
+
159
+ outopts.obj: $(srcdir)\outopts.c
160
+ $(SRCBUILD)
161
+
162
+ overlay.obj: $(srcdir)\overlay.c
163
+ $(SRCBUILD)
164
+
165
+ pad.obj: $(srcdir)\pad.c
166
+ $(SRCBUILD)
167
+
168
+ panel.obj: $(srcdir)\panel.c
169
+ $(SRCBUILD)
170
+
171
+ printw.obj: $(srcdir)\printw.c
172
+ $(SRCBUILD)
173
+
174
+ refresh.obj: $(srcdir)\refresh.c
175
+ $(SRCBUILD)
176
+
177
+ scanw.obj: $(srcdir)\scanw.c
178
+ $(SRCBUILD)
179
+
180
+ scr_dump.obj: $(srcdir)\scr_dump.c
181
+ $(SRCBUILD)
182
+
183
+ scroll.obj: $(srcdir)\scroll.c
184
+ $(SRCBUILD)
185
+
186
+ slk.obj: $(srcdir)\slk.c
187
+ $(SRCBUILD)
188
+
189
+ termattr.obj: $(srcdir)\termattr.c
190
+ $(SRCBUILD)
191
+
192
+ terminfo.obj: $(srcdir)\terminfo.c
193
+ $(SRCBUILD)
194
+
195
+ touch.obj: $(srcdir)\touch.c
196
+ $(SRCBUILD)
197
+
198
+ util.obj: $(srcdir)\util.c
199
+ $(SRCBUILD)
200
+
201
+ window.obj: $(srcdir)\window.c
202
+ $(SRCBUILD)
203
+
204
+ debug.obj: $(srcdir)\debug.c
205
+ $(SRCBUILD)
206
+
207
+ pdcclip.obj: $(osdir)\pdcclip.c
208
+ $(OSBUILD)
209
+
210
+ pdcdisp.obj: $(osdir)\pdcdisp.c
211
+ $(OSBUILD)
212
+
213
+ pdcgetsc.obj: $(osdir)\pdcgetsc.c
214
+ $(OSBUILD)
215
+
216
+ pdckbd.obj: $(osdir)\pdckbd.c
217
+ $(OSBUILD)
218
+
219
+ pdcscrn.obj: $(osdir)\pdcscrn.c
220
+ $(OSBUILD)
221
+
222
+ pdcsetsc.obj: $(osdir)\pdcsetsc.c
223
+ $(OSBUILD)
224
+
225
+ pdcutil.obj: $(osdir)\pdcutil.c
226
+ $(OSBUILD)
227
+
228
+ firework.exe: $(demodir)\firework.c
229
+ $(DEMOBUILD) $(LIBS)
230
+
231
+ ozdemo.exe: $(demodir)\ozdemo.c
232
+ $(DEMOBUILD) $(LIBS)
233
+
234
+ newtest.exe: $(demodir)\newtest.c
235
+ $(DEMOBUILD) $(LIBS)
236
+
237
+ ptest.exe: $(demodir)\ptest.c
238
+ $(DEMOBUILD) $(LIBS)
239
+
240
+ rain.exe: $(demodir)\rain.c
241
+ $(DEMOBUILD) $(LIBS)
242
+
243
+ testcurs.exe: $(demodir)\testcurs.c
244
+ $(DEMOBUILD) $(LIBS)
245
+
246
+ tuidemo.exe: tuidemo.obj tui.obj
247
+ $(DEMOBUILD) $(LIBS)
248
+
249
+ worm.exe: $(demodir)\worm.c
250
+ $(DEMOBUILD) $(LIBS)
251
+
252
+ xmas.exe: $(demodir)\xmas.c
253
+ $(DEMOBUILD) $(LIBS)
254
+
255
+ tui.obj: $(demodir)\tui.c $(demodir)\tui.h
256
+ $(BUILD) -I$(demodir) $(demodir)\$*.c
257
+
258
+ tuidemo.obj: $(demodir)\tuidemo.c
259
+ $(BUILD) -I$(demodir) $(demodir)\$*.c