You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.4 KiB
C
78 lines
1.4 KiB
C
/* PDCursesMod */
|
|
|
|
#include <curspriv.h>
|
|
#include <assert.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"));
|
|
|
|
assert( SP);
|
|
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"));
|
|
|
|
assert( curscr);
|
|
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;
|
|
}
|