1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
/* Public Domain Curses */
#include <curspriv.h>
RCSID("$Id: inch.c,v 1.33 2008/07/13 16:08:18 wmcbrine Exp $")
/*man-start**************************************************************
Name: inch
Synopsis:
chtype inch(void);
chtype winch(WINDOW *win);
chtype mvinch(int y, int x);
chtype mvwinch(WINDOW *win, int y, int x);
int in_wch(cchar_t *wcval);
int win_wch(WINDOW *win, cchar_t *wcval);
int mvin_wch(int y, int x, cchar_t *wcval);
int mvwin_wch(WINDOW *win, int y, int x, cchar_t *wcval);
Description:
The inch() functions retrieve the character and attribute from
the current or specified window position, in the form of a
chtype. If a NULL window is specified, (chtype)ERR is returned.
The in_wch() functions are the wide-character versions; instead
of returning a chtype, they store a cchar_t at the address
specified by wcval, and return OK or ERR. (No value is stored
when ERR is returned.) Note that in PDCurses, chtype and cchar_t
are the same.
Portability X/Open BSD SYS V
inch Y Y Y
winch Y Y Y
mvinch Y Y Y
mvwinch Y Y Y
in_wch Y
win_wch Y
mvin_wch Y
mvwin_wch Y
**man-end****************************************************************/
chtype winch(WINDOW *win)
{
PDC_LOG(("winch() - called\n"));
if (!win)
return (chtype)ERR;
return win->_y[win->_cury][win->_curx];
}
chtype inch(void)
{
PDC_LOG(("inch() - called\n"));
return winch(stdscr);
}
chtype mvinch(int y, int x)
{
PDC_LOG(("mvinch() - called\n"));
if (move(y, x) == ERR)
return (chtype)ERR;
return stdscr->_y[stdscr->_cury][stdscr->_curx];
}
chtype mvwinch(WINDOW *win, int y, int x)
{
PDC_LOG(("mvwinch() - called\n"));
if (wmove(win, y, x) == ERR)
return (chtype)ERR;
return win->_y[win->_cury][win->_curx];
}
#ifdef PDC_WIDE
int win_wch(WINDOW *win, cchar_t *wcval)
{
PDC_LOG(("win_wch() - called\n"));
if (!win || !wcval)
return ERR;
*wcval = win->_y[win->_cury][win->_curx];
return OK;
}
int in_wch(cchar_t *wcval)
{
PDC_LOG(("in_wch() - called\n"));
return win_wch(stdscr, wcval);
}
int mvin_wch(int y, int x, cchar_t *wcval)
{
PDC_LOG(("mvin_wch() - called\n"));
if (!wcval || (move(y, x) == ERR))
return ERR;
*wcval = stdscr->_y[stdscr->_cury][stdscr->_curx];
return OK;
}
int mvwin_wch(WINDOW *win, int y, int x, cchar_t *wcval)
{
PDC_LOG(("mvwin_wch() - called\n"));
if (!wcval || (wmove(win, y, x) == ERR))
return ERR;
*wcval = win->_y[win->_cury][win->_curx];
return OK;
}
#endif
|