diff options
Diffstat (limited to 'include/minikin/Hasher.h')
-rw-r--r-- | include/minikin/Hasher.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/include/minikin/Hasher.h b/include/minikin/Hasher.h index 4a76b29..dcfdd0b 100644 --- a/include/minikin/Hasher.h +++ b/include/minikin/Hasher.h @@ -18,9 +18,9 @@ #define MINIKIN_HASHER_H #include <cstdint> - #include <string> +#include "minikin/FontFeature.h" #include "minikin/Macros.h" namespace minikin { @@ -57,6 +57,21 @@ public: return update(bits.i); } + inline Hasher& update(const std::vector<FontFeature>& features) { + uint32_t size = features.size(); + update(size); + for (const FontFeature& feature : features) { + update(feature); + } + return *this; + } + + inline Hasher& update(const FontFeature& feature) { + update(feature.tag); + update(feature.value); + return *this; + } + inline Hasher& updateShorts(const uint16_t* data, uint32_t length) { update(length); uint32_t i; |