You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.3 KiB
75 lines
1.3 KiB
3 years ago
|
/* PDCurses */
|
||
|
|
||
|
#include <curspriv.h>
|
||
|
|
||
|
/*man-start**************************************************************
|
||
|
|
||
|
beep
|
||
|
----
|
||
|
|
||
|
### Synopsis
|
||
|
|
||
|
int beep(void);
|
||
|
int flash(void);
|
||
|
|
||
|
### Description
|
||
|
|
||
|
beep() sounds the audible bell on the terminal, if possible; if not,
|
||
|
it calls flash().
|
||
|
|
||
|
flash() "flashes" the screen, by inverting the foreground and
|
||
|
background of every cell, pausing, and then restoring the original
|
||
|
attributes.
|
||
|
|
||
|
### Return Value
|
||
|
|
||
|
These functions return ERR if called before initscr(), otherwise OK.
|
||
|
|
||
|
### Portability
|
||
|
X/Open ncurses NetBSD
|
||
|
beep Y Y Y
|
||
|
flash Y Y Y
|
||
|
|
||
|
**man-end****************************************************************/
|
||
|
|
||
|
int beep(void)
|
||
|
{
|
||
|
PDC_LOG(("beep() - called\n"));
|
||
|
|
||
|
if (!SP)
|
||
|
return ERR;
|
||
|
|
||
|
if (SP->audible)
|
||
|
PDC_beep();
|
||
|
else
|
||
|
flash();
|
||
|
|
||
|
return OK;
|
||
|
}
|
||
|
|
||
|
int flash(void)
|
||
|
{
|
||
|
int z, y, x;
|
||
|
|
||
|
PDC_LOG(("flash() - called\n"));
|
||
|
|
||
|
if (!curscr)
|
||
|
return ERR;
|
||
|
|
||
|
/* Reverse each cell; wait; restore the screen */
|
||
|
|
||
|
for (z = 0; z < 2; z++)
|
||
|
{
|
||
|
for (y = 0; y < LINES; y++)
|
||
|
for (x = 0; x < COLS; x++)
|
||
|
curscr->_y[y][x] ^= A_REVERSE;
|
||
|
|
||
|
wrefresh(curscr);
|
||
|
|
||
|
if (!z)
|
||
|
napms(50);
|
||
|
}
|
||
|
|
||
|
return OK;
|
||
|
}
|