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.
- checksums.yaml +4 -4
- data/.github/workflows/push_gem.yml +6 -4
- data/README.md +8 -1
- data/curses.gemspec +2 -2
- data/ext/curses/curses.c +188 -12
- data/ext/curses/extconf.rb +3 -2
- data/lib/curses.rb +7 -0
- data/sample/attr_demo.rb +4 -2
- data/sample/screen.rb +9 -0
- 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/Makefile +27 -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 +105 -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/Makefile +37 -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 +132 -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 +129 -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 +135 -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 +135 -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 +249 -8
@@ -0,0 +1,182 @@
|
|
1
|
+
/* Public Domain Curses */
|
2
|
+
|
3
|
+
#include <curspriv.h>
|
4
|
+
|
5
|
+
/*man-start**************************************************************
|
6
|
+
|
7
|
+
termattr
|
8
|
+
--------
|
9
|
+
|
10
|
+
### Synopsis
|
11
|
+
|
12
|
+
int baudrate(void);
|
13
|
+
char erasechar(void);
|
14
|
+
bool has_ic(void);
|
15
|
+
bool has_il(void);
|
16
|
+
char killchar(void);
|
17
|
+
char *longname(void);
|
18
|
+
chtype termattrs(void);
|
19
|
+
attr_t term_attrs(void);
|
20
|
+
char *termname(void);
|
21
|
+
|
22
|
+
int erasewchar(wchar_t *ch);
|
23
|
+
int killwchar(wchar_t *ch);
|
24
|
+
|
25
|
+
char wordchar(void);
|
26
|
+
|
27
|
+
### Description
|
28
|
+
|
29
|
+
baudrate() is supposed to return the output speed of the
|
30
|
+
terminal. In PDCurses, it simply returns INT_MAX.
|
31
|
+
|
32
|
+
has_ic and has_il() return TRUE. These functions have meaning in
|
33
|
+
some other implementations of curses.
|
34
|
+
|
35
|
+
erasechar() and killchar() return ^H and ^U, respectively -- the
|
36
|
+
ERASE and KILL characters. In other curses implementations,
|
37
|
+
these may vary by terminal type. erasewchar() and killwchar()
|
38
|
+
are the wide-character versions; they take a pointer to a
|
39
|
+
location in which to store the character, and return OK or ERR.
|
40
|
+
|
41
|
+
longname() returns a pointer to a static area containing a
|
42
|
+
verbose description of the current terminal. The maximum length
|
43
|
+
of the string is 128 characters. It is defined only after the
|
44
|
+
call to initscr() or newterm().
|
45
|
+
|
46
|
+
termname() returns a pointer to a static area containing a
|
47
|
+
short description of the current terminal (14 characters).
|
48
|
+
|
49
|
+
termattrs() returns a logical OR of all video attributes
|
50
|
+
supported by the terminal.
|
51
|
+
|
52
|
+
wordchar() is a PDCurses extension of the concept behind the
|
53
|
+
functions erasechar() and killchar(), returning the "delete
|
54
|
+
word" character, ^W.
|
55
|
+
|
56
|
+
### Portability
|
57
|
+
X/Open BSD SYS V
|
58
|
+
baudrate Y Y Y
|
59
|
+
erasechar Y Y Y
|
60
|
+
has_ic Y Y Y
|
61
|
+
has_il Y Y Y
|
62
|
+
killchar Y Y Y
|
63
|
+
longname Y Y Y
|
64
|
+
termattrs Y Y Y
|
65
|
+
termname Y Y Y
|
66
|
+
erasewchar Y
|
67
|
+
killwchar Y
|
68
|
+
term_attrs Y
|
69
|
+
wordchar - - -
|
70
|
+
|
71
|
+
**man-end****************************************************************/
|
72
|
+
|
73
|
+
#include <string.h>
|
74
|
+
#include <limits.h>
|
75
|
+
|
76
|
+
int baudrate(void)
|
77
|
+
{
|
78
|
+
PDC_LOG(("baudrate() - called\n"));
|
79
|
+
|
80
|
+
return INT_MAX;
|
81
|
+
}
|
82
|
+
|
83
|
+
char erasechar(void)
|
84
|
+
{
|
85
|
+
PDC_LOG(("erasechar() - called\n"));
|
86
|
+
|
87
|
+
return _ECHAR; /* character delete char (^H) */
|
88
|
+
}
|
89
|
+
|
90
|
+
bool has_ic(void)
|
91
|
+
{
|
92
|
+
PDC_LOG(("has_ic() - called\n"));
|
93
|
+
|
94
|
+
return TRUE;
|
95
|
+
}
|
96
|
+
|
97
|
+
bool has_il(void)
|
98
|
+
{
|
99
|
+
PDC_LOG(("has_il() - called\n"));
|
100
|
+
|
101
|
+
return TRUE;
|
102
|
+
}
|
103
|
+
|
104
|
+
char killchar(void)
|
105
|
+
{
|
106
|
+
PDC_LOG(("killchar() - called\n"));
|
107
|
+
|
108
|
+
return _DLCHAR; /* line delete char (^U) */
|
109
|
+
}
|
110
|
+
|
111
|
+
char *longname(void)
|
112
|
+
{
|
113
|
+
PDC_LOG(("longname() - called\n"));
|
114
|
+
|
115
|
+
sprintf(ttytype, "pdcurses|PDCurses for %s", PDC_sysname());
|
116
|
+
return ttytype + 9; /* skip "pdcurses|" */
|
117
|
+
}
|
118
|
+
|
119
|
+
chtype termattrs(void)
|
120
|
+
{
|
121
|
+
chtype temp = A_BLINK | A_BOLD | A_INVIS | A_REVERSE | A_UNDERLINE
|
122
|
+
| A_LEFTLINE | A_RIGHTLINE | A_ITALIC;
|
123
|
+
|
124
|
+
/* note: blink is bold background on some platforms */
|
125
|
+
|
126
|
+
PDC_LOG(("termattrs() - called\n"));
|
127
|
+
|
128
|
+
if (!SP->mono)
|
129
|
+
temp |= A_COLOR;
|
130
|
+
|
131
|
+
return temp;
|
132
|
+
}
|
133
|
+
|
134
|
+
attr_t term_attrs(void)
|
135
|
+
{
|
136
|
+
PDC_LOG(("term_attrs() - called\n"));
|
137
|
+
|
138
|
+
return WA_BLINK | WA_BOLD | WA_INVIS | WA_LEFT | WA_REVERSE |
|
139
|
+
WA_RIGHT | WA_UNDERLINE;
|
140
|
+
}
|
141
|
+
|
142
|
+
char *termname(void)
|
143
|
+
{
|
144
|
+
static char _termname[14] = "pdcurses";
|
145
|
+
|
146
|
+
PDC_LOG(("termname() - called\n"));
|
147
|
+
|
148
|
+
return _termname;
|
149
|
+
}
|
150
|
+
|
151
|
+
char wordchar(void)
|
152
|
+
{
|
153
|
+
PDC_LOG(("wordchar() - called\n"));
|
154
|
+
|
155
|
+
return _DWCHAR; /* word delete char */
|
156
|
+
}
|
157
|
+
|
158
|
+
#ifdef PDC_WIDE
|
159
|
+
int erasewchar(wchar_t *ch)
|
160
|
+
{
|
161
|
+
PDC_LOG(("erasewchar() - called\n"));
|
162
|
+
|
163
|
+
if (!ch)
|
164
|
+
return ERR;
|
165
|
+
|
166
|
+
*ch = (wchar_t)_ECHAR;
|
167
|
+
|
168
|
+
return OK;
|
169
|
+
}
|
170
|
+
|
171
|
+
int killwchar(wchar_t *ch)
|
172
|
+
{
|
173
|
+
PDC_LOG(("killwchar() - called\n"));
|
174
|
+
|
175
|
+
if (!ch)
|
176
|
+
return ERR;
|
177
|
+
|
178
|
+
*ch = (wchar_t)_DLCHAR;
|
179
|
+
|
180
|
+
return OK;
|
181
|
+
}
|
182
|
+
#endif
|
@@ -0,0 +1,217 @@
|
|
1
|
+
/* Public Domain Curses */
|
2
|
+
|
3
|
+
#include <curspriv.h>
|
4
|
+
|
5
|
+
/*man-start**************************************************************
|
6
|
+
|
7
|
+
terminfo
|
8
|
+
--------
|
9
|
+
|
10
|
+
### Synopsis
|
11
|
+
|
12
|
+
int mvcur(int oldrow, int oldcol, int newrow, int newcol);
|
13
|
+
int vidattr(chtype attr);
|
14
|
+
int vid_attr(attr_t attr, short color_pair, void *opt);
|
15
|
+
int vidputs(chtype attr, int (*putfunc)(int));
|
16
|
+
int vid_puts(attr_t attr, short color_pair, void *opt,
|
17
|
+
int (*putfunc)(int));
|
18
|
+
|
19
|
+
int del_curterm(TERMINAL *);
|
20
|
+
int putp(const char *);
|
21
|
+
int restartterm(const char *, int, int *);
|
22
|
+
TERMINAL *set_curterm(TERMINAL *);
|
23
|
+
int setterm(const char *term);
|
24
|
+
int setupterm(const char *, int, int *);
|
25
|
+
int tgetent(char *, const char *);
|
26
|
+
int tgetflag(const char *);
|
27
|
+
int tgetnum(const char *);
|
28
|
+
char *tgetstr(const char *, char **);
|
29
|
+
char *tgoto(const char *, int, int);
|
30
|
+
int tigetflag(const char *);
|
31
|
+
int tigetnum(const char *);
|
32
|
+
char *tigetstr(const char *);
|
33
|
+
char *tparm(const char *,long, long, long, long, long, long,
|
34
|
+
long, long, long);
|
35
|
+
int tputs(const char *, int, int (*)(int));
|
36
|
+
|
37
|
+
### Description
|
38
|
+
|
39
|
+
mvcur() lets you move the physical cursor without updating any
|
40
|
+
window cursor positions. It returns OK or ERR.
|
41
|
+
|
42
|
+
The rest of these functions are currently implemented as stubs,
|
43
|
+
returning the appropriate errors and doing nothing else.
|
44
|
+
|
45
|
+
### Portability
|
46
|
+
X/Open BSD SYS V
|
47
|
+
mvcur Y Y Y
|
48
|
+
|
49
|
+
**man-end****************************************************************/
|
50
|
+
|
51
|
+
#include <term.h>
|
52
|
+
|
53
|
+
TERMINAL *cur_term = NULL;
|
54
|
+
|
55
|
+
int mvcur(int oldrow, int oldcol, int newrow, int newcol)
|
56
|
+
{
|
57
|
+
PDC_LOG(("mvcur() - called: oldrow %d oldcol %d newrow %d newcol %d\n",
|
58
|
+
oldrow, oldcol, newrow, newcol));
|
59
|
+
|
60
|
+
if ((newrow >= LINES) || (newcol >= COLS) || (newrow < 0) || (newcol < 0))
|
61
|
+
return ERR;
|
62
|
+
|
63
|
+
PDC_gotoyx(newrow, newcol);
|
64
|
+
SP->cursrow = newrow;
|
65
|
+
SP->curscol = newcol;
|
66
|
+
|
67
|
+
return OK;
|
68
|
+
}
|
69
|
+
|
70
|
+
int vidattr(chtype attr)
|
71
|
+
{
|
72
|
+
PDC_LOG(("vidattr() - called: attr %d\n", attr));
|
73
|
+
|
74
|
+
return ERR;
|
75
|
+
}
|
76
|
+
|
77
|
+
int vid_attr(attr_t attr, short color_pair, void *opt)
|
78
|
+
{
|
79
|
+
PDC_LOG(("vid_attr() - called\n"));
|
80
|
+
|
81
|
+
return ERR;
|
82
|
+
}
|
83
|
+
|
84
|
+
int vidputs(chtype attr, int (*putfunc)(int))
|
85
|
+
{
|
86
|
+
PDC_LOG(("vidputs() - called: attr %d\n", attr));
|
87
|
+
|
88
|
+
return ERR;
|
89
|
+
}
|
90
|
+
|
91
|
+
int vid_puts(attr_t attr, short color_pair, void *opt, int (*putfunc)(int))
|
92
|
+
{
|
93
|
+
PDC_LOG(("vid_puts() - called\n"));
|
94
|
+
|
95
|
+
return ERR;
|
96
|
+
}
|
97
|
+
|
98
|
+
int del_curterm(TERMINAL *oterm)
|
99
|
+
{
|
100
|
+
PDC_LOG(("del_curterm() - called\n"));
|
101
|
+
|
102
|
+
return ERR;
|
103
|
+
}
|
104
|
+
|
105
|
+
int putp(const char *str)
|
106
|
+
{
|
107
|
+
PDC_LOG(("putp() - called: str %s\n", str));
|
108
|
+
|
109
|
+
return ERR;
|
110
|
+
}
|
111
|
+
|
112
|
+
int restartterm(const char *term, int filedes, int *errret)
|
113
|
+
{
|
114
|
+
PDC_LOG(("restartterm() - called\n"));
|
115
|
+
|
116
|
+
if (errret)
|
117
|
+
*errret = -1;
|
118
|
+
|
119
|
+
return ERR;
|
120
|
+
}
|
121
|
+
|
122
|
+
TERMINAL *set_curterm(TERMINAL *nterm)
|
123
|
+
{
|
124
|
+
PDC_LOG(("set_curterm() - called\n"));
|
125
|
+
|
126
|
+
return (TERMINAL *)NULL;
|
127
|
+
}
|
128
|
+
|
129
|
+
int setterm(const char *term)
|
130
|
+
{
|
131
|
+
PDC_LOG(("setterm() - called\n"));
|
132
|
+
|
133
|
+
return ERR;
|
134
|
+
}
|
135
|
+
|
136
|
+
int setupterm(const char *term, int filedes, int *errret)
|
137
|
+
{
|
138
|
+
PDC_LOG(("setupterm() - called\n"));
|
139
|
+
|
140
|
+
if (errret)
|
141
|
+
*errret = -1;
|
142
|
+
else
|
143
|
+
fprintf(stderr, "There is no terminfo database\n");
|
144
|
+
|
145
|
+
return ERR;
|
146
|
+
}
|
147
|
+
|
148
|
+
int tgetent(char *bp, const char *name)
|
149
|
+
{
|
150
|
+
PDC_LOG(("tgetent() - called: name %s\n", name));
|
151
|
+
|
152
|
+
return ERR;
|
153
|
+
}
|
154
|
+
|
155
|
+
int tgetflag(const char *id)
|
156
|
+
{
|
157
|
+
PDC_LOG(("tgetflag() - called: id %s\n", id));
|
158
|
+
|
159
|
+
return ERR;
|
160
|
+
}
|
161
|
+
|
162
|
+
int tgetnum(const char *id)
|
163
|
+
{
|
164
|
+
PDC_LOG(("tgetnum() - called: id %s\n", id));
|
165
|
+
|
166
|
+
return ERR;
|
167
|
+
}
|
168
|
+
|
169
|
+
char *tgetstr(const char *id, char **area)
|
170
|
+
{
|
171
|
+
PDC_LOG(("tgetstr() - called: id %s\n", id));
|
172
|
+
|
173
|
+
return (char *)NULL;
|
174
|
+
}
|
175
|
+
|
176
|
+
char *tgoto(const char *cap, int col, int row)
|
177
|
+
{
|
178
|
+
PDC_LOG(("tgoto() - called\n"));
|
179
|
+
|
180
|
+
return (char *)NULL;
|
181
|
+
}
|
182
|
+
|
183
|
+
int tigetflag(const char *capname)
|
184
|
+
{
|
185
|
+
PDC_LOG(("tigetflag() - called: capname %s\n", capname));
|
186
|
+
|
187
|
+
return -1;
|
188
|
+
}
|
189
|
+
|
190
|
+
int tigetnum(const char *capname)
|
191
|
+
{
|
192
|
+
PDC_LOG(("tigetnum() - called: capname %s\n", capname));
|
193
|
+
|
194
|
+
return -2;
|
195
|
+
}
|
196
|
+
|
197
|
+
char *tigetstr(const char *capname)
|
198
|
+
{
|
199
|
+
PDC_LOG(("tigetstr() - called: capname %s\n", capname));
|
200
|
+
|
201
|
+
return (char *)(-1);
|
202
|
+
}
|
203
|
+
|
204
|
+
char *tparm(const char *cap, long p1, long p2, long p3, long p4,
|
205
|
+
long p5, long p6, long p7, long p8, long p9)
|
206
|
+
{
|
207
|
+
PDC_LOG(("tparm() - called: cap %s\n", cap));
|
208
|
+
|
209
|
+
return (char *)NULL;
|
210
|
+
}
|
211
|
+
|
212
|
+
int tputs(const char *str, int affcnt, int (*putfunc)(int))
|
213
|
+
{
|
214
|
+
PDC_LOG(("tputs() - called\n"));
|
215
|
+
|
216
|
+
return ERR;
|
217
|
+
}
|
@@ -0,0 +1,163 @@
|
|
1
|
+
/* Public Domain Curses */
|
2
|
+
|
3
|
+
#include <curspriv.h>
|
4
|
+
|
5
|
+
/*man-start**************************************************************
|
6
|
+
|
7
|
+
touch
|
8
|
+
-----
|
9
|
+
|
10
|
+
### Synopsis
|
11
|
+
|
12
|
+
int touchwin(WINDOW *win);
|
13
|
+
int touchline(WINDOW *win, int start, int count);
|
14
|
+
int untouchwin(WINDOW *win);
|
15
|
+
int wtouchln(WINDOW *win, int y, int n, int changed);
|
16
|
+
bool is_linetouched(WINDOW *win, int line);
|
17
|
+
bool is_wintouched(WINDOW *win);
|
18
|
+
|
19
|
+
### Description
|
20
|
+
|
21
|
+
touchwin() and touchline() throw away all information about
|
22
|
+
which parts of the window have been touched, pretending that the
|
23
|
+
entire window has been drawn on. This is sometimes necessary
|
24
|
+
when using overlapping windows, since a change to one window
|
25
|
+
will affect the other window, but the records of which lines
|
26
|
+
have been changed in the other window will not reflect the
|
27
|
+
change.
|
28
|
+
|
29
|
+
untouchwin() marks all lines in the window as unchanged since
|
30
|
+
the last call to wrefresh().
|
31
|
+
|
32
|
+
wtouchln() makes n lines in the window, starting at line y, look
|
33
|
+
as if they have (changed == 1) or have not (changed == 0) been
|
34
|
+
changed since the last call to wrefresh().
|
35
|
+
|
36
|
+
is_linetouched() returns TRUE if the specified line in the
|
37
|
+
specified window has been changed since the last call to
|
38
|
+
wrefresh().
|
39
|
+
|
40
|
+
is_wintouched() returns TRUE if the specified window
|
41
|
+
has been changed since the last call to wrefresh().
|
42
|
+
|
43
|
+
### Return Value
|
44
|
+
|
45
|
+
All functions return OK on success and ERR on error except
|
46
|
+
is_wintouched() and is_linetouched().
|
47
|
+
|
48
|
+
### Portability
|
49
|
+
X/Open BSD SYS V
|
50
|
+
touchwin Y Y Y
|
51
|
+
touchline Y - 3.0
|
52
|
+
untouchwin Y - 4.0
|
53
|
+
wtouchln Y Y Y
|
54
|
+
is_linetouched Y - 4.0
|
55
|
+
is_wintouched Y - 4.0
|
56
|
+
|
57
|
+
**man-end****************************************************************/
|
58
|
+
|
59
|
+
int touchwin(WINDOW *win)
|
60
|
+
{
|
61
|
+
int i;
|
62
|
+
|
63
|
+
PDC_LOG(("touchwin() - called: Win=%x\n", win));
|
64
|
+
|
65
|
+
if (!win)
|
66
|
+
return ERR;
|
67
|
+
|
68
|
+
for (i = 0; i < win->_maxy; i++)
|
69
|
+
{
|
70
|
+
win->_firstch[i] = 0;
|
71
|
+
win->_lastch[i] = win->_maxx - 1;
|
72
|
+
}
|
73
|
+
|
74
|
+
return OK;
|
75
|
+
}
|
76
|
+
|
77
|
+
int touchline(WINDOW *win, int start, int count)
|
78
|
+
{
|
79
|
+
int i;
|
80
|
+
|
81
|
+
PDC_LOG(("touchline() - called: win=%p start %d count %d\n",
|
82
|
+
win, start, count));
|
83
|
+
|
84
|
+
if (!win || start > win->_maxy || start + count > win->_maxy)
|
85
|
+
return ERR;
|
86
|
+
|
87
|
+
for (i = start; i < start + count; i++)
|
88
|
+
{
|
89
|
+
win->_firstch[i] = 0;
|
90
|
+
win->_lastch[i] = win->_maxx - 1;
|
91
|
+
}
|
92
|
+
|
93
|
+
return OK;
|
94
|
+
}
|
95
|
+
|
96
|
+
int untouchwin(WINDOW *win)
|
97
|
+
{
|
98
|
+
int i;
|
99
|
+
|
100
|
+
PDC_LOG(("untouchwin() - called: win=%p", win));
|
101
|
+
|
102
|
+
if (!win)
|
103
|
+
return ERR;
|
104
|
+
|
105
|
+
for (i = 0; i < win->_maxy; i++)
|
106
|
+
{
|
107
|
+
win->_firstch[i] = _NO_CHANGE;
|
108
|
+
win->_lastch[i] = _NO_CHANGE;
|
109
|
+
}
|
110
|
+
|
111
|
+
return OK;
|
112
|
+
}
|
113
|
+
|
114
|
+
int wtouchln(WINDOW *win, int y, int n, int changed)
|
115
|
+
{
|
116
|
+
int i;
|
117
|
+
|
118
|
+
PDC_LOG(("wtouchln() - called: win=%p y=%d n=%d changed=%d\n",
|
119
|
+
win, y, n, changed));
|
120
|
+
|
121
|
+
if (!win || y > win->_maxy || y + n > win->_maxy)
|
122
|
+
return ERR;
|
123
|
+
|
124
|
+
for (i = y; i < y + n; i++)
|
125
|
+
{
|
126
|
+
if (changed)
|
127
|
+
{
|
128
|
+
win->_firstch[i] = 0;
|
129
|
+
win->_lastch[i] = win->_maxx - 1;
|
130
|
+
}
|
131
|
+
else
|
132
|
+
{
|
133
|
+
win->_firstch[i] = _NO_CHANGE;
|
134
|
+
win->_lastch[i] = _NO_CHANGE;
|
135
|
+
}
|
136
|
+
}
|
137
|
+
|
138
|
+
return OK;
|
139
|
+
}
|
140
|
+
|
141
|
+
bool is_linetouched(WINDOW *win, int line)
|
142
|
+
{
|
143
|
+
PDC_LOG(("is_linetouched() - called: win=%p line=%d\n", win, line));
|
144
|
+
|
145
|
+
if (!win || line > win->_maxy || line < 0)
|
146
|
+
return FALSE;
|
147
|
+
|
148
|
+
return (win->_firstch[line] != _NO_CHANGE) ? TRUE : FALSE;
|
149
|
+
}
|
150
|
+
|
151
|
+
bool is_wintouched(WINDOW *win)
|
152
|
+
{
|
153
|
+
int i;
|
154
|
+
|
155
|
+
PDC_LOG(("is_wintouched() - called: win=%p\n", win));
|
156
|
+
|
157
|
+
if (win)
|
158
|
+
for (i = 0; i < win->_maxy; i++)
|
159
|
+
if (win->_firstch[i] != _NO_CHANGE)
|
160
|
+
return TRUE;
|
161
|
+
|
162
|
+
return FALSE;
|
163
|
+
}
|