1 /*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22 /*
23 * Copyright (c) 1995-1998 by Sun Microsystems, Inc.
24 * All rights reserved.
25 */
26
27 #pragma ident "%Z%%M% %I% %E% SMI"
28
29 /* LINTLIBRARY */
30
31 /*
32 * wattron.c
33 *
34 * Copyright 1990, 1995 by Mortice Kern Systems Inc. All rights reserved.
35 *
36 */
37
38 #ifdef M_RCSID
39 #ifndef lint
40 static char rcsID[] =
41 "$Header: /team/ps/sun_xcurses/archive/local_changes/xcurses/src/lib/"
42 "libxcurses/src/libc/xcurses/rcs/wattron.c 1.6 1998/05/28 17:10:28 "
43 "cbates Exp $";
44 #endif
45 #endif
46
47 #include <private.h>
48
49 int
wattron(WINDOW * w,int at)50 wattron(WINDOW *w, int at)
51 {
52 cchar_t cc;
53
54 (void) __m_chtype_cc((chtype) at, &cc);
55 w->_fg._at |= cc._at;
56 w->_fg._co = cc._co;
57
58 return (OK);
59 }
60
61 int
wattroff(WINDOW * w,int at)62 wattroff(WINDOW *w, int at)
63 {
64 cchar_t cc;
65
66 (void) __m_chtype_cc((chtype) at, &cc);
67 w->_fg._at &= ~cc._at;
68 if (cc._co)
69 w->_fg._co = 0;
70
71 return (OK);
72 }
73
74 int
wattrset(WINDOW * w,int at)75 wattrset(WINDOW *w, int at)
76 {
77 cchar_t cc;
78
79 (void) __m_chtype_cc((chtype) at, &cc);
80 w->_fg._co = cc._co;
81 w->_fg._at = w->_bg._at | cc._at;
82
83 return (OK);
84 }
85