diff --git a/USAGE.md b/USAGE.md index 1d5767b86..0f29bbde0 100644 --- a/USAGE.md +++ b/USAGE.md @@ -2245,6 +2245,18 @@ Helpers are provided to manipulate an `nccell`'s `channels` member. They are all implemented in terms of the lower-level [Channels API](#channels). ```c +// Extract the 32-bit background channel from a cell. +static inline uint32_t +nccell_bchannel(const nccell* cl){ + return ncchannels_bchannel(cl->channels); +} + +// Extract the 32-bit foreground channel from a cell. +static inline uint32_t +nccell_fchannel(const nccell* cl){ + return ncchannels_fchannel(cl->channels); +} + // Extract 24 bits of foreground RGB from 'cl', shifted to LSBs. static inline uint32_t nccell_fg_rgb(const nccell* cl){ diff --git a/doc/man/man3/notcurses_cell.3.md b/doc/man/man3/notcurses_cell.3.md index 77262e9a4..9a886cd02 100644 --- a/doc/man/man3/notcurses_cell.3.md +++ b/doc/man/man3/notcurses_cell.3.md @@ -78,6 +78,14 @@ typedef struct nccell { **char* nccell_extract(const struct ncplane* ***n***, const nccell* ***c***, uint16_t* ***stylemask***, uint64_t* ***channels***);** +**uint32_t nccell_bchannel(const nccell* ***c***);** + +**uint32_t nccell_fchannel(const nccell* ***c***);** + +**uint64_t nccell_set_bchannel(nccell* ***c***, uint32_t ***channel***);** + +**uint64_t nccell_set_fchannel(nccell* ***c***, uint32_t ***channel***);** + **uint32_t nccell_fg_rgb(const nccell* ***c***);** **uint32_t nccell_bg_rgb(const nccell* ***c***);**