curses 1.4.6 → 1.5.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 (254) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/push_gem.yml +6 -4
  3. data/README.md +8 -1
  4. data/curses.gemspec +2 -2
  5. data/ext/curses/curses.c +188 -12
  6. data/ext/curses/extconf.rb +3 -2
  7. data/lib/curses.rb +7 -0
  8. data/sample/attr_demo.rb +4 -2
  9. data/sample/screen.rb +9 -0
  10. data/vendor/PDCurses/.gitignore +47 -0
  11. data/vendor/PDCurses/.travis.yml +49 -0
  12. data/vendor/PDCurses/CMakeLists.txt +68 -0
  13. data/vendor/PDCurses/HISTORY.md +2036 -0
  14. data/vendor/PDCurses/IMPLEMNT.md +327 -0
  15. data/vendor/PDCurses/Makefile +27 -0
  16. data/vendor/PDCurses/README.md +77 -0
  17. data/vendor/PDCurses/acs_defs.h +265 -0
  18. data/vendor/PDCurses/appveyor.yml +218 -0
  19. data/vendor/PDCurses/cmake/README.md +71 -0
  20. data/vendor/PDCurses/cmake/build_dependencies.cmake +178 -0
  21. data/vendor/PDCurses/cmake/build_options.cmake +25 -0
  22. data/vendor/PDCurses/cmake/dll_version.cmake +26 -0
  23. data/vendor/PDCurses/cmake/gen_config_header.cmake +43 -0
  24. data/vendor/PDCurses/cmake/get_version.cmake +17 -0
  25. data/vendor/PDCurses/cmake/make_uninstall.cmake +19 -0
  26. data/vendor/PDCurses/cmake/project_common.cmake +121 -0
  27. data/vendor/PDCurses/cmake/resource.in.cmake +52 -0
  28. data/vendor/PDCurses/cmake/sdl2_ttf/CMakeLists.txt +83 -0
  29. data/vendor/PDCurses/cmake/target_arch.cmake +36 -0
  30. data/vendor/PDCurses/cmake/version.in.cmake +73 -0
  31. data/vendor/PDCurses/cmake/watcom_open_dos16_toolchain.cmake +96 -0
  32. data/vendor/PDCurses/cmake/watcom_open_dos32_toolchain.cmake +106 -0
  33. data/vendor/PDCurses/cmake/watcom_open_os2v2_toolchain.cmake +105 -0
  34. data/vendor/PDCurses/curses.h +1846 -0
  35. data/vendor/PDCurses/curspriv.h +134 -0
  36. data/vendor/PDCurses/demos/README.md +25 -0
  37. data/vendor/PDCurses/demos/firework.c +144 -0
  38. data/vendor/PDCurses/demos/newtest.c +581 -0
  39. data/vendor/PDCurses/demos/ozdemo.c +447 -0
  40. data/vendor/PDCurses/demos/ptest.c +283 -0
  41. data/vendor/PDCurses/demos/rain.c +157 -0
  42. data/vendor/PDCurses/demos/testcurs.c +1607 -0
  43. data/vendor/PDCurses/demos/tui.c +1048 -0
  44. data/vendor/PDCurses/demos/tui.h +65 -0
  45. data/vendor/PDCurses/demos/tuidemo.c +233 -0
  46. data/vendor/PDCurses/demos/version.c +61 -0
  47. data/vendor/PDCurses/demos/worm.c +432 -0
  48. data/vendor/PDCurses/demos/xmas.c +955 -0
  49. data/vendor/PDCurses/dos/CMakeLists.txt +47 -0
  50. data/vendor/PDCurses/dos/Makefile +105 -0
  51. data/vendor/PDCurses/dos/Makefile.bcc +83 -0
  52. data/vendor/PDCurses/dos/Makefile.dmc +257 -0
  53. data/vendor/PDCurses/dos/Makefile.msc +113 -0
  54. data/vendor/PDCurses/dos/Makefile.wcc +107 -0
  55. data/vendor/PDCurses/dos/README.md +51 -0
  56. data/vendor/PDCurses/dos/bccdos.lrf +9 -0
  57. data/vendor/PDCurses/dos/mscdos.lrf +50 -0
  58. data/vendor/PDCurses/dos/pdcclip.c +132 -0
  59. data/vendor/PDCurses/dos/pdcdisp.c +135 -0
  60. data/vendor/PDCurses/dos/pdcdos.h +194 -0
  61. data/vendor/PDCurses/dos/pdcgetsc.c +98 -0
  62. data/vendor/PDCurses/dos/pdckbd.c +513 -0
  63. data/vendor/PDCurses/dos/pdcscrn.c +785 -0
  64. data/vendor/PDCurses/dos/pdcsetsc.c +101 -0
  65. data/vendor/PDCurses/dos/pdcutil.c +212 -0
  66. data/vendor/PDCurses/libobjs.mif +26 -0
  67. data/vendor/PDCurses/makedist.mif +20 -0
  68. data/vendor/PDCurses/man/Makefile +37 -0
  69. data/vendor/PDCurses/man/README.md +21 -0
  70. data/vendor/PDCurses/man/intro.md +361 -0
  71. data/vendor/PDCurses/man/manext.c +119 -0
  72. data/vendor/PDCurses/man/sdl.md +152 -0
  73. data/vendor/PDCurses/man/sdl2.md +58 -0
  74. data/vendor/PDCurses/man/x11.md +407 -0
  75. data/vendor/PDCurses/ncurses/CMakeLists.txt +66 -0
  76. data/vendor/PDCurses/ncurses/README.md +26 -0
  77. data/vendor/PDCurses/ncurses/makefile +29 -0
  78. data/vendor/PDCurses/os2/CMakeLists.txt +41 -0
  79. data/vendor/PDCurses/os2/Makefile +132 -0
  80. data/vendor/PDCurses/os2/Makefile.bcc +90 -0
  81. data/vendor/PDCurses/os2/Makefile.wcc +43 -0
  82. data/vendor/PDCurses/os2/README.md +43 -0
  83. data/vendor/PDCurses/os2/iccos2.lrf +50 -0
  84. data/vendor/PDCurses/os2/iccos2.mak +256 -0
  85. data/vendor/PDCurses/os2/pdcclip.c +188 -0
  86. data/vendor/PDCurses/os2/pdcdisp.c +93 -0
  87. data/vendor/PDCurses/os2/pdcgetsc.c +89 -0
  88. data/vendor/PDCurses/os2/pdckbd.c +521 -0
  89. data/vendor/PDCurses/os2/pdcos2.h +55 -0
  90. data/vendor/PDCurses/os2/pdcscrn.c +449 -0
  91. data/vendor/PDCurses/os2/pdcsetsc.c +112 -0
  92. data/vendor/PDCurses/os2/pdcutil.c +52 -0
  93. data/vendor/PDCurses/panel.h +56 -0
  94. data/vendor/PDCurses/pdcurses/README.md +25 -0
  95. data/vendor/PDCurses/pdcurses/addch.c +693 -0
  96. data/vendor/PDCurses/pdcurses/addchstr.c +245 -0
  97. data/vendor/PDCurses/pdcurses/addstr.c +240 -0
  98. data/vendor/PDCurses/pdcurses/attr.c +359 -0
  99. data/vendor/PDCurses/pdcurses/beep.c +68 -0
  100. data/vendor/PDCurses/pdcurses/bkgd.c +223 -0
  101. data/vendor/PDCurses/pdcurses/border.c +411 -0
  102. data/vendor/PDCurses/pdcurses/clear.c +159 -0
  103. data/vendor/PDCurses/pdcurses/color.c +298 -0
  104. data/vendor/PDCurses/pdcurses/debug.c +109 -0
  105. data/vendor/PDCurses/pdcurses/delch.c +96 -0
  106. data/vendor/PDCurses/pdcurses/deleteln.c +211 -0
  107. data/vendor/PDCurses/pdcurses/deprec.c +27 -0
  108. data/vendor/PDCurses/pdcurses/getch.c +417 -0
  109. data/vendor/PDCurses/pdcurses/getstr.c +474 -0
  110. data/vendor/PDCurses/pdcurses/getyx.c +139 -0
  111. data/vendor/PDCurses/pdcurses/inch.c +127 -0
  112. data/vendor/PDCurses/pdcurses/inchstr.c +214 -0
  113. data/vendor/PDCurses/pdcurses/initscr.c +367 -0
  114. data/vendor/PDCurses/pdcurses/inopts.c +324 -0
  115. data/vendor/PDCurses/pdcurses/insch.c +271 -0
  116. data/vendor/PDCurses/pdcurses/insstr.c +264 -0
  117. data/vendor/PDCurses/pdcurses/instr.c +246 -0
  118. data/vendor/PDCurses/pdcurses/kernel.c +259 -0
  119. data/vendor/PDCurses/pdcurses/keyname.c +157 -0
  120. data/vendor/PDCurses/pdcurses/mouse.c +438 -0
  121. data/vendor/PDCurses/pdcurses/move.c +57 -0
  122. data/vendor/PDCurses/pdcurses/outopts.c +159 -0
  123. data/vendor/PDCurses/pdcurses/overlay.c +214 -0
  124. data/vendor/PDCurses/pdcurses/pad.c +260 -0
  125. data/vendor/PDCurses/pdcurses/panel.c +633 -0
  126. data/vendor/PDCurses/pdcurses/printw.c +126 -0
  127. data/vendor/PDCurses/pdcurses/refresh.c +279 -0
  128. data/vendor/PDCurses/pdcurses/scanw.c +578 -0
  129. data/vendor/PDCurses/pdcurses/scr_dump.c +213 -0
  130. data/vendor/PDCurses/pdcurses/scroll.c +101 -0
  131. data/vendor/PDCurses/pdcurses/slk.c +591 -0
  132. data/vendor/PDCurses/pdcurses/termattr.c +182 -0
  133. data/vendor/PDCurses/pdcurses/terminfo.c +217 -0
  134. data/vendor/PDCurses/pdcurses/touch.c +163 -0
  135. data/vendor/PDCurses/pdcurses/util.c +312 -0
  136. data/vendor/PDCurses/pdcurses/window.c +569 -0
  137. data/vendor/PDCurses/sdl1/Makefile +129 -0
  138. data/vendor/PDCurses/sdl1/Makefile.mng +110 -0
  139. data/vendor/PDCurses/sdl1/README.md +31 -0
  140. data/vendor/PDCurses/sdl1/deffont.h +385 -0
  141. data/vendor/PDCurses/sdl1/deficon.h +23 -0
  142. data/vendor/PDCurses/sdl1/pdcclip.c +131 -0
  143. data/vendor/PDCurses/sdl1/pdcdisp.c +373 -0
  144. data/vendor/PDCurses/sdl1/pdcgetsc.c +30 -0
  145. data/vendor/PDCurses/sdl1/pdckbd.c +405 -0
  146. data/vendor/PDCurses/sdl1/pdcscrn.c +414 -0
  147. data/vendor/PDCurses/sdl1/pdcsdl.h +31 -0
  148. data/vendor/PDCurses/sdl1/pdcsetsc.c +64 -0
  149. data/vendor/PDCurses/sdl1/pdcutil.c +40 -0
  150. data/vendor/PDCurses/sdl1/sdltest.c +79 -0
  151. data/vendor/PDCurses/sdl2/CMakeLists.txt +76 -0
  152. data/vendor/PDCurses/sdl2/Makefile +135 -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 +135 -0
  170. data/vendor/PDCurses/vt/Makefile.bcc +111 -0
  171. data/vendor/PDCurses/vt/Makefile.dmc +258 -0
  172. data/vendor/PDCurses/vt/Makefile.vc +144 -0
  173. data/vendor/PDCurses/vt/Makefile.wcc +107 -0
  174. data/vendor/PDCurses/vt/README.md +64 -0
  175. data/vendor/PDCurses/vt/pdcclip.c +20 -0
  176. data/vendor/PDCurses/vt/pdcdisp.c +284 -0
  177. data/vendor/PDCurses/vt/pdcgetsc.c +27 -0
  178. data/vendor/PDCurses/vt/pdckbd.c +394 -0
  179. data/vendor/PDCurses/vt/pdcscrn.c +434 -0
  180. data/vendor/PDCurses/vt/pdcsetsc.c +45 -0
  181. data/vendor/PDCurses/vt/pdcutil.c +43 -0
  182. data/vendor/PDCurses/vt/pdcvt.h +16 -0
  183. data/vendor/PDCurses/watcom.mif +68 -0
  184. data/vendor/PDCurses/wincon/CMakeLists.txt +27 -0
  185. data/vendor/PDCurses/wincon/Makefile.bcc +88 -0
  186. data/vendor/PDCurses/wincon/Makefile.dmc +256 -0
  187. data/vendor/PDCurses/wincon/Makefile.lcc +273 -0
  188. data/vendor/PDCurses/wincon/Makefile.mng +176 -0
  189. data/vendor/PDCurses/wincon/Makefile.vc +144 -0
  190. data/vendor/PDCurses/wincon/Makefile.wcc +51 -0
  191. data/vendor/PDCurses/wincon/README.md +85 -0
  192. data/vendor/PDCurses/wincon/pdcclip.c +174 -0
  193. data/vendor/PDCurses/wincon/pdcdisp.c +143 -0
  194. data/vendor/PDCurses/wincon/pdcgetsc.c +55 -0
  195. data/vendor/PDCurses/wincon/pdckbd.c +786 -0
  196. data/vendor/PDCurses/wincon/pdcscrn.c +717 -0
  197. data/vendor/PDCurses/wincon/pdcsetsc.c +91 -0
  198. data/vendor/PDCurses/wincon/pdcurses.ico +0 -0
  199. data/vendor/PDCurses/wincon/pdcurses.rc +28 -0
  200. data/vendor/PDCurses/wincon/pdcutil.c +41 -0
  201. data/vendor/PDCurses/wincon/pdcwin.h +31 -0
  202. data/vendor/PDCurses/wingui/CMakeLists.txt +27 -0
  203. data/vendor/PDCurses/wingui/Makefile.bcc +85 -0
  204. data/vendor/PDCurses/wingui/Makefile.dmc +259 -0
  205. data/vendor/PDCurses/wingui/Makefile.lcc +273 -0
  206. data/vendor/PDCurses/wingui/Makefile.mng +171 -0
  207. data/vendor/PDCurses/wingui/Makefile.vc +144 -0
  208. data/vendor/PDCurses/wingui/Makefile.wcc +51 -0
  209. data/vendor/PDCurses/wingui/README.md +93 -0
  210. data/vendor/PDCurses/wingui/pdcclip.c +174 -0
  211. data/vendor/PDCurses/wingui/pdcdisp.c +718 -0
  212. data/vendor/PDCurses/wingui/pdcgetsc.c +30 -0
  213. data/vendor/PDCurses/wingui/pdckbd.c +143 -0
  214. data/vendor/PDCurses/wingui/pdcscrn.c +2797 -0
  215. data/vendor/PDCurses/wingui/pdcsetsc.c +89 -0
  216. data/vendor/PDCurses/wingui/pdcurses.ico +0 -0
  217. data/vendor/PDCurses/wingui/pdcurses.rc +28 -0
  218. data/vendor/PDCurses/wingui/pdcutil.c +61 -0
  219. data/vendor/PDCurses/wingui/pdcwin.h +122 -0
  220. data/vendor/PDCurses/x11/Makefile.in +754 -0
  221. data/vendor/PDCurses/x11/PDCurses.spec +82 -0
  222. data/vendor/PDCurses/x11/README.md +62 -0
  223. data/vendor/PDCurses/x11/ScrollBox.c +319 -0
  224. data/vendor/PDCurses/x11/ScrollBox.h +51 -0
  225. data/vendor/PDCurses/x11/ScrollBoxP.h +70 -0
  226. data/vendor/PDCurses/x11/aclocal.m4 +994 -0
  227. data/vendor/PDCurses/x11/big_icon.xbm +46 -0
  228. data/vendor/PDCurses/x11/compose.h +201 -0
  229. data/vendor/PDCurses/x11/config.guess +1500 -0
  230. data/vendor/PDCurses/x11/config.h.in +100 -0
  231. data/vendor/PDCurses/x11/config.sub +1616 -0
  232. data/vendor/PDCurses/x11/configure +6700 -0
  233. data/vendor/PDCurses/x11/configure.ac +295 -0
  234. data/vendor/PDCurses/x11/debian/changelog +6 -0
  235. data/vendor/PDCurses/x11/debian/compat +1 -0
  236. data/vendor/PDCurses/x11/debian/control +11 -0
  237. data/vendor/PDCurses/x11/debian/copyright +27 -0
  238. data/vendor/PDCurses/x11/debian/rules +98 -0
  239. data/vendor/PDCurses/x11/install-sh +253 -0
  240. data/vendor/PDCurses/x11/little_icon.xbm +14 -0
  241. data/vendor/PDCurses/x11/ncurses_cfg.h +45 -0
  242. data/vendor/PDCurses/x11/pdcclip.c +173 -0
  243. data/vendor/PDCurses/x11/pdcdisp.c +85 -0
  244. data/vendor/PDCurses/x11/pdcgetsc.c +28 -0
  245. data/vendor/PDCurses/x11/pdckbd.c +104 -0
  246. data/vendor/PDCurses/x11/pdcscrn.c +258 -0
  247. data/vendor/PDCurses/x11/pdcsetsc.c +95 -0
  248. data/vendor/PDCurses/x11/pdcutil.c +52 -0
  249. data/vendor/PDCurses/x11/pdcx11.c +316 -0
  250. data/vendor/PDCurses/x11/pdcx11.h +191 -0
  251. data/vendor/PDCurses/x11/sb.c +155 -0
  252. data/vendor/PDCurses/x11/x11.c +3686 -0
  253. data/vendor/PDCurses/x11/xcurses-config.in +81 -0
  254. metadata +249 -8
