libghostty-vt 0.0.0
Loading...
Searching...
No Matches
style.h
Go to the documentation of this file.
1
6
7#ifndef GHOSTTY_VT_STYLE_H
8#define GHOSTTY_VT_STYLE_H
9
10#include <ghostty/vt/color.h>
11#include <ghostty/vt/types.h>
12#include <stdbool.h>
13#include <stddef.h>
14#include <stdint.h>
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
42
51typedef uint16_t GhosttyStyleId;
52
62typedef enum GHOSTTY_ENUM_TYPED {
63 GHOSTTY_STYLE_COLOR_NONE = 0,
64 GHOSTTY_STYLE_COLOR_PALETTE = 1,
65 GHOSTTY_STYLE_COLOR_RGB = 2,
66 GHOSTTY_STYLE_COLOR_TAG_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
68
82typedef union {
86
113typedef struct {
115 uint8_t tag;
116
120
137typedef uint16_t GhosttyStyleFlags;
138
140#define GHOSTTY_STYLE_FLAG_BOLD ((GhosttyStyleFlags)(1u << 0))
142#define GHOSTTY_STYLE_FLAG_ITALIC ((GhosttyStyleFlags)(1u << 1))
144#define GHOSTTY_STYLE_FLAG_FAINT ((GhosttyStyleFlags)(1u << 2))
146#define GHOSTTY_STYLE_FLAG_BLINK ((GhosttyStyleFlags)(1u << 3))
148#define GHOSTTY_STYLE_FLAG_INVERSE ((GhosttyStyleFlags)(1u << 4))
150#define GHOSTTY_STYLE_FLAG_INVISIBLE ((GhosttyStyleFlags)(1u << 5))
152#define GHOSTTY_STYLE_FLAG_STRIKETHROUGH ((GhosttyStyleFlags)(1u << 6))
154#define GHOSTTY_STYLE_FLAG_OVERLINE ((GhosttyStyleFlags)(1u << 7))
155
161#define GHOSTTY_STYLE_UNDERLINE_SHIFT 8
162
168#define GHOSTTY_STYLE_UNDERLINE_MASK \
169 ((GhosttyStyleFlags)(0x7u << GHOSTTY_STYLE_UNDERLINE_SHIFT))
170
191#define GHOSTTY_STYLE_UNDERLINE(style) \
192 ((int)(((style).flags & GHOSTTY_STYLE_UNDERLINE_MASK) >> \
193 GHOSTTY_STYLE_UNDERLINE_SHIFT))
194
227typedef struct {
230
233
236
239
241 uint16_t reserved;
243
254GHOSTTY_API void ghostty_style_default(GhosttyStyle* style);
255
267GHOSTTY_API bool ghostty_style_is_default(const GhosttyStyle* style);
268
269#ifdef __cplusplus
270}
271#endif
272
274
275#endif /* GHOSTTY_VT_STYLE_H */
uint8_t GhosttyColorPaletteIndex
Definition color.h:59
#define GHOSTTY_ENUM_TYPED
Definition types.h:124
uint16_t GhosttyStyleFlags
Definition style.h:137
uint16_t GhosttyStyleId
Definition style.h:51
GhosttyStyleColorTag
Definition style.h:62
GHOSTTY_API bool ghostty_style_is_default(const GhosttyStyle *style)
GHOSTTY_API void ghostty_style_default(GhosttyStyle *style)
uint8_t tag
Definition style.h:115
GhosttyStyleColorValue value
Definition style.h:118
GhosttyStyleColor bg_color
Definition style.h:232
uint16_t reserved
Definition style.h:241
GhosttyStyleFlags flags
Definition style.h:238
GhosttyStyleColor fg_color
Definition style.h:229
GhosttyStyleColor underline_color
Definition style.h:235