notcurses/doc/man/man3/notcurses_cell.3.md
Nick Black f6975d11d5
Docs/API sweep for 1.0.0 #244 #249 (#250)
* sync up some docs #244
* sync README and man page
* notcurses_output() man page work
* pull attr/channels from output functions #244
* witherworm: clean up explicit moves #244
* still more man page work
* notcurses_lines, last of the man pages i think
* panelreel man page #244
* debian: ruby-ronn->pandoc
* debian: full multiarch compliance
* debian: symbols file
* pandoc: fix syntax for lexgrog
* fm6.mkv: strip audio
* pandoc: fix up apropos man syntax #249
* ncurses_lines man page
2020-01-04 02:37:55 -05:00

3.2 KiB

% notcurses_cell(3) % nick black nickblack@linux.com % v1.0.0

NAME

notcurses_cell - operations on notcurses cells

SYNOPSIS

#include <notcurses.h>

typedef struct cell {
  uint32_t gcluster;
  uint32_t attrword;
  uint64_t channels;
} cell;

#define CELL_TRIVIAL_INITIALIZER \
 { .gcluster = '\0', .attrword = 0, .channels = 0, }
#define CELL_SIMPLE_INITIALIZER(c) \
 { .gcluster = (c), .attrword = 0, .channels = 0, }
#define CELL_INITIALIZER(c, a, chan) \
 { .gcluster = (c), .attrword = (a), .channels = (chan), }

#define CELL_WIDEASIAN_MASK     0x8000000080000000ull
#define CELL_FGDEFAULT_MASK     0x4000000000000000ull
#define CELL_FG_MASK            0x00ffffff00000000ull
#define CELL_BGDEFAULT_MASK     0x0000000040000000ull
#define CELL_BG_MASK            0x0000000000ffffffull
#define CELL_ALPHA_MASK         0x0000000030000000ull
#define CELL_ALPHA_SHIFT        28u
#define CELL_ALPHA_HIGHCONTRAST 3
#define CELL_ALPHA_TRANSPARENT  2
#define CELL_ALPHA_BLEND        1
#define CELL_ALPHA_OPAQUE       0

void cell_init(cell c);*

int cell_load(struct ncplane n, cell c, const char* gcluster);**

int cell_prime(struct ncplane n, cell c, const char* gcluster, uint32_t attr, uint64_t channels);**

int cell_duplicate(struct ncplane n, cell targ, const cell* c);**

void cell_release(struct ncplane n, cell c);**

void cell_styles_set(cell c, unsigned stylebits);*

unsigned cell_styles(const cell c);*

void cell_styles_on(cell c, unsigned stylebits);*

void cell_styles_off(cell c, unsigned stylebits);*

void cell_set_fg_default(cell c);*

void cell_set_bg_default(cell c);*

int cell_set_fg_alpha(cell c, int alpha);*

int cell_set_bg_alpha(cell c, int alpha);*

bool cell_double_wide_p(const cell c);*

bool cell_simple_p(const cell c);*

const char cell_extended_gcluster(const struct ncplane n, const cell* c);**

bool cell_noforeground_p(const cell c);*

bool cell_nobackground_p(const struct ncplane n, const cell c);**

int cell_load_simple(struct ncplane n, cell c, char ch);**

uint32_t cell_egc_idx(const cell c);*

unsigned cell_bchannel(const cell cl);*

unsigned cell_fchannel(const cell cl);*

uint64_t cell_set_bchannel(cell cl, uint32_t channel);*

uint64_t cell_set_fchannel(cell cl, uint32_t channel);*

uint64_t cell_blend_fchannel(cell cl, unsigned channel);*

uint64_t cell_blend_bchannel(cell cl, unsigned channel);*

unsigned cell_fg(const cell cl);*

unsigned cell_bg(const cell cl);*

unsigned cell_fg_alpha(const cell cl);*

unsigned cell_bg_alpha(const cell cl);*

unsigned cell_fg_rgb(const cell cl, unsigned r, unsigned* g, unsigned* b);**

unsigned cell_bg_rgb(const cell cl, unsigned r, unsigned* g, unsigned* b);**

int cell_set_fg_rgb(cell cl, int r, int g, int b);*

int cell_set_bg_rgb(cell cl, int r, int g, int b);*

int cell_set_fg(cell c, uint32_t channel);*

int cell_set_bg(cell c, uint32_t channel);*

bool cell_fg_default_p(const cell cl);*

bool cell_bg_default_p(const cell cl);*

DESCRIPTION

RETURN VALUES

SEE ALSO

notcurses(3), notcurses_channels(3), notcurses_ncplane(3), notcurses_output(3)