curses 1.4.5 → 1.4.6

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 (249) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/push_gem.yml +48 -0
  3. data/History.md +3 -0
  4. data/curses.gemspec +1 -1
  5. metadata +8 -247
  6. data/vendor/PDCurses/.gitignore +0 -47
  7. data/vendor/PDCurses/.travis.yml +0 -49
  8. data/vendor/PDCurses/CMakeLists.txt +0 -68
  9. data/vendor/PDCurses/HISTORY.md +0 -2036
  10. data/vendor/PDCurses/IMPLEMNT.md +0 -327
  11. data/vendor/PDCurses/Makefile +0 -27
  12. data/vendor/PDCurses/README.md +0 -77
  13. data/vendor/PDCurses/acs_defs.h +0 -265
  14. data/vendor/PDCurses/appveyor.yml +0 -218
  15. data/vendor/PDCurses/cmake/README.md +0 -71
  16. data/vendor/PDCurses/cmake/build_dependencies.cmake +0 -178
  17. data/vendor/PDCurses/cmake/build_options.cmake +0 -25
  18. data/vendor/PDCurses/cmake/dll_version.cmake +0 -26
  19. data/vendor/PDCurses/cmake/gen_config_header.cmake +0 -43
  20. data/vendor/PDCurses/cmake/get_version.cmake +0 -17
  21. data/vendor/PDCurses/cmake/make_uninstall.cmake +0 -19
  22. data/vendor/PDCurses/cmake/project_common.cmake +0 -121
  23. data/vendor/PDCurses/cmake/resource.in.cmake +0 -52
  24. data/vendor/PDCurses/cmake/sdl2_ttf/CMakeLists.txt +0 -83
  25. data/vendor/PDCurses/cmake/target_arch.cmake +0 -36
  26. data/vendor/PDCurses/cmake/version.in.cmake +0 -73
  27. data/vendor/PDCurses/cmake/watcom_open_dos16_toolchain.cmake +0 -96
  28. data/vendor/PDCurses/cmake/watcom_open_dos32_toolchain.cmake +0 -106
  29. data/vendor/PDCurses/cmake/watcom_open_os2v2_toolchain.cmake +0 -105
  30. data/vendor/PDCurses/curses.h +0 -1846
  31. data/vendor/PDCurses/curspriv.h +0 -134
  32. data/vendor/PDCurses/demos/README.md +0 -25
  33. data/vendor/PDCurses/demos/firework.c +0 -144
  34. data/vendor/PDCurses/demos/newtest.c +0 -581
  35. data/vendor/PDCurses/demos/ozdemo.c +0 -447
  36. data/vendor/PDCurses/demos/ptest.c +0 -283
  37. data/vendor/PDCurses/demos/rain.c +0 -157
  38. data/vendor/PDCurses/demos/testcurs.c +0 -1607
  39. data/vendor/PDCurses/demos/tui.c +0 -1048
  40. data/vendor/PDCurses/demos/tui.h +0 -65
  41. data/vendor/PDCurses/demos/tuidemo.c +0 -233
  42. data/vendor/PDCurses/demos/version.c +0 -61
  43. data/vendor/PDCurses/demos/worm.c +0 -432
  44. data/vendor/PDCurses/demos/xmas.c +0 -955
  45. data/vendor/PDCurses/dos/CMakeLists.txt +0 -47
  46. data/vendor/PDCurses/dos/Makefile +0 -105
  47. data/vendor/PDCurses/dos/Makefile.bcc +0 -83
  48. data/vendor/PDCurses/dos/Makefile.dmc +0 -257
  49. data/vendor/PDCurses/dos/Makefile.msc +0 -113
  50. data/vendor/PDCurses/dos/Makefile.wcc +0 -107
  51. data/vendor/PDCurses/dos/README.md +0 -51
  52. data/vendor/PDCurses/dos/bccdos.lrf +0 -9
  53. data/vendor/PDCurses/dos/mscdos.lrf +0 -50
  54. data/vendor/PDCurses/dos/pdcclip.c +0 -132
  55. data/vendor/PDCurses/dos/pdcdisp.c +0 -135
  56. data/vendor/PDCurses/dos/pdcdos.h +0 -194
  57. data/vendor/PDCurses/dos/pdcgetsc.c +0 -98
  58. data/vendor/PDCurses/dos/pdckbd.c +0 -513
  59. data/vendor/PDCurses/dos/pdcscrn.c +0 -785
  60. data/vendor/PDCurses/dos/pdcsetsc.c +0 -101
  61. data/vendor/PDCurses/dos/pdcutil.c +0 -212
  62. data/vendor/PDCurses/libobjs.mif +0 -26
  63. data/vendor/PDCurses/makedist.mif +0 -20
  64. data/vendor/PDCurses/man/Makefile +0 -37
  65. data/vendor/PDCurses/man/README.md +0 -21
  66. data/vendor/PDCurses/man/intro.md +0 -361
  67. data/vendor/PDCurses/man/manext.c +0 -119
  68. data/vendor/PDCurses/man/sdl.md +0 -152
  69. data/vendor/PDCurses/man/sdl2.md +0 -58
  70. data/vendor/PDCurses/man/x11.md +0 -407
  71. data/vendor/PDCurses/ncurses/CMakeLists.txt +0 -66
  72. data/vendor/PDCurses/ncurses/README.md +0 -26
  73. data/vendor/PDCurses/ncurses/makefile +0 -29
  74. data/vendor/PDCurses/os2/CMakeLists.txt +0 -41
  75. data/vendor/PDCurses/os2/Makefile +0 -132
  76. data/vendor/PDCurses/os2/Makefile.bcc +0 -90
  77. data/vendor/PDCurses/os2/Makefile.wcc +0 -43
  78. data/vendor/PDCurses/os2/README.md +0 -43
  79. data/vendor/PDCurses/os2/iccos2.lrf +0 -50
  80. data/vendor/PDCurses/os2/iccos2.mak +0 -256
  81. data/vendor/PDCurses/os2/pdcclip.c +0 -188
  82. data/vendor/PDCurses/os2/pdcdisp.c +0 -93
  83. data/vendor/PDCurses/os2/pdcgetsc.c +0 -89
  84. data/vendor/PDCurses/os2/pdckbd.c +0 -521
  85. data/vendor/PDCurses/os2/pdcos2.h +0 -55
  86. data/vendor/PDCurses/os2/pdcscrn.c +0 -449
  87. data/vendor/PDCurses/os2/pdcsetsc.c +0 -112
  88. data/vendor/PDCurses/os2/pdcutil.c +0 -52
  89. data/vendor/PDCurses/panel.h +0 -56
  90. data/vendor/PDCurses/pdcurses/README.md +0 -25
  91. data/vendor/PDCurses/pdcurses/addch.c +0 -693
  92. data/vendor/PDCurses/pdcurses/addchstr.c +0 -245
  93. data/vendor/PDCurses/pdcurses/addstr.c +0 -240
  94. data/vendor/PDCurses/pdcurses/attr.c +0 -359
  95. data/vendor/PDCurses/pdcurses/beep.c +0 -68
  96. data/vendor/PDCurses/pdcurses/bkgd.c +0 -223
  97. data/vendor/PDCurses/pdcurses/border.c +0 -411
  98. data/vendor/PDCurses/pdcurses/clear.c +0 -159
  99. data/vendor/PDCurses/pdcurses/color.c +0 -298
  100. data/vendor/PDCurses/pdcurses/debug.c +0 -109
  101. data/vendor/PDCurses/pdcurses/delch.c +0 -96
  102. data/vendor/PDCurses/pdcurses/deleteln.c +0 -211
  103. data/vendor/PDCurses/pdcurses/deprec.c +0 -27
  104. data/vendor/PDCurses/pdcurses/getch.c +0 -417
  105. data/vendor/PDCurses/pdcurses/getstr.c +0 -474
  106. data/vendor/PDCurses/pdcurses/getyx.c +0 -139
  107. data/vendor/PDCurses/pdcurses/inch.c +0 -127
  108. data/vendor/PDCurses/pdcurses/inchstr.c +0 -214
  109. data/vendor/PDCurses/pdcurses/initscr.c +0 -367
  110. data/vendor/PDCurses/pdcurses/inopts.c +0 -324
  111. data/vendor/PDCurses/pdcurses/insch.c +0 -271
  112. data/vendor/PDCurses/pdcurses/insstr.c +0 -264
  113. data/vendor/PDCurses/pdcurses/instr.c +0 -246
  114. data/vendor/PDCurses/pdcurses/kernel.c +0 -259
  115. data/vendor/PDCurses/pdcurses/keyname.c +0 -157
  116. data/vendor/PDCurses/pdcurses/mouse.c +0 -438
  117. data/vendor/PDCurses/pdcurses/move.c +0 -57
  118. data/vendor/PDCurses/pdcurses/outopts.c +0 -159
  119. data/vendor/PDCurses/pdcurses/overlay.c +0 -214
  120. data/vendor/PDCurses/pdcurses/pad.c +0 -260
  121. data/vendor/PDCurses/pdcurses/panel.c +0 -633
  122. data/vendor/PDCurses/pdcurses/printw.c +0 -126
  123. data/vendor/PDCurses/pdcurses/refresh.c +0 -279
  124. data/vendor/PDCurses/pdcurses/scanw.c +0 -578
  125. data/vendor/PDCurses/pdcurses/scr_dump.c +0 -213
  126. data/vendor/PDCurses/pdcurses/scroll.c +0 -101
  127. data/vendor/PDCurses/pdcurses/slk.c +0 -591
  128. data/vendor/PDCurses/pdcurses/termattr.c +0 -182
  129. data/vendor/PDCurses/pdcurses/terminfo.c +0 -217
  130. data/vendor/PDCurses/pdcurses/touch.c +0 -163
  131. data/vendor/PDCurses/pdcurses/util.c +0 -312
  132. data/vendor/PDCurses/pdcurses/window.c +0 -569
  133. data/vendor/PDCurses/sdl1/Makefile +0 -129
  134. data/vendor/PDCurses/sdl1/Makefile.mng +0 -110
  135. data/vendor/PDCurses/sdl1/README.md +0 -31
  136. data/vendor/PDCurses/sdl1/deffont.h +0 -385
  137. data/vendor/PDCurses/sdl1/deficon.h +0 -23
  138. data/vendor/PDCurses/sdl1/pdcclip.c +0 -131
  139. data/vendor/PDCurses/sdl1/pdcdisp.c +0 -373
  140. data/vendor/PDCurses/sdl1/pdcgetsc.c +0 -30
  141. data/vendor/PDCurses/sdl1/pdckbd.c +0 -405
  142. data/vendor/PDCurses/sdl1/pdcscrn.c +0 -414
  143. data/vendor/PDCurses/sdl1/pdcsdl.h +0 -31
  144. data/vendor/PDCurses/sdl1/pdcsetsc.c +0 -64
  145. data/vendor/PDCurses/sdl1/pdcutil.c +0 -40
  146. data/vendor/PDCurses/sdl1/sdltest.c +0 -79
  147. data/vendor/PDCurses/sdl2/CMakeLists.txt +0 -76
  148. data/vendor/PDCurses/sdl2/Makefile +0 -135
  149. data/vendor/PDCurses/sdl2/Makefile.vc +0 -164
  150. data/vendor/PDCurses/sdl2/README.md +0 -34
  151. data/vendor/PDCurses/sdl2/deffont.h +0 -385
  152. data/vendor/PDCurses/sdl2/deficon.h +0 -23
  153. data/vendor/PDCurses/sdl2/pdcclip.c +0 -93
  154. data/vendor/PDCurses/sdl2/pdcdisp.c +0 -534
  155. data/vendor/PDCurses/sdl2/pdcgetsc.c +0 -30
  156. data/vendor/PDCurses/sdl2/pdckbd.c +0 -480
  157. data/vendor/PDCurses/sdl2/pdcscrn.c +0 -443
  158. data/vendor/PDCurses/sdl2/pdcsdl.h +0 -33
  159. data/vendor/PDCurses/sdl2/pdcsetsc.c +0 -67
  160. data/vendor/PDCurses/sdl2/pdcutil.c +0 -39
  161. data/vendor/PDCurses/sdl2/sdltest.c +0 -81
  162. data/vendor/PDCurses/term.h +0 -48
  163. data/vendor/PDCurses/version.mif +0 -7
  164. data/vendor/PDCurses/vt/CMakeLists.txt +0 -28
  165. data/vendor/PDCurses/vt/Makefile +0 -135
  166. data/vendor/PDCurses/vt/Makefile.bcc +0 -111
  167. data/vendor/PDCurses/vt/Makefile.dmc +0 -258
  168. data/vendor/PDCurses/vt/Makefile.vc +0 -144
  169. data/vendor/PDCurses/vt/Makefile.wcc +0 -107
  170. data/vendor/PDCurses/vt/README.md +0 -64
  171. data/vendor/PDCurses/vt/pdcclip.c +0 -20
  172. data/vendor/PDCurses/vt/pdcdisp.c +0 -284
  173. data/vendor/PDCurses/vt/pdcgetsc.c +0 -27
  174. data/vendor/PDCurses/vt/pdckbd.c +0 -394
  175. data/vendor/PDCurses/vt/pdcscrn.c +0 -434
  176. data/vendor/PDCurses/vt/pdcsetsc.c +0 -45
  177. data/vendor/PDCurses/vt/pdcutil.c +0 -43
  178. data/vendor/PDCurses/vt/pdcvt.h +0 -16
  179. data/vendor/PDCurses/watcom.mif +0 -68
  180. data/vendor/PDCurses/wincon/CMakeLists.txt +0 -27
  181. data/vendor/PDCurses/wincon/Makefile.bcc +0 -88
  182. data/vendor/PDCurses/wincon/Makefile.dmc +0 -256
  183. data/vendor/PDCurses/wincon/Makefile.lcc +0 -273
  184. data/vendor/PDCurses/wincon/Makefile.mng +0 -176
  185. data/vendor/PDCurses/wincon/Makefile.vc +0 -144
  186. data/vendor/PDCurses/wincon/Makefile.wcc +0 -51
  187. data/vendor/PDCurses/wincon/README.md +0 -85
  188. data/vendor/PDCurses/wincon/pdcclip.c +0 -174
  189. data/vendor/PDCurses/wincon/pdcdisp.c +0 -143
  190. data/vendor/PDCurses/wincon/pdcgetsc.c +0 -55
  191. data/vendor/PDCurses/wincon/pdckbd.c +0 -786
  192. data/vendor/PDCurses/wincon/pdcscrn.c +0 -717
  193. data/vendor/PDCurses/wincon/pdcsetsc.c +0 -91
  194. data/vendor/PDCurses/wincon/pdcurses.ico +0 -0
  195. data/vendor/PDCurses/wincon/pdcurses.rc +0 -28
  196. data/vendor/PDCurses/wincon/pdcutil.c +0 -41
  197. data/vendor/PDCurses/wincon/pdcwin.h +0 -31
  198. data/vendor/PDCurses/wingui/CMakeLists.txt +0 -27
  199. data/vendor/PDCurses/wingui/Makefile.bcc +0 -85
  200. data/vendor/PDCurses/wingui/Makefile.dmc +0 -259
  201. data/vendor/PDCurses/wingui/Makefile.lcc +0 -273
  202. data/vendor/PDCurses/wingui/Makefile.mng +0 -171
  203. data/vendor/PDCurses/wingui/Makefile.vc +0 -144
  204. data/vendor/PDCurses/wingui/Makefile.wcc +0 -51
  205. data/vendor/PDCurses/wingui/README.md +0 -93
  206. data/vendor/PDCurses/wingui/pdcclip.c +0 -174
  207. data/vendor/PDCurses/wingui/pdcdisp.c +0 -718
  208. data/vendor/PDCurses/wingui/pdcgetsc.c +0 -30
  209. data/vendor/PDCurses/wingui/pdckbd.c +0 -143
  210. data/vendor/PDCurses/wingui/pdcscrn.c +0 -2797
  211. data/vendor/PDCurses/wingui/pdcsetsc.c +0 -89
  212. data/vendor/PDCurses/wingui/pdcurses.ico +0 -0
  213. data/vendor/PDCurses/wingui/pdcurses.rc +0 -28
  214. data/vendor/PDCurses/wingui/pdcutil.c +0 -61
  215. data/vendor/PDCurses/wingui/pdcwin.h +0 -122
  216. data/vendor/PDCurses/x11/Makefile.in +0 -754
  217. data/vendor/PDCurses/x11/PDCurses.spec +0 -82
  218. data/vendor/PDCurses/x11/README.md +0 -62
  219. data/vendor/PDCurses/x11/ScrollBox.c +0 -319
  220. data/vendor/PDCurses/x11/ScrollBox.h +0 -51
  221. data/vendor/PDCurses/x11/ScrollBoxP.h +0 -70
  222. data/vendor/PDCurses/x11/aclocal.m4 +0 -994
  223. data/vendor/PDCurses/x11/big_icon.xbm +0 -46
  224. data/vendor/PDCurses/x11/compose.h +0 -201
  225. data/vendor/PDCurses/x11/config.guess +0 -1500
  226. data/vendor/PDCurses/x11/config.h.in +0 -100
  227. data/vendor/PDCurses/x11/config.sub +0 -1616
  228. data/vendor/PDCurses/x11/configure +0 -6700
  229. data/vendor/PDCurses/x11/configure.ac +0 -295
  230. data/vendor/PDCurses/x11/debian/changelog +0 -6
  231. data/vendor/PDCurses/x11/debian/compat +0 -1
  232. data/vendor/PDCurses/x11/debian/control +0 -11
  233. data/vendor/PDCurses/x11/debian/copyright +0 -27
  234. data/vendor/PDCurses/x11/debian/rules +0 -98
  235. data/vendor/PDCurses/x11/install-sh +0 -253
  236. data/vendor/PDCurses/x11/little_icon.xbm +0 -14
  237. data/vendor/PDCurses/x11/ncurses_cfg.h +0 -45
  238. data/vendor/PDCurses/x11/pdcclip.c +0 -173
  239. data/vendor/PDCurses/x11/pdcdisp.c +0 -85
  240. data/vendor/PDCurses/x11/pdcgetsc.c +0 -28
  241. data/vendor/PDCurses/x11/pdckbd.c +0 -104
  242. data/vendor/PDCurses/x11/pdcscrn.c +0 -258
  243. data/vendor/PDCurses/x11/pdcsetsc.c +0 -95
  244. data/vendor/PDCurses/x11/pdcutil.c +0 -52
  245. data/vendor/PDCurses/x11/pdcx11.c +0 -316
  246. data/vendor/PDCurses/x11/pdcx11.h +0 -191
  247. data/vendor/PDCurses/x11/sb.c +0 -155
  248. data/vendor/PDCurses/x11/x11.c +0 -3686
  249. data/vendor/PDCurses/x11/xcurses-config.in +0 -81
