rlib
Convenience library for useful things
Loading...
Searching...
No Matches

Packed foreground / background / attribute bits for terminal styling. More...

Macros

#define R_CLR_FG_SHIFT   0
 Bit shift for the foreground colour nibble.
 
#define R_CLR_BG_SHIFT   4
 Bit shift for the background colour nibble.
 
#define R_CLR_FG_MASK   0x000F
 Mask isolating the FG nibble.
 
#define R_CLR_BG_MASK   0x00F0
 Mask isolating the BG nibble.
 
#define R_CLR_FMT_MASK   0xFF00
 Mask isolating the FMT bits.
 

Enumerations

enum  RColorFlags {
  R_CLR_FG_BLACK = (R_CLR_BLACK << R_CLR_FG_SHIFT) , R_CLR_FG_RED = (R_CLR_RED << R_CLR_FG_SHIFT) , R_CLR_FG_GREEN = (R_CLR_GREEN << R_CLR_FG_SHIFT) , R_CLR_FG_YELLOW = (R_CLR_YELLOW << R_CLR_FG_SHIFT) ,
  R_CLR_FG_BLUE = (R_CLR_BLUE << R_CLR_FG_SHIFT) , R_CLR_FG_MAGENTA = (R_CLR_MAGENTA << R_CLR_FG_SHIFT) , R_CLR_FG_CYAN = (R_CLR_CYAN << R_CLR_FG_SHIFT) , R_CLR_FG_WHITE = (R_CLR_WHITE << R_CLR_FG_SHIFT) ,
  R_CLR_FG_EXT = (R_CLR_EXT << R_CLR_FG_SHIFT) , R_CLR_FG_DEFAULT = (R_CLR_DEFAULT << R_CLR_FG_SHIFT) , R_CLR_BG_BLACK = (R_CLR_BLACK << R_CLR_BG_SHIFT) , R_CLR_BG_RED = (R_CLR_RED << R_CLR_BG_SHIFT) ,
  R_CLR_BG_GREEN = (R_CLR_GREEN << R_CLR_BG_SHIFT) , R_CLR_BG_YELLOW = (R_CLR_YELLOW << R_CLR_BG_SHIFT) , R_CLR_BG_BLUE = (R_CLR_BLUE << R_CLR_BG_SHIFT) , R_CLR_BG_MAGENTA = (R_CLR_MAGENTA << R_CLR_BG_SHIFT) ,
  R_CLR_BG_CYAN = (R_CLR_CYAN << R_CLR_BG_SHIFT) , R_CLR_BG_WHITE = (R_CLR_WHITE << R_CLR_BG_SHIFT) , R_CLR_BG_EXT = (R_CLR_EXT << R_CLR_BG_SHIFT) , R_CLR_BG_DEFAULT = (R_CLR_DEFAULT << R_CLR_BG_SHIFT) ,
  R_CLR_FMT_BOLD = 0x0100 , R_CLR_FMT_UNDERLINE = 0x0200
}
 Combined foreground / background / attribute flags. More...
 

Colour codes (pre-shift, share the same numeric values as ANSI SGR 30/40 range)

#define R_CLR_BLACK   0
 
#define R_CLR_RED   1
 
#define R_CLR_GREEN   2
 
#define R_CLR_YELLOW   3
 
#define R_CLR_BLUE   4
 
#define R_CLR_MAGENTA   5
 
#define R_CLR_CYAN   6
 
#define R_CLR_WHITE   7
 
#define R_CLR_EXT   8
 
#define R_CLR_DEFAULT   9
 

Detailed Description

Packed foreground / background / attribute bits for terminal styling.

Layout (16-bit RColorFlags):

The R_CLR_FG_* and R_CLR_BG_* enum values are pre-shifted so they can be OR'd together directly. r_tty_clr_to_str renders these into an ANSI SGR escape sequence.

Macro Definition Documentation

◆ R_CLR_BLACK

#define R_CLR_BLACK   0

Colour code: black.

◆ R_CLR_BLUE

#define R_CLR_BLUE   4

Colour code: blue.

◆ R_CLR_CYAN

#define R_CLR_CYAN   6

Colour code: cyan.

◆ R_CLR_DEFAULT

#define R_CLR_DEFAULT   9

Colour code: terminal default.

◆ R_CLR_EXT

#define R_CLR_EXT   8

Colour code: extended (38/48 escape follows).

◆ R_CLR_GREEN

#define R_CLR_GREEN   2

Colour code: green.

◆ R_CLR_MAGENTA

#define R_CLR_MAGENTA   5

Colour code: magenta.

◆ R_CLR_RED

#define R_CLR_RED   1

Colour code: red.

◆ R_CLR_WHITE

#define R_CLR_WHITE   7

Colour code: white.

◆ R_CLR_YELLOW

#define R_CLR_YELLOW   3

Colour code: yellow.

Enumeration Type Documentation

◆ RColorFlags

Combined foreground / background / attribute flags.

Combine an R_CLR_FG_*, an R_CLR_BG_* and any R_CLR_FMT_* flags with bitwise OR.

Enumerator
R_CLR_FG_BLACK 

FG black.

R_CLR_FG_RED 

FG red.

R_CLR_FG_GREEN 

FG green.

R_CLR_FG_YELLOW 

FG yellow.

R_CLR_FG_BLUE 

FG blue.

R_CLR_FG_MAGENTA 

FG magenta.

R_CLR_FG_CYAN 

FG cyan.

R_CLR_FG_WHITE 

FG white.

R_CLR_FG_EXT 

FG extended.

R_CLR_FG_DEFAULT 

FG terminal default.

R_CLR_BG_BLACK 

BG black.

R_CLR_BG_RED 

BG red.

R_CLR_BG_GREEN 

BG green.

R_CLR_BG_YELLOW 

BG yellow.

R_CLR_BG_BLUE 

BG blue.

R_CLR_BG_MAGENTA 

BG magenta.

R_CLR_BG_CYAN 

BG cyan.

R_CLR_BG_WHITE 

BG white.

R_CLR_BG_EXT 

BG extended.

R_CLR_BG_DEFAULT 

BG terminal default.

R_CLR_FMT_BOLD 

Bold attribute.

R_CLR_FMT_UNDERLINE 

Underline attribute.