libghostty
Loading...
Searching...
No Matches
mouse/encoder.h
Go to the documentation of this file.
1
6
7#ifndef GHOSTTY_VT_MOUSE_ENCODER_H
8#define GHOSTTY_VT_MOUSE_ENCODER_H
9
10#include <stdbool.h>
11#include <stddef.h>
12#include <stdint.h>
15#include <ghostty/vt/terminal.h>
16#include <ghostty/vt/types.h>
17
27
33typedef enum {
36
39
42
45
49
55typedef enum {
56 GHOSTTY_MOUSE_FORMAT_X10 = 0,
57 GHOSTTY_MOUSE_FORMAT_UTF8 = 1,
58 GHOSTTY_MOUSE_FORMAT_SGR = 2,
59 GHOSTTY_MOUSE_FORMAT_URXVT = 3,
60 GHOSTTY_MOUSE_FORMAT_SGR_PIXELS = 4,
62
71typedef struct {
73 size_t size;
74
76 uint32_t screen_width;
77
79 uint32_t screen_height;
80
82 uint32_t cell_width;
83
85 uint32_t cell_height;
86
88 uint32_t padding_top;
89
92
94 uint32_t padding_right;
95
97 uint32_t padding_left;
99
108typedef enum {
111
114
117
120
124
135 GhosttyMouseEncoder *encoder);
136
145
159 const void *value);
160
173 GhosttyTerminal terminal);
174
185
206 GhosttyMouseEvent event,
207 char *out_buf,
208 size_t out_buf_size,
209 size_t *out_len);
210
211#endif /* GHOSTTY_VT_MOUSE_ENCODER_H */
void ghostty_mouse_encoder_setopt(GhosttyMouseEncoder encoder, GhosttyMouseEncoderOption option, const void *value)
void ghostty_mouse_encoder_setopt_from_terminal(GhosttyMouseEncoder encoder, GhosttyTerminal terminal)
GhosttyMouseFormat
GhosttyResult ghostty_mouse_encoder_new(const GhosttyAllocator *allocator, GhosttyMouseEncoder *encoder)
GhosttyMouseEncoderOption
void ghostty_mouse_encoder_free(GhosttyMouseEncoder encoder)
GhosttyResult ghostty_mouse_encoder_encode(GhosttyMouseEncoder encoder, GhosttyMouseEvent event, char *out_buf, size_t out_buf_size, size_t *out_len)
GhosttyMouseTrackingMode
struct GhosttyMouseEvent * GhosttyMouseEvent
Definition mouse/event.h:23
void ghostty_mouse_encoder_reset(GhosttyMouseEncoder encoder)
struct GhosttyMouseEncoder * GhosttyMouseEncoder
@ GHOSTTY_MOUSE_ENCODER_OPT_SIZE
@ GHOSTTY_MOUSE_ENCODER_OPT_FORMAT
@ GHOSTTY_MOUSE_ENCODER_OPT_ANY_BUTTON_PRESSED
@ GHOSTTY_MOUSE_ENCODER_OPT_TRACK_LAST_CELL
@ GHOSTTY_MOUSE_ENCODER_OPT_EVENT
@ GHOSTTY_MOUSE_TRACKING_ANY
@ GHOSTTY_MOUSE_TRACKING_X10
@ GHOSTTY_MOUSE_TRACKING_NORMAL
@ GHOSTTY_MOUSE_TRACKING_NONE
@ GHOSTTY_MOUSE_TRACKING_BUTTON
struct GhosttyTerminal * GhosttyTerminal
Definition terminal.h:37
GhosttyResult
Definition types.h:13