123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- /* PDCurses */
- #include <curspriv.h>
- /*man-start**************************************************************
- 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 ncurses NetBSD
- inch Y Y Y
- winch Y Y Y
- mvinch Y Y Y
- mvwinch Y Y Y
- in_wch Y Y Y
- win_wch Y Y Y
- mvin_wch Y Y Y
- mvwin_wch Y Y 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
|