mirror of
https://github.com/dankamongmen/notcurses
synced 2025-03-09 17:19:03 -04:00
ncchannels_bchannel: operate only on alpha+coloring bits #2571
This commit is contained in:
parent
9890346769
commit
860d06384d
6
NEWS.md
6
NEWS.md
@ -2,7 +2,11 @@ This document attempts to list user-visible changes and any major internal
|
||||
rearrangements of Notcurses.
|
||||
|
||||
* 3.0.6 (not yet released)
|
||||
* Remove the unsafe `ncplane_set_bchannel()` and `ncplane_set_fchannel()`.
|
||||
* `ncplane_set_[fb]channel()`, `ncplane_[fb]channel()`,
|
||||
`ncplane_channels()`, `ncplane_set_channels()`,
|
||||
`ncchannels_set_[fb]channel()`, and `ncchannels_[fb]channel()` now
|
||||
function only on the 28 alpha + coloring bits of their respective
|
||||
channels, which is almost certainly what you wanted in the first place.
|
||||
|
||||
* 3.0.5 (2022-01-21)
|
||||
* The Hyper and Super modifiers are now supported. CapsLock and NumLock
|
||||
|
9
USAGE.md
9
USAGE.md
@ -3124,13 +3124,16 @@ ncchannel_set_default(uint32_t* channel){
|
||||
return *channel &= ~NC_BGDEFAULT_MASK;
|
||||
}
|
||||
|
||||
// Extract the 32-bit background channel from a channel pair.
|
||||
// Extract the background alpha and coloring bits from a 64-bit channel
|
||||
// pair as a single 32-bit value.
|
||||
static inline unsigned
|
||||
ncchannels_bchannel(uint64_t channels){
|
||||
return channels & 0xfffffffflu;
|
||||
return channels & (NC_BG_RGB_MASK | NC_BG_PALETTE |
|
||||
NC_BGDEFAULT_MASK | NC_BG_ALPHA_MASK);
|
||||
}
|
||||
|
||||
// Extract the 32-bit foreground channel from a channel pair.
|
||||
// Extract the foreground alpha and coloring bits from a 64-bit channel
|
||||
// pair as a single 32-bit value.
|
||||
static inline uint32_t
|
||||
ncchannels_fchannel(uint64_t channels){
|
||||
return ncchannels_bchannel(channels >> 32u);
|
||||
|
@ -296,13 +296,16 @@ ncchannel_set_rgb8_clipped(uint32_t* channel, int r, int g, int b){
|
||||
*channel = (*channel & ~(NC_BG_RGB_MASK | NC_BG_PALETTE)) | NC_BGDEFAULT_MASK | c;
|
||||
}
|
||||
|
||||
// Extract the 32-bit background channel from a channel pair.
|
||||
// Extract the background alpha and coloring bits from a 64-bit channel
|
||||
// pair as a single 32-bit value.
|
||||
static inline uint32_t
|
||||
ncchannels_bchannel(uint64_t channels){
|
||||
return channels & 0xfffffffflu;
|
||||
return channels & (NC_BG_RGB_MASK | NC_BG_PALETTE |
|
||||
NC_BGDEFAULT_MASK | NC_BG_ALPHA_MASK);
|
||||
}
|
||||
|
||||
// Extract the 32-bit foreground channel from a channel pair.
|
||||
// Extract the foreground alpha and coloring bits from a 64-bit channel
|
||||
// pair as a single 32-bit value.
|
||||
static inline uint32_t
|
||||
ncchannels_fchannel(uint64_t channels){
|
||||
return ncchannels_bchannel(channels >> 32u);
|
||||
|
Loading…
x
Reference in New Issue
Block a user