notcurses/doc/man/man3/notcurses_channels.3.md

108 lines
3.5 KiB
Markdown
Raw Normal View History

2020-01-02 02:23:11 +00:00
% notcurses_channels(3)
% nick black <nickblack@linux.com>
2021-07-29 04:55:19 +00:00
% v2.3.12
2020-01-02 02:23:11 +00:00
# NAME
notcurses_channels - operations on notcurses channels
2020-01-02 02:23:11 +00:00
# SYNOPSIS
**#include <notcurses/notcurses.h>**
2020-01-02 02:23:11 +00:00
2020-08-24 19:15:27 +00:00
```c
#define NCCHANNELS_INITIALIZER(fr, fg, fb, br, bg, bb) \
2020-08-24 19:15:27 +00:00
(((((uint64_t)(fr) << 16u) + ((uint64_t)(fg) << 8u) + (uint64_t)(fb)) << 32ull) + \
2021-07-10 22:34:00 +00:00
(((br) << 16u) + ((bg) << 8u) + (bb)) + NC_BGDEFAULT_MASK + NC_FGDEFAULT_MASK)
#define CHANNEL_INITIALIZER(r, g, b) \
2021-07-10 22:34:00 +00:00
(((uint32_t)r << 16u) + ((uint32_t)g << 8u) + (b) + NC_BGDEFAULT_MASK)
2020-08-24 19:15:27 +00:00
```
**uint32_t ncchannel_r(uint32_t ***channel***);**
**uint32_t ncchannel_g(uint32_t ***channel***);**
**uint32_t ncchannel_b(uint32_t ***channel***);**
**uint32_t ncchannel_rgb8(uint32_t ***channel***, uint32_t* restrict ***r***, uint32_t* restrict ***g***, uint32_t* restrict ***b***);**
**unsigned ncchannel_set_rgb8(uint32_t* ***channel***, unsigned ***r***, unsigned ***g***, unsigned ***b***);**
2021-01-03 02:23:38 +00:00
**int ncchannel_set(uint32_t* ***channel***, uint32_t ***rgb***);**
**unsigned ncchannel_palindex(uint32_t ***channel***);**
**int ncchannel_set_palindex(uint32_t* ***channel***, int ***idx***);**
**uint32_t ncchannel_alpha(uint32_t ***channel***);**
**int ncchannel_set_alpha(uint32_t* ***channel***, unsigned ***alpha***);**
**bool ncchannel_default_p(uint32_t ***channel***);**
**uint32_t ncchannel_set_default(uint32_t* ***channel***);**
2021-04-29 05:18:37 +00:00
**unsigned ncchannels_fg_rgb(uint64_t ***channels***);**
2021-04-29 05:18:37 +00:00
**unsigned ncchannels_bg_rgb(uint64_t ***channels***);**
2021-04-29 05:18:37 +00:00
**int ncchannels_set_fg_rgb(uint64_t* ***channels***, unsigned ***rgb***);**
2021-04-29 05:18:37 +00:00
**int ncchannels_set_bg_rgb(uint64_t* ***channels***, unsigned ***rgb***);**
2021-04-29 05:18:37 +00:00
**unsigned ncchannels_fg_alpha(uint64_t ***channels***);**
2021-04-29 05:18:37 +00:00
**unsigned ncchannels_bg_alpha(uint64_t ***channels***);**
2021-04-29 05:18:37 +00:00
**int ncchannels_set_fg_alpha(uint64_t* ***channels***, int ***alpha***);**
2021-04-29 05:18:37 +00:00
**int ncchannels_set_bg_alpha(uint64_t* ***channels***, int ***alpha***);**
2021-04-29 05:18:37 +00:00
**unsigned ncchannels_fg_palindex(uint64_t ***channels***);**
2021-01-03 02:23:38 +00:00
2021-04-29 05:18:37 +00:00
**unsigned ncchannels_bg_palindex(uint64_t ***channels***);**
2021-01-03 02:23:38 +00:00
2021-04-29 05:18:37 +00:00
**int ncchannels_set_fg_palindex(uint64_t* ***channels***, int ***idx***);**
2021-04-29 05:18:37 +00:00
**int ncchannels_set_bg_palindex(uint64_t* ***channels***, int ***idx***);**
2021-04-29 05:18:37 +00:00
**unsigned ncchannels_fg_rgb8(uint64_t ***channels***, unsigned* ***r***, unsigned* ***g***, unsigned* ***b***);**
2021-04-29 05:18:37 +00:00
**unsigned ncchannels_bg_rgb8(uint64_t ***channels***, unsigned* ***r***, unsigned* ***g***, unsigned* ***b***);**
**int ncchannels_set_fg_rgb8(uint64_t* ***channels***, unsigned ***r***, unsigned ***g***, unsigned ***b***);**
**int ncchannels_set_bg_rgb8(uint64_t* ***channels***, unsigned ***r***, unsigned ***g***, unsigned ***b***);**
2021-04-29 05:18:37 +00:00
**bool ncchannels_fg_default_p(uint64_t ***channels***);**
2021-04-29 05:18:37 +00:00
**bool ncchannels_bg_default_p(uint64_t ***channels***);**
2021-04-29 05:18:37 +00:00
**uint64_t ncchannels_set_fg_default(uint64_t* ***channels***);**
2020-08-24 19:15:27 +00:00
2021-04-29 05:18:37 +00:00
**uint64_t ncchannels_set_bg_default(uint64_t* ***channels***);**
**uint64_t ncchannels_reverse(uint64_t ***channels***);**
2020-01-02 02:23:11 +00:00
# DESCRIPTION
# RETURN VALUES
Functions returning `int` return -1 on failure, or 0 on success. Failure is
always due to invalid inputs. Functions returning `bool` are predicates, and
return the requested value. Functions returning `unsigned` forms return the
input, modified as requested.
**ncchannels_reverse** inverts the color components of the two channels,
while holding all other elements constant. It's the Notcurses approximation
to reverse video.
2020-01-02 02:23:11 +00:00
# SEE ALSO
**notcurses(3)**,
**notcurses_cell(3)**,
**notcurses_plane(3)**,
2020-01-02 02:23:11 +00:00
**notcurses_output(3)**