123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #ifndef _IPXE_ANSICOL_H
- #define _IPXE_ANSICOL_H
-
- /** @file
- *
- * ANSI colours
- *
- */
-
- FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
- #include <stdint.h>
- #include <curses.h> /* For COLOR_RED etc. */
-
- /** Default colour (usually white foreground, black background) */
- #define COLOUR_DEFAULT 9
- #define COLOR_DEFAULT COLOUR_DEFAULT
-
- /** Magic colour
- *
- * The magic basic colour is automatically remapped to the colour
- * stored in @c ansicol_magic. This is used to allow the UI
- * background to automatically become transparent when a background
- * picture is used.
- */
- #define ANSICOL_MAGIC 15
-
- /** RGB value for "not defined" */
- #define ANSICOL_NO_RGB 0x01000000
-
- /**
- * @defgroup ansicolpairs ANSI colour pairs
- * @{
- */
-
- /** Default colour pair */
- #define CPAIR_DEFAULT 0
-
- /** Normal text */
- #define CPAIR_NORMAL 1
-
- /** Highlighted text */
- #define CPAIR_SELECT 2
-
- /** Unselectable text (e.g. continuation ellipses, menu separators) */
- #define CPAIR_SEPARATOR 3
-
- /** Editable text */
- #define CPAIR_EDIT 4
-
- /** Error text */
- #define CPAIR_ALERT 5
-
- /** URL text */
- #define CPAIR_URL 6
-
- /** PXE selected menu entry */
- #define CPAIR_PXE 7
-
- /** @} */
-
- /** An ANSI colour pair definition */
- struct ansicol_pair {
- /** Foreground colour index */
- uint8_t foreground;
- /** Background colour index */
- uint8_t background;
- } __attribute__ (( packed ));
-
- /* ansicol.c */
- extern void ansicol_set_pair ( unsigned int cpair );
- extern int ansicol_define_pair ( unsigned int cpair, unsigned int foreground,
- unsigned int background );
-
- /* ansicoldef.c */
- extern int ansicol_define ( unsigned int colour, unsigned int ansi,
- uint32_t rgb );
- extern void ansicol_reset_magic ( void );
- extern void ansicol_set_magic_transparent ( void );
-
- /* Function provided by ansicol.c but overridden by ansicoldef.c, if present */
- extern void ansicol_set ( unsigned int colour, unsigned int which );
-
- #endif /* _IPXE_ANSICOL_H */
|