grid: enable rows to have ‘extra’ data associated with them

This patch adds an ‘extra’ member to the row struct. It is a pointer
to a struct containing extra data to be associated with this row.

Initially, this struct contains a list of URL ranges. These
define (OSC-8) URLs on this row.

The ‘extra’ data is allocated on-demand. I.e. the pointer is NULL by
default; it is *not* allocated by grid_row_alloc().
This commit is contained in:
Daniel Eklöf 2021-02-13 12:31:55 +01:00
parent 3339915d20
commit fd87bca102
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
3 changed files with 44 additions and 4 deletions

View file

@ -86,10 +86,21 @@ struct composed {
uint8_t count;
};
struct row_uri_range {
int start;
int end;
char *uri;
};
struct row_data {
tll(struct row_uri_range) uri_ranges;
};
struct row {
struct cell *cells;
bool dirty;
bool linebreak;
struct row_data *extra;
};
struct sixel {