1notcurses_pile(3) notcurses_pile(3)
2
3
4
6 notcurses_pile - operations on Notcurses piles
7
9 struct ncplane* notcurses_top(struct notcurses* n);
10
11 struct ncplane* notcurses_bottom(struct notcurses* n);
12
13 struct ncplane* ncpile_top(struct ncplane* n);
14
15 struct ncplane* ncpile_bottom(struct ncplane* n);
16
18 Notcurses does not export the ncpile type, nor any functionality that
19 uses it directly. Piles are nonetheless an important concept in
20 Notcurses. Functions which operate on piles (e.g. ncpile_render(3)
21 are invoked with any ncplane within that pile.
22
23 Piles are collections of ncplanes, independent from one another for
24 purposes of rendering and also thread-safety. While only one pile can
25 be rasterized (written to the display) at a time, arbitrary concurrent
26 actions can be safely performed on distinct piles. Piles do not com‐
27 pose: rasterizing a pile destroys any overlapping material.
28
29 A pile is created in one of three ways:
30
31 • ncpile_create(3) is called,
32
33 • ncvisual_blit(3) is called with a NULL target plane n, or
34
35 • ncplane_reparent(3) is called with n equal to newparent, and n is not
36 already a root plane.
37
38 A pile is destroyed whenever its last ncplane is destroyed, or repar‐
39 ented into some other pile.
40
41 The planes of a pile are totally ordered along the z-axis. ncpile_top
42 and ncpile_bottom return the topmost and bottommost planes, respective‐
43 ly, of the pile containing their argument. notcurses_top and notcurs‐
44 es_bottom do the same for the standard pile.
45
49 notcurses(3), notcurses_plane(3), notcurses_render(3), notcurses_vis‐
50 ual(3)
51
53 nick black <nickblack@linux.com>.
54
55
56
57 v3.0.8 notcurses_pile(3)