90 lines
2.4 KiB
C
90 lines
2.4 KiB
C
/* Public Domain Curses */
|
|
|
|
#include "pdcwin.h"
|
|
|
|
RCSID("$Id: pdcsetsc.c,v 1.40 2008/07/14 04:24:52 wmcbrine Exp $")
|
|
|
|
/*man-start**************************************************************
|
|
|
|
Name: pdcsetsc
|
|
|
|
Synopsis:
|
|
int PDC_set_blink(bool blinkon);
|
|
void PDC_set_title(const char *title);
|
|
|
|
Description:
|
|
PDC_set_blink() toggles whether the A_BLINK attribute sets an
|
|
actual blink mode (TRUE), or sets the background color to high
|
|
intensity (FALSE). The default is platform-dependent (FALSE in
|
|
most cases). It returns OK if it could set the state to match
|
|
the given parameter, ERR otherwise. Current platforms also
|
|
adjust the value of COLORS according to this function -- 16 for
|
|
FALSE, and 8 for TRUE.
|
|
|
|
PDC_set_title() sets the title of the window in which the curses
|
|
program is running. This function may not do anything on some
|
|
platforms. (Currently it only works in Win32 and X11.)
|
|
|
|
Portability X/Open BSD SYS V
|
|
PDC_set_blink - - -
|
|
PDC_set_title - - -
|
|
|
|
**man-end****************************************************************/
|
|
|
|
int PDC_curs_set(int visibility)
|
|
{
|
|
CONSOLE_CURSOR_INFO cci;
|
|
int ret_vis;
|
|
|
|
PDC_LOG(("PDC_curs_set() - called: visibility=%d\n", visibility));
|
|
|
|
ret_vis = SP->visibility;
|
|
|
|
if (GetConsoleCursorInfo(pdc_con_out, &cci) == FALSE)
|
|
return ERR;
|
|
|
|
switch(visibility)
|
|
{
|
|
case 0: /* invisible */
|
|
cci.bVisible = FALSE;
|
|
break;
|
|
case 2: /* highly visible */
|
|
cci.bVisible = TRUE;
|
|
cci.dwSize = 95;
|
|
break;
|
|
default: /* normal visibility */
|
|
cci.bVisible = TRUE;
|
|
cci.dwSize = SP->orig_cursor;
|
|
break;
|
|
}
|
|
|
|
if (SetConsoleCursorInfo(pdc_con_out, &cci) == FALSE)
|
|
return ERR;
|
|
|
|
SP->visibility = visibility;
|
|
return ret_vis;
|
|
}
|
|
|
|
void PDC_set_title(const char *title)
|
|
{
|
|
#ifdef PDC_WIDE
|
|
wchar_t wtitle[512];
|
|
#endif
|
|
PDC_LOG(("PDC_set_title() - called:<%s>\n", title));
|
|
|
|
#ifdef PDC_WIDE
|
|
PDC_mbstowcs(wtitle, title, 511);
|
|
SetConsoleTitleW(wtitle);
|
|
#else
|
|
SetConsoleTitleA(title);
|
|
#endif
|
|
}
|
|
|
|
int PDC_set_blink(bool blinkon)
|
|
{
|
|
if (pdc_color_started)
|
|
COLORS = 16;
|
|
|
|
return blinkon ? ERR : OK;
|
|
}
|