/* PDCurses */ #include /*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); } }