1
1
/****************************************************************************
2
* Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. *
2
* Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
4
4
* Permission is hereby granted, free of charge, to any person obtaining a *
5
5
* copy of this software and associated documentation files (the *
27
27
****************************************************************************/
29
29
/****************************************************************************
30
* Author: Thomas E. Dickey *
30
* Author: Thomas E. Dickey 1998-on *
31
* Juergen Pfeifer 2009 *
31
32
****************************************************************************/
33
34
#include <curses.priv.h>
36
MODULE_ID("$Id: lib_dft_fgbg.c,v 1.18 2005/11/26 20:03:38 tom Exp $")
37
#define CUR SP_TERMTYPE
40
MODULE_ID("$Id: lib_dft_fgbg.c,v 1.23 2009/05/23 23:04:15 tom Exp $")
39
43
* Modify the behavior of color-pair 0 so that the library doesn't assume that
40
44
* it is white on black. This is an extension to XSI curses.
42
46
NCURSES_EXPORT(int)
47
NCURSES_SP_NAME(use_default_colors) (NCURSES_SP_DCL0)
49
T((T_CALLED("use_default_colors(%p)"), SP_PARM));
50
returnCode(NCURSES_SP_NAME(assume_default_colors) (NCURSES_SP_ARGx -1, -1));
43
55
use_default_colors(void)
45
T((T_CALLED("use_default_colors()")));
46
returnCode(assume_default_colors(-1, -1));
57
return NCURSES_SP_NAME(use_default_colors) (CURRENT_SCREEN);
50
62
* Modify the behavior of color-pair 0 so that the library assumes that it
51
63
* is something specific, possibly not white on black.
53
65
NCURSES_EXPORT(int)
66
NCURSES_SP_NAME(assume_default_colors) (NCURSES_SP_DCLx int fg, int bg)
70
T((T_CALLED("assume_default_colors(%p,%d,%d)"), SP_PARM, fg, bg));
71
#ifdef USE_TERM_DRIVER
73
code = CallDriver_2(SP_PARM, defaultcolors, fg, bg);
75
if ((orig_pair || orig_colors) && !initialize_pair) {
77
SP_PARM->_default_color = isDefaultColor(fg) || isDefaultColor(bg);
78
SP_PARM->_has_sgr_39_49 = (tigetflag("AX") == TRUE);
79
SP_PARM->_default_fg = isDefaultColor(fg) ? COLOR_DEFAULT : (fg & C_MASK);
80
SP_PARM->_default_bg = isDefaultColor(bg) ? COLOR_DEFAULT : (bg & C_MASK);
81
if (SP_PARM->_color_pairs != 0) {
82
bool save = SP_PARM->_default_color;
83
SP_PARM->_default_color = TRUE;
84
init_pair(0, (short) fg, (short) bg);
85
SP_PARM->_default_color = save;
54
95
assume_default_colors(int fg, int bg)
56
T((T_CALLED("assume_default_colors(%d,%d)"), fg, bg));
58
if (!orig_pair && !orig_colors)
61
if (initialize_pair) /* don't know how to handle this */
64
SP->_default_color = isDefaultColor(fg) || isDefaultColor(bg);
65
SP->_has_sgr_39_49 = (tigetflag("AX") == TRUE);
66
SP->_default_fg = isDefaultColor(fg) ? COLOR_DEFAULT : (fg & C_MASK);
67
SP->_default_bg = isDefaultColor(bg) ? COLOR_DEFAULT : (bg & C_MASK);
68
if (SP->_color_pairs != 0) {
69
bool save = SP->_default_color;
70
SP->_default_color = TRUE;
71
init_pair(0, (short) fg, (short) bg);
72
SP->_default_color = save;
97
return NCURSES_SP_NAME(assume_default_colors) (CURRENT_SCREEN, fg, bg);