summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPaul "LeoNerd" Evans <leonerd@leonerd.org.uk>2020-05-14 14:08:10 +0100
committerPaul "LeoNerd" Evans <leonerd@leonerd.org.uk>2020-05-14 14:08:10 +0100
commit6579de694a169720424f856bb7ff0284f0b3f6c0 (patch)
tree440b48e1d60a6f77ffb5661886daa2630f08b40d /include
parent898b336750d73dc4ceea77d42eb6ed866e937c21 (diff)
Expose TickitBuilder / tickit_build() in toplevel .h file; though commented as internal for now
Diffstat (limited to 'include')
-rw-r--r--include/tickit-evloop.h4
-rw-r--r--include/tickit.h12
2 files changed, 14 insertions, 2 deletions
diff --git a/include/tickit-evloop.h b/include/tickit-evloop.h
index 4779620..fd4165e 100644
--- a/include/tickit-evloop.h
+++ b/include/tickit-evloop.h
@@ -13,7 +13,7 @@ extern "C" {
typedef struct TickitWatch TickitWatch; /* opaque */
-typedef struct {
+struct TickitEventHooks {
void *(*init)(Tickit *t, void *initdata);
void (*destroy)(void *data);
void (*run)(void *data, TickitRunFlags flags);
@@ -25,7 +25,7 @@ typedef struct {
void (*cancel_timer)(void *data, TickitWatch *watch);
bool (*later)(void *data, TickitBindFlags flags, TickitWatch *watch);
void (*cancel_later)(void *data, TickitWatch *watch);
-} TickitEventHooks;
+};
/* Helper functions for eventloop implementations */
diff --git a/include/tickit.h b/include/tickit.h
index 3154534..1fba282 100644
--- a/include/tickit.h
+++ b/include/tickit.h
@@ -48,6 +48,9 @@ typedef struct Tickit Tickit;
/* Opaque struct pointers required but not part of official API */
typedef struct TickitTermDriver TickitTermDriver;
+/* Forward declaration to pointer defined by <tickit-evloop.h> */
+typedef struct TickitEventHooks TickitEventHooks;
+
typedef struct {
int top;
int left;
@@ -717,6 +720,15 @@ Tickit *tickit_new_stdio(void);
Tickit *tickit_ref(Tickit *t);
void tickit_unref(Tickit *t);
+// Internal use only for now but consider making it public API
+struct TickitBuilder {
+ TickitTerm *tt;
+
+ TickitEventHooks *evhooks;
+ void *evinitdata;
+};
+Tickit *tickit_build(struct TickitBuilder *builder);
+
TickitTerm *tickit_get_term(Tickit *t);
TickitWindow *tickit_get_rootwin(Tickit *t);