forked from KolibriOS/kolibrios
3908f96f64
git-svn-id: svn://kolibrios.org@9214 a494cfbc-eb01-0410-851d-a64ba20cac60
176 lines
4.1 KiB
C
176 lines
4.1 KiB
C
/* PDCurses */
|
|
|
|
#include <curspriv.h>
|
|
|
|
/*man-start**************************************************************
|
|
|
|
outopts
|
|
-------
|
|
|
|
### Synopsis
|
|
|
|
int clearok(WINDOW *win, bool bf);
|
|
int idlok(WINDOW *win, bool bf);
|
|
void idcok(WINDOW *win, bool bf);
|
|
void immedok(WINDOW *win, bool bf);
|
|
int leaveok(WINDOW *win, bool bf);
|
|
int setscrreg(int top, int bot);
|
|
int wsetscrreg(WINDOW *win, int top, int bot);
|
|
int scrollok(WINDOW *win, bool bf);
|
|
|
|
int raw_output(bool bf);
|
|
|
|
bool is_leaveok(const WINDOW *win);
|
|
|
|
### Description
|
|
|
|
With clearok(), if bf is TRUE, the next call to wrefresh() with this
|
|
window will clear the screen completely and redraw the entire screen.
|
|
|
|
immedok(), called with a second argument of TRUE, causes an automatic
|
|
wrefresh() every time a change is made to the specified window.
|
|
|
|
Normally, the hardware cursor is left at the location of the window
|
|
being refreshed. leaveok() allows the cursor to be left wherever the
|
|
update happens to leave it. It's useful for applications where the
|
|
cursor is not used, since it reduces the need for cursor motions. If
|
|
possible, the cursor is made invisible when this option is enabled.
|
|
|
|
wsetscrreg() sets a scrolling region in a window; "top" and "bot" are
|
|
the line numbers for the top and bottom margins. If this option and
|
|
scrollok() are enabled, any attempt to move off the bottom margin
|
|
will cause all lines in the scrolling region to scroll up one line.
|
|
setscrreg() is the stdscr version.
|
|
|
|
idlok() and idcok() do nothing in PDCurses, but are provided for
|
|
compatibility with other curses implementations.
|
|
|
|
raw_output() enables the output of raw characters using the standard
|
|
*add* and *ins* curses functions (that is, it disables translation of
|
|
control characters).
|
|
|
|
is_leaveok() reports whether the specified window is in leaveok mode.
|
|
|
|
### Return Value
|
|
|
|
All functions except is_leaveok() return OK on success and ERR on
|
|
error.
|
|
|
|
### Portability
|
|
X/Open ncurses NetBSD
|
|
clearok Y Y Y
|
|
idlok Y Y Y
|
|
idcok Y Y Y
|
|
immedok Y Y Y
|
|
leaveok Y Y Y
|
|
setscrreg Y Y Y
|
|
wsetscrreg Y Y Y
|
|
scrollok Y Y Y
|
|
is_leaveok - Y Y
|
|
raw_output - - -
|
|
|
|
**man-end****************************************************************/
|
|
|
|
int clearok(WINDOW *win, bool bf)
|
|
{
|
|
PDC_LOG(("clearok() - called\n"));
|
|
|
|
if (!win)
|
|
return ERR;
|
|
|
|
win->_clear = bf;
|
|
|
|
return OK;
|
|
}
|
|
|
|
int idlok(WINDOW *win, bool bf)
|
|
{
|
|
PDC_LOG(("idlok() - called\n"));
|
|
|
|
return OK;
|
|
}
|
|
|
|
void idcok(WINDOW *win, bool bf)
|
|
{
|
|
PDC_LOG(("idcok() - called\n"));
|
|
}
|
|
|
|
void immedok(WINDOW *win, bool bf)
|
|
{
|
|
PDC_LOG(("immedok() - called\n"));
|
|
|
|
if (win)
|
|
win->_immed = bf;
|
|
}
|
|
|
|
int leaveok(WINDOW *win, bool bf)
|
|
{
|
|
PDC_LOG(("leaveok() - called\n"));
|
|
|
|
if (!win)
|
|
return ERR;
|
|
|
|
win->_leaveit = bf;
|
|
|
|
curs_set(!bf);
|
|
|
|
return OK;
|
|
}
|
|
|
|
int setscrreg(int top, int bottom)
|
|
{
|
|
PDC_LOG(("setscrreg() - called: top %d bottom %d\n", top, bottom));
|
|
|
|
return wsetscrreg(stdscr, top, bottom);
|
|
}
|
|
|
|
int wsetscrreg(WINDOW *win, int top, int bottom)
|
|
{
|
|
PDC_LOG(("wsetscrreg() - called: top %d bottom %d\n", top, bottom));
|
|
|
|
if (win && 0 <= top && top <= win->_cury &&
|
|
win->_cury <= bottom && bottom < win->_maxy)
|
|
{
|
|
win->_tmarg = top;
|
|
win->_bmarg = bottom;
|
|
|
|
return OK;
|
|
}
|
|
else
|
|
return ERR;
|
|
}
|
|
|
|
int scrollok(WINDOW *win, bool bf)
|
|
{
|
|
PDC_LOG(("scrollok() - called\n"));
|
|
|
|
if (!win)
|
|
return ERR;
|
|
|
|
win->_scroll = bf;
|
|
|
|
return OK;
|
|
}
|
|
|
|
int raw_output(bool bf)
|
|
{
|
|
PDC_LOG(("raw_output() - called\n"));
|
|
|
|
if (!SP)
|
|
return ERR;
|
|
|
|
SP->raw_out = bf;
|
|
|
|
return OK;
|
|
}
|
|
|
|
bool is_leaveok(const WINDOW *win)
|
|
{
|
|
PDC_LOG(("is_leaveok() - called\n"));
|
|
|
|
if (!win)
|
|
return FALSE;
|
|
|
|
return win->_leaveit;
|
|
}
|