summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/mfluadir/otfcc/lib/bk/bkgraph.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/mfluadir/otfcc/lib/bk/bkgraph.h')
-rw-r--r--Build/source/texk/web2c/mfluadir/otfcc/lib/bk/bkgraph.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/mfluadir/otfcc/lib/bk/bkgraph.h b/Build/source/texk/web2c/mfluadir/otfcc/lib/bk/bkgraph.h
new file mode 100644
index 00000000000..6d48054b355
--- /dev/null
+++ b/Build/source/texk/web2c/mfluadir/otfcc/lib/bk/bkgraph.h
@@ -0,0 +1,35 @@
+#ifndef CARYLL_BK_BKGRAPH_H
+#define CARYLL_BK_BKGRAPH_H
+
+#include <stdint.h>
+#include <stdarg.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include "caryll/buffer.h"
+
+#include "bkblock.h"
+
+typedef struct {
+ uint32_t alias;
+ uint32_t order;
+ uint32_t height;
+ uint32_t hash;
+ bk_Block *block;
+} bk_GraphNode;
+
+typedef struct {
+ uint32_t length;
+ uint32_t free;
+ bk_GraphNode *entries;
+} bk_Graph;
+
+bk_Graph *bk_newGraphFromRootBlock(bk_Block *b);
+void bk_delete_Graph(/*MOVE*/ bk_Graph *f);
+void bk_minimizeGraph(/*BORROW*/ bk_Graph *f);
+void bk_untangleGraph(/*BORROW*/ bk_Graph *f);
+caryll_Buffer *bk_build_Graph(/*BORROW*/ bk_Graph *f);
+caryll_Buffer *bk_build_Block(/*MOVE*/ bk_Block *root);
+caryll_Buffer *bk_build_Block_noMinimize(/*MOVE*/ bk_Block *root);
+size_t bk_estimateSizeOfGraph(bk_Graph *f);
+
+#endif