From 066e5987c515dfc34537d73ca9d2a81ddd1f9e1b Mon Sep 17 00:00:00 2001 From: chai Date: Sun, 21 Oct 2018 13:37:27 +0800 Subject: =?UTF-8?q?*=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/Graphics/Font/je_texture_font.h | 77 +++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) (limited to 'src/libjin/Graphics/Font/je_texture_font.h') diff --git a/src/libjin/Graphics/Font/je_texture_font.h b/src/libjin/Graphics/Font/je_texture_font.h index 9805cda..43d92c8 100644 --- a/src/libjin/Graphics/Font/je_texture_font.h +++ b/src/libjin/Graphics/Font/je_texture_font.h @@ -25,36 +25,111 @@ namespace JinEngine , public Drawable { public: + + /// + /// + /// static TextureFont* createTextureFont(const Bitmap* bitmap, const Content& codepoints, int cellw, int cellh); + + /// + /// + /// static TextureFont* createTextureFont(const Bitmap* bitmap, const Text& text, int cellw, int cellh); + + /// + /// + /// static TextureFont* createTextureFont(const Bitmap* bitmap, const Content& codepoints, Color mask, int cellh); + + /// + /// + /// static TextureFont* createTextureFont(const Bitmap* bitmap, const Text& text, Color mask, int cellh); - + + /// + /// + /// ~TextureFont(); + /// + /// + /// Page* typeset(const Text& text, int lineheight, int spacing = 0) override; + + /// + /// + /// Page* typeset(const Content& text, int lineheight, int spacing = 0) override ; + /// + /// + /// void print(const Page* page, int x, int y) override; + + /// + /// + /// void print(const Content& text, int x, int y, int linehgiht, int spacing = 0) override; + + /// + /// + /// void print(const Text& text, int x, int y, int lineheight, int spacing = 0)override; private: + + /// + /// + /// struct TextureGlyph { float x, y, w, h; }; + /// + /// + /// TextureFont(const Bitmap* bitmap, const Content& codepoints, int cellw, int cellh); + + /// + /// + /// TextureFont(const Bitmap* bitmap, const Content& codepoints, Color mask, int cellh); + /// + /// + /// int getCharWidth(int c); + + /// + /// + /// int getCharHeight(int c); + + /// + /// + /// int getTextWidth(const Content& text, int spacing = 0); + + /// + /// + /// int getTextHeight(const Content& text, int lineheight); + + /// + /// + /// void getTextBox(const Content& text, int* w, int* h, int lineheight, int spacing = 0); + + /// + /// + /// const TextureGlyph* findGlyph(Codepoint codepoint) const; + + /// + /// + /// std::map glyphs; }; -- cgit v1.1-26-g67d0