1notcurses_lines(3) notcurses_lines(3)
2
3
4
6 notcurses_lines - operations on lines and boxes
7
9 #include <notcurses/notcurses.h>
10
11 int ncplane_hline_interp(struct ncplane* n, const nccell* c, int len,
12 uint64_t c1, uint64_t c2);
13
14 static inline int ncplane_hline(struct ncplane* n, const nccell* c, int
15 len);
16
17 int ncplane_vline_interp(struct ncplane* n, const nccell* c, int len,
18 uint64_t c1, uint64_t c2);
19
20 static inline int ncplane_vline(struct ncplane* n, const nccell* c, int
21 len);
22
23 #define NCBOXMASK_TOP 0x0001
24 #define NCBOXMASK_RIGHT 0x0002
25 #define NCBOXMASK_BOTTOM 0x0004
26 #define NCBOXMASK_LEFT 0x0008
27 #define NCBOXGRAD_TOP 0x0010
28 #define NCBOXGRAD_RIGHT 0x0020
29 #define NCBOXGRAD_BOTTOM 0x0040
30 #define NCBOXGRAD_LEFT 0x0080
31 #define NCBOXCORNER_MASK 0x0300
32 #define NCBOXCORNER_SHIFT 8u
33
34 int ncplane_box(struct ncplane* n, const nccell* ul, const nccell* ur,
35 const nccell* ll, const nccell* lr, const nccell* hline, const nccell*
36 vline, int ystop, int xstop, unsigned ctlword);
37
38 static inline int ncplane_box_sized(struct ncplane* n, const nccell*
39 ul, const nccell* ur, const nccell* ll, const nccell* lr, const nccell*
40 hline, const nccell* vline, int ylen, int xlen, unsigned ctlword);
41
42 static inline int ncplane_perimeter(struct ncplane* n, const nccell*
43 ul, const nccell* ur, const nccell* ll, const nccell* lr, const nccell*
44 hline, const nccell* vline, unsigned ctlword)
45
46 static inline int cells_load_box(struct ncplane* n, uint32_t styles,
47 uint64_t channels, nccell* ul, nccell* ur, nccell* ll, nccell* lr, nc‐
48 cell* hl, nccell* vl, const char* gclusters);
49
50 static inline int cells_rounded_box(struct ncplane* n, uint32_t styles,
51 uint64_t channels, nccell* ul, nccell* ur, nccell* ll, nccell* lr, nc‐
52 cell* hl, nccell* vl);
53
54 static inline int ncplane_rounded_box(struct ncplane* n, uint32_t
55 styles, uint64_t channels, int ystop, int xstop, unsigned ctlword);
56
57 static inline int ncplane_rounded_box_sized(struct ncplane* n, uint32_t
58 styles, uint64_t channels, int ylen, int xlen, unsigned ctlword);
59
60 static inline int cells_double_box(struct ncplane* n, uint32_t styles,
61 uint64_t channels, nccell* ul, nccell* ur, nccell* ll, nccell* lr, nc‐
62 cell* hl, nccell* vl);
63
64 static inline int ncplane_double_box(struct ncplane* n, uint32_t
65 styles, uint64_t channels, int ystop, int xstop, unsigned ctlword);
66
67 static inline int ncplane_double_box_sized(struct ncplane* n, uint32_t
68 styles, uint64_t channels, int ylen, int xlen, unsigned ctlword);
69
70 int ncplane_polyfill_yx(struct ncplane* n, int y, int x, const nccell*
71 c);
72
73 int ncplane_gradient(struct ncplane* n, const char* egc, uint32_t
74 stylemask, uint64_t ul, uint64_t ur, uint64_t ll, uint64_t lr, int
75 ystop, int xstop);
76
77 static inline int ncplane_gradient_sized(struct ncplane* n, const char*
78 egc, uint32_t stylemask, uint64_t ul, uint64_t ur, uint64_t ll,
79 uint64_t lr, int ylen, int xlen);
80
81 int ncplane_highgradient(struct ncplane* n, uint32_t ul, uint32_t ur,
82 uint32_t ll, uint32_t lr, int ystop, int xstop);
83
84 int ncplane_highgradient_sized(struct ncplane* n, uint32_t ul, uint32_t
85 ur, uint32_t ll, uint32_t lr, int ylen, int xlen);
86
87 int ncplane_format(struct ncplane* n, int ystop, int xstop, uint32_t
88 stylemask);
89
90 int ncplane_stain(struct ncplane* n, int ystop, int xstop, uint64_t ul,
91 uint64_t ur, uint64_t ll, uint64_t lr);
92
94 ncplane_format sets the attributes of every cell in the region having
95 its upper-left corner at the cursor's current position, and its lower-
96 right corner at ystop, xstop.
97
98 Box- and line-drawing is unaffected by a plane's scrolling status.
99
101 ncplane_format returns -1 if either ystop or xstop is less than the
102 current equivalent position, otherwise 0.
103
105 notcurses(3), notcurses_cell(3), notcurses_plane(3)
106
108 nick black <nickblack@linux.com>.
109
110
111
112 v2.2.3 notcurses_lines(3)