libghostty-vt
0.0.0
Toggle main menu visibility
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>
13
#include <
ghostty/vt/allocator.h
>
14
#include <
ghostty/vt/mouse/event.h
>
15
#include <
ghostty/vt/terminal.h
>
16
#include <
ghostty/vt/types.h
>
17
26
typedef
struct
GhosttyMouseEncoderImpl *
GhosttyMouseEncoder
;
27
33
typedef
enum
GHOSTTY_ENUM_TYPED
{
35
GHOSTTY_MOUSE_TRACKING_NONE
= 0,
36
38
GHOSTTY_MOUSE_TRACKING_X10
= 1,
39
41
GHOSTTY_MOUSE_TRACKING_NORMAL
= 2,
42
44
GHOSTTY_MOUSE_TRACKING_BUTTON
= 3,
45
47
GHOSTTY_MOUSE_TRACKING_ANY
= 4,
48
GHOSTTY_MOUSE_TRACKING_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
49
}
GhosttyMouseTrackingMode
;
50
56
typedef
enum
GHOSTTY_ENUM_TYPED
{
57
GHOSTTY_MOUSE_FORMAT_X10 = 0,
58
GHOSTTY_MOUSE_FORMAT_UTF8 = 1,
59
GHOSTTY_MOUSE_FORMAT_SGR = 2,
60
GHOSTTY_MOUSE_FORMAT_URXVT = 3,
61
GHOSTTY_MOUSE_FORMAT_SGR_PIXELS = 4,
62
GHOSTTY_MOUSE_FORMAT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
63
}
GhosttyMouseFormat
;
64
76
typedef
struct
{
78
size_t
size
;
79
81
uint32_t
screen_width
;
82
84
uint32_t
screen_height
;
85
87
uint32_t
cell_width
;
88
90
uint32_t
cell_height
;
91
93
uint32_t
padding_top
;
94
96
uint32_t
padding_bottom
;
97
99
uint32_t
padding_right
;
100
102
uint32_t
padding_left
;
103
}
GhosttyMouseEncoderSize
;
104
113
typedef
enum
GHOSTTY_ENUM_TYPED
{
119
GHOSTTY_MOUSE_ENCODER_OPT_INVALID
= 0,
120
123
GHOSTTY_MOUSE_ENCODER_OPT_EVENT
= 1,
124
127
GHOSTTY_MOUSE_ENCODER_OPT_FORMAT
= 2,
128
131
GHOSTTY_MOUSE_ENCODER_OPT_SIZE
= 3,
132
135
GHOSTTY_MOUSE_ENCODER_OPT_ANY_BUTTON_PRESSED
= 4,
136
139
GHOSTTY_MOUSE_ENCODER_OPT_TRACK_LAST_CELL
= 5,
140
GHOSTTY_MOUSE_ENCODER_OPT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
141
}
GhosttyMouseEncoderOption
;
142
152
GHOSTTY_API
GhosttyResult
ghostty_mouse_encoder_new
(
const
GhosttyAllocator
*allocator,
153
GhosttyMouseEncoder
*encoder);
154
162
GHOSTTY_API
void
ghostty_mouse_encoder_free
(
GhosttyMouseEncoder
encoder);
163
189
GHOSTTY_API
GhosttyResult
ghostty_mouse_encoder_set
(
GhosttyMouseEncoder
encoder,
190
GhosttyMouseEncoderOption
option,
191
const
void
*value);
192
208
GHOSTTY_API
GhosttyResult
ghostty_mouse_encoder_set_from_terminal
(
GhosttyMouseEncoder
encoder,
209
GhosttyTerminal
terminal);
210
222
GHOSTTY_API
GhosttyResult
ghostty_mouse_encoder_reset
(
GhosttyMouseEncoder
encoder);
223
261
GHOSTTY_API
GhosttyResult
ghostty_mouse_encoder_encode
(
GhosttyMouseEncoder
encoder,
262
GhosttyMouseEvent
event,
263
uint8_t *buf,
264
size_t
buf_len,
265
size_t
*out_written);
266
267
#endif
/* GHOSTTY_VT_MOUSE_ENCODER_H */
allocator.h
GhosttyResult
GhosttyResult
Definition
types.h:143
GHOSTTY_ENUM_TYPED
#define GHOSTTY_ENUM_TYPED
Definition
types.h:124
GhosttyMouseEncoder
struct GhosttyMouseEncoderImpl * GhosttyMouseEncoder
Definition
mouse/encoder.h:26
ghostty_mouse_encoder_encode
GHOSTTY_API GhosttyResult ghostty_mouse_encoder_encode(GhosttyMouseEncoder encoder, GhosttyMouseEvent event, uint8_t *buf, size_t buf_len, size_t *out_written)
GhosttyMouseFormat
GhosttyMouseFormat
Definition
mouse/encoder.h:56
GhosttyMouseEvent
struct GhosttyMouseEventImpl * GhosttyMouseEvent
Definition
mouse/event.h:23
GhosttyMouseEncoderOption
GhosttyMouseEncoderOption
Definition
mouse/encoder.h:113
GhosttyMouseTrackingMode
GhosttyMouseTrackingMode
Definition
mouse/encoder.h:33
ghostty_mouse_encoder_new
GHOSTTY_API GhosttyResult ghostty_mouse_encoder_new(const GhosttyAllocator *allocator, GhosttyMouseEncoder *encoder)
ghostty_mouse_encoder_free
GHOSTTY_API void ghostty_mouse_encoder_free(GhosttyMouseEncoder encoder)
ghostty_mouse_encoder_reset
GHOSTTY_API GhosttyResult ghostty_mouse_encoder_reset(GhosttyMouseEncoder encoder)
ghostty_mouse_encoder_set_from_terminal
GHOSTTY_API GhosttyResult ghostty_mouse_encoder_set_from_terminal(GhosttyMouseEncoder encoder, GhosttyTerminal terminal)
ghostty_mouse_encoder_set
GHOSTTY_API GhosttyResult ghostty_mouse_encoder_set(GhosttyMouseEncoder encoder, GhosttyMouseEncoderOption option, const void *value)
GHOSTTY_MOUSE_ENCODER_OPT_SIZE
@ GHOSTTY_MOUSE_ENCODER_OPT_SIZE
Definition
mouse/encoder.h:131
GHOSTTY_MOUSE_ENCODER_OPT_FORMAT
@ GHOSTTY_MOUSE_ENCODER_OPT_FORMAT
Definition
mouse/encoder.h:127
GHOSTTY_MOUSE_ENCODER_OPT_ANY_BUTTON_PRESSED
@ GHOSTTY_MOUSE_ENCODER_OPT_ANY_BUTTON_PRESSED
Definition
mouse/encoder.h:135
GHOSTTY_MOUSE_ENCODER_OPT_TRACK_LAST_CELL
@ GHOSTTY_MOUSE_ENCODER_OPT_TRACK_LAST_CELL
Definition
mouse/encoder.h:139
GHOSTTY_MOUSE_ENCODER_OPT_INVALID
@ GHOSTTY_MOUSE_ENCODER_OPT_INVALID
Definition
mouse/encoder.h:119
GHOSTTY_MOUSE_ENCODER_OPT_EVENT
@ GHOSTTY_MOUSE_ENCODER_OPT_EVENT
Definition
mouse/encoder.h:123
GHOSTTY_MOUSE_TRACKING_ANY
@ GHOSTTY_MOUSE_TRACKING_ANY
Definition
mouse/encoder.h:47
GHOSTTY_MOUSE_TRACKING_X10
@ GHOSTTY_MOUSE_TRACKING_X10
Definition
mouse/encoder.h:38
GHOSTTY_MOUSE_TRACKING_NORMAL
@ GHOSTTY_MOUSE_TRACKING_NORMAL
Definition
mouse/encoder.h:41
GHOSTTY_MOUSE_TRACKING_NONE
@ GHOSTTY_MOUSE_TRACKING_NONE
Definition
mouse/encoder.h:35
GHOSTTY_MOUSE_TRACKING_BUTTON
@ GHOSTTY_MOUSE_TRACKING_BUTTON
Definition
mouse/encoder.h:44
GhosttyTerminal
struct GhosttyTerminalImpl * GhosttyTerminal
Definition
types.h:196
event.h
GhosttyAllocator
Definition
allocator.h:164
GhosttyMouseEncoderSize
Definition
mouse/encoder.h:76
GhosttyMouseEncoderSize::cell_width
uint32_t cell_width
Definition
mouse/encoder.h:87
GhosttyMouseEncoderSize::screen_width
uint32_t screen_width
Definition
mouse/encoder.h:81
GhosttyMouseEncoderSize::padding_top
uint32_t padding_top
Definition
mouse/encoder.h:93
GhosttyMouseEncoderSize::padding_bottom
uint32_t padding_bottom
Definition
mouse/encoder.h:96
GhosttyMouseEncoderSize::cell_height
uint32_t cell_height
Definition
mouse/encoder.h:90
GhosttyMouseEncoderSize::padding_right
uint32_t padding_right
Definition
mouse/encoder.h:99
GhosttyMouseEncoderSize::size
size_t size
Definition
mouse/encoder.h:78
GhosttyMouseEncoderSize::screen_height
uint32_t screen_height
Definition
mouse/encoder.h:84
GhosttyMouseEncoderSize::padding_left
uint32_t padding_left
Definition
mouse/encoder.h:102
terminal.h
types.h
include
ghostty
vt
mouse
encoder.h
Generated by
1.17.0