66 lines
1.4 KiB
C
66 lines
1.4 KiB
C
|
/* Public Domain Curses */
|
||
|
|
||
|
#include <curspriv.h>
|
||
|
|
||
|
RCSID("$Id: beep.c,v 1.34 2008/07/13 16:08:17 wmcbrine Exp $")
|
||
|
|
||
|
/*man-start**************************************************************
|
||
|
|
||
|
Name: 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 OK.
|
||
|
|
||
|
Portability X/Open BSD SYS V
|
||
|
beep Y Y Y
|
||
|
flash Y Y Y
|
||
|
|
||
|
**man-end****************************************************************/
|
||
|
|
||
|
int beep(void)
|
||
|
{
|
||
|
PDC_LOG(("beep() - called\n"));
|
||
|
|
||
|
if (SP->audible)
|
||
|
PDC_beep();
|
||
|
else
|
||
|
flash();
|
||
|
|
||
|
return OK;
|
||
|
}
|
||
|
|
||
|
int flash(void)
|
||
|
{
|
||
|
int z, y, x;
|
||
|
|
||
|
PDC_LOG(("flash() - called\n"));
|
||
|
|
||
|
/* 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;
|
||
|
}
|