7#ifndef GHOSTTY_VT_RENDER_H
8#define GHOSTTY_VT_RENDER_H
58 GHOSTTY_RENDER_STATE_DIRTY_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
214 GHOSTTY_RENDER_STATE_DATA_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
243 GHOSTTY_RENDER_STATE_OPT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
264 GHOSTTY_IMAGE_PROTOCOL_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
310 GHOSTTY_RENDER_STATE_KITTY_PLACEMENT_KIND_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
430 GHOSTTY_RENDER_STATE_IMAGE_DATA_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
484 GHOSTTY_RENDER_STATE_ROW_DATA_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
504 GHOSTTY_RENDER_STATE_ROW_OPT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
791 size_t* out_written);
963 size_t* out_written);
1079 GHOSTTY_RENDER_STATE_ROW_CELLS_DATA_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
1195 size_t* out_written);
1323 size_t* out_written);
#define GHOSTTY_ENUM_TYPED
GhosttyRenderStateRowData
GHOSTTY_API GhosttyResult ghostty_render_state_row_cells_new(const GhosttyAllocator *allocator, GhosttyRenderStateRowCells *out_cells)
GhosttyRenderStateKittyPlacementKind
GHOSTTY_API GhosttyResult ghostty_render_state_set(GhosttyRenderState state, GhosttyRenderStateOption option, const void *value)
GHOSTTY_API GhosttyResult ghostty_render_state_row_cells_get(GhosttyRenderStateRowCells cells, GhosttyRenderStateRowCellsData data, void *out)
GHOSTTY_API GhosttyResult ghostty_render_state_image_get_multi(GhosttyRenderStateImageIterator iterator, size_t count, const GhosttyRenderStateImageData *keys, void **values, size_t *out_written)
GHOSTTY_API GhosttyResult ghostty_render_state_clean(GhosttyRenderState state)
GHOSTTY_API bool ghostty_render_state_row_cells_next(GhosttyRenderStateRowCells cells)
GHOSTTY_API GhosttyResult ghostty_render_state_update(GhosttyRenderState state, GhosttyTerminal terminal)
struct GhosttyRenderStateRowIteratorImpl * GhosttyRenderStateRowIterator
GHOSTTY_API void ghostty_render_state_image_iterator_free(GhosttyRenderStateImageIterator iterator)
GHOSTTY_API GhosttyResult ghostty_render_state_begin_update(GhosttyRenderState state, GhosttyTerminal terminal)
GHOSTTY_API GhosttyResult ghostty_render_state_end_update(GhosttyRenderState state)
GhosttyRenderStateImageData
struct GhosttyRenderStateImpl * GhosttyRenderState
GHOSTTY_API GhosttyResult ghostty_render_state_row_cells_get_multi(GhosttyRenderStateRowCells cells, size_t count, const GhosttyRenderStateRowCellsData *keys, void **values, size_t *out_written)
GHOSTTY_API GhosttyResult ghostty_render_state_new(const GhosttyAllocator *allocator, GhosttyRenderState *state)
GHOSTTY_API GhosttyResult ghostty_render_state_row_iterator_new(const GhosttyAllocator *allocator, GhosttyRenderStateRowIterator *out_iterator)
GHOSTTY_API void ghostty_render_state_row_cells_free(GhosttyRenderStateRowCells cells)
GHOSTTY_API GhosttyResult ghostty_render_state_image_iterator_new(const GhosttyAllocator *allocator, GhosttyRenderStateImageIterator *out_iterator)
GhosttyRenderStateRowCellsData
GHOSTTY_API GhosttyResult ghostty_render_state_row_cells_select(GhosttyRenderStateRowCells cells, uint16_t x)
GHOSTTY_API void ghostty_render_state_row_iterator_free(GhosttyRenderStateRowIterator iterator)
GHOSTTY_API void ghostty_render_state_free(GhosttyRenderState state)
GHOSTTY_API GhosttyResult ghostty_render_state_row_get_multi(GhosttyRenderStateRowIterator iterator, size_t count, const GhosttyRenderStateRowData *keys, void **values, size_t *out_written)
GHOSTTY_API GhosttyResult ghostty_render_state_get(GhosttyRenderState state, GhosttyRenderStateData data, void *out)
GHOSTTY_API bool ghostty_render_state_image_iterator_next(GhosttyRenderStateImageIterator iterator)
GHOSTTY_API bool ghostty_render_state_row_iterator_next_dirty(GhosttyRenderStateRowIterator iterator, uint16_t *out_y)
GHOSTTY_API GhosttyResult ghostty_render_state_image_get(GhosttyRenderStateImageIterator iterator, GhosttyRenderStateImageData data, void *out)
struct GhosttyRenderStateImageIteratorImpl * GhosttyRenderStateImageIterator
GHOSTTY_API bool ghostty_render_state_row_iterator_next(GhosttyRenderStateRowIterator iterator)
GHOSTTY_API GhosttyResult ghostty_render_state_row_set(GhosttyRenderStateRowIterator iterator, GhosttyRenderStateRowOption option, const void *value)
GHOSTTY_API GhosttyResult ghostty_render_state_row_get(GhosttyRenderStateRowIterator iterator, GhosttyRenderStateRowData data, void *out)
GhosttyRenderStateRowOption
GHOSTTY_API GhosttyResult ghostty_render_state_get_multi(GhosttyRenderState state, size_t count, const GhosttyRenderStateData *keys, void **values, size_t *out_written)
struct GhosttyRenderStateRowCellsImpl * GhosttyRenderStateRowCells
@ GHOSTTY_RENDER_STATE_ROW_DATA_INVALID
@ GHOSTTY_RENDER_STATE_ROW_DATA_SELECTION
@ GHOSTTY_RENDER_STATE_ROW_DATA_CELLS
@ GHOSTTY_RENDER_STATE_ROW_DATA_CELLS_RAW
@ GHOSTTY_RENDER_STATE_ROW_DATA_ID
@ GHOSTTY_RENDER_STATE_ROW_DATA_RAW
@ GHOSTTY_RENDER_STATE_ROW_DATA_VIEWPORT_Y
@ GHOSTTY_RENDER_STATE_ROW_DATA_DIRTY
@ GHOSTTY_IMAGE_PROTOCOL_KITTY
@ GHOSTTY_RENDER_STATE_DATA_CURSOR_VIEWPORT_X
@ GHOSTTY_RENDER_STATE_DATA_COLOR_FOREGROUND
@ GHOSTTY_RENDER_STATE_DATA_COLOR_PALETTE
@ GHOSTTY_RENDER_STATE_DATA_OVERSCAN_REQUEST
@ GHOSTTY_RENDER_STATE_DATA_IMAGE_ITERATOR
@ GHOSTTY_RENDER_STATE_DATA_COLOR_CURSOR
@ GHOSTTY_RENDER_STATE_DATA_DIRTY
@ GHOSTTY_RENDER_STATE_DATA_CURSOR_VIEWPORT_HAS_VALUE
@ GHOSTTY_RENDER_STATE_DATA_COLORS
@ GHOSTTY_RENDER_STATE_DATA_IMAGE_PLACEMENTS_GENERATION
@ GHOSTTY_RENDER_STATE_DATA_CURSOR_VISUAL_STYLE
@ GHOSTTY_RENDER_STATE_DATA_COLOR_CURSOR_HAS_VALUE
@ GHOSTTY_RENDER_STATE_DATA_CURSOR_VIEWPORT_Y
@ GHOSTTY_RENDER_STATE_DATA_OVERSCAN
@ GHOSTTY_RENDER_STATE_DATA_INVALID
@ GHOSTTY_RENDER_STATE_DATA_CURSOR_PASSWORD_INPUT
@ GHOSTTY_RENDER_STATE_DATA_CURSOR_VISIBLE
@ GHOSTTY_RENDER_STATE_DATA_CURSOR_VIEWPORT_WIDE_TAIL
@ GHOSTTY_RENDER_STATE_DATA_COLOR_BACKGROUND
@ GHOSTTY_RENDER_STATE_DATA_ROW_ITERATOR
@ GHOSTTY_RENDER_STATE_DATA_CURSOR
@ GHOSTTY_RENDER_STATE_DATA_CURSOR_BLINKING
@ GHOSTTY_RENDER_STATE_DATA_ROWS
@ GHOSTTY_RENDER_STATE_DATA_COLS
@ GHOSTTY_RENDER_STATE_KITTY_PLACEMENT_KIND_FIXED
@ GHOSTTY_RENDER_STATE_KITTY_PLACEMENT_KIND_VIRTUAL
@ GHOSTTY_RENDER_STATE_KITTY_PLACEMENT_KIND_RELATIVE
@ GHOSTTY_RENDER_STATE_OPT_OVERSCAN
@ GHOSTTY_RENDER_STATE_OPT_INVALID
@ GHOSTTY_RENDER_STATE_OPT_DIRTY
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_Z
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_PIXEL_HEIGHT
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_PROTOCOL
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_IMAGE_ID
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_VIEWPORT_COL
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_CELL_OFFSET_X
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_IMAGE_GENERATION
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_SOURCE_Y
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_KITTY_PLACEMENT_ID
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_VIEWPORT_ROW
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_PIXEL_WIDTH
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_GRID_ROWS
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_CELL_OFFSET_Y
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_SOURCE_HEIGHT
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_KITTY_KIND
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_INVALID
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_SOURCE_X
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_GRID_COLS
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_LAYER
@ GHOSTTY_RENDER_STATE_IMAGE_DATA_SOURCE_WIDTH
@ GHOSTTY_RENDER_STATE_ROW_CELLS_DATA_HAS_STYLING
@ GHOSTTY_RENDER_STATE_ROW_CELLS_DATA_RAW
@ GHOSTTY_RENDER_STATE_ROW_CELLS_DATA_INVALID
@ GHOSTTY_RENDER_STATE_ROW_CELLS_DATA_GRAPHEMES_LEN
@ GHOSTTY_RENDER_STATE_ROW_CELLS_DATA_FG_COLOR
@ GHOSTTY_RENDER_STATE_ROW_CELLS_DATA_GRAPHEMES_BUF
@ GHOSTTY_RENDER_STATE_ROW_CELLS_DATA_BG_COLOR
@ GHOSTTY_RENDER_STATE_ROW_CELLS_DATA_SELECTED
@ GHOSTTY_RENDER_STATE_ROW_CELLS_DATA_STYLE
@ GHOSTTY_RENDER_STATE_ROW_CELLS_DATA_GRAPHEMES_UTF8
@ GHOSTTY_RENDER_STATE_DIRTY_FALSE
@ GHOSTTY_RENDER_STATE_DIRTY_PARTIAL
@ GHOSTTY_RENDER_STATE_DIRTY_FULL
@ GHOSTTY_RENDER_STATE_ROW_OPT_DIRTY
@ GHOSTTY_RENDER_STATE_ROW_OPT_INVALID
struct GhosttyTerminalImpl * GhosttyTerminal
GhosttyColorRgb foreground
GhosttyColorRgb background
GhosttyColorRgb palette[256]
GhosttyCursorStyle visual_style