]> git.tdb.fi Git - libs/gl.git/blobdiff - source/font.h
Use a RefPtr to store font texture
[libs/gl.git] / source / font.h
index 123373ea9df84f8b46ea296ce3542e60bbb48597..fcc5c9f51832df17a8c139ad346a8b7e9ea32ed1 100644 (file)
@@ -28,10 +28,12 @@ public:
        public:
                Loader(Font &);
                Loader(Font &, Collection &);
+
        private:
                void init();
                void glyph(unsigned);
-               void texture_inline();
+               void texture();
+               void texture_ref(const std::string &);
        };
 
 private:
@@ -55,21 +57,20 @@ private:
 
        typedef std::map<unsigned, Glyph> GlyphMap;
 
-       const Texture2D *tex;
-       bool own_tex;
-       float default_size;
+       RefPtr<const Texture2D> texture;
+       float native_size;
        float ascent;
        float descent;
        GlyphMap glyphs;
 
 public:
        Font();
-       ~Font();
 
        void set_texture(const Texture2D &);
        const Texture2D &get_texture() const;
        void add_glyph(unsigned, float, float, float, float, float, float, float, float, float);
-       float get_default_size() const { return default_size; }
+       float get_native_size() const { return native_size; }
+       float get_default_size() const { return native_size; }  // Deprecated
        float get_ascent() const { return ascent; }
        float get_descent() const { return descent; }