@@ -0,0 +1,407 @@
1
+ X11 Considerations
2
+ ==================
3
+
4
+ PDCurses for X11 uses the System V IPC shared memory facility, along
5
+ with sockets, to share data between the curses program and the child
6
+ process created to manage the X stuff.
7
+
8
+ When compiling your application, you need to include the \<curses.h\> or
9
+ \<xcurses.h\> that comes with PDCurses. You also need to link your code
10
+ with libXCurses. You may need to link with the following libraries under
11
+ X11R5:
12
+
13
+ Xaw Xmu Xt X11
14
+
15
+ or, under X11R6:
16
+
17
+ Xaw Xmu Xt X11 SM ICE Xext
18
+
19
+ You can run "xcurses-config --libs" to show the link parameters for your
20
+ system. If using dynamic linking, on some systems, "-lXCurses" suffices.
21
+
22
+ By calling Xinitscr() rather than initscr(), you can pass your program
23
+ name and resource overrides to PDCurses. The program name is used as the
24
+ title of the X window, and for defining X resources specific to your
25
+ program.
26
+
27
+
28
+ Interaction with stdio
29
+ ----------------------
30
+
31
+ Be aware that curses programs that expect to have a normal tty
32
+ underneath them will be very disappointed! Output directed to stdout
33
+ will go to the xterm that invoked the PDCurses application, or to the
34
+ console if not invoked directly from an xterm. Similarly, stdin will
35
+ expect its input from the same place as stdout.
36
+
37
+
38
+ X Resources
39
+ -----------
40
+
41
+ PDCurses for X11 recognizes the following resources:
42
+
43
+ ### lines
44
+
45
+ Specifies the number of lines the "screen" will have. Directly equates
46
+ to LINES. There is no theoretical maximum. The minimum value must be 2.
47
+ Default: 24
48
+
49
+ ### cols
50
+
51
+ Specifies the number of columns the "screen" will have. Directly equates
52
+ to COLS. There is no theoretical maximum. The minimum value must be 2.
53
+ Default: 80
54
+
55
+ ### normalFont
56
+
57
+ The name of a fixed width font. Default: 7x13
58
+
59
+ ### italicFont
60
+
61
+ The name of a fixed width font to be used for characters with A_ITALIC
62
+ attributes. Must have the same cell size as normalFont. Default: 7x13
63
+ (obviously not an italic font)
64
+
65
+ ### pointer
66
+
67
+ The name of a valid pointer cursor. Default: xterm
68
+
69
+ ### pointerForeColor
70
+
71
+ The foreground color of the pointer. Default: black
72
+
73
+ ### pointerBackColor
74
+
75
+ The background color of the pointer. Default: white
76
+
77
+ ### cursorColor
78
+
79
+ ### textCursor
80
+
81
+ The alignment of the text cursor; horizontal or vertical. Default:
82
+ horizontal
83
+
84
+ ### colorBlack
85
+
86
+ The color of the COLOR_BLACK attribute. Default: Black
87
+
88
+ ### colorRed
89
+
90
+ The color of the COLOR_RED attribute. Default: red3
91
+
92
+ ### colorGreen
93
+
94
+ The color of the COLOR_GREEN attribute. Default: green3
95
+
96
+ ### colorYellow
97
+
98
+ The color of the COLOR_YELLOW attribute. Default: yellow3
99
+
100
+ ### colorBlue
101
+
102
+ The color of the COLOR_BLUE attribute. Default: blue3
103
+
104
+ ### colorMagenta
105
+
106
+ The color of the COLOR_MAGENTA attribute. Default: magenta3
107
+
108
+ ### colorCyan
109
+
110
+ The color of the COLOR_CYAN attribute. Default: cyan3
111
+
112
+ ### colorWhite
113
+
114
+ The color of the COLOR_WHITE attribute. Default: Grey
115
+
116
+ ### colorBoldBlack
117
+
118
+ COLOR_BLACK combined with A_BOLD. Default: grey40
119
+
120
+ ### colorBoldRed
121
+
122
+ COLOR_RED combined with A_BOLD. Default: red1
123
+
124
+ ### colorBoldGreen
125
+
126
+ COLOR_GREEN combined with A_BOLD. Default: green1
127
+
128
+ ### colorBoldYellow
129
+
130
+ COLOR_YELLOW combined with A_BOLD. Default: yellow1
131
+
132
+ ### colorBoldBlue
133
+
134
+ COLOR_BLUE combined with A_BOLD. Default: blue1
135
+
136
+ ### colorBoldMagenta
137
+
138
+ COLOR_MAGENTA combined with A_BOLD. Default: magenta1
139
+
140
+ ### colorBoldCyan
141
+
142
+ COLOR_CYAN combined with A_BOLD. Default: cyan1
143
+
144
+ ### colorBoldWhite
145
+
146
+ COLOR_WHITE combined with A_BOLD. Default: White
147
+
148
+ ### bitmap
149
+
150
+ The name of a valid bitmap file of depth 1 (black and white) used for
151
+ the application's icon. The file is an X bitmap. Default: a 32x32 or
152
+ 64x64 pixmap depending on the window manager
153
+
154
+ ### pixmap
155
+
156
+ The name of a valid pixmap file of any depth supported by the window
157
+ manager (color) for the application's icon, The file is an X11 pixmap.
158
+ This resource is only available if the libXpm package has been installed
159
+ (most systems have this by default). This resource overrides the
160
+ "bitmap" resource. Default: none, uses default bitmap above
161
+
162
+ ### translations
163
+
164
+ Translations enable the user to customize the action that occurs when a
165
+ key, combination of keys, or a button is pressed. The translations are
166
+ similar to those used by xterm.
167
+
168
+ Defaults:
169
+
170
+ <Key>: XCursesKeyPress()
171
+ <KeyUp>: XCursesKeyPress()
172
+ <BtnDown>: XCursesButton()
173
+ <BtnUp>: XCursesButton()
174
+ <BtnMotion>: XCursesButton()
175
+
176
+ The most useful action for KeyPress translations is string(). The
177
+ argument to the string() action can be either a string or a hex
178
+ representation of a character; e.g., string(0x1b) will send the ASCII
179
+ escape character to the application; string("[11~") will send [ 1 1 ~ ,
180
+ as separate keystrokes.
181
+
182
+ ### shmmin
183
+
184
+ On most systems, there are two Unix kernel parameters that determine the
185
+ allowable size of a shared memory segment. These parameters are usually
186
+ something like SHMMIN and SHMMAX. To use shared memory, a program must
187
+ allocate a segment of shared memory that is between these two values.
188
+ Usually these values are like 1 for SHMMIN and some large number for
189
+ SHMMAX. Sometimes the Unix kernel is configured to have a value of
190
+ SHMMIN that is bigger than the size of one of the shared memory segments
191
+ that libXCurses uses. On these systems an error message like:
192
+
193
+ Cannot allocate shared memory for SCREEN: Invalid argument
194
+
195
+ will result. To overcome this problem, this resource should be set to
196
+ the kernel value for SHMMIN. This ensures that a shared memory segment
197
+ will always be bigger than the kernel value for SHMMIN (and hopefully
198
+ less than SHMMAX!) Default: 0
199
+
200
+ ### borderColor
201
+
202
+ The color of the border around the screen. Default: black
203
+
204
+ ### borderWidth
205
+
206
+ The width in pixels of the border around the screen. Default: 0
207
+
208
+ ### clickPeriod
209
+
210
+ The period (in milliseconds) between a button press and a button release
211
+ that determines if a click of a button has occurred. Default: 100
212
+
213
+ ### doubleClickPeriod
214
+
215
+ The period (in milliseconds) between two button press events that
216
+ determines if a double click of a button has occurred. Default: 200
217
+
218
+ ### composeKey
219
+
220
+ The name of the X key that defines the "compose key", which is used to
221
+ enter characters in the Latin-1 character set above 0xA0. (See "Compose
222
+ Keys for Latin-1" below.) This is used only when PDCurses is built
223
+ without XIM support. While in compose mode, the text cursor will appear
224
+ as a hollow rectangle. Default: Multi_key
225
+
226
+
227
+ Using Resources
228
+ ---------------
229
+
230
+ All applications have a top-level class name of "XCurses". If Xinitscr()
231
+ is used, it sets an application's top-level widget name. (Otherwise the
232
+ name defaults to "PDCurses".)
233
+
234
+ Examples for app-defaults or .Xdefaults:
235
+
236
+ !
237
+ ! resources for XCurses class of programs
238
+ !
239
+ XCurses*lines: 30
240
+ XCurses*cols: 80
241
+ XCurses*normalFont: 9x13
242
+ XCurses*bitmap: /tmp/xcurses.xbm
243
+ XCurses*pointer: top_left_arrow
244
+ !
245
+ ! resources for testcurs - XCurses
246
+ !
247
+ testcurs.colorRed: orange
248
+ testcurs.colorBlack: midnightblue
249
+ testcurs.lines: 25
250
+ *testcurs.Translations: #override \n \
251
+ <Key>F12: string(0x1b) string("[11~") \n
252
+ !
253
+ ! resources for THE - XCurses
254
+ !
255
+ ! resources with the * wildcard can be overridden by a parameter passed
256
+ ! to initscr()
257
+ !
258
+ the*normalFont: 9x15
259
+ the*lines: 40
260
+ the*cols: 86
261
+ the*pointer: xterm
262
+ the*pointerForeColor: white
263
+ the*pointerBackColor: black
264
+ !
265
+ ! resources with the . format can not be overridden by a parameter passed
266
+ ! to Xinitscr()
267
+ !
268
+ the.bitmap: /home/mark/the/the64.xbm
269
+ the.pixmap: /home/mark/the/the64.xpm
270
+
271
+ Resources may also be passed as parameters to the Xinitscr() function.
272
+ Parameters are strings in the form of switches; e.g., to set the color
273
+ "red" to "indianred", and the number of lines to 30, the string passed
274
+ to Xinitscr would be: "-colorRed indianred -lines 30"
275
+
276
+
277
+ Compose Keys for Latin-1
278
+ ------------------------
279
+
280
+ When built without XIM support, PDCurses for X11 provides its own,
281
+ limited compose key system for Latin-1 characters. The available
282
+ combinations are listed here. For a given character, any of the
283
+ combinations shown in the last column may be used. To generate a
284
+ character, press the "compose" key followed by one of the pairs of
285
+ keystrokes. Where no key is evident, the spacebar is used. Thus, to
286
+ generate the NO-BREAK SPACE, press the "compose" key followed by two
287
+ hits of the spacebar.
288
+
289
+ With a typical modern X server, you can get many more compose key
290
+ combinations by using XIM instead. Configure PDCurses with --enable-xim
291
+ to use XIM support.
292
+
293
+ This document is encoded in UTF-8.
294
+
295
+ Hex| Dec |Chr| Description ISO 10646-1:1993(E) | Compose key combinations
296
+ ---+-----+---+---------------------------------+-------------------------
297
+ A0 | 160 | | NO-BREAK SPACE |
298
+ A1 | 161 | ¡ | INVERTED EXCLAMATION MARK | ! !!
299
+ A2 | 162 | ¢ | CENT SIGN | c| |c c/ c$ C$ C|
300
+ A3 | 163 | £ | POUND SIGN | L- L$ L= l- l$ l= |-
301
+ A4 | 164 | ¤ | CURRENCY SIGN | xo ox XO g$
302
+ A5 | 165 | ¥ | YEN SIGN | =y y= =Y Y= Y- y$ y-
303
+ A6 | 166 | ¦ | BROKEN BAR | | || vb VB |^
304
+ A7 | 167 | § | SECTION SIGN | SO SS s! S! so
305
+ A8 | 168 | ¨ | DIAERESIS | " ""
306
+ A9 | 169 | © | COPYRIGHT SIGN | CO co OC
307
+ AA | 170 | ª | FEMININE ORDINAL INDICATOR | sa SA a_ A_
308
+ AB | 171 | « | LEFT DOUBLE ANGLE QUOTES | <<
309
+ AC | 172 | ¬ | NOT SIGN | -, no NO
310
+ AD | 173 | ­ | SOFT HYPHEN | - --
311
+ AE | 174 | ® | REGISTERED SIGN | RO ro OR
312
+ AF | 175 | ¯ | MACRON | -^ _^ __
313
+ B0 | 176 | ° | DEGREE SIGN | o 0^ 0* de DE ^0
314
+ B1 | 177 | ± | PLUS-MINUS SIGN | -+ +-
315
+ B2 | 178 | ² | SUPERSCRIPT TWO | 2 2^ s2 ^2
316
+ B3 | 179 | ³ | SUPERSCRIPT THREE | 3 3^ s3 ^3
317
+ B4 | 180 | ´ | ACUTE ACCENT | ' ''
318
+ B5 | 181 | µ | MICRO SIGN | u /u /U *m *M
319
+ B6 | 182 | ¶ | PILCROW SIGN | p! P! pg PG
320
+ B7 | 183 | · | MIDDLE DOT | . .^ ..
321
+ B8 | 184 | ¸ | CEDILLA | , ,,
322
+ B9 | 185 | ¹ | SUPERSCRIPT ONE | 1 1^ s1 ^1
323
+ BA | 186 | º | MASCULINE ORDINAL INDICATOR | o_ s0 S0
324
+ BB | 187 | » | RIGHT DOUBLE ANGLE QUOTES | >>
325
+ BC | 188 | ¼ | VULGAR FRACTION ONE QUARTER | 14
326
+ BD | 189 | ½ | VULGAR FRACTION ONE HALF | 12
327
+ BE | 190 | ¾ | VULGAR FRACTION THREE QUARTERS | 34
328
+ BF | 191 | ¿ | INVERTED QUESTION MARK | ? ??
329
+ C0 | 192 | À | CAPITAL A WITH GRAVE ACCENT | `A A`
330
+ C1 | 193 | Á | CAPITAL A WITH ACUTE ACCENT | 'A A'
331
+ C2 | 194 | Â | CAPITAL A WITH CIRCUMFLEX ACCENT| ^A A^ A>
332
+ C3 | 195 | Ã | CAPITAL A WITH TILDE | ~A A~ A-
333
+ C4 | 196 | Ä | CAPITAL A WITH DIAERESIS | "A A"
334
+ C5 | 197 | Å | CAPITAL A WITH RING ABOVE | oA Ao A* OA *A
335
+ C6 | 198 | Æ | CAPITAL LIGATURE AE | AE
336
+ C7 | 199 | Ç | CAPITAL C WITH CEDILLA | ,C C,
337
+ C8 | 200 | È | CAPITAL E WITH GRAVE ACCENT | `E E`
338
+ C9 | 201 | É | CAPITAL E WITH ACUTE ACCENT | 'E E'
339
+ CA | 202 | Ê | CAPITAL E WITH CIRCUMFLEX ACCENT| ^E E^ E>
340
+ CB | 203 | Ë | CAPITAL E WITH DIAERESIS | "E E"
341
+ CC | 204 | Ì | CAPITAL I WITH GRAVE ACCENT | `I I`
342
+ CD | 205 | Í | CAPITAL I WITH ACUTE ACCENT | 'I I'
343
+ CE | 206 | Î | CAPITAL I WITH CIRCUMFLEX ACCENT| ^I I^ I>
344
+ CF | 207 | Ï | CAPITAL I WITH DIAERESIS | "I I"
345
+ D0 | 208 | Ð | CAPITAL ETH | D-
346
+ D1 | 209 | Ñ | CAPITAL N WITH TILDE | ~N N~ N-
347
+ D2 | 210 | Ò | CAPITAL O WITH GRAVE ACCENT | `O O`
348
+ D3 | 211 | Ó | CAPITAL O WITH ACUTE ACCENT | 'O O'
349
+ D4 | 212 | Ô | CAPITAL O WITH CIRCUMFLEX ACCENT| ^O O^ O>
350
+ D5 | 213 | Õ | CAPITAL O WITH TILDE | ~O O~ O-
351
+ D6 | 214 | Ö | CAPITAL O WITH DIAERESIS | "O O"
352
+ D7 | 215 | × | MULTIPLICATION SIGN | x xx XX mu MU
353
+ D8 | 216 | Ø | CAPITAL O WITH STROKE | /O O/
354
+ D9 | 217 | Ù | CAPITAL U WITH GRAVE ACCENT | `U U`
355
+ DA | 218 | Ú | CAPITAL U WITH ACUTE ACCENT | 'U U'
356
+ DB | 219 | Û | CAPITAL U WITH CIRCUMFLEX ACCENT| ^U U^ U>
357
+ DC | 220 | Ü | CAPITAL U WITH DIAERESIS | "U U"
358
+ DD | 221 | Ý | CAPITAL Y WITH ACUTE ACCENT | 'Y Y'
359
+ DE | 222 | Þ | CAPITAL THORN | P TH |P
360
+ DF | 223 | ß | SMALL SHARP S | ss
361
+ E0 | 224 | à | SMALL A WITH GRAVE ACCENT | `a a`
362
+ E1 | 225 | á | SMALL A WITH ACUTE ACCENT | 'a a'
363
+ E2 | 226 | â | SMALL A WITH CIRCUMFLEX ACCENT | ^a a^ a>
364
+ E3 | 227 | ã | SMALL A WITH TILDE | ~a a~ a-
365
+ E4 | 228 | ä | SMALL A WITH DIAERESIS | "a a"
366
+ E5 | 229 | å | SMALL A WITH RING ABOVE | oa ao Oa a* *a
367
+ E6 | 230 | æ | SMALL LIGATURE AE | ae
368
+ E7 | 231 | ç | SMALL C WITH CEDILLA | ,c c,
369
+ E8 | 232 | è | SMALL E WITH GRAVE ACCENT | `e e`
370
+ E9 | 233 | é | SMALL E WITH ACUTE ACCENT | 'e e'
371
+ EA | 234 | ê | SMALL E WITH CIRCUMFLEX ACCENT | ^e e^ e>
372
+ EB | 235 | ë | SMALL E WITH DIAERESIS | "e e"
373
+ EC | 236 | ì | SMALL I WITH GRAVE ACCENT | `i i`
374
+ ED | 237 | í | SMALL I WITH ACUTE ACCENT | 'i i'
375
+ EE | 238 | î | SMALL I WITH CIRCUMFLEX ACCENT | ^i i^ i>
376
+ EF | 239 | ï | SMALL I WITH DIAERESIS | "i i"
377
+ F0 | 240 | ð | SMALL ETH | d-
378
+ F1 | 241 | ñ | SMALL N WITH TILDE | ~n n~ n-
379
+ F2 | 242 | ò | SMALL O WITH GRAVE ACCENT | `o o`
380
+ F3 | 243 | ó | SMALL O WITH ACUTE ACCENT | 'o o'
381
+ F4 | 244 | ô | SMALL O WITH CIRCUMFLEX ACCENT | ^o o^ o>
382
+ F5 | 245 | õ | SMALL O WITH TILDE | ~o o~ o-
383
+ F6 | 246 | ö | SMALL O WITH DIAERESIS | "o o"
384
+ F7 | 247 | ÷ | DIVISION SIGN | -: :-
385
+ F8 | 248 | ø | SMALL O WITH OBLIQUE BAR | /o o/
386
+ F9 | 249 | ù | SMALL U WITH GRAVE ACCENT | `u u`
387
+ FA | 250 | ú | SMALL U WITH ACUTE ACCENT | 'u u'
388
+ FB | 251 | û | SMALL U WITH CIRCUMFLEX ACCENT | ^u u^ u>
389
+ FC | 252 | ü | SMALL U WITH DIAERESIS | "u u"
390
+ FD | 253 | ý | SMALL Y WITH ACUTE ACCENT | 'y y'
391
+ FE | 254 | þ | SMALL THORN | p th |p
392
+ FF | 255 | ÿ | SMALL Y WITH DIAERESIS | "y y"
393
+
394
+
395
+ Deprecated
396
+ ----------
397
+
398
+ XCursesProgramName is no longer used. To set the program name, you must
399
+ use Xinitscr(), or PDC_set_title() to set just the window title.
400
+
401
+ The XCursesExit() function is now called automatically via atexit().
402
+ (Multiple calls to it are OK, so you don't need to remove it if you've
403
+ already added it for previous versions of PDCurses.)
404
+
405
+ XCURSES is no longer defined automatically, but need not be defined,
406
+ unless you want the X11-specific prototypes. (Normal curses programs
407
+ won't need it.)
@@ -0,0 +1,66 @@
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 "CMAKE_BUILD_TYPE not set, defaulting to MinSizeRel.")
6
+ endif()
7
+
8
+ if(APPLE)
9
+ # look for brew version first
10
+ set(CMAKE_LIBRARY_PATH /usr/local/opt/ncurses/lib)
11
+ endif()
12
+
13
+ set(CURSES_NEED_WIDE PDC_WIDE)
14
+ include(FindCurses)
15
+
16
+ if(CURSES_FOUND)
17
+ # this project is dependent on libncurses5-dev, and libncursesw5-dev.
18
+ # Apple builds without ncursesw
19
+
20
+ PROJECT(ncurses VERSION "${PROJECT_VERSION}" LANGUAGES C)
21
+ message(STATUS "**** ${PROJECT_NAME} ****")
22
+
23
+ if(APPLE)
24
+ if ("/usr/lib/libcurses.dylib" IN_LIST CURSES_LIBRARIES)
25
+ #MESSAGE(WARNING "Building with old ncurses lib -> Manually defining A_ITALIC to 64-bit...")
26
+ MESSAGE(WARNING " Use `brew install ncurses` to resolve this warning")
27
+ add_definitions("-DA_ITALIC=((chtype)0x008 << 21)") #default to 64 bit for now...
28
+ endif()
29
+ MESSAGE(STATUS "Linking with ${CURSES_LIBRARIES}")
30
+ endif()
31
+ set(PDCURSES_DIST ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE})
32
+
33
+ macro (unix_app dir targ)
34
+
35
+ set(bin_name "${PROJECT_NAME}_${targ}")
36
+ if(${targ} STREQUAL "tuidemo")
37
+ set(src_files ${CMAKE_CURRENT_SOURCE_DIR}/${dir}/tuidemo.c ${CMAKE_CURRENT_SOURCE_DIR}/${dir}/tui.c)
38
+ else()
39
+ set(src_files ${CMAKE_CURRENT_SOURCE_DIR}/${dir}/${targ}.c)
40
+ endif()
41
+
42
+ add_executable(${bin_name} ${src_files})
43
+
44
+ target_compile_options(${bin_name} PUBLIC -Wall)
45
+ target_compile_definitions(${bin_name} PUBLIC -D_XOPEN_SOURCE_EXTENDED)
46
+ if(PDC_WIDE)
47
+ target_compile_definitions(${bin_name} PUBLIC -DHAVE_NCURSESW)
48
+ endif()
49
+
50
+ target_include_directories(${bin_name} PUBLIC ${CURSES_INCLUDE_DIR})
51
+ target_link_libraries(${bin_name} ${CURSES_LIBRARIES})
52
+ set_target_properties(${bin_name} PROPERTIES OUTPUT_NAME ${targ})
53
+
54
+ install(TARGETS ${bin_name} RUNTIME DESTINATION ${PDCURSES_DIST}/bin/${PROJECT_NAME} COMPONENT applications)
55
+
56
+ endmacro ()
57
+
58
+ unix_app(../demos firework)
59
+ unix_app(../demos ozdemo)
60
+ unix_app(../demos newtest)
61
+ unix_app(../demos rain)
62
+ unix_app(../demos testcurs)
63
+ unix_app(../demos worm)
64
+ unix_app(../demos xmas)
65
+
66
+ endif()
@@ -0,0 +1,26 @@
1
+ ncurses build of PDCurses demos
2
+ ===============================
3
+
4
+ This directory contains a makefile to compile the PDCurses demos against
5
+ the ncurses library. This allows us to check for differences between
6
+ ncurses and PDCurses.
7
+
8
+ Building
9
+ --------
10
+
11
+ - Thus far, only GCC on Linux has been tested. Build with either
12
+
13
+ make -f makefile
14
+ make -f makefile WIDE=Y
15
+
16
+ Several demos will be compiled.
17
+
18
+ Distribution Status
19
+ -------------------
20
+
21
+ The files in this directory are released to the Public Domain.
22
+
23
+ Acknowledgments
24
+ ---------------
25
+
26
+ makefile provided by Bill Gray.
@@ -0,0 +1,29 @@
1
+ # GNU MAKE Makefile for PDCurses demos with ncurses
2
+ #
3
+ # Usage: make [tgt] [WIDE=Y]
4
+ #
5
+ # where tgt can be any of:
6
+ # [all|demos|testcurs]...
7
+
8
+ ifeq ($(WIDE),Y)
9
+ CFLAGS = -Wall -O3 -D_XOPEN_SOURCE_EXTENDED -DHAVE_NCURSESW
10
+ LIBCURSES = -lncursesw
11
+ else
12
+ CFLAGS = -Wall -O3 -D_XOPEN_SOURCE_EXTENDED
13
+ LIBCURSES = -lncurses
14
+ endif
15
+
16
+ demodir = ../demos
17
+
18
+ DEMOS = firework ozdemo newtest rain testcurs worm xmas
19
+
20
+ all: $(DEMOS) tuidemo
21
+
22
+ $(DEMOS) : %: $(demodir)/%.c
23
+ $(CC) $(CFLAGS) -o$@ $< $(LIBCURSES)
24
+
25
+ tuidemo : $(demodir)/tuidemo.c $(demodir)/tui.c
26
+ $(CC) $(CFLAGS) -o$@ $(demodir)/tui.c $< $(LIBCURSES)
27
+
28
+ clean:
29
+ rm -f $(DEMOS) tuidemo
@@ -0,0 +1,41 @@
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(os2 VERSION "${PROJECT_VERSION}" LANGUAGES C)
9
+ MESSAGE(STATUS "${PROJECT_NAME} version: ${PROJECT_VERSION}")
10
+
11
+ include(project_common)
12
+
13
+ if(WATCOM)
14
+ # this requires using the following toolchainfile file
15
+ # -DCMAKE_TOOLCHAIN_FILE={path}\watcom_open_os2vs_toolchain.cmake
16
+
17
+ string(APPEND CMAKE_C_FLAGS " -wx") # warning level: to maximum setting
18
+
19
+ string(APPEND CMAKE_C_FLAGS_RELEASE " -oneatx")
20
+ string(APPEND CMAKE_C_FLAGS_MINSIZEREL " -oneatx")
21
+ # optimization:
22
+ # n -> allow numerically unstable optimizations
23
+ # e -> expand user functions inline
24
+ # a -> relax aliasing constraints
25
+ # t -> favor execution time over code size in optimizations
26
+ # x -> equivalent to -obmiler -s
27
+
28
+ string(APPEND CMAKE_C_FLAGS_DEBUG " -d2") # full symbolic debugging info
29
+ string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG " debug watcom all")
30
+
31
+ endif()
32
+
33
+ demo_app(../demos version)
34
+ demo_app(../demos firework)
35
+ demo_app(../demos ozdemo)
36
+ demo_app(../demos newtest)
37
+ demo_app(../demos ptest)
38
+ demo_app(../demos rain)
39
+ demo_app(../demos testcurs)
40
+ demo_app(../demos worm)
41
+ demo_app(../demos xmas)
@@ -0,0 +1,132 @@
1
+ # GNU MAKE Makefile for PDCurses library - OS/2 emx 0.9c+
2
+ #
3
+ # Usage: make -f [path\]Makefile [DEBUG=Y] [EMXVIDEO=Y] [DLL=Y] [target]
4
+ #
5
+ # where target can be any of:
6
+ # [all|demos|pdcurses.a|testcurs.exe...]
7
+ #
8
+ # The EMXVIDEO option compiles with the emx video library, which
9
+ # enables a PDCurses program to run under OS/2 and DOS.
10
+
11
+ O = o
12
+
13
+ ifndef PDCURSES_SRCDIR
14
+ PDCURSES_SRCDIR = ..
15
+ endif
16
+
17
+ include $(PDCURSES_SRCDIR)/version.mif
18
+ include $(PDCURSES_SRCDIR)/libobjs.mif
19
+
20
+ osdir = $(PDCURSES_SRCDIR)/os2
21
+
22
+ PDCURSES_OS2_H = $(osdir)/pdcos2.h
23
+
24
+ CC = gcc
25
+
26
+ CFLAGS = -I$(PDCURSES_SRCDIR) -c -Wall
27
+
28
+ ifeq ($(EMXVIDEO),Y)
29
+ CFLAGS += -DEMXVIDEO
30
+ CCLIBS = -lvideo
31
+ BINDFLAGS = -acm
32
+ else
33
+ CCLIBS =
34
+ BINDFLAGS =
35
+ endif
36
+
37
+ ifeq ($(DEBUG),Y)
38
+ CFLAGS += -g -DPDCDEBUG
39
+ LDFLAGS = -g
40
+ else
41
+ CFLAGS += -O2
42
+ LDFLAGS =
43
+ endif
44
+
45
+ DLLTARGET = pdcurses.dll
46
+ DLLFLAGS = -Zdll -Zcrtdll -Zomf
47
+
48
+ LINK = gcc
49
+ EMXBIND = emxbind
50
+ EMXOMF = emxomf
51
+
52
+ LIBEXE = ar
53
+ LIBFLAGS = rcv
54
+
55
+ ifeq ($(DLL),Y)
56
+ CFLAGS += -Zdll -Zcrtdll -Zomf
57
+ LDFLAGS += -Zlinker /PM:VIO -Zomf -Zcrtdll
58
+ LIBCURSES = pdcurses.lib
59
+ LIBDEPS = $(LIBOBJS) $(PDCOBJS)
60
+ PDCLIBS = $(DLLTARGET)
61
+ EXEPOST =
62
+ TUIPOST =
63
+ CLEAN = *.dll *.lib
64
+ else
65
+ LIBCURSES = pdcurses.a
66
+ LIBDEPS = $(LIBOBJS) $(PDCOBJS)
67
+ PDCLIBS = $(LIBCURSES)
68
+ EXEPOST = $(EMXBIND) $* $(BINDFLAGS)
69
+ TUIPOST = $(EMXBIND) tuidemo $(BINDFLAGS)
70
+ CLEAN = *.a testcurs ozdemo xmas tuidemo firework ptest rain worm
71
+ endif
72
+
73
+ .PHONY: all libs clean demos dist
74
+
75
+ all: libs demos
76
+
77
+ libs: $(PDCLIBS)
78
+
79
+ clean:
80
+ -del *.o
81
+ -del *.exe
82
+ -del $(CLEAN)
83
+
84
+ demos: $(DEMOS)
85
+
86
+ DEMOOBJS = testcurs.o ozdemo.o xmas.o tui.o tuidemo.o firework.o \
87
+ ptest.o rain.o worm.o
88
+
89
+ $(LIBCURSES) : $(LIBDEPS)
90
+ $(LIBEXE) $(LIBFLAGS) $@ $?
91
+ -copy $(LIBCURSES) panel.a
92
+
93
+ $(DLLTARGET) : $(LIBDEPS)
94
+ $(LINK) $(DLLFLAGS) -o $(DLLTARGET) $?
95
+ # lxlite $(DLLTARGET)
96
+
97
+ $(LIBOBJS) $(PDCOBJS) $(DEMOOBJS) : $(PDCURSES_HEADERS)
98
+ $(PDCOBJS) : $(PDCURSES_OS2_H)
99
+ $(DEMOS) : $(LIBCURSES)
100
+ panel.o ptest.o: $(PANEL_HEADER)
101
+ terminfo.o: $(TERM_HEADER)
102
+
103
+ $(LIBOBJS) : %.o: $(srcdir)/%.c
104
+ $(CC) -c $(CFLAGS) -o$@ $<
105
+
106
+ $(PDCOBJS) : %.o: $(osdir)/%.c
107
+ $(CC) -c $(CFLAGS) -o$@ $<
108
+
109
+ firework.exe ozdemo.exe rain.exe testcurs.exe worm.exe xmas.exe \
110
+ ptest.exe: %.exe: %.o
111
+ $(LINK) $(LDFLAGS) -o $* $< $(LIBCURSES) $(CCLIBS)
112
+ $(EXEPOST)
113
+
114
+ tuidemo.exe: tuidemo.o tui.o
115
+ $(LINK) $(LDFLAGS) -o tuidemo tuidemo.o tui.o $(LIBCURSES) $(CCLIBS)
116
+ $(TUIPOST)
117
+
118
+ firework.o ozdemo.o ptest.o rain.o testcurs.o worm.o xmas.o: %.o: \
119
+ $(demodir)/%.c
120
+ $(CC) $(CFLAGS) -o$@ $<
121
+
122
+ tui.o: $(demodir)\tui.c $(demodir)\tui.h
123
+ $(CC) $(CFLAGS) -I$(demodir) -o $@ $<
124
+
125
+ tuidemo.o: $(demodir)\tuidemo.c
126
+ $(CC) $(CFLAGS) -I$(demodir) -o $@ $<
127
+
128
+ PLATFORM1 = EMX OS/2
129
+ PLATFORM2 = EMX 0.9d for OS/2
130
+ ARCNAME = pdc$(VER)_emx_os2
131
+
132
+ include $(PDCURSES_SRCDIR)/makedist.mif