Everywhere: Use SaphirNode

This commit is contained in:
Alec Murphy
2026-05-02 17:03:32 -04:00
parent c1bfc4ce81
commit 8b784fae0a
4 changed files with 352 additions and 54 deletions
+23 -1
View File
@@ -1,3 +1,5 @@
#define SAPHIR_NODE_SIG 0x9999baca
class SaphirAttr {
I64 fg;
I64 bg;
@@ -17,15 +19,35 @@ class SaphirCursor : SaphirAttr {
class SaphirKeyDev {
U64 sys_cbs;
U64 null_cbs;
}
};
class SaphirRect {
I32 x1;
I32 y1;
I32 x2;
I32 y2;
};
class SaphirNode {
U32 sig;
Bool mode;
SaphirRect rect;
I64 count;
I64 index;
U64** child;
SaphirNode* parent_node;
};
class SaphirGlbls {
Bool debug;
Bool enabled;
Bool blink;
SaphirBorder border;
SaphirCursor cursor;
SaphirAttr status;
SaphirKeyDev kd;
SaphirNode* root_node;
SaphirNode* current_node;
I64 doc_cursor_state;
} saphir;
MemSet(&saphir, 0, sizeof(SaphirGlbls));