mirror of
https://github.com/dankamongmen/notcurses
synced 2025-03-09 17:19:03 -04:00
doc ncchannels_channels() and ncchannels_set_channels()
This commit is contained in:
parent
1af32a63a6
commit
4985bf1f3f
15
USAGE.md
15
USAGE.md
@ -3156,6 +3156,21 @@ ncchannel_set_default(uint32_t* channel){
|
|||||||
return *channel &= ~NC_BGDEFAULT_MASK;
|
return *channel &= ~NC_BGDEFAULT_MASK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Extract the background alpha and coloring bits from a 64-bit channel pair.
|
||||||
|
static inline uint64_t
|
||||||
|
ncchannels_channels(uint64_t channels){
|
||||||
|
return ncchannels_bchannel(channels) |
|
||||||
|
((uint64_t)ncchannels_fchannel(channels) << 32u);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the alpha and coloring bits of a channel pair from another channel pair.
|
||||||
|
static inline uint64_t
|
||||||
|
ncchannels_set_channels(uint64_t* dst, uint64_t channels){
|
||||||
|
ncchannels_set_bchannel(dst, channels & 0xffffffffull);
|
||||||
|
ncchannels_set_fchannel(dst, (channels >> 32u) & 0xffffffffull);
|
||||||
|
return *dst;
|
||||||
|
}
|
||||||
|
|
||||||
// Extract the background alpha and coloring bits from a 64-bit channel
|
// Extract the background alpha and coloring bits from a 64-bit channel
|
||||||
// pair as a single 32-bit value.
|
// pair as a single 32-bit value.
|
||||||
static inline unsigned
|
static inline unsigned
|
||||||
|
@ -78,10 +78,14 @@ typedef struct nccell {
|
|||||||
|
|
||||||
**char* nccell_extract(const struct ncplane* ***n***, const nccell* ***c***, uint16_t* ***stylemask***, uint64_t* ***channels***);**
|
**char* nccell_extract(const struct ncplane* ***n***, const nccell* ***c***, uint16_t* ***stylemask***, uint64_t* ***channels***);**
|
||||||
|
|
||||||
|
**uint64_t nccell_channels(const nccell* ***c***);**
|
||||||
|
|
||||||
**uint32_t nccell_bchannel(const nccell* ***c***);**
|
**uint32_t nccell_bchannel(const nccell* ***c***);**
|
||||||
|
|
||||||
**uint32_t nccell_fchannel(const nccell* ***c***);**
|
**uint32_t nccell_fchannel(const nccell* ***c***);**
|
||||||
|
|
||||||
|
**uint64_t nccell_set_channels(nccell* ***c***, uint64_t ***channels***);**
|
||||||
|
|
||||||
**uint64_t nccell_set_bchannel(nccell* ***c***, uint32_t ***channel***);**
|
**uint64_t nccell_set_bchannel(nccell* ***c***, uint32_t ***channel***);**
|
||||||
|
|
||||||
**uint64_t nccell_set_fchannel(nccell* ***c***, uint32_t ***channel***);**
|
**uint64_t nccell_set_fchannel(nccell* ***c***, uint32_t ***channel***);**
|
||||||
|
@ -89,10 +89,21 @@ notcurses_channels - operations on notcurses channels
|
|||||||
|
|
||||||
**int ncchannels_set_bg_palindex(uint64_t* ***channels***, unsigned ***idx***);**
|
**int ncchannels_set_bg_palindex(uint64_t* ***channels***, unsigned ***idx***);**
|
||||||
|
|
||||||
|
**uint64_t ncchannels_set_channels(uint64_t* ***dst***, uint64_t ***channels***);**
|
||||||
|
|
||||||
|
**uint64_t ncchannels_channels(uint64_t ***channels***);**
|
||||||
|
|
||||||
**uint64_t ncchannels_combine(uint32_t ***fchan***, uint32_t ***bchan***);**
|
**uint64_t ncchannels_combine(uint32_t ***fchan***, uint32_t ***bchan***);**
|
||||||
|
|
||||||
# DESCRIPTION
|
# DESCRIPTION
|
||||||
|
|
||||||
|
Channels ought not be manually manipulated. They contain several bits used
|
||||||
|
"behind the scenes", and e.g. direct assignment is likely to lead to strange
|
||||||
|
and infrequent failures. To assign one channel pair to another, use
|
||||||
|
**ncchannels_set_channels**. To assign a channel to a channel pair's
|
||||||
|
foreground, use **ncchannels_set_fchannel**. To assign a channel to a channel
|
||||||
|
pair's background, use **ncchannels_set_bchannel**.
|
||||||
|
|
||||||
**ncchannel_palindex** extracts the palette index from a channel. The channel
|
**ncchannel_palindex** extracts the palette index from a channel. The channel
|
||||||
must be palette-indexed, or the return value is meaningless. Verify palette
|
must be palette-indexed, or the return value is meaningless. Verify palette
|
||||||
indexing with **ncchannel_palindex_p**. A channel can be set to palette
|
indexing with **ncchannel_palindex_p**. A channel can be set to palette
|
||||||
|
Loading…
x
Reference in New Issue
Block a user