mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
Handle these on a higher abstraction level. The low level functions that detect sixel intersections now assume the specified rectangle (or line region) does *not* cross the wrap-around. This is ensured by detecting a wrap-around region before hand, and splitting it up into two, non wrapping regions.
28 lines
994 B
C
28 lines
994 B
C
#pragma once
|
|
|
|
#include "terminal.h"
|
|
|
|
#define SIXEL_MAX_COLORS 1024u
|
|
|
|
void sixel_fini(struct terminal *term);
|
|
|
|
void sixel_init(struct terminal *term);
|
|
void sixel_put(struct terminal *term, uint8_t c);
|
|
void sixel_unhook(struct terminal *term);
|
|
|
|
void sixel_destroy(struct sixel *sixel);
|
|
|
|
/* Row numbers are relative to current grid offset */
|
|
void sixel_delete_in_range(struct terminal *term, int row_start, int row_end);
|
|
void sixel_delete_at_row(struct terminal *term, int row);
|
|
void sixel_split_at_cursor(struct terminal *term);
|
|
|
|
void sixel_colors_report_current(struct terminal *term);
|
|
void sixel_colors_reset(struct terminal *term);
|
|
void sixel_colors_set(struct terminal *term, unsigned count);
|
|
void sixel_colors_report_max(struct terminal *term);
|
|
|
|
void sixel_geometry_report_current(struct terminal *term);
|
|
void sixel_geometry_reset(struct terminal *term);
|
|
void sixel_geometry_set(struct terminal *term, unsigned width, unsigned height);
|
|
void sixel_geometry_report_max(struct terminal *term);
|