summaryrefslogtreecommitdiff
path: root/Runtime/GUI/TextGenerator.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-10-30 13:28:39 +0800
committerchai <chaifix@163.com>2021-10-30 13:28:39 +0800
commitc3e259f4d29e9bdcb73617ad8e4d71f117b4d289 (patch)
tree893ed7b892d0b3b49db2d3e219da28fc2eea4769 /Runtime/GUI/TextGenerator.h
parentb2433cf2faf5c5c3d82d61c7b44928923c5fdcda (diff)
+freetype
Diffstat (limited to 'Runtime/GUI/TextGenerator.h')
-rw-r--r--Runtime/GUI/TextGenerator.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/Runtime/GUI/TextGenerator.h b/Runtime/GUI/TextGenerator.h
index 8bd9dc8..eacc99c 100644
--- a/Runtime/GUI/TextGenerator.h
+++ b/Runtime/GUI/TextGenerator.h
@@ -1,10 +1,32 @@
#pragma once
#include "Runtime/Utilities/Singleton.h"
+#include <string>
+#include <unordered_map>
+
+//https://learnopengl.com/In-Practice/Text-Rendering
+
+struct Character {
+ unsigned int textureID; // ID handle of the glyph texture
+ Internal::Vector2 size; // Size of glyph
+ Internal::Vector2 bearing; // Offset from baseline to left/top of glyph
+ unsigned int advance; // Offset to advance to next glyph
+};
+
+namespace character
+{
+ typedef wchar_t unicode;
+ typedef unsigned int hash;
+}
class TextGenerator : public Singleton<TextGenerator>
{
public:
+private:
+ std::unordered_map<character::hash, Character> m_Characters;
+
+ character::hash GetCharacterHash(character::unicode unicode, int pixelSize);
+
};