CURSES_PAD(3)

CURSES_PAD(3) | Library Functions Manual | CURSES_PAD(3)

# NAME

`curses_pad`, `newpad`, `subpad`, `prefresh`, `pnoutrefresh` —
curses pad routines

# LIBRARY

Curses Library (libcurses, -lcurses)

# SYNOPSIS

`#include <curses.h>`

WINDOW *
`newpad`(int lines, int cols);

WINDOW *
`subpad`(WINDOW *pad, int lines, int cols, int begin_y, int begin_x);

int
`prefresh`(WINDOW *pad, int pbeg_y, int pbeg_x, int sbeg_y, int sbeg_x, int smax_y, int smax_x);

int
`pnoutrefresh`(WINDOW *pad, int pbeg_y, int pbeg_x, int sbeg_y, int sbeg_x, int smax_y, int smax_x);

bool
`is_pad`(const WINDOW *pad);

# DESCRIPTION

These functions create and display pads on the current screen.

The `newpad`() function creates a new pad of size lines, cols.

`subpad`() is similar to `newpad`() excepting that the size of the subpad is bounded by the parent pad pad. The subpad shares internal data structures with the parent pad and will be refreshed when the parent pad is refreshed. The starting column and row begin_y, begin_x are relative to the parent pad origin.

The `pnoutrefresh`() function performs the internal processing required by curses to determine what changes need to be made to synchronise the internal screen buffer and the terminal but does not modify the terminal display. A rectangular area of the pad starting at column and row pbeg_y, pbeg_x is copied to the corresponding rectangular area of the screen buffer starting at column and row sbeg_y, sbeg_x and extending to smax_y, smax_x.

The `prefresh`() function causes curses to propagate changes made to the pad specified by pad to the terminal display. A rectangular area of the pad starting at column and row pbeg_y, pbeg_x is copied to the corresponding rectangular area of the terminal starting at column and row sbeg_y, sbeg_x and extending to smax_y, smax_x.

The `pnoutrefresh`() and `doupdate`() functions can be used together to speed up terminal redraws by deferring the actual terminal updates until after a batch of updates to multiple pads has been done.

The `is_pad`() function returns true if the given window was created by `newpad`(), otherwise false.

# 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), curses_window(3)

# NOTES

The `subpad`() function is similar to the derwin(3) function, and not the subwin(3) function.

# STANDARDS

The NetBSD Curses library complies with the X/Open Curses specification, part of the Single Unix Specification.

# HISTORY

The Curses package appeared in 4.0BSD. The `is_pad`() function is a ncurses extension to the Curses library and was added in NetBSD 8.0.

January 5, 2016 | NetBSD 9.5