July 23, 2004 CURSES 3

### NAME

curses_cursor, getcury, getcurx, getyx, getbegy, getbegx, getbegyx, getmaxy, getmaxx, getmaxyx, getpary, getparx, getparyx, move, wmove, mvcur - curses cursor and window location and positioning routines

### LIBRARY

Curses Library (libcurses, -lcurses)

### SYNOPSIS

```int` getcury(```WINDOW *win`)
```int` getcurx(```WINDOW *win`)
```void` getyx(```WINDOW *win``, int y``, int x`)
```int` getbegy(```WINDOW *win`)
```int` getbegx(```WINDOW *win`)
```void` getbegyx(```WINDOW *win``, int y``, int x`)
```int` getmaxy(```WINDOW *win`)
```int` getmaxx(```WINDOW *win`)
```void` getmaxyx(```WINDOW *win``, int y``, int x`)
```int` getpary(```WINDOW *win`)
```int` getparx(```WINDOW *win`)
```void` getparyx(```WINDOW *win``, int y``, int x`)
```int` move(```int y``, int x`)
```int` wmove(```WINDOW *win``, int y``, int x`)
```int` mvcur(```int oldy``, int oldx``, int y``, int x`)

### DESCRIPTION

These functions and macros locate and position cursors and windows.

The getcury(``) and getcurx(``) functions get the current row and column positions, respectively, of the cursor in the window ```win`. The getyx(``) macro sets the values of ```y` and ```x` to the current row and column positions of the cursor in the window ```win`.

The origin row and columns of a window ```win` can be determined by calling the getbegy(``) and getbegx(``) functions, respectively, and the maximum row and column for the window can be found by calling the functions getmaxy(``) and getmaxx(``), respectively. The getbegyx(``) and getmaxyx(``) macros set the values of ```y` and ```x` to the origin and maximum row and column positions, respectively, for the window ```win`.

The getpary(``) and getparx(``) functions return the row and column position of the given subwindow relative to the window's parent. The macro getparyx(``) sets the values of ```y` and ```x` to the origin of the subwindow relative to the window's parent.

The move(``) function positions the cursor on the current window at the position given by ```y`, ```x`. The cursor position is not changed on the screen until the next refresh(``).

The wmove(``) function is the same as the move(``) function, excepting that the cursor is moved in the window specified by ```win`.

The function mvcur(``) moves the cursor to ```y`, ```x` on the screen. The arguments ```oldy`, ```oldx` define the previous cursor position for terminals that do not support absolute cursor motions. The curses library may optimise the cursor motion based on these values. If the mvcur(``) succeeds then the curses internal structures are updated with the new position of the cursor. If the destination arguments for mvcur(``) exceed the terminal bounds an error will be returned and the cursor position will be unchanged.

### RETURN VALUES

Functions returning pointers will return ```NULL` if an error is detected. The functions that return an int will return one of the following values:

```OK`
  The function completed successfully.
```ERR`
  An error occurred in the function.

### SEE ALSO

curses_refresh(3)

### STANDARDS

The NetBSD Curses library complies with the X/Open Curses specification, part of the Single Unix Specification. The getbegx(``), getbegy(``), getcurx(``), getcury(``), getmaxx(``), getmaxy(``), getparx(``), and getpary(``) functions are extensions.

### HISTORY

The Curses package appeared in 4.0BSD.