From a9e9bb12274c4b00eabdc00d14c61f0df18956b5 Mon Sep 17 00:00:00 2001 From: Mikko Rasa Date: Wed, 1 Dec 2010 13:46:44 +0000 Subject: [PATCH] Reorder Font members Remove unimplemented draw_glyph from header Whitespace changes --- source/font.cpp | 10 ++++---- source/font.h | 66 ++++++++++++++++++++++++++----------------------- 2 files changed, 40 insertions(+), 36 deletions(-) diff --git a/source/font.cpp b/source/font.cpp index bbbc40ed..ae2cb289 100644 --- a/source/font.cpp +++ b/source/font.cpp @@ -140,12 +140,12 @@ Font::Loader::Loader(Font &f, Collection &c): void Font::Loader::init() { - add("default_size", &Font::default_size); - add("ascent", &Font::ascent); - add("descent", &Font::descent); - add("texture", &Font::tex); + add("default_size", &Font::default_size); + add("ascent", &Font::ascent); + add("descent", &Font::descent); + add("texture", &Font::tex); add("texture_inline", &Loader::texture_inline); - add("glyph", &Loader::glyph); + add("glyph", &Loader::glyph); } void Font::Loader::glyph(unsigned c) diff --git a/source/font.h b/source/font.h index dd40ec0b..123373ea 100644 --- a/source/font.h +++ b/source/font.h @@ -34,19 +34,46 @@ public: void texture_inline(); }; +private: + struct Glyph + { + class Loader: public Msp::DataFile::ObjectLoader + { + public: + Loader(Glyph &); + private: + void texcoords(float, float, float, float); + }; + + unsigned code; + float x1,y1; + float x2,y2; + float w,h; + float off_x, off_y; + float advance; + }; + + typedef std::map GlyphMap; + + const Texture2D *tex; + bool own_tex; + float default_size; + float ascent; + float descent; + GlyphMap glyphs; + +public: Font(); ~Font(); - void set_texture(const Texture2D &); + void set_texture(const Texture2D &); const Texture2D &get_texture() const; - void add_glyph(unsigned, float, float, float, float, float, float, float, float, float); + void add_glyph(unsigned, float, float, float, float, float, float, float, float, float); float get_default_size() const { return default_size; } float get_ascent() const { return ascent; } float get_descent() const { return descent; } + float get_string_width(const std::string &, Codecs::Decoder &) const; - void draw_glyph(unsigned); - void draw_string(const std::string &, Codecs::Decoder &) const; - void draw_string(const std::string &, Codecs::Decoder &, PrimitiveBuilder &) const; template float get_string_width(const std::string &str) const @@ -58,6 +85,9 @@ public: float get_string_width(const std::string &str) const { return get_string_width(str); } + void draw_string(const std::string &, Codecs::Decoder &) const; + void draw_string(const std::string &, Codecs::Decoder &, PrimitiveBuilder &) const; + template void draw_string(const std::string &str) const { @@ -79,32 +109,6 @@ public: { return draw_string(str, pb); } private: - struct Glyph - { - class Loader: public Msp::DataFile::ObjectLoader - { - public: - Loader(Glyph &); - private: - void texcoords(float, float, float, float); - }; - - unsigned code; - float x1,y1; - float x2,y2; - float w,h; - float off_x, off_y; - float advance; - }; - typedef std::map GlyphMap; - - const Texture2D *tex; - bool own_tex; - float default_size; - float ascent; - float descent; - GlyphMap glyphs; - void create_glyph_vertices(const Glyph &, VertexBuilder &, float) const; float get_glyph_advance(unsigned) const; }; -- 2.45.2