added cstring and csprite

This commit is contained in:
2025-02-14 15:03:04 -08:00
parent 794a0e372c
commit 82ea45a39f
2 changed files with 111 additions and 0 deletions

View File

@@ -109,6 +109,18 @@ struct tart_cell {
};
#endif
struct tart_cstring {
struct tart_cell* data;
long size;
};
struct tart_csprite {
struct tart_cell* data;
struct tart_vec2* position;
struct tart_vec2 bounds;
long size;
};
/* Tart Buffer
*
* The Buffer is a contner that holds all of the cells for that buffer.
@@ -158,6 +170,7 @@ tart_byte tart_add_buffer(struct tart_window*, struct tart_buffer);
tart_byte tart_remove_buffer(struct tart_window*, tart_id);
tart_byte tart_set_buffer(struct tart_window*, struct tart_buffer, tart_byte);
struct tart_buffer* tart_get_buffer(struct tart_window*, tart_byte);
struct tart_cell* tart_get_cell(struct tart_buffer*, int);
@@ -167,6 +180,23 @@ tart_byte tart_draw_window(struct tart_window*, char*);
tart_byte tart_add_cells_to_buffer(struct tart_buffer*, struct tart_cell*);
// rendering
// Resering positionial cells.
struct tart_cstring tart_cstring(char* string, long, struct tart_cell type);
tart_byte tart_cstring_free(struct tart_cstring*);
struct tart_cstring tart_cstring_append(struct tart_cstring*, struct tart_cstring*);
struct tart_csprite tart_csprite(struct tart_cell*, struct tart_vec2*, long);
tart_byte tart_csprite_free(struct tart_csprite*);
tart_byte tart_draw_cell_position(struct tart_buffer*, struct tart_cell, struct tart_vec2);
tart_byte tart_draw_cstring_position(struct tart_buffer*, struct tart_cstring, struct tart_vec2);
tart_byte tart_draw_csprite_position(struct tart_buffer*, struct tart_csprite, struct tart_vec2);
/*
* tart_restore_buffer sets the buffer to NULL_CELL.
* */
tart_byte tart_restore_buffer(struct tart_buffer*);
#ifdef __cplusplus
}
#endif