coreboot-libre-fam15h-rdimm/payloads/libpayload/curses/PDCurses/pdcurses/beep.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;
}