2020-01-15 11:14:08 +00:00
|
|
|
% notcurses_palette(3)
|
|
|
|
% nick black <nickblack@linux.com>
|
2020-07-12 07:20:50 +00:00
|
|
|
% v1.6.1
|
2020-01-15 11:14:08 +00:00
|
|
|
|
|
|
|
# NAME
|
|
|
|
|
|
|
|
notcurses_palette - operations on notcurses palettes
|
|
|
|
|
|
|
|
# SYNOPSIS
|
|
|
|
|
2020-04-19 22:46:32 +00:00
|
|
|
**#include <notcurses/notcurses.h>**
|
2020-01-15 11:14:08 +00:00
|
|
|
|
|
|
|
```c
|
|
|
|
typedef struct palette256 {
|
|
|
|
// We store the RGB values as a regular ol' channel
|
|
|
|
uint32_t chans[256];
|
|
|
|
} palette256;
|
|
|
|
```
|
|
|
|
|
2020-06-18 15:04:29 +00:00
|
|
|
**bool notcurses_cantruecolor(const struct notcurses* nc);**
|
|
|
|
|
2020-01-19 01:42:29 +00:00
|
|
|
**palette256* palette256_new(struct notcurses* nc);**
|
2020-01-15 11:14:08 +00:00
|
|
|
|
|
|
|
**int palette256_use(struct notcurses* nc, const palette256* p);**
|
|
|
|
|
|
|
|
**int palette256_set_rgb(palette256* p, int idx, int r, int g, int b);**
|
|
|
|
|
|
|
|
**int palette256_set(palette256* p, int idx, unsigned rgb);**
|
|
|
|
|
2020-01-19 09:07:25 +00:00
|
|
|
**int palette256_get_rgb(const palette256* p, int idx, int* restrict r, int* restrict g, int* restrict b);**
|
2020-01-15 11:14:08 +00:00
|
|
|
|
|
|
|
**void palette256_free(palette256* p);**
|
|
|
|
|
2020-01-19 11:16:09 +00:00
|
|
|
**bool notcurses_canchangecolors(const struct notcurses* nc);**
|
|
|
|
|
2020-01-15 11:14:08 +00:00
|
|
|
# DESCRIPTION
|
|
|
|
|
|
|
|
Some terminals only support 256 colors, but allow the full palette to be
|
|
|
|
specified with arbitrary RGB colors. In all cases, it's more performant to use
|
|
|
|
indexed colors, since it's much less data to write to the terminal. If you can
|
|
|
|
limit yourself to 256 colors, that's probably for the best.
|
|
|
|
|
|
|
|
In addition, palette-based color allows for very fast color cycling effects,
|
|
|
|
since a single command can affect many cells on the screen.
|
|
|
|
|
|
|
|
# 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.
|
|
|
|
|
|
|
|
# SEE ALSO
|
|
|
|
|
2020-05-09 00:56:39 +00:00
|
|
|
**notcurses(3)**,
|
|
|
|
**notcurses_cell(3)**,
|
|
|
|
**notcurses_channels(3)**,
|
|
|
|
**notcurses_output(3)**,
|
|
|
|
**notcurses_plane(3)**
|