diff options
author | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2022-07-04 09:11:15 +0300 |
---|---|---|
committer | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2022-07-04 09:12:19 +0300 |
commit | 6c27d9d6244303754e111eccc7c1a42df5b9bca1 (patch) | |
tree | cddd5118a33a54620edfbe46545ae4872d74e81c /thirdparty/harfbuzz/src/OT/Layout/GPOS/MarkMarkPos.hh | |
parent | 41fdddb1f8132dcba8256a145de44da5df3155b2 (diff) |
HarfBuzz: Update to version 4.4.1
Diffstat (limited to 'thirdparty/harfbuzz/src/OT/Layout/GPOS/MarkMarkPos.hh')
-rw-r--r-- | thirdparty/harfbuzz/src/OT/Layout/GPOS/MarkMarkPos.hh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/thirdparty/harfbuzz/src/OT/Layout/GPOS/MarkMarkPos.hh b/thirdparty/harfbuzz/src/OT/Layout/GPOS/MarkMarkPos.hh new file mode 100644 index 0000000000..c0eee6d54c --- /dev/null +++ b/thirdparty/harfbuzz/src/OT/Layout/GPOS/MarkMarkPos.hh @@ -0,0 +1,36 @@ +#ifndef OT_LAYOUT_GPOS_MARKMARKPOS_HH +#define OT_LAYOUT_GPOS_MARKMARKPOS_HH + +#include "MarkMarkPosFormat1.hh" + +namespace OT { +namespace Layout { +namespace GPOS_impl { + +struct MarkMarkPos +{ + protected: + union { + HBUINT16 format; /* Format identifier */ + MarkMarkPosFormat1 format1; + } u; + + public: + template <typename context_t, typename ...Ts> + typename context_t::return_t dispatch (context_t *c, Ts&&... ds) const + { + TRACE_DISPATCH (this, u.format); + if (unlikely (!c->may_dispatch (this, &u.format))) return_trace (c->no_dispatch_return_value ()); + switch (u.format) { + case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...)); + default:return_trace (c->default_return_value ()); + } + } +}; + + +} +} +} + +#endif /* OT_LAYOUT_GPOS_MARKMARKPOS_HH */ |