pdcurses/getyx.c

branch
protocol5
changeset 106
7b156b764d11
parent 97
2d43f05b284c
equal deleted inserted replaced
104:a76af67a3a4b 106:7b156b764d11
1 /* Public Domain Curses */
2
3 #include <curspriv.h>
4
5 RCSID("$Id: getyx.c,v 1.29 2008/07/15 17:13:26 wmcbrine Exp $")
6
7 /*man-start**************************************************************
8
9 Name: getyx
10
11 Synopsis:
12 void getyx(WINDOW *win, int y, int x);
13 void getparyx(WINDOW *win, int y, int x);
14 void getbegyx(WINDOW *win, int y, int x);
15 void getmaxyx(WINDOW *win, int y, int x);
16
17 void getsyx(int y, int x);
18 int setsyx(int y, int x);
19
20 int getbegy(WINDOW *win);
21 int getbegx(WINDOW *win);
22 int getcury(WINDOW *win);
23 int getcurx(WINDOW *win);
24 int getpary(WINDOW *win);
25 int getparx(WINDOW *win);
26 int getmaxy(WINDOW *win);
27 int getmaxx(WINDOW *win);
28
29 Description:
30 The getyx() macro (defined in curses.h -- the prototypes here
31 are merely illustrative) puts the current cursor position of the
32 specified window into y and x. getbegyx() and getmaxyx() return
33 the starting coordinates and size of the specified window,
34 respectively. getparyx() returns the starting coordinates of the
35 parent's window, if the specified window is a subwindow;
36 otherwise it sets y and x to -1. These are all macros.
37
38 getsyx() gets the coordinates of the virtual screen cursor, and
39 stores them in y and x. If leaveok() is TRUE, it returns -1, -1.
40 If lines have been removed with ripoffline(), then getsyx()
41 includes these lines in its count; so, the returned y and x
42 values should only be used with setsyx().
43
44 setsyx() sets the virtual screen cursor to the y, x coordinates.
45 If y, x are -1, -1, leaveok() is set TRUE.
46
47 getsyx() and setsyx() are meant to be used by a library routine
48 that manipulates curses windows without altering the position of
49 the cursor. Note that getsyx() is defined only as a macro.
50
51 getbegy(), getbegx(), getcurx(), getcury(), getmaxy(),
52 getmaxx(), getpary(), and getparx() return the appropriate
53 coordinate or size values, or ERR in the case of a NULL window.
54
55 Portability X/Open BSD SYS V
56 getyx Y Y Y
57 getparyx - - 4.0
58 getbegyx - - 3.0
59 getmaxyx - - 3.0
60 getsyx - - 3.0
61 setsyx - - 3.0
62 getbegy - - -
63 getbegx - - -
64 getcury - - -
65 getcurx - - -
66 getpary - - -
67 getparx - - -
68 getmaxy - - -
69 getmaxx - - -
70
71 **man-end****************************************************************/
72
73 int getbegy(WINDOW *win)
74 {
75 PDC_LOG(("getbegy() - called\n"));
76
77 return win ? win->_begy : ERR;
78 }
79
80 int getbegx(WINDOW *win)
81 {
82 PDC_LOG(("getbegx() - called\n"));
83
84 return win ? win->_begx : ERR;
85 }
86
87 int getcury(WINDOW *win)
88 {
89 PDC_LOG(("getcury() - called\n"));
90
91 return win ? win->_cury : ERR;
92 }
93
94 int getcurx(WINDOW *win)
95 {
96 PDC_LOG(("getcurx() - called\n"));
97
98 return win ? win->_curx : ERR;
99 }
100
101 int getpary(WINDOW *win)
102 {
103 PDC_LOG(("getpary() - called\n"));
104
105 return win ? win->_pary : ERR;
106 }
107
108 int getparx(WINDOW *win)
109 {
110 PDC_LOG(("getparx() - called\n"));
111
112 return win ? win->_parx : ERR;
113 }
114
115 int getmaxy(WINDOW *win)
116 {
117 PDC_LOG(("getmaxy() - called\n"));
118
119 return win ? win->_maxy : ERR;
120 }
121
122 int getmaxx(WINDOW *win)
123 {
124 PDC_LOG(("getmaxx() - called\n"));
125
126 return win ? win->_maxx : ERR;
127 }
128
129 int setsyx(int y, int x)
130 {
131 PDC_LOG(("setsyx() - called\n"));
132
133 if(y == -1 && x == -1)
134 {
135 curscr->_leaveit = TRUE;
136 return OK;
137 }
138 else
139 {
140 curscr->_leaveit = FALSE;
141 return wmove(curscr, y, x);
142 }
143 }

mercurial