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.
- checksums.yaml +4 -4
- data/.github/workflows/macos.yml +19 -0
- data/.github/workflows/ubuntu.yml +26 -0
- data/.github/workflows/windows.yml +28 -0
- data/.gitmodules +1 -1
- data/.travis.yml +6 -3
- data/History.md +40 -0
- data/README.md +4 -1
- data/Rakefile +0 -83
- data/curses.gemspec +2 -3
- data/ext/curses/curses.c +1271 -151
- data/ext/curses/extconf.rb +140 -17
- data/lib/curses.rb +5 -12
- data/sample/form.rb +52 -0
- data/sample/menu.rb +1 -1
- data/vendor/PDCurses/.gitignore +47 -0
- data/vendor/PDCurses/.travis.yml +49 -0
- data/vendor/PDCurses/CMakeLists.txt +68 -0
- data/vendor/PDCurses/HISTORY.md +2036 -0
- data/vendor/PDCurses/IMPLEMNT.md +327 -0
- data/vendor/PDCurses/README.md +77 -0
- data/vendor/PDCurses/acs_defs.h +265 -0
- data/vendor/PDCurses/appveyor.yml +218 -0
- data/vendor/PDCurses/cmake/README.md +71 -0
- data/vendor/PDCurses/cmake/build_dependencies.cmake +178 -0
- data/vendor/PDCurses/cmake/build_options.cmake +25 -0
- data/vendor/PDCurses/cmake/dll_version.cmake +26 -0
- data/vendor/PDCurses/cmake/gen_config_header.cmake +43 -0
- data/vendor/PDCurses/cmake/get_version.cmake +17 -0
- data/vendor/PDCurses/cmake/make_uninstall.cmake +19 -0
- data/vendor/PDCurses/cmake/project_common.cmake +121 -0
- data/vendor/PDCurses/cmake/resource.in.cmake +52 -0
- data/vendor/PDCurses/cmake/sdl2_ttf/CMakeLists.txt +83 -0
- data/vendor/PDCurses/cmake/target_arch.cmake +36 -0
- data/vendor/PDCurses/cmake/version.in.cmake +73 -0
- data/vendor/PDCurses/cmake/watcom_open_dos16_toolchain.cmake +96 -0
- data/vendor/PDCurses/cmake/watcom_open_dos32_toolchain.cmake +106 -0
- data/vendor/PDCurses/cmake/watcom_open_os2v2_toolchain.cmake +105 -0
- data/vendor/PDCurses/curses.h +1846 -0
- data/vendor/PDCurses/curspriv.h +134 -0
- data/vendor/PDCurses/demos/README.md +25 -0
- data/vendor/PDCurses/demos/firework.c +144 -0
- data/vendor/PDCurses/demos/newtest.c +581 -0
- data/vendor/PDCurses/demos/ozdemo.c +447 -0
- data/vendor/PDCurses/demos/ptest.c +283 -0
- data/vendor/PDCurses/demos/rain.c +157 -0
- data/vendor/PDCurses/demos/testcurs.c +1607 -0
- data/vendor/PDCurses/demos/tui.c +1048 -0
- data/vendor/PDCurses/demos/tui.h +65 -0
- data/vendor/PDCurses/demos/tuidemo.c +233 -0
- data/vendor/PDCurses/demos/version.c +61 -0
- data/vendor/PDCurses/demos/worm.c +432 -0
- data/vendor/PDCurses/demos/xmas.c +955 -0
- data/vendor/PDCurses/dos/CMakeLists.txt +47 -0
- data/vendor/PDCurses/dos/Makefile.bcc +83 -0
- data/vendor/PDCurses/dos/Makefile.dmc +257 -0
- data/vendor/PDCurses/dos/Makefile.msc +113 -0
- data/vendor/PDCurses/dos/Makefile.wcc +107 -0
- data/vendor/PDCurses/dos/README.md +51 -0
- data/vendor/PDCurses/dos/bccdos.lrf +9 -0
- data/vendor/PDCurses/dos/mscdos.lrf +50 -0
- data/vendor/PDCurses/dos/pdcclip.c +132 -0
- data/vendor/PDCurses/dos/pdcdisp.c +135 -0
- data/vendor/PDCurses/dos/pdcdos.h +194 -0
- data/vendor/PDCurses/dos/pdcgetsc.c +98 -0
- data/vendor/PDCurses/dos/pdckbd.c +513 -0
- data/vendor/PDCurses/dos/pdcscrn.c +785 -0
- data/vendor/PDCurses/dos/pdcsetsc.c +101 -0
- data/vendor/PDCurses/dos/pdcutil.c +212 -0
- data/vendor/PDCurses/libobjs.mif +26 -0
- data/vendor/PDCurses/makedist.mif +20 -0
- data/vendor/PDCurses/man/README.md +21 -0
- data/vendor/PDCurses/man/intro.md +361 -0
- data/vendor/PDCurses/man/manext.c +119 -0
- data/vendor/PDCurses/man/sdl.md +152 -0
- data/vendor/PDCurses/man/sdl2.md +58 -0
- data/vendor/PDCurses/man/x11.md +407 -0
- data/vendor/PDCurses/ncurses/CMakeLists.txt +66 -0
- data/vendor/PDCurses/ncurses/README.md +26 -0
- data/vendor/PDCurses/ncurses/makefile +29 -0
- data/vendor/PDCurses/os2/CMakeLists.txt +41 -0
- data/vendor/PDCurses/os2/Makefile.bcc +90 -0
- data/vendor/PDCurses/os2/Makefile.wcc +43 -0
- data/vendor/PDCurses/os2/README.md +43 -0
- data/vendor/PDCurses/os2/iccos2.lrf +50 -0
- data/vendor/PDCurses/os2/iccos2.mak +256 -0
- data/vendor/PDCurses/os2/pdcclip.c +188 -0
- data/vendor/PDCurses/os2/pdcdisp.c +93 -0
- data/vendor/PDCurses/os2/pdcgetsc.c +89 -0
- data/vendor/PDCurses/os2/pdckbd.c +521 -0
- data/vendor/PDCurses/os2/pdcos2.h +55 -0
- data/vendor/PDCurses/os2/pdcscrn.c +449 -0
- data/vendor/PDCurses/os2/pdcsetsc.c +112 -0
- data/vendor/PDCurses/os2/pdcutil.c +52 -0
- data/vendor/PDCurses/panel.h +56 -0
- data/vendor/PDCurses/pdcurses/README.md +25 -0
- data/vendor/PDCurses/pdcurses/addch.c +693 -0
- data/vendor/PDCurses/pdcurses/addchstr.c +245 -0
- data/vendor/PDCurses/pdcurses/addstr.c +240 -0
- data/vendor/PDCurses/pdcurses/attr.c +359 -0
- data/vendor/PDCurses/pdcurses/beep.c +68 -0
- data/vendor/PDCurses/pdcurses/bkgd.c +223 -0
- data/vendor/PDCurses/pdcurses/border.c +411 -0
- data/vendor/PDCurses/pdcurses/clear.c +159 -0
- data/vendor/PDCurses/pdcurses/color.c +298 -0
- data/vendor/PDCurses/pdcurses/debug.c +109 -0
- data/vendor/PDCurses/pdcurses/delch.c +96 -0
- data/vendor/PDCurses/pdcurses/deleteln.c +211 -0
- data/vendor/PDCurses/pdcurses/deprec.c +27 -0
- data/vendor/PDCurses/pdcurses/getch.c +417 -0
- data/vendor/PDCurses/pdcurses/getstr.c +474 -0
- data/vendor/PDCurses/pdcurses/getyx.c +139 -0
- data/vendor/PDCurses/pdcurses/inch.c +127 -0
- data/vendor/PDCurses/pdcurses/inchstr.c +214 -0
- data/vendor/PDCurses/pdcurses/initscr.c +367 -0
- data/vendor/PDCurses/pdcurses/inopts.c +324 -0
- data/vendor/PDCurses/pdcurses/insch.c +271 -0
- data/vendor/PDCurses/pdcurses/insstr.c +264 -0
- data/vendor/PDCurses/pdcurses/instr.c +246 -0
- data/vendor/PDCurses/pdcurses/kernel.c +259 -0
- data/vendor/PDCurses/pdcurses/keyname.c +157 -0
- data/vendor/PDCurses/pdcurses/mouse.c +438 -0
- data/vendor/PDCurses/pdcurses/move.c +57 -0
- data/vendor/PDCurses/pdcurses/outopts.c +159 -0
- data/vendor/PDCurses/pdcurses/overlay.c +214 -0
- data/vendor/PDCurses/pdcurses/pad.c +260 -0
- data/vendor/PDCurses/pdcurses/panel.c +633 -0
- data/vendor/PDCurses/pdcurses/printw.c +126 -0
- data/vendor/PDCurses/pdcurses/refresh.c +279 -0
- data/vendor/PDCurses/pdcurses/scanw.c +578 -0
- data/vendor/PDCurses/pdcurses/scr_dump.c +213 -0
- data/vendor/PDCurses/pdcurses/scroll.c +101 -0
- data/vendor/PDCurses/pdcurses/slk.c +591 -0
- data/vendor/PDCurses/pdcurses/termattr.c +182 -0
- data/vendor/PDCurses/pdcurses/terminfo.c +217 -0
- data/vendor/PDCurses/pdcurses/touch.c +163 -0
- data/vendor/PDCurses/pdcurses/util.c +312 -0
- data/vendor/PDCurses/pdcurses/window.c +569 -0
- data/vendor/PDCurses/sdl1/Makefile.mng +110 -0
- data/vendor/PDCurses/sdl1/README.md +31 -0
- data/vendor/PDCurses/sdl1/deffont.h +385 -0
- data/vendor/PDCurses/sdl1/deficon.h +23 -0
- data/vendor/PDCurses/sdl1/pdcclip.c +131 -0
- data/vendor/PDCurses/sdl1/pdcdisp.c +373 -0
- data/vendor/PDCurses/sdl1/pdcgetsc.c +30 -0
- data/vendor/PDCurses/sdl1/pdckbd.c +405 -0
- data/vendor/PDCurses/sdl1/pdcscrn.c +414 -0
- data/vendor/PDCurses/sdl1/pdcsdl.h +31 -0
- data/vendor/PDCurses/sdl1/pdcsetsc.c +64 -0
- data/vendor/PDCurses/sdl1/pdcutil.c +40 -0
- data/vendor/PDCurses/sdl1/sdltest.c +79 -0
- data/vendor/PDCurses/sdl2/CMakeLists.txt +76 -0
- data/vendor/PDCurses/sdl2/Makefile.vc +164 -0
- data/vendor/PDCurses/sdl2/README.md +34 -0
- data/vendor/PDCurses/sdl2/deffont.h +385 -0
- data/vendor/PDCurses/sdl2/deficon.h +23 -0
- data/vendor/PDCurses/sdl2/pdcclip.c +93 -0
- data/vendor/PDCurses/sdl2/pdcdisp.c +534 -0
- data/vendor/PDCurses/sdl2/pdcgetsc.c +30 -0
- data/vendor/PDCurses/sdl2/pdckbd.c +480 -0
- data/vendor/PDCurses/sdl2/pdcscrn.c +443 -0
- data/vendor/PDCurses/sdl2/pdcsdl.h +33 -0
- data/vendor/PDCurses/sdl2/pdcsetsc.c +67 -0
- data/vendor/PDCurses/sdl2/pdcutil.c +39 -0
- data/vendor/PDCurses/sdl2/sdltest.c +81 -0
- data/vendor/PDCurses/term.h +48 -0
- data/vendor/PDCurses/version.mif +7 -0
- data/vendor/PDCurses/vt/CMakeLists.txt +28 -0
- data/vendor/PDCurses/vt/Makefile.bcc +111 -0
- data/vendor/PDCurses/vt/Makefile.dmc +258 -0
- data/vendor/PDCurses/vt/Makefile.vc +144 -0
- data/vendor/PDCurses/vt/Makefile.wcc +107 -0
- data/vendor/PDCurses/vt/README.md +64 -0
- data/vendor/PDCurses/vt/pdcclip.c +20 -0
- data/vendor/PDCurses/vt/pdcdisp.c +284 -0
- data/vendor/PDCurses/vt/pdcgetsc.c +27 -0
- data/vendor/PDCurses/vt/pdckbd.c +394 -0
- data/vendor/PDCurses/vt/pdcscrn.c +434 -0
- data/vendor/PDCurses/vt/pdcsetsc.c +45 -0
- data/vendor/PDCurses/vt/pdcutil.c +43 -0
- data/vendor/PDCurses/vt/pdcvt.h +16 -0
- data/vendor/PDCurses/watcom.mif +68 -0
- data/vendor/PDCurses/wincon/CMakeLists.txt +27 -0
- data/vendor/PDCurses/wincon/Makefile.bcc +88 -0
- data/vendor/PDCurses/wincon/Makefile.dmc +256 -0
- data/vendor/PDCurses/wincon/Makefile.lcc +273 -0
- data/vendor/PDCurses/wincon/Makefile.mng +176 -0
- data/vendor/PDCurses/wincon/Makefile.vc +144 -0
- data/vendor/PDCurses/wincon/Makefile.wcc +51 -0
- data/vendor/PDCurses/wincon/README.md +85 -0
- data/vendor/PDCurses/wincon/pdcclip.c +174 -0
- data/vendor/PDCurses/wincon/pdcdisp.c +143 -0
- data/vendor/PDCurses/wincon/pdcgetsc.c +55 -0
- data/vendor/PDCurses/wincon/pdckbd.c +786 -0
- data/vendor/PDCurses/wincon/pdcscrn.c +717 -0
- data/vendor/PDCurses/wincon/pdcsetsc.c +91 -0
- data/vendor/PDCurses/wincon/pdcurses.ico +0 -0
- data/vendor/PDCurses/wincon/pdcurses.rc +28 -0
- data/vendor/PDCurses/wincon/pdcutil.c +41 -0
- data/vendor/PDCurses/wincon/pdcwin.h +31 -0
- data/vendor/PDCurses/wingui/CMakeLists.txt +27 -0
- data/vendor/PDCurses/wingui/Makefile.bcc +85 -0
- data/vendor/PDCurses/wingui/Makefile.dmc +259 -0
- data/vendor/PDCurses/wingui/Makefile.lcc +273 -0
- data/vendor/PDCurses/wingui/Makefile.mng +171 -0
- data/vendor/PDCurses/wingui/Makefile.vc +144 -0
- data/vendor/PDCurses/wingui/Makefile.wcc +51 -0
- data/vendor/PDCurses/wingui/README.md +93 -0
- data/vendor/PDCurses/wingui/pdcclip.c +174 -0
- data/vendor/PDCurses/wingui/pdcdisp.c +718 -0
- data/vendor/PDCurses/wingui/pdcgetsc.c +30 -0
- data/vendor/PDCurses/wingui/pdckbd.c +143 -0
- data/vendor/PDCurses/wingui/pdcscrn.c +2797 -0
- data/vendor/PDCurses/wingui/pdcsetsc.c +89 -0
- data/vendor/PDCurses/wingui/pdcurses.ico +0 -0
- data/vendor/PDCurses/wingui/pdcurses.rc +28 -0
- data/vendor/PDCurses/wingui/pdcutil.c +61 -0
- data/vendor/PDCurses/wingui/pdcwin.h +122 -0
- data/vendor/PDCurses/x11/Makefile.in +754 -0
- data/vendor/PDCurses/x11/PDCurses.spec +82 -0
- data/vendor/PDCurses/x11/README.md +62 -0
- data/vendor/PDCurses/x11/ScrollBox.c +319 -0
- data/vendor/PDCurses/x11/ScrollBox.h +51 -0
- data/vendor/PDCurses/x11/ScrollBoxP.h +70 -0
- data/vendor/PDCurses/x11/aclocal.m4 +994 -0
- data/vendor/PDCurses/x11/big_icon.xbm +46 -0
- data/vendor/PDCurses/x11/compose.h +201 -0
- data/vendor/PDCurses/x11/config.guess +1500 -0
- data/vendor/PDCurses/x11/config.h.in +100 -0
- data/vendor/PDCurses/x11/config.sub +1616 -0
- data/vendor/PDCurses/x11/configure +6700 -0
- data/vendor/PDCurses/x11/configure.ac +295 -0
- data/vendor/PDCurses/x11/debian/changelog +6 -0
- data/vendor/PDCurses/x11/debian/compat +1 -0
- data/vendor/PDCurses/x11/debian/control +11 -0
- data/vendor/PDCurses/x11/debian/copyright +27 -0
- data/vendor/PDCurses/x11/debian/rules +98 -0
- data/vendor/PDCurses/x11/install-sh +253 -0
- data/vendor/PDCurses/x11/little_icon.xbm +14 -0
- data/vendor/PDCurses/x11/ncurses_cfg.h +45 -0
- data/vendor/PDCurses/x11/pdcclip.c +173 -0
- data/vendor/PDCurses/x11/pdcdisp.c +85 -0
- data/vendor/PDCurses/x11/pdcgetsc.c +28 -0
- data/vendor/PDCurses/x11/pdckbd.c +104 -0
- data/vendor/PDCurses/x11/pdcscrn.c +258 -0
- data/vendor/PDCurses/x11/pdcsetsc.c +95 -0
- data/vendor/PDCurses/x11/pdcutil.c +52 -0
- data/vendor/PDCurses/x11/pdcx11.c +316 -0
- data/vendor/PDCurses/x11/pdcx11.h +191 -0
- data/vendor/PDCurses/x11/sb.c +155 -0
- data/vendor/PDCurses/x11/x11.c +3686 -0
- data/vendor/PDCurses/x11/xcurses-config.in +81 -0
- metadata +255 -21
@@ -0,0 +1,67 @@
|
|
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_SetWindowTitle(pdc_window, title);
|
56
|
+
}
|
57
|
+
|
58
|
+
/* See comments in win32a/pdcsetsc.c or x11/pdcsetsc.c. This does
|
59
|
+
essentially the same thing. */
|
60
|
+
|
61
|
+
int PDC_set_blink(bool blinkon)
|
62
|
+
{
|
63
|
+
extern int PDC_really_blinking;
|
64
|
+
|
65
|
+
PDC_really_blinking = blinkon;
|
66
|
+
return OK;
|
67
|
+
}
|
@@ -0,0 +1,39 @@
|
|
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_Delay(ms);
|
16
|
+
}
|
17
|
+
|
18
|
+
const char *PDC_sysname(void)
|
19
|
+
{
|
20
|
+
return "SDL2";
|
21
|
+
}
|
22
|
+
|
23
|
+
PDC_version_info PDC_version = { PDC_PORT_SDL2,
|
24
|
+
PDC_VER_MAJOR, PDC_VER_MINOR, PDC_VER_CHANGE,
|
25
|
+
sizeof( chtype),
|
26
|
+
/* note that thus far, 'wide' and 'UTF8' versions exist */
|
27
|
+
/* only for SDL2, X11, Win32, and Win32a; elsewhere, */
|
28
|
+
/* these will be FALSE */
|
29
|
+
#ifdef PDC_WIDE
|
30
|
+
TRUE,
|
31
|
+
#else
|
32
|
+
FALSE,
|
33
|
+
#endif
|
34
|
+
#ifdef PDC_FORCE_UTF8
|
35
|
+
TRUE,
|
36
|
+
#else
|
37
|
+
FALSE,
|
38
|
+
#endif
|
39
|
+
};
|
@@ -0,0 +1,81 @@
|
|
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_Window *pdc_window;
|
15
|
+
PDCEX SDL_Surface *pdc_screen;
|
16
|
+
PDCEX int pdc_yoffset;
|
17
|
+
|
18
|
+
int main(int argc, char **argv)
|
19
|
+
{
|
20
|
+
char inp[60];
|
21
|
+
int i, j, seed;
|
22
|
+
|
23
|
+
seed = time((time_t *)0);
|
24
|
+
srand(seed);
|
25
|
+
|
26
|
+
/* Initialize SDL */
|
27
|
+
|
28
|
+
if (SDL_Init(SDL_INIT_VIDEO) < 0)
|
29
|
+
exit(1);
|
30
|
+
|
31
|
+
atexit(SDL_Quit);
|
32
|
+
|
33
|
+
pdc_window = SDL_CreateWindow("PDCurses for SDL", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, 0);
|
34
|
+
pdc_screen = SDL_GetWindowSurface(pdc_window);
|
35
|
+
|
36
|
+
/* Initialize PDCurses */
|
37
|
+
|
38
|
+
pdc_yoffset = 416; /* 480 - 4 * 16 */
|
39
|
+
|
40
|
+
initscr();
|
41
|
+
start_color();
|
42
|
+
scrollok(stdscr, TRUE);
|
43
|
+
|
44
|
+
PDC_set_title("PDCurses for SDL");
|
45
|
+
|
46
|
+
/* Do some SDL stuff */
|
47
|
+
|
48
|
+
for (i = 640, j = 416; j; i -= 2, j -= 2)
|
49
|
+
{
|
50
|
+
SDL_Rect dest;
|
51
|
+
|
52
|
+
dest.x = (640 - i) / 2;
|
53
|
+
dest.y = (416 - j) / 2;
|
54
|
+
dest.w = i;
|
55
|
+
dest.h = j;
|
56
|
+
|
57
|
+
SDL_FillRect(pdc_screen, &dest,
|
58
|
+
SDL_MapRGB(pdc_screen->format, rand() % 256,
|
59
|
+
rand() % 256, rand() % 256));
|
60
|
+
}
|
61
|
+
|
62
|
+
SDL_UpdateWindowSurface(pdc_window);
|
63
|
+
|
64
|
+
/* Do some curses stuff */
|
65
|
+
|
66
|
+
init_pair(1, COLOR_WHITE + 8, COLOR_BLUE);
|
67
|
+
bkgd(COLOR_PAIR(1));
|
68
|
+
|
69
|
+
addstr("This is a demo of ");
|
70
|
+
attron(A_UNDERLINE);
|
71
|
+
addstr("PDCurses for SDL");
|
72
|
+
attroff(A_UNDERLINE);
|
73
|
+
addstr(".\nYour comments here: ");
|
74
|
+
getnstr(inp, 59);
|
75
|
+
addstr("Press any key to exit.");
|
76
|
+
|
77
|
+
getch();
|
78
|
+
endwin();
|
79
|
+
|
80
|
+
return 0;
|
81
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
/* Public Domain Curses */
|
2
|
+
|
3
|
+
/* PDCurses doesn't operate with terminfo, but we need these functions for
|
4
|
+
compatibility, to allow some things (notably, interface libraries for
|
5
|
+
other languages) to be compiled. Anyone who tries to actually _use_
|
6
|
+
them will be disappointed, since they only return ERR. */
|
7
|
+
|
8
|
+
#ifndef __PDCURSES_TERM_H__
|
9
|
+
#define __PDCURSES_TERM_H__ 1
|
10
|
+
|
11
|
+
#include <curses.h>
|
12
|
+
|
13
|
+
#if defined(__cplusplus) || defined(__cplusplus__) || defined(__CPLUSPLUS)
|
14
|
+
extern "C"
|
15
|
+
{
|
16
|
+
#endif
|
17
|
+
|
18
|
+
typedef struct
|
19
|
+
{
|
20
|
+
const char *_termname;
|
21
|
+
} TERMINAL;
|
22
|
+
|
23
|
+
/* PDCEX is defined in curses.h */
|
24
|
+
PDCEX TERMINAL *cur_term;
|
25
|
+
|
26
|
+
int del_curterm(TERMINAL *);
|
27
|
+
int putp(const char *);
|
28
|
+
int restartterm(const char *, int, int *);
|
29
|
+
TERMINAL *set_curterm(TERMINAL *);
|
30
|
+
int setterm(const char *);
|
31
|
+
int setupterm(const char *, int, int *);
|
32
|
+
int tgetent(char *, const char *);
|
33
|
+
int tgetflag(const char *);
|
34
|
+
int tgetnum(const char *);
|
35
|
+
char *tgetstr(const char *, char **);
|
36
|
+
char *tgoto(const char *, int, int);
|
37
|
+
int tigetflag(const char *);
|
38
|
+
int tigetnum(const char *);
|
39
|
+
char *tigetstr(const char *);
|
40
|
+
char *tparm(const char *, long, long, long, long, long,
|
41
|
+
long, long, long, long);
|
42
|
+
int tputs(const char *, int, int (*)(int));
|
43
|
+
|
44
|
+
#if defined(__cplusplus) || defined(__cplusplus__) || defined(__CPLUSPLUS)
|
45
|
+
}
|
46
|
+
#endif
|
47
|
+
|
48
|
+
#endif /* __PDCURSES_TERM_H__ */
|
@@ -0,0 +1,28 @@
|
|
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(vt VERSION "${PROJECT_VERSION}" LANGUAGES C)
|
9
|
+
|
10
|
+
INCLUDE(project_common)
|
11
|
+
|
12
|
+
|
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
|
+
|
24
|
+
IF(WIN32)
|
25
|
+
SET_TARGET_PROPERTIES(${PROJECT_NAME}_newtest PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS")
|
26
|
+
ENDIF(WIN32)
|
27
|
+
|
28
|
+
SET(CPACK_COMPONENTS_ALL applications)
|
@@ -0,0 +1,111 @@
|
|
1
|
+
# Borland MAKE Makefile for PDCurses library - Windows console BC++ 7.0+
|
2
|
+
#
|
3
|
+
# Usage: make -f [path\]Makefile.bcc [DEBUG=] [WIDE=] [UTF8=]
|
4
|
+
# [INFOEX=N] [target]
|
5
|
+
#
|
6
|
+
# where target can be any of:
|
7
|
+
# [all|demos|pdcurses.lib|testcurs.exe...]
|
8
|
+
|
9
|
+
O = obj
|
10
|
+
E = .exe
|
11
|
+
RM = del
|
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)\vt
|
21
|
+
|
22
|
+
!ifdef OLD_BCC
|
23
|
+
CC = bcc32 -q -DNO_STDINT_H
|
24
|
+
!else
|
25
|
+
CC = bcc32c -q -Xdriver -Wno-deprecated-declarations
|
26
|
+
!endif
|
27
|
+
|
28
|
+
!ifdef DEBUG
|
29
|
+
CFLAGS = -N -v -y -DPDCDEBUG
|
30
|
+
!else
|
31
|
+
CFLAGS = -O -DCHTYPE_32
|
32
|
+
!endif
|
33
|
+
|
34
|
+
!ifdef CHTYPE_32
|
35
|
+
CFLAGS = $(CFLAGS) -DCHTYPE_32
|
36
|
+
!endif
|
37
|
+
|
38
|
+
!ifdef CHTYPE_16
|
39
|
+
CFLAGS = $(CFLAGS) -DCHTYPE_16
|
40
|
+
!endif
|
41
|
+
|
42
|
+
!ifdef WIDE
|
43
|
+
WIDEOPT = -DPDC_WIDE
|
44
|
+
!endif
|
45
|
+
|
46
|
+
!ifdef UTF8
|
47
|
+
UTF8OPT = -DPDC_FORCE_UTF8
|
48
|
+
!endif
|
49
|
+
|
50
|
+
!ifdef INFOEX
|
51
|
+
INFOPT = -DHAVE_NO_INFOEX
|
52
|
+
!endif
|
53
|
+
|
54
|
+
!ifdef OLD_BCC
|
55
|
+
BUILD = $(CC) -I$(PDCURSES_SRCDIR) -c -Tpe $(CFLAGS) \
|
56
|
+
-w32 -w-par \
|
57
|
+
$(WIDEOPT) $(UTF8OPT) $(INFOPT)
|
58
|
+
!else
|
59
|
+
BUILD = $(CC) -I$(PDCURSES_SRCDIR) -c -Tpe $(CFLAGS) \
|
60
|
+
$(WIDEOPT) $(UTF8OPT)
|
61
|
+
!endif
|
62
|
+
|
63
|
+
LIBEXE = tlib /C /E /0 /a
|
64
|
+
|
65
|
+
LIBCURSES = pdcurses.lib
|
66
|
+
|
67
|
+
all: $(LIBCURSES)
|
68
|
+
|
69
|
+
clean:
|
70
|
+
-$(RM) *.obj
|
71
|
+
-$(RM) *.lib
|
72
|
+
-$(RM) *.tds
|
73
|
+
-$(RM) *.exe
|
74
|
+
|
75
|
+
demos: $(DEMOS)
|
76
|
+
|
77
|
+
$(LIBCURSES) : $(LIBOBJS) $(PDCOBJS)
|
78
|
+
-$(RM) $@
|
79
|
+
$(LIBEXE) $@ $(LIBOBJS) $(PDCOBJS)
|
80
|
+
|
81
|
+
.autodepend
|
82
|
+
|
83
|
+
{$(srcdir)\}.c.obj:
|
84
|
+
$(BUILD) $<
|
85
|
+
|
86
|
+
{$(osdir)\}.c.obj:
|
87
|
+
$(BUILD) $<
|
88
|
+
|
89
|
+
{$(demodir)\}.c.obj:
|
90
|
+
$(BUILD) $<
|
91
|
+
|
92
|
+
.c.obj:
|
93
|
+
$(BUILD) $<
|
94
|
+
|
95
|
+
.obj.exe:
|
96
|
+
$(CC) -e$@ $** $(LIBCURSES)
|
97
|
+
|
98
|
+
tuidemo.exe: tuidemo.obj tui.obj $(LIBCURSES)
|
99
|
+
$(CC) -e$@ $**
|
100
|
+
|
101
|
+
tui.obj: $(demodir)\tui.c $(demodir)\tui.h $(PDCURSES_CURSES_H)
|
102
|
+
$(BUILD) -I$(demodir) $(demodir)\tui.c
|
103
|
+
|
104
|
+
tuidemo.obj: $(demodir)\tuidemo.c $(PDCURSES_CURSES_H)
|
105
|
+
$(BUILD) -I$(demodir) $(demodir)\tuidemo.c
|
106
|
+
|
107
|
+
PLATFORM1 = Borland C++ Wincon
|
108
|
+
PLATFORM2 = Borland C/C++ 7.2 for Windows console
|
109
|
+
ARCNAME = pdc$(VER)_bcc_vt
|
110
|
+
|
111
|
+
!include $(PDCURSES_SRCDIR)\makedist.mif
|
@@ -0,0 +1,258 @@
|
|
1
|
+
# Makefile for PDCurses library - DOS 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)\vt
|
19
|
+
demodir = $(PDCURSES_SRCDIR)\demos
|
20
|
+
|
21
|
+
PDCURSES_VT_H = $(osdir)\pdcvt.h
|
22
|
+
|
23
|
+
CC = dmc
|
24
|
+
|
25
|
+
CHTYPE = -DCHTYPE_32
|
26
|
+
|
27
|
+
CFLAGS = -c -o+space -Nc -mx -DDOS
|
28
|
+
# CFLAGS = -c -o+space -Nc -mld -DDOS
|
29
|
+
|
30
|
+
CPPFLAGS = -I$(PDCURSES_SRCDIR) -msd $(CHTYPE)
|
31
|
+
|
32
|
+
LINK = dmc
|
33
|
+
LIBEXE = lib
|
34
|
+
|
35
|
+
LIBCURSES = pdcurses.lib
|
36
|
+
|
37
|
+
BUILD = $(CC) $(CFLAGS) $(CPPFLAGS)
|
38
|
+
|
39
|
+
DEMOS = testcurs.exe ozdemo.exe newtest.exe xmas.exe \
|
40
|
+
tuidemo.exe firework.exe ptest.exe rain.exe worm.exe
|
41
|
+
|
42
|
+
all: $(LIBCURSES) $(DEMOS)
|
43
|
+
|
44
|
+
clean:
|
45
|
+
-del *.obj
|
46
|
+
-del *.lib
|
47
|
+
-del *.exe
|
48
|
+
-del *.map
|
49
|
+
-del advapi32.def
|
50
|
+
|
51
|
+
LIBOBJS = addch.obj addchstr.obj addstr.obj attr.obj beep.obj bkgd.obj \
|
52
|
+
border.obj clear.obj color.obj delch.obj deleteln.obj deprec.obj getch.obj \
|
53
|
+
getstr.obj getyx.obj inch.obj inchstr.obj initscr.obj inopts.obj \
|
54
|
+
insch.obj insstr.obj instr.obj kernel.obj keyname.obj mouse.obj move.obj \
|
55
|
+
outopts.obj overlay.obj pad.obj panel.obj printw.obj refresh.obj \
|
56
|
+
scanw.obj scr_dump.obj scroll.obj slk.obj termattr.obj terminfo.obj \
|
57
|
+
touch.obj util.obj window.obj debug.obj
|
58
|
+
|
59
|
+
PDCOBJS = pdcclip.obj pdcdisp.obj pdcgetsc.obj pdckbd.obj pdcscrn.obj \
|
60
|
+
pdcsetsc.obj pdcutil.obj
|
61
|
+
|
62
|
+
DEMOOBJS = testcurs.obj ozdemo.obj newtest.obj xmas.obj tuidemo.obj \
|
63
|
+
tui.obj firework.obj ptest.obj rain.obj worm.obj
|
64
|
+
|
65
|
+
$(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS)
|
66
|
+
$(PDCOBJS) : $(PDCURSES_VT_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
|
+
|
76
|
+
SRCBUILD = $(BUILD) $(srcdir)\$*.c
|
77
|
+
OSBUILD = $(BUILD) $(osdir)\$*.c
|
78
|
+
DEMOBUILD = $(LINK) $(CPPFLAGS) -o+space $@ $**
|
79
|
+
|
80
|
+
addch.obj: $(srcdir)\addch.c
|
81
|
+
$(SRCBUILD)
|
82
|
+
|
83
|
+
addchstr.obj: $(srcdir)\addchstr.c
|
84
|
+
$(SRCBUILD)
|
85
|
+
|
86
|
+
addstr.obj: $(srcdir)\addstr.c
|
87
|
+
$(SRCBUILD)
|
88
|
+
|
89
|
+
attr.obj: $(srcdir)\attr.c
|
90
|
+
$(SRCBUILD)
|
91
|
+
|
92
|
+
beep.obj: $(srcdir)\beep.c
|
93
|
+
$(SRCBUILD)
|
94
|
+
|
95
|
+
bkgd.obj: $(srcdir)\bkgd.c
|
96
|
+
$(SRCBUILD)
|
97
|
+
|
98
|
+
border.obj: $(srcdir)\border.c
|
99
|
+
$(SRCBUILD)
|
100
|
+
|
101
|
+
clear.obj: $(srcdir)\clear.c
|
102
|
+
$(SRCBUILD)
|
103
|
+
|
104
|
+
color.obj: $(srcdir)\color.c
|
105
|
+
$(SRCBUILD)
|
106
|
+
|
107
|
+
delch.obj: $(srcdir)\delch.c
|
108
|
+
$(SRCBUILD)
|
109
|
+
|
110
|
+
deleteln.obj: $(srcdir)\deleteln.c
|
111
|
+
$(SRCBUILD)
|
112
|
+
|
113
|
+
deprec.obj: $(srcdir)\deprec.c
|
114
|
+
$(SRCBUILD)
|
115
|
+
|
116
|
+
getch.obj: $(srcdir)\getch.c
|
117
|
+
$(SRCBUILD)
|
118
|
+
|
119
|
+
getstr.obj: $(srcdir)\getstr.c
|
120
|
+
$(SRCBUILD)
|
121
|
+
|
122
|
+
getyx.obj: $(srcdir)\getyx.c
|
123
|
+
$(SRCBUILD)
|
124
|
+
|
125
|
+
inch.obj: $(srcdir)\inch.c
|
126
|
+
$(SRCBUILD)
|
127
|
+
|
128
|
+
inchstr.obj: $(srcdir)\inchstr.c
|
129
|
+
$(SRCBUILD)
|
130
|
+
|
131
|
+
initscr.obj: $(srcdir)\initscr.c
|
132
|
+
$(SRCBUILD)
|
133
|
+
|
134
|
+
inopts.obj: $(srcdir)\inopts.c
|
135
|
+
$(SRCBUILD)
|
136
|
+
|
137
|
+
insch.obj: $(srcdir)\insch.c
|
138
|
+
$(SRCBUILD)
|
139
|
+
|
140
|
+
insstr.obj: $(srcdir)\insstr.c
|
141
|
+
$(SRCBUILD)
|
142
|
+
|
143
|
+
instr.obj: $(srcdir)\instr.c
|
144
|
+
$(SRCBUILD)
|
145
|
+
|
146
|
+
kernel.obj: $(srcdir)\kernel.c
|
147
|
+
$(SRCBUILD)
|
148
|
+
|
149
|
+
keyname.obj: $(srcdir)\keyname.c
|
150
|
+
$(SRCBUILD)
|
151
|
+
|
152
|
+
mouse.obj: $(srcdir)\mouse.c
|
153
|
+
$(SRCBUILD)
|
154
|
+
|
155
|
+
move.obj: $(srcdir)\move.c
|
156
|
+
$(SRCBUILD)
|
157
|
+
|
158
|
+
outopts.obj: $(srcdir)\outopts.c
|
159
|
+
$(SRCBUILD)
|
160
|
+
|
161
|
+
overlay.obj: $(srcdir)\overlay.c
|
162
|
+
$(SRCBUILD)
|
163
|
+
|
164
|
+
pad.obj: $(srcdir)\pad.c
|
165
|
+
$(SRCBUILD)
|
166
|
+
|
167
|
+
panel.obj: $(srcdir)\panel.c
|
168
|
+
$(SRCBUILD)
|
169
|
+
|
170
|
+
printw.obj: $(srcdir)\printw.c
|
171
|
+
$(SRCBUILD)
|
172
|
+
|
173
|
+
refresh.obj: $(srcdir)\refresh.c
|
174
|
+
$(SRCBUILD)
|
175
|
+
|
176
|
+
scanw.obj: $(srcdir)\scanw.c
|
177
|
+
$(SRCBUILD)
|
178
|
+
|
179
|
+
scr_dump.obj: $(srcdir)\scr_dump.c
|
180
|
+
$(SRCBUILD)
|
181
|
+
|
182
|
+
scroll.obj: $(srcdir)\scroll.c
|
183
|
+
$(SRCBUILD)
|
184
|
+
|
185
|
+
slk.obj: $(srcdir)\slk.c
|
186
|
+
$(SRCBUILD)
|
187
|
+
|
188
|
+
termattr.obj: $(srcdir)\termattr.c
|
189
|
+
$(SRCBUILD)
|
190
|
+
|
191
|
+
terminfo.obj: $(srcdir)\terminfo.c
|
192
|
+
$(SRCBUILD)
|
193
|
+
|
194
|
+
touch.obj: $(srcdir)\touch.c
|
195
|
+
$(SRCBUILD)
|
196
|
+
|
197
|
+
util.obj: $(srcdir)\util.c
|
198
|
+
$(SRCBUILD)
|
199
|
+
|
200
|
+
window.obj: $(srcdir)\window.c
|
201
|
+
$(SRCBUILD)
|
202
|
+
|
203
|
+
debug.obj: $(srcdir)\debug.c
|
204
|
+
$(SRCBUILD)
|
205
|
+
|
206
|
+
pdcclip.obj: $(osdir)\pdcclip.c
|
207
|
+
$(OSBUILD)
|
208
|
+
|
209
|
+
pdcdisp.obj: $(osdir)\pdcdisp.c
|
210
|
+
$(OSBUILD)
|
211
|
+
|
212
|
+
pdcgetsc.obj: $(osdir)\pdcgetsc.c
|
213
|
+
$(OSBUILD)
|
214
|
+
|
215
|
+
pdckbd.obj: $(osdir)\pdckbd.c
|
216
|
+
$(OSBUILD)
|
217
|
+
|
218
|
+
pdcscrn.obj: $(osdir)\pdcscrn.c
|
219
|
+
$(OSBUILD)
|
220
|
+
|
221
|
+
pdcsetsc.obj: $(osdir)\pdcsetsc.c
|
222
|
+
$(OSBUILD)
|
223
|
+
|
224
|
+
pdcutil.obj: $(osdir)\pdcutil.c
|
225
|
+
$(OSBUILD)
|
226
|
+
|
227
|
+
firework.exe: $(demodir)\firework.c
|
228
|
+
$(DEMOBUILD)
|
229
|
+
|
230
|
+
ozdemo.exe: $(demodir)\ozdemo.c
|
231
|
+
$(DEMOBUILD)
|
232
|
+
|
233
|
+
newtest.exe: $(demodir)\newtest.c
|
234
|
+
$(DEMOBUILD)
|
235
|
+
|
236
|
+
ptest.exe: $(demodir)\ptest.c
|
237
|
+
$(DEMOBUILD)
|
238
|
+
|
239
|
+
rain.exe: $(demodir)\rain.c
|
240
|
+
$(DEMOBUILD)
|
241
|
+
|
242
|
+
testcurs.exe: $(demodir)\testcurs.c
|
243
|
+
$(DEMOBUILD) advapi32.lib
|
244
|
+
|
245
|
+
tuidemo.exe: tuidemo.obj tui.obj
|
246
|
+
$(DEMOBUILD)
|
247
|
+
|
248
|
+
worm.exe: $(demodir)\worm.c
|
249
|
+
$(DEMOBUILD)
|
250
|
+
|
251
|
+
xmas.exe: $(demodir)\xmas.c
|
252
|
+
$(DEMOBUILD)
|
253
|
+
|
254
|
+
tui.obj: $(demodir)\tui.c $(demodir)\tui.h
|
255
|
+
$(BUILD) -I$(demodir) $(demodir)\$*.c
|
256
|
+
|
257
|
+
tuidemo.obj: $(demodir)\tuidemo.c
|
258
|
+
$(BUILD) -I$(demodir) $(demodir)\$*.c
|