summaryrefslogtreecommitdiffstats
path: root/gfx/thebes/ThebesRLBox.h
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/thebes/ThebesRLBox.h')
-rw-r--r--gfx/thebes/ThebesRLBox.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/gfx/thebes/ThebesRLBox.h b/gfx/thebes/ThebesRLBox.h
new file mode 100644
index 0000000000..2f4188a962
--- /dev/null
+++ b/gfx/thebes/ThebesRLBox.h
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef THEBES_RLBOX
+#define THEBES_RLBOX
+
+#include "ThebesRLBoxTypes.h"
+
+// Load general firefox configuration of RLBox
+#include "mozilla/rlbox/rlbox_config.h"
+
+#ifdef MOZ_WASM_SANDBOXING_GRAPHITE
+// Include the generated header file so that we are able to resolve the symbols
+// in the wasm binary
+# include "rlbox.wasm.h"
+# define RLBOX_USE_STATIC_CALLS() rlbox_wasm2c_sandbox_lookup_symbol
+# include "mozilla/rlbox/rlbox_wasm2c_sandbox.hpp"
+#else
+# define RLBOX_USE_STATIC_CALLS() rlbox_noop_sandbox_lookup_symbol
+# include "mozilla/rlbox/rlbox_noop_sandbox.hpp"
+#endif
+
+#include "mozilla/rlbox/rlbox.hpp"
+
+// Struct info needed for rlbox_load_structs_from_library
+#include "graphite2/Font.h"
+#include "graphite2/GraphiteExtra.h"
+#include "graphite2/Segment.h"
+
+#include "graphite2/GraphiteStructsForRLBox.h"
+rlbox_load_structs_from_library(graphite);
+
+#endif