cell_release -> nccell_release

pull/1520/head
nick black 4 years ago
parent 9dbcef9969
commit d504e972cc
No known key found for this signature in database
GPG Key ID: 5F43400C21CBFACC

@ -12,6 +12,9 @@ rearrangements of Notcurses.
size of the plane and cells in pixels, as well as the maximum bitmap
size that can be displayed.
* added new function `ncdirect_stream()`, which does what you'd think.
* `cell_release()` and `cell_duplicate()` have been migrated to
`nccell_release()` and `nccell_duplicate()`, respectively. The former
forms have been deprecated, and will be removed in API3.
* 2.2.5 (2021-04-04)
* Bugfix release, no user-visible changes.

@ -1088,17 +1088,17 @@ namespace ncpp
void release (Cell &cell) const noexcept
{
cell_release (plane, cell);
nccell_release (plane, cell);
}
int duplicate (Cell &target, Cell &source) const NOEXCEPT_MAYBE
{
return error_guard<int> (cell_duplicate (plane, target, source), -1);
return error_guard<int> (nccell_duplicate (plane, target, source), -1);
}
int duplicate (Cell &target, Cell const& source) const NOEXCEPT_MAYBE
{
return error_guard<int> (cell_duplicate (plane, target, source), -1);
return error_guard<int> (nccell_duplicate (plane, target, source), -1);
}
int duplicate (Cell &target, Cell *source) const

@ -662,10 +662,20 @@ cell_prime(struct ncplane* n, nccell* c, const char* gcluster,
// Duplicate 'c' into 'targ'; both must be/will be bound to 'n'. Returns -1 on
// failure, and 0 on success.
API int cell_duplicate(struct ncplane* n, nccell* targ, const nccell* c);
API int nccell_duplicate(struct ncplane* n, nccell* targ, const nccell* c);
__attribute__ ((deprecated)) static inline int
cell_duplicate(struct ncplane* n, nccell* targ, const nccell* c){
return nccell_duplicate(n, targ, c);
}
// Release resources held by the nccell 'c'.
API void cell_release(struct ncplane* n, nccell* c);
API void nccell_release(struct ncplane* n, nccell* c);
__attribute__ ((deprecated)) static inline void
cell_release(struct ncplane* n, nccell* c){
nccell_release(n, c);
}
#define NCSTYLE_MASK 0x03ffu
#define NCSTYLE_STANDOUT 0x0080u
@ -2263,7 +2273,7 @@ API void ncfadectx_free(struct ncfadectx* nctx);
// load up six cells with the EGCs necessary to draw a box. returns 0 on
// success, -1 on error. on error, any cells this function might
// have loaded before the error are cell_release()d. There must be at least
// have loaded before the error are nccell_release()d. There must be at least
// six EGCs in gcluster.
static inline int
cells_load_box(struct ncplane* n, uint32_t styles, uint64_t channels,
@ -2278,15 +2288,15 @@ cells_load_box(struct ncplane* n, uint32_t styles, uint64_t channels,
if(cell_prime(n, vl, gclusters + ulen, styles, channels) > 0){
return 0;
}
cell_release(n, hl);
nccell_release(n, hl);
}
cell_release(n, lr);
nccell_release(n, lr);
}
cell_release(n, ll);
nccell_release(n, ll);
}
cell_release(n, ur);
nccell_release(n, ur);
}
cell_release(n, ul);
nccell_release(n, ul);
}
return -1;
}
@ -2305,9 +2315,9 @@ ncplane_rounded_box(struct ncplane* n, uint32_t styles, uint64_t channels,
if((ret = cells_rounded_box(n, styles, channels, &ul, &ur, &ll, &lr, &hl, &vl)) == 0){
ret = ncplane_box(n, &ul, &ur, &ll, &lr, &hl, &vl, ystop, xstop, ctlword);
}
cell_release(n, &ul); cell_release(n, &ur);
cell_release(n, &ll); cell_release(n, &lr);
cell_release(n, &hl); cell_release(n, &vl);
nccell_release(n, &ul); nccell_release(n, &ur);
nccell_release(n, &ll); nccell_release(n, &lr);
nccell_release(n, &hl); nccell_release(n, &vl);
return ret;
}
@ -2329,9 +2339,9 @@ ncplane_perimeter_rounded(struct ncplane* n, uint32_t stylemask,
return -1;
}
int r = ncplane_box_sized(n, &ul, &ur, &ll, &lr, &hl, &vl, dimy, dimx, ctlword);
cell_release(n, &ul); cell_release(n, &ur);
cell_release(n, &ll); cell_release(n, &lr);
cell_release(n, &hl); cell_release(n, &vl);
nccell_release(n, &ul); nccell_release(n, &ur);
nccell_release(n, &ll); nccell_release(n, &lr);
nccell_release(n, &hl); nccell_release(n, &vl);
return r;
}
@ -2358,9 +2368,9 @@ ncplane_double_box(struct ncplane* n, uint32_t styles, uint64_t channels,
if((ret = cells_double_box(n, styles, channels, &ul, &ur, &ll, &lr, &hl, &vl)) == 0){
ret = ncplane_box(n, &ul, &ur, &ll, &lr, &hl, &vl, ystop, xstop, ctlword);
}
cell_release(n, &ul); cell_release(n, &ur);
cell_release(n, &ll); cell_release(n, &lr);
cell_release(n, &hl); cell_release(n, &vl);
nccell_release(n, &ul); nccell_release(n, &ur);
nccell_release(n, &ll); nccell_release(n, &lr);
nccell_release(n, &hl); nccell_release(n, &vl);
return ret;
}
@ -2382,9 +2392,9 @@ ncplane_perimeter_double(struct ncplane* n, uint32_t stylemask,
return -1;
}
int r = ncplane_box_sized(n, &ul, &ur, &ll, &lr, &hl, &vl, dimy, dimx, ctlword);
cell_release(n, &ul); cell_release(n, &ur);
cell_release(n, &ll); cell_release(n, &lr);
cell_release(n, &hl); cell_release(n, &vl);
nccell_release(n, &ul); nccell_release(n, &ur);
nccell_release(n, &ll); nccell_release(n, &lr);
nccell_release(n, &hl); nccell_release(n, &vl);
return r;
}