@@ -1,414 +0,0 @@
1
- /* Public Domain Curses */
2
-
3
- #include "pdcsdl.h"
4
-
5
- #include <stdlib.h>
6
- #ifndef PDC_WIDE
7
- #include "deffont.h"
8
- #endif
9
- #include "deficon.h"
10
-
11
- #ifdef PDC_WIDE
12
- # ifndef PDC_FONT_PATH
13
- # ifdef _WIN32
14
- #define PDC_FONT_PATH "C:/Windows/Fonts/lucon.ttf"
15
- # elif defined(__APPLE__)
16
- #define PDC_FONT_PATH "/Library/Fonts/Courier New.ttf"
17
- # else
18
- #define PDC_FONT_PATH "/usr/share/fonts/truetype/freefont/FreeMono.ttf"
19
- # endif
20
- # endif
21
- TTF_Font *pdc_ttffont = NULL;
22
- int pdc_font_size = 18;
23
- #endif
24
-
25
- SDL_Surface *pdc_screen = NULL, *pdc_font = NULL, *pdc_icon = NULL,
26
- *pdc_back = NULL, *pdc_tileback = NULL;
27
- int pdc_sheight = 0, pdc_swidth = 0, pdc_yoffset = 0, pdc_xoffset = 0;
28
-
29
- SDL_Color pdc_color[256];
30
- Uint32 pdc_mapped[256];
31
- int pdc_fheight, pdc_fwidth, pdc_flastc;
32
- bool pdc_own_screen;
33
-
34
- /* special purpose function keys */
35
- static int PDC_shutdown_key[PDC_MAX_FUNCTION_KEYS] = { 0, 0, 0, 0, 0 };
36
-
37
- /* COLOR_PAIR to attribute encoding table. */
38
-
39
- static struct {short f, b;} atrtab[PDC_COLOR_PAIRS];
40
-
41
- static void _clean(void)
42
- {
43
- #ifdef PDC_WIDE
44
- if (pdc_ttffont)
45
- {
46
- TTF_CloseFont(pdc_ttffont);
47
- TTF_Quit();
48
- }
49
- #endif
50
- SDL_FreeSurface(pdc_tileback);
51
- SDL_FreeSurface(pdc_back);
52
- SDL_FreeSurface(pdc_icon);
53
- SDL_FreeSurface(pdc_font);
54
-
55
- SDL_Quit();
56
- }
57
-
58
- void PDC_retile(void)
59
- {
60
- if (pdc_tileback)
61
- SDL_FreeSurface(pdc_tileback);
62
-
63
- pdc_tileback = SDL_DisplayFormat(pdc_screen);
64
- if (pdc_tileback == NULL)
65
- return;
66
-
67
- if (pdc_back)
68
- {
69
- SDL_Rect dest;
70
-
71
- dest.y = 0;
72
-
73
- while (dest.y < pdc_tileback->h)
74
- {
75
- dest.x = 0;
76
-
77
- while (dest.x < pdc_tileback->w)
78
- {
79
- SDL_BlitSurface(pdc_back, 0, pdc_tileback, &dest);
80
- dest.x += pdc_back->w;
81
- }
82
-
83
- dest.y += pdc_back->h;
84
- }
85
-
86
- SDL_BlitSurface(pdc_tileback, 0, pdc_screen, 0);
87
- }
88
- }
89
-
90
- void PDC_scr_close(void)
91
- {
92
- PDC_LOG(("PDC_scr_close() - called\n"));
93
- }
94
-
95
- void PDC_scr_free(void)
96
- {
97
- if (SP)
98
- free(SP);
99
- }
100
-
101
- static int default_pdc_swidth = 80, default_pdc_sheight = 25;
102
-
103
- /* open the physical screen -- allocate SP, miscellaneous intialization */
104
-
105
- int PDC_scr_open(int argc, char **argv)
106
- {
107
- int i, r, g, b;
108
-
109
- PDC_LOG(("PDC_scr_open() - called\n"));
110
-
111
- SP = calloc(1, sizeof(SCREEN));
112
-
113
- if (!SP)
114
- return ERR;
115
-
116
- pdc_own_screen = !pdc_screen;
117
-
118
- if (pdc_own_screen)
119
- {
120
- if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER) < 0)
121
- {
122
- fprintf(stderr, "Could not start SDL: %s\n", SDL_GetError());
123
- return ERR;
124
- }
125
-
126
- atexit(_clean);
127
- }
128
-
129
- #ifdef PDC_WIDE
130
- if (!pdc_ttffont)
131
- {
132
- const char *ptsz, *fname;
133
-
134
- if (TTF_Init() == -1)
135
- {
136
- fprintf(stderr, "Could not start SDL_TTF: %s\n", SDL_GetError());
137
- return ERR;
138
- }
139
-
140
- ptsz = getenv("PDC_FONT_SIZE");
141
- if (ptsz != NULL)
142
- pdc_font_size = atoi(ptsz);
143
- if (pdc_font_size <= 0)
144
- pdc_font_size = 18;
145
-
146
- fname = getenv("PDC_FONT");
147
- pdc_ttffont = TTF_OpenFont(fname ? fname : PDC_FONT_PATH,
148
- pdc_font_size);
149
- }
150
-
151
- if (!pdc_ttffont)
152
- {
153
- fprintf(stderr, "Could not load font\n");
154
- return ERR;
155
- }
156
-
157
- TTF_SetFontKerning(pdc_ttffont, 0);
158
- TTF_SetFontHinting(pdc_ttffont, TTF_HINTING_MONO);
159
-
160
- SP->mono = FALSE;
161
- #else
162
- if (!pdc_font)
163
- {
164
- const char *fname = getenv("PDC_FONT");
165
- pdc_font = SDL_LoadBMP(fname ? fname : "pdcfont.bmp");
166
- }
167
-
168
- if (!pdc_font)
169
- pdc_font = SDL_LoadBMP_RW(SDL_RWFromMem(deffont, sizeof(deffont)), 0);
170
-
171
- if (!pdc_font)
172
- {
173
- fprintf(stderr, "Could not load font\n");
174
- return ERR;
175
- }
176
-
177
- SP->mono = !pdc_font->format->palette;
178
- #endif
179
-
180
- if (!SP->mono && !pdc_back)
181
- {
182
- const char *bname = getenv("PDC_BACKGROUND");
183
- pdc_back = SDL_LoadBMP(bname ? bname : "pdcback.bmp");
184
- }
185
-
186
- if (!SP->mono && (pdc_back || !pdc_own_screen))
187
- {
188
- SP->orig_attr = TRUE;
189
- SP->orig_fore = COLOR_WHITE;
190
- SP->orig_back = -1;
191
- }
192
- else
193
- SP->orig_attr = FALSE;
194
-
195
- #ifdef PDC_WIDE
196
- TTF_SizeText(pdc_ttffont, "W", &pdc_fwidth, &pdc_fheight);
197
- #else
198
- pdc_fheight = pdc_font->h / 8;
199
- pdc_fwidth = pdc_font->w / 32;
200
-
201
- if (!SP->mono)
202
- pdc_flastc = pdc_font->format->palette->ncolors - 1;
203
- #endif
204
-
205
- if (pdc_own_screen && !pdc_icon)
206
- {
207
- const char *iname = getenv("PDC_ICON");
208
- pdc_icon = SDL_LoadBMP(iname ? iname : "pdcicon.bmp");
209
-
210
- if (!pdc_icon)
211
- pdc_icon = SDL_LoadBMP_RW(SDL_RWFromMem(deficon,
212
- sizeof(deficon)), 0);
213
-
214
- if (pdc_icon)
215
- SDL_WM_SetIcon(pdc_icon, NULL);
216
- }
217
-
218
- if (pdc_own_screen)
219
- {
220
- const char *env = getenv("PDC_LINES");
221
- pdc_sheight = (env ? atoi(env) : default_pdc_sheight) * pdc_fheight;
222
-
223
- env = getenv("PDC_COLS");
224
- pdc_swidth = (env ? atoi(env) : default_pdc_swidth) * pdc_fwidth;
225
-
226
- pdc_screen = SDL_SetVideoMode(pdc_swidth, pdc_sheight, 0,
227
- SDL_SWSURFACE|SDL_ANYFORMAT|SDL_RESIZABLE);
228
- }
229
- else
230
- {
231
- if (!pdc_sheight)
232
- pdc_sheight = pdc_screen->h - pdc_yoffset;
233
-
234
- if (!pdc_swidth)
235
- pdc_swidth = pdc_screen->w - pdc_xoffset;
236
- }
237
-
238
- if (!pdc_screen)
239
- {
240
- fprintf(stderr, "Couldn't create a surface: %s\n", SDL_GetError());
241
- return ERR;
242
- }
243
-
244
- if (SP->orig_attr)
245
- PDC_retile();
246
-
247
- COLORS = 256; /* we have 256 colors in this flavor of PDCurses */
248
- for (i = 0; i < 8; i++)
249
- {
250
- pdc_color[i].r = (i & COLOR_RED) ? 0xc0 : 0;
251
- pdc_color[i].g = (i & COLOR_GREEN) ? 0xc0 : 0;
252
- pdc_color[i].b = (i & COLOR_BLUE) ? 0xc0 : 0;
253
-
254
- pdc_color[i + 8].r = (i & COLOR_RED) ? 0xff : 0x40;
255
- pdc_color[i + 8].g = (i & COLOR_GREEN) ? 0xff : 0x40;
256
- pdc_color[i + 8].b = (i & COLOR_BLUE) ? 0xff : 0x40;
257
- }
258
-
259
- /* 256-color xterm extended palette: 216 colors in a
260
- 6x6x6 color cube, plus 24 (not 50) shades of gray */
261
- i = 16;
262
- for( r = 0; r < 6; r++)
263
- for( g = 0; g < 6; g++)
264
- for( b = 0; b < 6; b++, i++)
265
- {
266
- pdc_color[i].r = ( r ? r * 40 + 55 : 0);
267
- pdc_color[i].g = ( g ? g * 40 + 55 : 0);
268
- pdc_color[i].b = ( b ? b * 40 + 55 : 0);
269
- }
270
- for( i = 232; i < 256; i++)
271
- pdc_color[i].r = pdc_color[i].g = pdc_color[i].b = (i - 232) * 10 + 8;
272
- for (i = 0; i < 256; i++)
273
- pdc_mapped[i] = SDL_MapRGB(pdc_screen->format, pdc_color[i].r,
274
- pdc_color[i].g, pdc_color[i].b);
275
-
276
- SDL_EnableUNICODE(1);
277
-
278
- PDC_mouse_set();
279
-
280
- if (pdc_own_screen)
281
- PDC_set_title(argc ? argv[0] : "PDCurses");
282
-
283
- SP->lines = PDC_get_rows();
284
- SP->cols = PDC_get_columns();
285
-
286
- SP->mouse_wait = PDC_CLICK_PERIOD;
287
- SP->audible = FALSE;
288
-
289
- PDC_reset_prog_mode();
290
-
291
- return OK;
292
- }
293
-
294
- /* the core of resize_term() */
295
-
296
- int PDC_resize_screen(int nlines, int ncols)
297
- {
298
- if( !stdscr) /* window hasn't been created yet; we're */
299
- { /* specifying its size before doing so */
300
- default_pdc_swidth = ncols;
301
- default_pdc_sheight = nlines;
302
- return OK;
303
- }
304
-
305
- if (!pdc_own_screen)
306
- return ERR;
307
-
308
- if (nlines && ncols)
309
- {
310
- pdc_sheight = nlines * pdc_fheight;
311
- pdc_swidth = ncols * pdc_fwidth;
312
- }
313
-
314
- SDL_FreeSurface(pdc_screen);
315
-
316
- pdc_screen = SDL_SetVideoMode(pdc_swidth, pdc_sheight, 0,
317
- SDL_SWSURFACE|SDL_ANYFORMAT|SDL_RESIZABLE);
318
-
319
- if (pdc_tileback)
320
- PDC_retile();
321
-
322
- SP->resized = FALSE;
323
- SP->cursrow = SP->curscol = 0;
324
-
325
- return OK;
326
- }
327
-
328
- void PDC_reset_prog_mode(void)
329
- {
330
- PDC_LOG(("PDC_reset_prog_mode() - called.\n"));
331
-
332
- PDC_flushinp();
333
- SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
334
- }
335
-
336
- void PDC_reset_shell_mode(void)
337
- {
338
- PDC_LOG(("PDC_reset_shell_mode() - called.\n"));
339
-
340
- SDL_EnableKeyRepeat(0, 0);
341
- PDC_flushinp();
342
- }
343
-
344
- void PDC_restore_screen_mode(int i)
345
- {
346
- }
347
-
348
- void PDC_save_screen_mode(int i)
349
- {
350
- }
351
-
352
- void PDC_init_pair(short pair, short fg, short bg)
353
- {
354
- atrtab[pair].f = fg;
355
- atrtab[pair].b = bg;
356
- }
357
-
358
- int PDC_pair_content(short pair, short *fg, short *bg)
359
- {
360
- *fg = atrtab[pair].f;
361
- *bg = atrtab[pair].b;
362
-
363
- return OK;
364
- }
365
-
366
- bool PDC_can_change_color(void)
367
- {
368
- return TRUE;
369
- }
370
-
371
- int PDC_color_content(short color, short *red, short *green, short *blue)
372
- {
373
- *red = DIVROUND(pdc_color[color].r * 1000, 255);
374
- *green = DIVROUND(pdc_color[color].g * 1000, 255);
375
- *blue = DIVROUND(pdc_color[color].b * 1000, 255);
376
-
377
- return OK;
378
- }
379
-
380
- int PDC_init_color(short color, short red, short green, short blue)
381
- {
382
- pdc_color[color].r = DIVROUND(red * 255, 1000);
383
- pdc_color[color].g = DIVROUND(green * 255, 1000);
384
- pdc_color[color].b = DIVROUND(blue * 255, 1000);
385
-
386
- pdc_mapped[color] = SDL_MapRGB(pdc_screen->format, pdc_color[color].r,
387
- pdc_color[color].g, pdc_color[color].b);
388
-
389
- wrefresh(curscr);
390
-
391
- return OK;
392
- }
393
-
394
- /* Does nothing in the SDL flavors of PDCurses. That may change, eventually,
395
- allowing one to limit the range of user-resizable windows. See X11 or Win32a
396
- versions of this function for details. */
397
-
398
- void PDC_set_resize_limits( const int new_min_lines, const int new_max_lines,
399
- const int new_min_cols, const int new_max_cols)
400
- {
401
- }
402
-
403
- /* PDC_set_function_key() does nothing on this platform */
404
- int PDC_set_function_key( const unsigned function, const int new_key)
405
- {
406
- int old_key = -1;
407
-
408
- if( function < PDC_MAX_FUNCTION_KEYS)
409
- {
410
- old_key = PDC_shutdown_key[function];
411
- PDC_shutdown_key[function] = new_key;
412
- }
413
- return( old_key);
414
- }
@@ -1,31 +0,0 @@
1
- /* Public Domain Curses */
2
-
3
- #include <curspriv.h>
4
-
5
- #include <SDL.h>
6
- #ifdef PDC_WIDE
7
- #include <SDL_ttf.h>
8
- #endif
9
-
10
- #ifdef PDC_WIDE
11
- PDCEX TTF_Font *pdc_ttffont;
12
- PDCEX int pdc_font_size;
13
- #endif
14
- PDCEX SDL_Surface *pdc_screen, *pdc_font, *pdc_icon, *pdc_back;
15
- PDCEX int pdc_sheight, pdc_swidth, pdc_yoffset, pdc_xoffset;
16
-
17
- extern SDL_Surface *pdc_tileback; /* used to regenerate the background
18
- of "transparent" cells */
19
- extern SDL_Color pdc_color[256]; /* colors for font palette */
20
- extern Uint32 pdc_mapped[256]; /* colors for FillRect(), as
21
- used in _highlight() */
22
- extern int pdc_fheight, pdc_fwidth; /* font height and width */
23
- extern int pdc_flastc; /* font palette's last color
24
- (treated as the foreground) */
25
- extern bool pdc_own_screen; /* if pdc_screen was not set
26
- before initscr(), PDCurses is
27
- responsible for (owns) it */
28
- extern Uint32 pdc_lastupdate; /* time of last update, in ticks */
29
-
30
- void PDC_update_rects(void);
31
- void PDC_retile(void);
@@ -1,64 +0,0 @@
1
- /* Public Domain Curses */
2
-
3
- #include "pdcsdl.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
- int ret_vis;
39
-
40
- PDC_LOG(("PDC_curs_set() - called: visibility=%d\n", visibility));
41
-
42
- ret_vis = SP->visibility;
43
-
44
- SP->visibility = visibility;
45
-
46
- PDC_gotoyx(SP->cursrow, SP->curscol);
47
-
48
- return ret_vis;
49
- }
50
-
51
- void PDC_set_title(const char *title)
52
- {
53
- PDC_LOG(("PDC_set_title() - called:<%s>\n", title));
54
-
55
- SDL_WM_SetCaption(title, title);
56
- }
57
-
58
- int PDC_set_blink(bool blinkon)
59
- {
60
- // if (pdc_color_started) /* We've got 256 colors in this version */
61
- // COLORS = 16;
62
-
63
- return blinkon ? ERR : OK;
64
- }
@@ -1,40 +0,0 @@
1
- /* Public Domain Curses */
2
-
3
- #include "pdcsdl.h"
4
-
5
- void PDC_beep(void)
6
- {
7
- PDC_LOG(("PDC_beep() - called\n"));
8
- }
9
-
10
- void PDC_napms(int ms)
11
- {
12
- PDC_LOG(("PDC_napms() - called: ms=%d\n", ms));
13
-
14
- PDC_update_rects();
15
- SDL_PumpEvents();
16
- SDL_Delay(ms);
17
- }
18
-
19
- const char *PDC_sysname(void)
20
- {
21
- return "SDL";
22
- }
23
-
24
- PDCEX PDC_version_info PDC_version = { PDC_PORT_SDL1,
25
- PDC_VER_MAJOR, PDC_VER_MINOR, PDC_VER_CHANGE,
26
- sizeof( chtype),
27
- /* note that thus far, 'wide' and 'UTF8' versions exist */
28
- /* only for SDL2, X11, Win32, and Win32a; elsewhere, */
29
- /* these will be FALSE */
30
- #ifdef PDC_WIDE
31
- TRUE,
32
- #else
33
- FALSE,
34
- #endif
35
- #ifdef PDC_FORCE_UTF8
36
- TRUE,
37
- #else
38
- FALSE,
39
- #endif
40
- };
@@ -1,79 +0,0 @@
1
- /* Here's a simple example of combining SDL and PDCurses functionality.
2
- The top portion of the window is devoted to SDL, with a four-line
3
- (assuming the default 8x16 font) stdscr at the bottom.
4
- */
5
-
6
- #include <SDL.h>
7
- #include <curses.h>
8
- #include <stdlib.h>
9
- #include <time.h>
10
-
11
- /* You could #include pdcsdl.h, or just add the relevant declarations
12
- here: */
13
-
14
- PDCEX SDL_Surface *pdc_screen;
15
- PDCEX int pdc_yoffset;
16
-
17
- int main(int argc, char **argv)
18
- {
19
- char inp[60];
20
- int i, j, seed;
21
-
22
- seed = time((time_t *)0);
23
- srand(seed);
24
-
25
- /* Initialize SDL */
26
-
27
- if (SDL_Init(SDL_INIT_VIDEO) < 0)
28
- exit(1);
29
-
30
- atexit(SDL_Quit);
31
-
32
- pdc_screen = SDL_SetVideoMode(640, 480, 0, SDL_SWSURFACE|SDL_ANYFORMAT);
33
-
34
- /* Initialize PDCurses */
35
-
36
- pdc_yoffset = 416; /* 480 - 4 * 16 */
37
-
38
- initscr();
39
- start_color();
40
- scrollok(stdscr, TRUE);
41
-
42
- PDC_set_title("PDCurses for SDL");
43
-
44
- /* Do some SDL stuff */
45
-
46
- for (i = 640, j = 416; j; i -= 2, j -= 2)
47
- {
48
- SDL_Rect dest;
49
-
50
- dest.x = (640 - i) / 2;
51
- dest.y = (416 - j) / 2;
52
- dest.w = i;
53
- dest.h = j;
54
-
55
- SDL_FillRect(pdc_screen, &dest,
56
- SDL_MapRGB(pdc_screen->format, rand() % 256,
57
- rand() % 256, rand() % 256));
58
- }
59
-
60
- SDL_UpdateRect(pdc_screen, 0, 0, 640, 416);
61
-
62
- /* Do some curses stuff */
63
-
64
- init_pair(1, COLOR_WHITE + 8, COLOR_BLUE);
65
- bkgd(COLOR_PAIR(1));
66
-
67
- addstr("This is a demo of ");
68
- attron(A_UNDERLINE);
69
- addstr("PDCurses for SDL");
70
- attroff(A_UNDERLINE);
71
- addstr(".\nYour comments here: ");
72
- getnstr(inp, 59);
73
- addstr("Press any key to exit.");
74
-
75
- getch();
76
- endwin();
77
-
78
- return 0;
79
- }
@@ -1,76 +0,0 @@
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(sdl2 VERSION "${PROJECT_VERSION}" LANGUAGES C)
9
- message(STATUS "${PROJECT_NAME} version: ${PROJECT_VERSION}")
10
-
11
- message(STATUS "SDL2_LIBRARIES = ${SDL2_LIBRARIES}")
12
- message(STATUS "SDL2_INCLUDE_DIR = ${SDL2_INCLUDE_DIR}")
13
- message(STATUS "SDL2_LIBRARY_DIR = ${SDL2_LIBRARY_DIR}")
14
- if(PDC_WIDE)
15
- message(STATUS "SDL2_TTF_LIBRARY = ${SDL2_TTF_LIBRARY}")
16
- message(STATUS "SDL2_TTF_INCLUDE_DIR = ${SDL2_TTF_INCLUDE_DIR}")
17
- message(STATUS "SDL2_TTF_LIBRARY_DIR = ${SDL2_TTF_LIBRARY_DIR}")
18
- endif()
19
-
20
- include_directories(${SDL2_INCLUDE_DIR} ${SDL2_TTF_INCLUDE_DIR})
21
- link_directories(${SDL2_LIBRARY_DIR} ${SDL2_TTF_LIBRARY_DIR})
22
-
23
- include(project_common)
24
-
25
- macro (sdl2_app dir targ)
26
-
27
- set(bin_name "${PROJECT_NAME}_${targ}")
28
-
29
- if(${targ} STREQUAL "tuidemo")
30
- set(src_files ${CMAKE_CURRENT_SOURCE_DIR}/${dir}/tuidemo.c ${CMAKE_CURRENT_SOURCE_DIR}/${dir}/tui.c)
31
- else()
32
- set(src_files ${CMAKE_CURRENT_SOURCE_DIR}/${dir}/${targ}.c)
33
- endif()
34
-
35
- add_executable(${bin_name} ${src_files})
36
-
37
- if(PDC_WIDE)
38
- target_link_libraries(${bin_name} ${PDCURSE_PROJ} ${EXTRA_LIBS}
39
- "${SDL2_LIBRARIES};${SDL2_TTF_LIBRARY};${FT2_LIBRARY};${ZLIB_LIBRARY};${SDL2_DEP_LIBRARIES}")
40
- else()
41
- target_link_libraries(${bin_name} ${PDCURSE_PROJ} ${EXTRA_LIBS}
42
- "${SDL2_LIBRARIES};${SDL2_TTF_DEP_LIBRARIES};${SDL2_DEP_LIBRARIES}")
43
- endif()
44
-
45
- add_dependencies(${bin_name} ${PDCURSE_PROJ})
46
- set_target_properties(${bin_name} PROPERTIES OUTPUT_NAME ${targ})
47
-
48
- install(TARGETS ${bin_name} RUNTIME DESTINATION ${PDCURSES_DIST}/bin/${PROJECT_NAME} COMPONENT applications)
49
-
50
- endmacro ()
51
-
52
- sdl2_app(../demos version)
53
- sdl2_app(../demos firework)
54
- sdl2_app(../demos ozdemo)
55
- sdl2_app(../demos newtest)
56
- sdl2_app(../demos ptest)
57
- sdl2_app(../demos rain)
58
- sdl2_app(../demos testcurs)
59
- sdl2_app(../demos tuidemo)
60
- sdl2_app(../demos worm)
61
- sdl2_app(../demos xmas)
62
- sdl2_app(./ sdltest)
63
-
64
- if(WIN32)
65
- set_target_properties(${PROJECT_NAME}_newtest PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS")
66
- endif(WIN32)
67
-
68
- if(PDC_SDL2_DEPS_BUILD)
69
- if(PDC_WIDE)
70
- add_dependencies(${PDCURSE_PROJ} sdl2_ext sdl2_ttf_ext)
71
- else()
72
- add_dependencies(${PDCURSE_PROJ} sdl2_ext)
73
- endif()
74
- endif()
75
-
76
- set(CPACK_COMPONENTS_ALL applications)