mirror of https://github.com/fairyglade/ly.git
Remove all deprecated calls to tb_cell_buffer()
Signed-off-by: AnErrupTion <anerruption@disroot.org>
This commit is contained in:
parent
9168266cca
commit
9c79137c9f
|
@ -506,6 +506,21 @@ int tb_set_cell_ex(int x, int y, uint32_t *ch, size_t nch, uintattr_t fg,
|
||||||
uintattr_t bg);
|
uintattr_t bg);
|
||||||
int tb_extend_cell(int x, int y, uint32_t ch);
|
int tb_extend_cell(int x, int y, uint32_t ch);
|
||||||
|
|
||||||
|
/* Get cell at specified position.
|
||||||
|
*
|
||||||
|
* If position is valid, function returns TB_OK and cell contents are copied to
|
||||||
|
* `cell`. Note if `nech>0`, then `ech` will be a pointer to memory which may
|
||||||
|
* be invalid or freed after subsequent library calls. Callers must copy this
|
||||||
|
* memory if they need to persist it for some reason. Modifying memory at `ech`
|
||||||
|
* results in undefined behavior.
|
||||||
|
*
|
||||||
|
* If `back` is non-zero, return cells from the internal back buffer. Otherwise,
|
||||||
|
* return cells from the front buffer. Note the front buffer is updated on each
|
||||||
|
* call to tb_present(), whereas the back buffer is updated immediately by
|
||||||
|
* tb_set_cell() and other functions that mutate cell contents.
|
||||||
|
*/
|
||||||
|
int tb_get_cell(int x, int y, int back, struct tb_cell *cell);
|
||||||
|
|
||||||
/* Set the input mode. Termbox has two input modes:
|
/* Set the input mode. Termbox has two input modes:
|
||||||
*
|
*
|
||||||
* 1. `TB_INPUT_ESC`
|
* 1. `TB_INPUT_ESC`
|
||||||
|
@ -1771,6 +1786,15 @@ int tb_set_cell_ex(int x, int y, uint32_t *ch, size_t nch, uintattr_t fg,
|
||||||
return TB_OK;
|
return TB_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int tb_get_cell(int x, int y, int back, struct tb_cell *cell) {
|
||||||
|
if_not_init_return();
|
||||||
|
int rv;
|
||||||
|
struct tb_cell *cellp = NULL;
|
||||||
|
rv = cellbuf_get(back ? &global.back : &global.front, x, y, &cellp);
|
||||||
|
if (cellp) memcpy(cell, cellp, sizeof(*cell));
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
int tb_extend_cell(int x, int y, uint32_t ch) {
|
int tb_extend_cell(int x, int y, uint32_t ch) {
|
||||||
if_not_init_return();
|
if_not_init_return();
|
||||||
#ifdef TB_OPT_EGC
|
#ifdef TB_OPT_EGC
|
||||||
|
@ -3271,14 +3295,6 @@ static int send_cluster(int x, int y, uint32_t *ch, size_t nch) {
|
||||||
ch32 = 0xfffd; // replace non-printable codepoints with U+FFFD
|
ch32 = 0xfffd; // replace non-printable codepoints with U+FFFD
|
||||||
}
|
}
|
||||||
int chu8_len = tb_utf8_unicode_to_char(chu8, ch32);
|
int chu8_len = tb_utf8_unicode_to_char(chu8, ch32);
|
||||||
/*
|
|
||||||
if (ch32 == 0) { // replace null with space (from termbox 19dbee5)
|
|
||||||
chu8_len = 1;
|
|
||||||
chu8[0] = ' ';
|
|
||||||
} else {
|
|
||||||
chu8_len = tb_utf8_unicode_to_char(chu8, ch32);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
if_err_return(rv, bytebuf_nputs(&global.out, chu8, (size_t)chu8_len));
|
if_err_return(rv, bytebuf_nputs(&global.out, chu8, (size_t)chu8_len));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -378,7 +378,7 @@ pub fn main() !void {
|
||||||
if (!update or config.animation != .none) {
|
if (!update or config.animation != .none) {
|
||||||
if (!update) std.time.sleep(std.time.ns_per_ms * 100);
|
if (!update) std.time.sleep(std.time.ns_per_ms * 100);
|
||||||
|
|
||||||
_ = termbox.tb_present(); // Required to update tb_width(), tb_height() and tb_cell_buffer()
|
_ = termbox.tb_present(); // Required to update tb_width() and tb_height()
|
||||||
|
|
||||||
const width: usize = @intCast(termbox.tb_width());
|
const width: usize = @intCast(termbox.tb_width());
|
||||||
const height: usize = @intCast(termbox.tb_height());
|
const height: usize = @intCast(termbox.tb_height());
|
||||||
|
@ -388,7 +388,6 @@ pub fn main() !void {
|
||||||
|
|
||||||
buffer.width = width;
|
buffer.width = width;
|
||||||
buffer.height = height;
|
buffer.height = height;
|
||||||
buffer.buffer = termbox.tb_cell_buffer();
|
|
||||||
|
|
||||||
switch (config.animation) {
|
switch (config.animation) {
|
||||||
.none => {},
|
.none => {},
|
||||||
|
|
|
@ -21,7 +21,6 @@ pub const InitOptions = struct {
|
||||||
random: Random,
|
random: Random,
|
||||||
width: usize,
|
width: usize,
|
||||||
height: usize,
|
height: usize,
|
||||||
buffer: [*]termbox.tb_cell,
|
|
||||||
fg: u32,
|
fg: u32,
|
||||||
bg: u32,
|
bg: u32,
|
||||||
border_fg: u32,
|
border_fg: u32,
|
||||||
|
@ -48,7 +47,6 @@ pub fn init(options: InitOptions, labels_max_length: usize, random: Random) Term
|
||||||
.random = random,
|
.random = random,
|
||||||
.width = @intCast(termbox.tb_width()),
|
.width = @intCast(termbox.tb_width()),
|
||||||
.height = @intCast(termbox.tb_height()),
|
.height = @intCast(termbox.tb_height()),
|
||||||
.buffer = termbox.tb_cell_buffer(),
|
|
||||||
.fg = options.fg,
|
.fg = options.fg,
|
||||||
.bg = options.bg,
|
.bg = options.bg,
|
||||||
.border_fg = options.border_fg,
|
.border_fg = options.border_fg,
|
||||||
|
@ -87,8 +85,11 @@ pub fn cascade(self: TerminalBuffer) bool {
|
||||||
|
|
||||||
while (y > 0) : (y -= 1) {
|
while (y > 0) : (y -= 1) {
|
||||||
for (0..self.width) |x| {
|
for (0..self.width) |x| {
|
||||||
const cell = self.buffer[(y - 1) * self.width + x];
|
var cell: termbox.tb_cell = undefined;
|
||||||
const cell_under = self.buffer[y * self.width + x];
|
var cell_under: termbox.tb_cell = undefined;
|
||||||
|
|
||||||
|
_ = termbox.tb_get_cell(@intCast(x), @intCast(y - 1), 1, &cell);
|
||||||
|
_ = termbox.tb_get_cell(@intCast(x), @intCast(y), 1, &cell_under);
|
||||||
|
|
||||||
const char: u8 = @truncate(cell.ch);
|
const char: u8 = @truncate(cell.ch);
|
||||||
if (std.ascii.isWhitespace(char)) continue;
|
if (std.ascii.isWhitespace(char)) continue;
|
||||||
|
|
Loading…
Reference in New Issue