libghostty-vt 0.0.0
Loading...
Searching...
No Matches
kitty_graphics.h
Go to the documentation of this file.
1
8
9#ifndef GHOSTTY_VT_KITTY_GRAPHICS_H
10#define GHOSTTY_VT_KITTY_GRAPHICS_H
11
12#include <stdbool.h>
13#include <stdint.h>
16#include <ghostty/vt/types.h>
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
42
48typedef enum GHOSTTY_ENUM_TYPED {
51
60
80 GHOSTTY_KITTY_GRAPHICS_DATA_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
82
88typedef enum GHOSTTY_ENUM_TYPED {
91
98
105
118
125
132
139
146
153
160
167
174
181
182 GHOSTTY_KITTY_GRAPHICS_PLACEMENT_DATA_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
184
190typedef enum GHOSTTY_ENUM_TYPED {
197
228 GHOSTTY_KITTY_GRAPHICS_PLACEMENT_ITERATOR_OPT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
230
242typedef enum GHOSTTY_ENUM_TYPED {
243 GHOSTTY_KITTY_IMAGE_FORMAT_RGB = 0,
244 GHOSTTY_KITTY_IMAGE_FORMAT_RGBA = 1,
245 GHOSTTY_KITTY_IMAGE_FORMAT_PNG = 2,
246 GHOSTTY_KITTY_IMAGE_FORMAT_GRAY_ALPHA = 3,
247 GHOSTTY_KITTY_IMAGE_FORMAT_GRAY = 4,
248 GHOSTTY_KITTY_IMAGE_FORMAT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
250
262typedef enum GHOSTTY_ENUM_TYPED {
263 GHOSTTY_KITTY_IMAGE_COMPRESSION_NONE = 0,
264 GHOSTTY_KITTY_IMAGE_COMPRESSION_ZLIB_DEFLATE = 1,
265 GHOSTTY_KITTY_IMAGE_COMPRESSION_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
267
273typedef enum GHOSTTY_ENUM_TYPED {
276
283
290
297
304
312
321
356
370
395
396 GHOSTTY_KITTY_GRAPHICS_IMAGE_DATA_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
398
425typedef struct {
427 size_t size;
429 uint32_t pixel_width;
431 uint32_t pixel_height;
433 uint32_t grid_cols;
435 uint32_t grid_rows;
449 uint32_t source_x;
451 uint32_t source_y;
453 uint32_t source_width;
457
461
480 GhosttyKittyGraphics graphics,
482 void* out);
483
523 GhosttyKittyGraphics graphics,
524 uint64_t now_ms,
525 uint64_t* next_ms);
526
528
532
546 GhosttyKittyGraphics graphics,
547 uint32_t image_id);
548
567 void* out);
568
602 size_t count,
604 void** values,
605 size_t* out_written);
606
608
612
628 const GhosttyAllocator* allocator,
630
640
663 const void* value);
664
679
698 void* out);
699
733 size_t count,
735 void** values,
736 size_t* out_written);
737
739
743
766 GhosttyTerminal terminal,
767 GhosttySelection* out_selection);
768
790 GhosttyTerminal terminal,
791 uint32_t* out_width,
792 uint32_t* out_height);
793
816 GhosttyTerminal terminal,
817 uint32_t* out_cols,
818 uint32_t* out_rows);
819
854 GhosttyTerminal terminal,
855 int32_t* out_col,
856 int32_t* out_row);
857
880 uint32_t* out_x,
881 uint32_t* out_y,
882 uint32_t* out_width,
883 uint32_t* out_height);
884
917 GhosttyTerminal terminal,
919
921
923
924#ifdef __cplusplus
925}
926#endif
927
928#endif /* GHOSTTY_VT_KITTY_GRAPHICS_H */
GhosttyResult
Definition types.h:143
#define GHOSTTY_ENUM_TYPED
Definition types.h:124
GHOSTTY_API GhosttyResult ghostty_kitty_graphics_placement_pixel_size(GhosttyKittyGraphicsPlacementIterator iterator, GhosttyKittyGraphicsImage image, GhosttyTerminal terminal, uint32_t *out_width, uint32_t *out_height)
GHOSTTY_API void ghostty_kitty_graphics_placement_iterator_free(GhosttyKittyGraphicsPlacementIterator iterator)
GHOSTTY_API GhosttyResult ghostty_kitty_graphics_placement_viewport_pos(GhosttyKittyGraphicsPlacementIterator iterator, GhosttyKittyGraphicsImage image, GhosttyTerminal terminal, int32_t *out_col, int32_t *out_row)
struct GhosttyKittyGraphicsImpl * GhosttyKittyGraphics
Definition types.h:227
GHOSTTY_API GhosttyResult ghostty_kitty_graphics_placement_iterator_set(GhosttyKittyGraphicsPlacementIterator iterator, GhosttyKittyGraphicsPlacementIteratorOption option, const void *value)
GHOSTTY_API GhosttyResult ghostty_kitty_graphics_placement_get(GhosttyKittyGraphicsPlacementIterator iterator, GhosttyKittyGraphicsPlacementData data, void *out)
GhosttyKittyGraphicsPlacementData
GHOSTTY_API GhosttyResult ghostty_kitty_graphics_animation_tick(GhosttyKittyGraphics graphics, uint64_t now_ms, uint64_t *next_ms)
GHOSTTY_API GhosttyResult ghostty_kitty_graphics_placement_source_rect(GhosttyKittyGraphicsPlacementIterator iterator, GhosttyKittyGraphicsImage image, uint32_t *out_x, uint32_t *out_y, uint32_t *out_width, uint32_t *out_height)
GHOSTTY_API GhosttyResult ghostty_kitty_graphics_placement_iterator_new(const GhosttyAllocator *allocator, GhosttyKittyGraphicsPlacementIterator *out_iterator)
GHOSTTY_API GhosttyResult ghostty_kitty_graphics_placement_get_multi(GhosttyKittyGraphicsPlacementIterator iterator, size_t count, const GhosttyKittyGraphicsPlacementData *keys, void **values, size_t *out_written)
GHOSTTY_API GhosttyResult ghostty_kitty_graphics_placement_rect(GhosttyKittyGraphicsPlacementIterator iterator, GhosttyKittyGraphicsImage image, GhosttyTerminal terminal, GhosttySelection *out_selection)
GhosttyKittyImageFormat
struct GhosttyKittyGraphicsPlacementIteratorImpl * GhosttyKittyGraphicsPlacementIterator
Definition types.h:245
GHOSTTY_API GhosttyResult ghostty_kitty_graphics_get(GhosttyKittyGraphics graphics, GhosttyKittyGraphicsData data, void *out)
GHOSTTY_API GhosttyKittyGraphicsImage ghostty_kitty_graphics_image(GhosttyKittyGraphics graphics, uint32_t image_id)
GHOSTTY_API GhosttyResult ghostty_kitty_graphics_placement_grid_size(GhosttyKittyGraphicsPlacementIterator iterator, GhosttyKittyGraphicsImage image, GhosttyTerminal terminal, uint32_t *out_cols, uint32_t *out_rows)
GhosttyKittyImageCompression
GhosttyKittyGraphicsImageData
GHOSTTY_API GhosttyResult ghostty_kitty_graphics_image_get_multi(GhosttyKittyGraphicsImage image, size_t count, const GhosttyKittyGraphicsImageData *keys, void **values, size_t *out_written)
GhosttyKittyGraphicsPlacementIteratorOption
GHOSTTY_API GhosttyResult ghostty_kitty_graphics_image_get(GhosttyKittyGraphicsImage image, GhosttyKittyGraphicsImageData data, void *out)
GHOSTTY_API bool ghostty_kitty_graphics_placement_next(GhosttyKittyGraphicsPlacementIterator iterator)
GhosttyKittyGraphicsData
GHOSTTY_API GhosttyResult ghostty_kitty_graphics_placement_render_info(GhosttyKittyGraphicsPlacementIterator iterator, GhosttyKittyGraphicsImage image, GhosttyTerminal terminal, GhosttyKittyGraphicsPlacementRenderInfo *out_info)
const struct GhosttyKittyGraphicsImageImpl * GhosttyKittyGraphicsImage
Definition types.h:238
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_DATA_Z
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_DATA_X_OFFSET
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_DATA_SOURCE_WIDTH
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_DATA_COLUMNS
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_DATA_IMAGE_ID
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_DATA_SOURCE_X
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_DATA_PLACEMENT_ID
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_DATA_Y_OFFSET
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_DATA_ROWS
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_DATA_SOURCE_HEIGHT
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_DATA_IS_VIRTUAL
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_DATA_SOURCE_Y
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_DATA_INVALID
@ GHOSTTY_KITTY_GRAPHICS_IMAGE_DATA_EXPECTED_LEN
@ GHOSTTY_KITTY_GRAPHICS_IMAGE_DATA_FORMAT
@ GHOSTTY_KITTY_GRAPHICS_IMAGE_DATA_PIXELS
@ GHOSTTY_KITTY_GRAPHICS_IMAGE_DATA_WIDTH
@ GHOSTTY_KITTY_GRAPHICS_IMAGE_DATA_INVALID
@ GHOSTTY_KITTY_GRAPHICS_IMAGE_DATA_NUMBER
@ GHOSTTY_KITTY_GRAPHICS_IMAGE_DATA_ID
@ GHOSTTY_KITTY_GRAPHICS_IMAGE_DATA_COMPRESSION
@ GHOSTTY_KITTY_GRAPHICS_IMAGE_DATA_HEIGHT
@ GHOSTTY_KITTY_GRAPHICS_IMAGE_DATA_GENERATION
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_ITERATOR_OPT_INVALID
@ GHOSTTY_KITTY_GRAPHICS_PLACEMENT_ITERATOR_OPT_LAYER
@ GHOSTTY_KITTY_GRAPHICS_DATA_PLACEMENT_ITERATOR
@ GHOSTTY_KITTY_GRAPHICS_DATA_GENERATION
@ GHOSTTY_KITTY_GRAPHICS_DATA_INVALID
struct GhosttyTerminalImpl * GhosttyTerminal
Definition types.h:196