@ -95,7 +95,7 @@ int box_demo(struct notcurses* nc){
nccell c = CELL_CHAR_INITIALIZER(' ');
cell_set_bg_default(&c);
ncplane_set_base_cell(n, &c);
cell_release(n, &c);
nccell_release(n, &c);
ncplane_set_fg_rgb8(n, 180, 40, 180);
ncplane_set_bg_default(n);
if(notcurses_canutf8(nc)){
@ -177,11 +177,11 @@ int box_demo(struct notcurses* nc){
DEMO_RENDER(nc);
nanosleep(&iterdelay, NULL);
}
cell_release(n, &ul);
cell_release(n, &ur);
cell_release(n, &ll);
cell_release(n, &lr);
cell_release(n, &hl);
cell_release(n, &vl);
nccell_release(n, &ul);
nccell_release(n, &ur);
nccell_release(n, &ll);
nccell_release(n, &lr);
nccell_release(n, &hl);
nccell_release(n, &vl);
return 0;
}

@ -222,7 +222,7 @@ ext_demos(struct notcurses* nc, const char* spec){
cell_set_fg_rgb8(&c, 0, 0, 0);
cell_set_bg_rgb8(&c, 0, 0, 0);
ncplane_set_base_cell(n, &c);
cell_release(n, &c);
nccell_release(n, &c);
hud_schedule(demos[idx].name);
ret = demos[idx].fxn(nc);

@ -118,7 +118,7 @@ draw_eagle(struct ncplane* n, const char* sprite){
cell_set_fg_alpha(&bgc, CELL_ALPHA_TRANSPARENT);
cell_set_bg_alpha(&bgc, CELL_ALPHA_TRANSPARENT);
ncplane_set_base_cell(n, &bgc);
cell_release(n, &bgc);
nccell_release(n, &bgc);
size_t s;
int sbytes;
for(s = 0 ; sprite[s] ; ++s){

@ -163,13 +163,13 @@ int fallin_demo(struct notcurses* nc){
// allow a fail if we were printing a wide char to the
// last column of our plane
if(!cell_double_wide_p(&c) || usex + 1 < x + newx){
cell_release(n, &c);
nccell_release(n, &c);
goto err;
}
}
}
usemap[usey * dimx + usex] = true;
cell_release(n, &c);
nccell_release(n, &c);
}
}
// shuffle the new ncplane into the array

@ -23,15 +23,15 @@ release_cells(struct ncplane* n,
nccell* ul, nccell* uc, nccell* ur,
nccell* cl, nccell* cc, nccell* cr,
nccell* ll, nccell* lc, nccell* lr){
cell_release(n, ul);
cell_release(n, uc);
cell_release(n, ur);
cell_release(n, cl);
cell_release(n, cc);
cell_release(n, cr);
cell_release(n, ll);
cell_release(n, lc);
cell_release(n, lr);
nccell_release(n, ul);
nccell_release(n, uc);
nccell_release(n, ur);
nccell_release(n, cl);
nccell_release(n, cc);
nccell_release(n, cr);
nccell_release(n, ll);
nccell_release(n, lc);
nccell_release(n, lr);
}
static int

@ -132,6 +132,6 @@ int highcontrast_demo(struct notcurses* nc){
ret = 0;
err:
cell_release(n, &c);
nccell_release(n, &c);
return ret;
}

@ -170,13 +170,13 @@ about_toggle(struct notcurses* nc){
channels_set_bg_rgb(&channels, 0);
if(cells_rounded_box(n, NCSTYLE_NONE, channels, &ul, &ur, &ll, &lr, &hl, &vl) == 0){
if(ncplane_perimeter(n, &ul, &ur, &ll, &lr, &hl, &vl, 0) == 0){
cell_release(n, &ul); cell_release(n, &ur); cell_release(n, &hl);
cell_release(n, &ll); cell_release(n, &lr); cell_release(n, &vl);
nccell_release(n, &ul); nccell_release(n, &ur); nccell_release(n, &hl);
nccell_release(n, &ll); nccell_release(n, &lr); nccell_release(n, &vl);
about = n;
return;
}
cell_release(n, &ul); cell_release(n, &ur); cell_release(n, &hl);
cell_release(n, &ll); cell_release(n, &lr); cell_release(n, &vl);
nccell_release(n, &ul); nccell_release(n, &ur); nccell_release(n, &hl);
nccell_release(n, &ll); nccell_release(n, &lr); nccell_release(n, &vl);
}
}
ncplane_destroy(n);
@ -340,12 +340,12 @@ hud_refresh(struct ncplane* n){
cell_set_bg_alpha(&hl, CELL_ALPHA_BLEND);
cell_set_bg_alpha(&vl, CELL_ALPHA_BLEND);
if(ncplane_perimeter(n, &ul, &ur, &ll, &lr, &hl, &vl, 0)){
cell_release(n, &ul); cell_release(n, &ur); cell_release(n, &hl);
cell_release(n, &ll); cell_release(n, &lr); cell_release(n, &vl);
nccell_release(n, &ul); nccell_release(n, &ur); nccell_release(n, &hl);
nccell_release(n, &ll); nccell_release(n, &lr); nccell_release(n, &vl);
return -1;
}
cell_release(n, &ul); cell_release(n, &ur); cell_release(n, &hl);
cell_release(n, &ll); cell_release(n, &lr); cell_release(n, &vl);
nccell_release(n, &ul); nccell_release(n, &ur); nccell_release(n, &hl);
nccell_release(n, &ll); nccell_release(n, &lr); nccell_release(n, &vl);
return 0;
}
@ -372,7 +372,7 @@ hud_print_finished(elem* list){
ncplane_set_bg_alpha(hud, CELL_ALPHA_BLEND);
ncplane_set_fg_rgb(hud, 0xffffff);
ncplane_set_fg_alpha(hud, CELL_ALPHA_OPAQUE);
cell_release(hud, &c);
nccell_release(hud, &c);
if(ncplane_printf_yx(hud, line, 1, "%d", e->frames) < 0){
return -1;
}
@ -587,7 +587,7 @@ int demo_render(struct notcurses* nc){
ncplane_set_bg_alpha(hud, CELL_ALPHA_BLEND);
ncplane_set_fg_rgb(hud, 0x80d0ff);
ncplane_set_fg_alpha(hud, CELL_ALPHA_OPAQUE);
cell_release(hud, &c);
nccell_release(hud, &c);
ncplane_on_styles(hud, NCSTYLE_BOLD);
if(ncplane_printf_yx(hud, 1, 1, "%d", elems->frames) < 0){
return -1;

@ -164,9 +164,9 @@ int intro(struct notcurses* nc){
NCBOXGRAD_TOP | NCBOXGRAD_BOTTOM | NCBOXGRAD_RIGHT | NCBOXGRAD_LEFT)){
return -1;
}
cell_release(ncp, &ul); cell_release(ncp, &ur);
cell_release(ncp, &ll); cell_release(ncp, &lr);
cell_release(ncp, &hl); cell_release(ncp, &vl);
nccell_release(ncp, &ul); nccell_release(ncp, &ur);
nccell_release(ncp, &ll); nccell_release(ncp, &lr);
nccell_release(ncp, &hl); nccell_release(ncp, &vl);
const char s1[] = " Die Welt ist alles, was der Fall ist. ";
const char str[] = " Wovon man nicht sprechen kann, darüber muss man schweigen. ";
if(ncplane_set_fg_rgb8(ncp, 192, 192, 192)){

@ -26640,7 +26640,7 @@ int jungle_demo(struct notcurses* nc){
}
}
}
cell_release(n, &c);
nccell_release(n, &c);
free(buf);
int iter = 0;
int64_t iterns = NANOSECS_IN_SEC / 30;

@ -3543,7 +3543,7 @@ makegroup(struct ncplane* title, int y, const char* emoji, const char* name){
break;
}
int w = ncplane_putc_yx(n, y, x, &c);
cell_release(n, &c);
nccell_release(n, &c);
if(w < 0){
ncplane_destroy(n);
return NULL;

@ -172,7 +172,7 @@ int normal_demo(struct notcurses* nc){
cell_set_fg_rgb8(&c, 0x0, 0x0, 0x0);
cell_set_bg_rgb8(&c, 0x0, 0x0, 0x0);
ncplane_set_base_cell(nstd, &c);
cell_release(nstd, &c);
nccell_release(nstd, &c);
struct ncplane* n = NULL;
struct ncvisual_options vopts = {
.n = nstd,
@ -250,7 +250,7 @@ int normal_demo(struct notcurses* nc){
cell_set_fg_rgb8(&c, 0, 0, 0);
cell_set_bg_rgb8(&c, 0, 0, 0);
ncplane_set_base_cell(nstd, &c);
cell_release(nstd, &c);
nccell_release(nstd, &c);
r = rotate_visual(nc, n, dy, dx);
return r;

@ -81,7 +81,7 @@ tabletdraw(struct ncplane* w, int maxy, tabletctx* tctx, unsigned rgb){
return -1;
}
}
cell_release(w, &c);
nccell_release(w, &c);
}
return y;
}

@ -97,8 +97,8 @@ draw_block(struct ncplane* nn, uint32_t blockstart){
if(ncplane_box_sized(nn, &ul, &ur, &ll, &lr, &hl, &vl, dimy, dimx, control)){
return -1;
}
cell_release(nn, &ul); cell_release(nn, &ur); cell_release(nn, &hl);
cell_release(nn, &ll); cell_release(nn, &lr); cell_release(nn, &vl);
nccell_release(nn, &ul); nccell_release(nn, &ur); nccell_release(nn, &hl);
nccell_release(nn, &ll); nccell_release(nn, &lr); nccell_release(nn, &vl);
int chunk;
for(chunk = 0 ; chunk < BLOCKSIZE / CHUNKSIZE ; ++chunk){
int z;

@ -64,7 +64,7 @@ lighten(struct ncplane* n, nccell* c, int distance, int y, int x){
static inline int
lightup_surrounding_cells(struct ncplane* n, nccell* lightup, int y, int x){
lighten(n, lightup, 0, y, x);
cell_release(n, lightup);
nccell_release(n, lightup);
return 0;
}
@ -199,7 +199,7 @@ message(struct ncplane* n, int maxy, int maxx, int num, int total,
ncplane_putegc_yx(n, 0, 3, "", NULL);
cell_load(n, &hl, "");
ncplane_hline(n, &hl, 20 - 4 - 1);
cell_release(n, &hl);
nccell_release(n, &hl);
ncplane_putegc_yx(n, 0, 19, "", NULL);
ncplane_putegc_yx(n, 1, 19, "", NULL);
ncplane_putegc_yx(n, 2, 19, "", NULL);

@ -33,7 +33,7 @@ ncplane_polyfill_recurse(ncplane* n, int y, int x, const nccell* c, const char*
if(strcmp(glust, filltarg)){
return 0;
}
if(cell_duplicate(n, cur, c) < 0){
if(nccell_duplicate(n, cur, c) < 0){
return -1;
}
int r, ret = 1;
@ -399,7 +399,7 @@ rotate_2x1_cw(ncplane* src, ncplane* dst, int srcy, int srcx, int dsty, int dstx
return -1;
}
if(ncplane_at_yx_cell(src, srcy, srcx + 1, &c2) < 0){
cell_release(src, &c1);
nccell_release(src, &c1);
return -1;
}
// there can be at most 4 colors and 4 transparencies:
@ -440,7 +440,7 @@ rotate_2x1_ccw(ncplane* src, ncplane* dst, int srcy, int srcx, int dsty, int dst
return -1;
}
if(ncplane_at_yx_cell(src, srcy, srcx + 1, &c2) < 0){
cell_release(src, &c1);
nccell_release(src, &c1);
return -1;
}
uint32_t c1b = cell_bchannel_common(&c1);

@ -307,7 +307,7 @@ write_header(ncmenu* ncm){
if(ncplane_putc_yx(ncm->ncp, ypos, xoff + ncm->sections[i].shortcut_offset, &cl) < 0){
return -1;
}
cell_release(ncm->ncp, &cl);
nccell_release(ncm->ncp, &cl);
}
xoff += ncstrwidth(ncm->sections[i].name);
}
@ -386,7 +386,7 @@ ncmenu* ncmenu_create(ncplane* n, const ncmenu_options* opts){
cell_set_fg_alpha(&c, CELL_ALPHA_TRANSPARENT);
cell_set_bg_alpha(&c, CELL_ALPHA_TRANSPARENT);
ncplane_set_base_cell(ret->ncp, &c);
cell_release(ret->ncp, &c);
nccell_release(ret->ncp, &c);
if(write_header(ret) == 0){
return ret;
}
@ -487,7 +487,7 @@ int ncmenu_unroll(ncmenu* n, int sectionidx){
if(ncplane_putc_yx(n->ncp, ypos, xpos + 1 + sec->items[i].shortcut_offset, &cl) < 0){
return -1;
}
cell_release(n->ncp, &cl);
nccell_release(n->ncp, &cl);
}
}else{
n->ncp->channels = n->headerchannels;

@ -161,7 +161,7 @@ int ncplane_at_yx_cell(ncplane* n, int y, int x, nccell* c){
if(y < n->leny && x < n->lenx){
if(y >= 0 && x >= 0){
nccell* targ = ncplane_cell_ref_yx(n, y, x);
if(cell_duplicate(n, c, targ) == 0){
if(nccell_duplicate(n, c, targ) == 0){
return strlen(cell_extended_gcluster(n, targ));
}
}
@ -1270,7 +1270,7 @@ int ncplane_set_base_cell(ncplane* ncp, const nccell* c){
if(cell_wide_right_p(c)){
return -1;
}
return cell_duplicate(ncp, &ncp->basecell, c);
return nccell_duplicate(ncp, &ncp->basecell, c);
}
int ncplane_set_base(ncplane* ncp, const char* egc, uint32_t stylemask, uint64_t channels){
@ -1278,7 +1278,7 @@ int ncplane_set_base(ncplane* ncp, const char* egc, uint32_t stylemask, uint64_t
}
int ncplane_base(ncplane* ncp, nccell* c){
return cell_duplicate(ncp, c, &ncp->basecell);
return nccell_duplicate(ncp, c, &ncp->basecell);
}
const char* cell_extended_gcluster(const ncplane* n, const nccell* c){
@ -1390,7 +1390,7 @@ void ncplane_cursor_yx(const ncplane* n, int* y, int* x){
static inline void
cell_obliterate(ncplane* n, nccell* c){
cell_release(n, c);
nccell_release(n, c);
cell_init(c);
}
@ -1401,7 +1401,7 @@ void scroll_down(ncplane* n){
n->logrow = (n->logrow + 1) % n->leny;
nccell* row = n->fb + nfbcellidx(n, n->y, 0);
for(int clearx = 0 ; clearx < n->lenx ; ++clearx){
cell_release(n, &row[clearx]);
nccell_release(n, &row[clearx]);
}
memset(row, 0, sizeof(*row) * n->lenx);
}else{
@ -1477,7 +1477,7 @@ ncplane_put(ncplane* n, int y, int x, const char* egc, int cols,
if(cell_wide_left_p(candidate)){
cell_obliterate(n, &n->fb[nfbcellidx(n, n->y, n->x + 1)]);
}
cell_release(n, candidate);
nccell_release(n, candidate);
candidate->channels = targ->channels;
candidate->stylemask = targ->stylemask;
candidate->width = targ->width;
@ -1685,7 +1685,7 @@ int ncplane_hline_interp(ncplane* n, const nccell* c, int len,
int deltbb = bb2 - bb1;
int ret;
nccell dupc = CELL_TRIVIAL_INITIALIZER;
if(cell_duplicate(n, &dupc, c) < 0){
if(nccell_duplicate(n, &dupc, c) < 0){
return -1;
}
bool fgdef = false, bgdef = false;
@ -1712,7 +1712,7 @@ int ncplane_hline_interp(ncplane* n, const nccell* c, int len,
break;
}
}
cell_release(n, &dupc);
nccell_release(n, &dupc);
return ret;
}
@ -1738,7 +1738,7 @@ int ncplane_vline_interp(ncplane* n, const nccell* c, int len,
int ret, ypos, xpos;
ncplane_cursor_yx(n, &ypos, &xpos);
nccell dupc = CELL_TRIVIAL_INITIALIZER;
if(cell_duplicate(n, &dupc, c) < 0){
if(nccell_duplicate(n, &dupc, c) < 0){
return -1;
}
bool fgdef = false, bgdef = false;
@ -1768,7 +1768,7 @@ int ncplane_vline_interp(ncplane* n, const nccell* c, int len,
break;
}
}
cell_release(n, &dupc);
nccell_release(n, &dupc);
return ret;
}
@ -1954,7 +1954,7 @@ void ncplane_erase(ncplane* n){
if(n->sprite){
sprixel_hide(n->sprite);
}
// we must preserve the background, but a pure cell_duplicate() would be
// we must preserve the background, but a pure nccell_duplicate() would be
// wiped out by the egcpool_dump(). do a duplication (to get the stylemask
// and channels), and then reload.
char* egc = cell_strdup(n, &n->basecell);

@ -151,13 +151,13 @@ progbar_redraw(ncprogbar* n){
if(horizontal){
for(int freepos = 0 ; freepos < dimy ; ++freepos){
nccell* c = ncplane_cell_ref_yx(ncp, freepos, pos);
cell_release(ncp, c);
nccell_release(ncp, c);
cell_init(c);
}
}else{
for(int freepos = 0 ; freepos < dimx ; ++freepos){
nccell* c = ncplane_cell_ref_yx(ncp, pos, freepos);
cell_release(ncp, c);
nccell_release(ncp, c);
cell_init(c);
}
}

@ -161,8 +161,8 @@ draw_borders(ncplane* n, unsigned mask, uint64_t channel, direction_e direction)
ncplane_putc(n, &lr);
}
}
cell_release(n, &ul); cell_release(n, &ur); cell_release(n, &hl);
cell_release(n, &ll); cell_release(n, &lr); cell_release(n, &vl);
nccell_release(n, &ul); nccell_release(n, &ur); nccell_release(n, &hl);
nccell_release(n, &ll); nccell_release(n, &lr); nccell_release(n, &vl);
return ret;
}

@ -171,12 +171,12 @@ update_raster_stats(const struct timespec* time1, const struct timespec* time0,
}
}
void cell_release(ncplane* n, nccell* c){
void nccell_release(ncplane* n, nccell* c){
pool_release(&n->pool, c);
}
// Duplicate one cell onto another when they share a plane. Convenience wrapper.
int cell_duplicate(ncplane* n, nccell* targ, const nccell* c){
int nccell_duplicate(ncplane* n, nccell* targ, const nccell* c){
if(cell_duplicate_far(&n->pool, targ, n, c) < 0){
logerror(ncplane_notcurses(n), "Failed duplicating cell\n");
return -1;

@ -39,7 +39,7 @@ TEST_CASE("Cell") {
nccell c = CELL_TRIVIAL_INITIALIZER;
CHECK(1 == cell_load(n_, &c, " "));
CHECK(cell_simple_p(&c));
cell_release(n_, &c);
nccell_release(n_, &c);
}
SUBCASE("MultibyteWidth") {
@ -75,7 +75,7 @@ TEST_CASE("Cell") {
CHECK(1 == cell_load(n_, &c, "i"));
cell_set_fg_rgb8(&c, 255, 255, 255);
ncplane_set_base_cell(n_, &c);
cell_release(n_, &c);
nccell_release(n_, &c);
CHECK(0 == notcurses_render(nc_));
cell_off_styles(&c, NCSTYLE_ITALIC);
}
@ -88,7 +88,7 @@ TEST_CASE("Cell") {
CHECK(1 == cell_load(n_, &c, "b"));
cell_set_fg_rgb8(&c, 255, 255, 255);
ncplane_set_base_cell(n_, &c);
cell_release(n_, &c);
nccell_release(n_, &c);
CHECK(0 == notcurses_render(nc_));
cell_off_styles(&c, NCSTYLE_BOLD);
}
@ -101,7 +101,7 @@ TEST_CASE("Cell") {
CHECK(1 == cell_load(n_, &c, "u"));
cell_set_fg_rgb8(&c, 255, 255, 255);
ncplane_set_base_cell(n_, &c);
cell_release(n_, &c);
nccell_release(n_, &c);
CHECK(0 == notcurses_render(nc_));
cell_off_styles(&c, NCSTYLE_UNDERLINE);
}

@ -568,9 +568,9 @@ TEST_CASE("Fills") {
nccell c2 = CELL_TRIVIAL_INITIALIZER;
CHECK(0 < ncplane_at_yx_cell(p2, y - 1, x - 1, &c2));
CHECK(0 == cellcmp(p1, &c1, p2, &c2));
cell_release(p2, &c2);
nccell_release(p2, &c2);
}
cell_release(p1, &c1);
nccell_release(p1, &c1);
}
}
ncplane_destroy(p1);

@ -68,7 +68,7 @@ TEST_CASE("Palette256") {
CHECK(0 == cell_set_fg_palindex(&c, 0x20));
CHECK(0 == cell_set_bg_palindex(&c, 0x40));
CHECK(1 == ncplane_putc_yx(n_, 0, 0, &c));
cell_release(n_, &c);
nccell_release(n_, &c);
nccell r = CELL_TRIVIAL_INITIALIZER;
CHECK(0 < ncplane_at_yx_cell(n_, 0, 0, &r));
CHECK(cell_fg_palindex_p(&r));
@ -77,7 +77,7 @@ TEST_CASE("Palette256") {
CHECK(CELL_ALPHA_OPAQUE == cell_bg_alpha(&r));
CHECK(0x20 == cell_fg_palindex(&r));
CHECK(0x40 == cell_bg_palindex(&r));
cell_release(n_, &r);
nccell_release(n_, &r);
}
SUBCASE("RenderCAttrs") {
@ -88,7 +88,7 @@ TEST_CASE("Palette256") {
CHECK(0 == ncplane_set_fg_palindex(n_, 0x20));
CHECK(0 == ncplane_set_bg_palindex(n_, 0x40));
CHECK(0 < ncplane_putc_yx(n_, 0, 0, &c));
cell_release(n_, &c);
nccell_release(n_, &c);
CHECK(0 == notcurses_render(nc_));
nccell r = CELL_TRIVIAL_INITIALIZER;
CHECK(nullptr != notcurses_at_yx(nc_, 0, 0, &r.stylemask, &r.channels));
@ -98,7 +98,7 @@ TEST_CASE("Palette256") {
CHECK(CELL_ALPHA_OPAQUE == cell_bg_alpha(&r));
CHECK(0x20 == cell_fg_palindex(&r));
CHECK(0x40 == cell_bg_palindex(&r));
cell_release(n_, &r);
nccell_release(n_, &r);
}
// common teardown

@ -183,7 +183,7 @@ TEST_CASE("Plane") {
CHECK(yidx == posy);
CHECK(x - 1 == posx);
}
cell_release(n_, &c);
nccell_release(n_, &c);
CHECK(0 == notcurses_render(nc_));
}
@ -202,7 +202,7 @@ TEST_CASE("Plane") {
CHECK(y - 2 == posy);
CHECK(xidx == posx - 1);
}
cell_release(n_, &c);
nccell_release(n_, &c);
CHECK(0 == notcurses_render(nc_));
}
@ -319,9 +319,9 @@ TEST_CASE("Plane") {
REQUIRE(2 == u1);
REQUIRE(3 == u2);
REQUIRE(1 == u3);
cell_release(n_, &cell1);
cell_release(n_, &cell2);
cell_release(n_, &cell3);
nccell_release(n_, &cell1);
nccell_release(n_, &cell2);
nccell_release(n_, &cell3);
}
SUBCASE("CellDuplicateCombining") {
@ -340,15 +340,15 @@ TEST_CASE("Plane") {
nccell cell4 = CELL_TRIVIAL_INITIALIZER;
nccell cell5 = CELL_TRIVIAL_INITIALIZER;
nccell cell6 = CELL_TRIVIAL_INITIALIZER;
CHECK(0 == cell_duplicate(n_, &cell4, &cell1));
CHECK(0 == cell_duplicate(n_, &cell5, &cell2));
CHECK(0 == cell_duplicate(n_, &cell6, &cell3));
cell_release(n_, &cell1);
cell_release(n_, &cell2);
cell_release(n_, &cell3);
cell_release(n_, &cell4);
cell_release(n_, &cell5);
cell_release(n_, &cell6);
CHECK(0 == nccell_duplicate(n_, &cell4, &cell1));
CHECK(0 == nccell_duplicate(n_, &cell5, &cell2));
CHECK(0 == nccell_duplicate(n_, &cell6, &cell3));
nccell_release(n_, &cell1);
nccell_release(n_, &cell2);
nccell_release(n_, &cell3);
nccell_release(n_, &cell4);
nccell_release(n_, &cell5);
nccell_release(n_, &cell6);
}
SUBCASE("CellMultiColumn") {
@ -364,8 +364,8 @@ TEST_CASE("Plane") {
REQUIRE(strlen(w2) == u2);
CHECK(ncstrwidth(w1) == 1 + cell_double_wide_p(&c1));
CHECK_FALSE(cell_double_wide_p(&c2));
cell_release(n_, &c1);
cell_release(n_, &c2);
nccell_release(n_, &c1);
nccell_release(n_, &c2);
}
// verifies that the initial userptr is what we provided, that it is a nullptr
@ -558,7 +558,7 @@ TEST_CASE("Plane") {
CHECK(0 == testcell.gcluster);
CHECK(0 == testcell.stylemask);
CHECK(0 == testcell.channels);
cell_release(n_, &testcell);
nccell_release(n_, &testcell);
int dimy, dimx;
ncplane_dim_yx(n_, &dimy, &dimx);
REQUIRE(0 == ncplane_cursor_move_yx(n_, 1, dimx - strlen(STR2)));
@ -596,7 +596,7 @@ TEST_CASE("Plane") {
CHECK(0 == testcell.gcluster);
CHECK(0 == testcell.stylemask);
CHECK(0 == testcell.channels);
cell_release(n_, &testcell);
nccell_release(n_, &testcell);
int dimy, dimx;
ncplane_dim_yx(n_, &dimy, &dimx);
REQUIRE(0 == ncplane_cursor_move_yx(n_, 1, dimx - mbstowcs(nullptr, STR2, 0)));

@ -78,9 +78,9 @@ TEST_CASE("Rotate") {
CHECK(-1 < cell_prime(testn, &vl, "", 0, lr));
CHECK(0 == ncplane_perimeter(testn, &tl, &tr, &bl, &br, &hl, &vl, 0));
RotateCW(nc_, testn);
cell_release(testn, &tl); cell_release(testn, &tr);
cell_release(testn, &bl); cell_release(testn, &br);
cell_release(testn, &hl); cell_release(testn, &vl);
nccell_release(testn, &tl); nccell_release(testn, &tr);
nccell_release(testn, &bl); nccell_release(testn, &br);
nccell_release(testn, &hl); nccell_release(testn, &vl);
CHECK(0 == ncplane_destroy(testn));
}

@ -121,7 +121,7 @@ TEST_CASE("Wide") {
nccell c = CELL_TRIVIAL_INITIALIZER;
CHECK(0 < cell_load(n_, &c, w));
CHECK(0 < ncplane_putc_yx(n_, 1, 0, &c));
cell_release(n_, &c);
nccell_release(n_, &c);
ncplane_at_yx_cell(n_, 0, 0, &c);
CHECK(0 == strcmp(cell_extended_gcluster(n_, &c), FROG));
ncplane_at_yx_cell(n_, 0, 1, &c);
@ -242,14 +242,14 @@ TEST_CASE("Wide") {
nccell c = CELL_TRIVIAL_INITIALIZER;
CHECK(0 < ncplane_at_yx_cell(ncp, 1, 0, &c));
CHECK(!strcmp(cell_extended_gcluster(ncp, &c), ""));
cell_release(ncp, &c);
nccell_release(ncp, &c);
char* egc = notcurses_at_yx(nc_, 1, 0, &c.stylemask, &c.channels);
REQUIRE(egc);
CHECK(!strcmp(egc, ""));
free(egc);
CHECK(0 < ncplane_at_yx_cell(ncp, 1, 3, &c));
CHECK(!strcmp(cell_extended_gcluster(ncp, &c), ""));
cell_release(ncp, &c);
nccell_release(ncp, &c);
egc = notcurses_at_yx(nc_, 1, 3, &c.stylemask, &c.channels);
REQUIRE(egc);
CHECK(!strcmp(egc, ""));
@ -436,8 +436,8 @@ TEST_CASE("Wide") {
CHECK(0 == ncplane_at_yx_cell(n_, 1, 2, &cr));
CHECK(cell_simple_p(&cr));
CHECK(0 == cr.gcluster);
cell_release(n_, &cl);
cell_release(n_, &cr);
nccell_release(n_, &cl);
nccell_release(n_, &cr);
CHECK(chanright == chanleft);
ncplane_destroy(p);
}

Loading…
Cancel
Save