mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-08-02 14:57:31 +03:00
ghostty.h: fix type usage before declaration
This commit is contained in:
@ -23,34 +23,12 @@ extern "C" {
|
|||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Types
|
// Types
|
||||||
|
|
||||||
// Fully defined types. This MUST be kept in sync with equivalent Zig
|
// Opaque types
|
||||||
// structs. To find the Zig struct, grep for this type name. The documentation
|
typedef void *ghostty_app_t;
|
||||||
// for all of these types is available in the Zig source.
|
typedef void *ghostty_config_t;
|
||||||
typedef void (*ghostty_runtime_wakeup_cb)(void *);
|
typedef void *ghostty_surface_t;
|
||||||
typedef void (*ghostty_runtime_set_title_cb)(void *, const char *);
|
|
||||||
typedef const char* (*ghostty_runtime_read_clipboard_cb)(void *);
|
|
||||||
typedef void (*ghostty_runtime_write_clipboard_cb)(void *, const char *);
|
|
||||||
typedef void (*ghostty_runtime_new_split_cb)(void *, ghostty_split_direction_e);
|
|
||||||
typedef void (*ghostty_runtime_close_surface_cb)(void *);
|
|
||||||
typedef void (*ghostty_runtime_focus_split_cb)(void *, ghostty_split_focus_direction_e);
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
void *userdata;
|
|
||||||
ghostty_runtime_wakeup_cb wakeup_cb;
|
|
||||||
ghostty_runtime_set_title_cb set_title_cb;
|
|
||||||
ghostty_runtime_read_clipboard_cb read_clipboard_cb;
|
|
||||||
ghostty_runtime_write_clipboard_cb write_clipboard_cb;
|
|
||||||
ghostty_runtime_new_split_cb new_split_cb;
|
|
||||||
ghostty_runtime_close_surface_cb close_surface_cb;
|
|
||||||
ghostty_runtime_focus_split_cb focus_split_cb;
|
|
||||||
} ghostty_runtime_config_s;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
void *userdata;
|
|
||||||
void *nsview;
|
|
||||||
double scale_factor;
|
|
||||||
} ghostty_surface_config_s;
|
|
||||||
|
|
||||||
|
// Enums are up top so we can reference them later.
|
||||||
typedef enum {
|
typedef enum {
|
||||||
GHOSTTY_SPLIT_RIGHT,
|
GHOSTTY_SPLIT_RIGHT,
|
||||||
GHOSTTY_SPLIT_DOWN
|
GHOSTTY_SPLIT_DOWN
|
||||||
@ -228,10 +206,33 @@ typedef enum {
|
|||||||
GHOSTTY_KEY_RIGHT_SUPER,
|
GHOSTTY_KEY_RIGHT_SUPER,
|
||||||
} ghostty_input_key_e;
|
} ghostty_input_key_e;
|
||||||
|
|
||||||
// Opaque types
|
// Fully defined types. This MUST be kept in sync with equivalent Zig
|
||||||
typedef void *ghostty_app_t;
|
// structs. To find the Zig struct, grep for this type name. The documentation
|
||||||
typedef void *ghostty_config_t;
|
// for all of these types is available in the Zig source.
|
||||||
typedef void *ghostty_surface_t;
|
typedef struct {
|
||||||
|
void *userdata;
|
||||||
|
void *nsview;
|
||||||
|
double scale_factor;
|
||||||
|
} ghostty_surface_config_s;
|
||||||
|
|
||||||
|
typedef void (*ghostty_runtime_wakeup_cb)(void *);
|
||||||
|
typedef void (*ghostty_runtime_set_title_cb)(void *, const char *);
|
||||||
|
typedef const char* (*ghostty_runtime_read_clipboard_cb)(void *);
|
||||||
|
typedef void (*ghostty_runtime_write_clipboard_cb)(void *, const char *);
|
||||||
|
typedef void (*ghostty_runtime_new_split_cb)(void *, ghostty_split_direction_e);
|
||||||
|
typedef void (*ghostty_runtime_close_surface_cb)(void *);
|
||||||
|
typedef void (*ghostty_runtime_focus_split_cb)(void *, ghostty_split_focus_direction_e);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
void *userdata;
|
||||||
|
ghostty_runtime_wakeup_cb wakeup_cb;
|
||||||
|
ghostty_runtime_set_title_cb set_title_cb;
|
||||||
|
ghostty_runtime_read_clipboard_cb read_clipboard_cb;
|
||||||
|
ghostty_runtime_write_clipboard_cb write_clipboard_cb;
|
||||||
|
ghostty_runtime_new_split_cb new_split_cb;
|
||||||
|
ghostty_runtime_close_surface_cb close_surface_cb;
|
||||||
|
ghostty_runtime_focus_split_cb focus_split_cb;
|
||||||
|
} ghostty_runtime_config_s;
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Published API
|
// Published API
|
||||||
|
@ -57,10 +57,9 @@ extension Ghostty {
|
|||||||
set_title_cb: { userdata, title in AppState.setTitle(userdata, title: title) },
|
set_title_cb: { userdata, title in AppState.setTitle(userdata, title: title) },
|
||||||
read_clipboard_cb: { userdata in AppState.readClipboard(userdata) },
|
read_clipboard_cb: { userdata in AppState.readClipboard(userdata) },
|
||||||
write_clipboard_cb: { userdata, str in AppState.writeClipboard(userdata, string: str) },
|
write_clipboard_cb: { userdata, str in AppState.writeClipboard(userdata, string: str) },
|
||||||
new_split_cb: { userdata, direction in AppState.newSplit(userdata, direction: ghostty_split_direction_e(UInt32(direction))) },
|
new_split_cb: { userdata, direction in AppState.newSplit(userdata, direction: direction) },
|
||||||
close_surface_cb: { userdata in AppState.closeSurface(userdata) },
|
close_surface_cb: { userdata in AppState.closeSurface(userdata) },
|
||||||
focus_split_cb: { userdata, direction in
|
focus_split_cb: { userdata, direction in AppState.focusSplit(userdata, direction: direction) }
|
||||||
AppState.focusSplit(userdata, direction: ghostty_split_focus_direction_e(UInt32(direction))) }
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Create the ghostty app.
|
// Create the ghostty app.
|
||||||
|
Reference in New Issue
Block a user