diff options
Diffstat (limited to 'Client/Source/GUI/TextMeshGenerator.h')
-rw-r--r-- | Client/Source/GUI/TextMeshGenerator.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Client/Source/GUI/TextMeshGenerator.h b/Client/Source/GUI/TextMeshGenerator.h new file mode 100644 index 0000000..acc0a0a --- /dev/null +++ b/Client/Source/GUI/TextMeshGenerator.h @@ -0,0 +1,31 @@ +#pragma once + +#include <vector> +#include <unordered_map> + +#include "../Debug/Log.h" +#include "../Graphics/Color.h" + +#include "UITextMesh.h" +#include "Font.h" + +// 逐步回收长期没用到的textmesh +class GraduallyReleaseTextMesh +{ +}; + +struct UITextMeshList { + UITextMesh* mesh; + UITextMeshList* next; +}; + +class TextMeshGenerator : public Singleton<TextMeshGenerator> +{ +public: + const UITextMesh* GetTextMesh(const UnicodeString& str, Font* font, int pixelSize, int lineHeight, Color32 col32, ETextAnchor anchor, ETextAlignment alignment, bool wordwrap, float preferred); + +private: + std::unordered_map<uint32_t, UITextMeshList*> m_TextMeshes; +}; + +#define g_TextMeshGenerator (*TextMeshGenerator::Instance())
\ No newline at end of file |