| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- /* PDCurses */
- #include <curspriv.h>
- /*man-start**************************************************************
- getyx
- -----
- ### Synopsis
- void getyx(WINDOW *win, int y, int x);
- void getparyx(WINDOW *win, int y, int x);
- void getbegyx(WINDOW *win, int y, int x);
- void getmaxyx(WINDOW *win, int y, int x);
- void getsyx(int y, int x);
- void setsyx(int y, int x);
- int getbegy(WINDOW *win);
- int getbegx(WINDOW *win);
- int getcury(WINDOW *win);
- int getcurx(WINDOW *win);
- int getpary(WINDOW *win);
- int getparx(WINDOW *win);
- int getmaxy(WINDOW *win);
- int getmaxx(WINDOW *win);
- ### Description
- The getyx() macro (defined in curses.h -- the prototypes here are
- merely illustrative) puts the current cursor position of the
- specified window into y and x. getbegyx() and getmaxyx() return the
- starting coordinates and size of the specified window, respectively.
- getparyx() returns the starting coordinates of the parent's window,
- if the specified window is a subwindow; otherwise it sets y and x to
- -1. These are all macros.
- getsyx() gets the coordinates of the virtual screen cursor, and
- stores them in y and x. If leaveok() is TRUE, it returns -1, -1. If
- lines have been removed with ripoffline(), then getsyx() includes
- these lines in its count; so, the returned y and x values should only
- be used with setsyx().
- setsyx() sets the virtual screen cursor to the y, x coordinates. If
- either y or x is -1, leaveok() is set TRUE, else it's set FALSE.
- getsyx() and setsyx() are meant to be used by a library routine that
- manipulates curses windows without altering the position of the
- cursor. Note that getsyx() is defined only as a macro.
- getbegy(), getbegx(), getcurx(), getcury(), getmaxy(), getmaxx(),
- getpary(), and getparx() return the appropriate coordinate or size
- values, or ERR in the case of a NULL window.
- ### Portability
- X/Open ncurses NetBSD
- getyx Y Y Y
- getparyx Y Y Y
- getbegyx Y Y Y
- getmaxyx Y Y Y
- getsyx - Y Y
- setsyx - Y Y
- getbegy - Y Y
- getbegx - Y Y
- getcury - Y Y
- getcurx - Y Y
- getpary - Y Y
- getparx - Y Y
- getmaxy - Y Y
- getmaxx - Y Y
- **man-end****************************************************************/
- int getbegy(WINDOW *win)
- {
- PDC_LOG(("getbegy() - called\n"));
- return win ? win->_begy : ERR;
- }
- int getbegx(WINDOW *win)
- {
- PDC_LOG(("getbegx() - called\n"));
- return win ? win->_begx : ERR;
- }
- int getcury(WINDOW *win)
- {
- PDC_LOG(("getcury() - called\n"));
- return win ? win->_cury : ERR;
- }
- int getcurx(WINDOW *win)
- {
- PDC_LOG(("getcurx() - called\n"));
- return win ? win->_curx : ERR;
- }
- int getpary(WINDOW *win)
- {
- PDC_LOG(("getpary() - called\n"));
- return win ? win->_pary : ERR;
- }
- int getparx(WINDOW *win)
- {
- PDC_LOG(("getparx() - called\n"));
- return win ? win->_parx : ERR;
- }
- int getmaxy(WINDOW *win)
- {
- PDC_LOG(("getmaxy() - called\n"));
- return win ? win->_maxy : ERR;
- }
- int getmaxx(WINDOW *win)
- {
- PDC_LOG(("getmaxx() - called\n"));
- return win ? win->_maxx : ERR;
- }
- void setsyx(int y, int x)
- {
- PDC_LOG(("setsyx() - called\n"));
- if (curscr)
- {
- curscr->_leaveit = y == -1 || x == -1;
- if (!curscr->_leaveit)
- wmove(curscr, y, x);
- }
- }
|