summaryrefslogtreecommitdiff
path: root/Fuse/fuse_internal.h
diff options
context:
space:
mode:
authorVasco <[email protected]>2026-08-23 02:25:33 +0100
committerVasco <[email protected]>2026-08-23 02:25:33 +0100
commitdc96fcd771bea09d726a760266739906e95c09a6 (patch)
tree5af4d4d7660a90a04016fae4defec3c2a422477d /Fuse/fuse_internal.h
Peak 0.1.1
Diffstat (limited to 'Fuse/fuse_internal.h')
-rw-r--r--Fuse/fuse_internal.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/Fuse/fuse_internal.h b/Fuse/fuse_internal.h
new file mode 100644
index 0000000..31fe702
--- /dev/null
+++ b/Fuse/fuse_internal.h
@@ -0,0 +1,63 @@
+#ifndef FUSE_INTERNAL_H
+#define FUSE_INTERNAL_H
+
+#include "fuse.h"
+#include "fuse_backend.h"
+
+#define FUSE_TODO \
+ do { \
+ fprintf(stderr, "FUSE TODO: %s() in %s:%d\n", __func__, __FILE__, __LINE__); \
+ abort(); \
+ } while(0)
+
+
+typedef struct {
+ void *data;
+ size_t idk;
+} FuseHash;
+
+struct fuse_canvas_t {
+ void *memory; // memory pointer to be slit into separate arenas
+ Arena arena; // arena the manages all our memory and will be split into smaller arenas
+
+ FuseCmd *cmdbuffer_ptr;
+
+ Arena element_data_arena;
+ FuseHash element_data; // persistent element data
+
+ size_t cmdbuffer_head;
+ size_t cmdbuffer_size;
+
+ size_t hot;
+ size_t active;
+
+ size_t current_frame;
+ size_t current_id;
+
+ float width;
+ float height;
+
+ float pointer_x;
+ float pointer_y;
+
+ uint64_t current_time_ns;
+
+ int pointer_state;
+
+ bool debug;
+};
+
+struct fuse_font_t {
+ int x;
+};
+
+struct fuse_style_t {
+ int x;
+};
+struct fuse_window_t {
+ int x;
+};
+
+static FuseCanvas f__canvas;
+
+#endif