source: bootcd/isolinux/syslinux-6.03/gpxe/src/hci/mucurses/winattrs.c @ 26ffad7

Last change on this file since 26ffad7 was e16e8f2, checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago

bootstuff

  • Property mode set to 100644
File size: 2.8 KB
Line 
1#include <curses.h>
2
3/** @file
4 *
5 * MuCurses window attribute functions
6 *
7 */
8
9FILE_LICENCE ( GPL2_OR_LATER );
10
11/**
12 * Get the background rendition attributes for a window
13 *
14 * @v *win      subject window
15 * @ret ch      chtype rendition representation
16 */
17inline chtype getbkgd ( WINDOW *win ) {
18        return win->attrs;
19}
20
21/**
22 * Turn off attributes in a window
23 *
24 * @v win       subject window
25 * @v attrs     attributes to enable
26 * @ret rc      return status code
27 */
28int wattroff ( WINDOW *win, int attrs ) {
29        win->attrs &= ~attrs;
30        return OK;
31}
32
33/**
34 * Turn on attributes in a window
35 *
36 * @v win       subject window
37 * @v attrs     attributes to enable
38 * @ret rc      return status code
39 */
40int wattron ( WINDOW *win, int attrs ) {
41        win->attrs |= attrs;
42        return OK;
43}
44
45/**
46 * Set attributes in a window
47 *
48 * @v win       subject window
49 * @v attrs     attributes to enable
50 * @ret rc      return status code
51 */
52int wattrset ( WINDOW *win, int attrs ) {
53        win->attrs = ( attrs | ( win->attrs & A_COLOR ) );
54        return OK;
55}
56
57/**
58 * Get attributes and colour pair information
59 *
60 * @v *win      window to obtain information from
61 * @v *attrs    address in which to store attributes
62 * @v *pair     address in which to store colour pair
63 * @v *opts     undefined (for future implementation)
64 * @ret rc      return status cude
65 */
66int wattr_get ( WINDOW *win, attr_t *attrs, short *pair,
67                void *opts __unused ) {
68        *attrs = win->attrs & A_ATTRIBUTES;
69        *pair = PAIR_NUMBER ( win->attrs );
70        return OK;
71}
72
73/**
74 * Turn off attributes in a window
75 *
76 * @v *win      subject window
77 * @v attrs     attributes to toggle
78 * @v *opts     undefined (for future implementation)
79 * @ret rc      return status code
80 */
81int wattr_off ( WINDOW *win, attr_t attrs,
82                void *opts __unused ) {
83        wattroff( win, attrs );
84        return OK;
85}
86
87/**
88 * Turn on attributes in a window
89 *
90 * @v *win      subject window
91 * @v attrs     attributes to toggle
92 * @v *opts     undefined (for future implementation)
93 * @ret rc      return status code
94 */
95int wattr_on ( WINDOW *win, attr_t attrs,
96               void *opts __unused ) {
97        wattron( win, attrs );
98        return OK;
99}
100
101/**
102 * Set attributes and colour pair information in a window
103 *
104 * @v *win      subject window
105 * @v attrs     attributes to set
106 * @v cpair     colour pair to set
107 * @v *opts     undefined (for future implementation)
108 * @ret rc      return status code
109 */
110int wattr_set ( WINDOW *win, attr_t attrs, short cpair,
111                void *opts __unused ) {
112        wattrset( win, attrs | COLOUR_PAIR ( cpair ) );
113        return OK;
114}
115
116/**
117 * Set colour pair for a window
118 *
119 * @v *win                      subject window
120 * @v colour_pair_number        colour pair integer
121 * @v *opts                     undefined (for future implementation)
122 * @ret rc                      return status code
123 */
124int wcolour_set ( WINDOW *win, short colour_pair_number,
125                  void *opts __unused ) {
126        if ( ( unsigned short )colour_pair_number > COLOUR_PAIRS )
127                return ERR;
128
129        win->attrs = ( ( win->attrs & A_ATTRIBUTES ) |
130                       COLOUR_PAIR ( colour_pair_number ) );
131        return OK;
132}
133
Note: See TracBrowser for help on using the repository browser.