123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- #include <curses.h>
-
- /** @file
- *
- * MuCurses window attribute functions
- *
- */
-
- FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
- /**
- * Get the background rendition attributes for a window
- *
- * @v *win subject window
- * @ret ch chtype rendition representation
- */
- inline chtype getbkgd ( WINDOW *win ) {
- return win->attrs;
- }
-
- /**
- * Turn off attributes in a window
- *
- * @v win subject window
- * @v attrs attributes to enable
- * @ret rc return status code
- */
- int wattroff ( WINDOW *win, int attrs ) {
- win->attrs &= ~attrs;
- return OK;
- }
-
- /**
- * Turn on attributes in a window
- *
- * @v win subject window
- * @v attrs attributes to enable
- * @ret rc return status code
- */
- int wattron ( WINDOW *win, int attrs ) {
- win->attrs |= attrs;
- return OK;
- }
-
- /**
- * Set attributes in a window
- *
- * @v win subject window
- * @v attrs attributes to enable
- * @ret rc return status code
- */
- int wattrset ( WINDOW *win, int attrs ) {
- win->attrs = ( attrs | ( win->attrs & A_COLOR ) );
- return OK;
- }
-
- /**
- * Get attributes and colour pair information
- *
- * @v *win window to obtain information from
- * @v *attrs address in which to store attributes
- * @v *pair address in which to store colour pair
- * @v *opts undefined (for future implementation)
- * @ret rc return status cude
- */
- int wattr_get ( WINDOW *win, attr_t *attrs, short *pair,
- void *opts __unused ) {
- *attrs = win->attrs & A_ATTRIBUTES;
- *pair = PAIR_NUMBER ( win->attrs );
- return OK;
- }
-
- /**
- * Turn off attributes in a window
- *
- * @v *win subject window
- * @v attrs attributes to toggle
- * @v *opts undefined (for future implementation)
- * @ret rc return status code
- */
- int wattr_off ( WINDOW *win, attr_t attrs,
- void *opts __unused ) {
- wattroff( win, attrs );
- return OK;
- }
-
- /**
- * Turn on attributes in a window
- *
- * @v *win subject window
- * @v attrs attributes to toggle
- * @v *opts undefined (for future implementation)
- * @ret rc return status code
- */
- int wattr_on ( WINDOW *win, attr_t attrs,
- void *opts __unused ) {
- wattron( win, attrs );
- return OK;
- }
-
- /**
- * Set attributes and colour pair information in a window
- *
- * @v *win subject window
- * @v attrs attributes to set
- * @v cpair colour pair to set
- * @v *opts undefined (for future implementation)
- * @ret rc return status code
- */
- int wattr_set ( WINDOW *win, attr_t attrs, short cpair,
- void *opts __unused ) {
- wattrset( win, attrs | COLOUR_PAIR ( cpair ) );
- return OK;
- }
-
- /**
- * Set colour pair for a window
- *
- * @v *win subject window
- * @v colour_pair_number colour pair integer
- * @v *opts undefined (for future implementation)
- * @ret rc return status code
- */
- int wcolour_set ( WINDOW *win, short colour_pair_number,
- void *opts __unused ) {
- if ( ( unsigned short )colour_pair_number > COLOUR_PAIRS )
- return ERR;
-
- win->attrs = ( ( win->attrs & A_ATTRIBUTES ) |
- COLOUR_PAIR ( colour_pair_number ) );
- return OK;
- }
|