]> git.lyx.org Git - lyx.git/blobdiff - src/FontInfo.h
Yet another tweak from J�rgen.
[lyx.git] / src / FontInfo.h
index d3d2e8b0a08a5b6216c0a7fad11f196be0f87f65..13e34708979c85b30a9b47b3414cd65288c12e4e 100644 (file)
@@ -18,6 +18,8 @@
 
 #include "LString.h"
 
+#include <boost/smart_ptr.hpp>
+
 /** This class manages a font.
     The idea is to create a FontInfo object with a font name pattern with a 
     wildcard at the size field. Then this object can host request for font-
@@ -35,9 +37,6 @@ public:
        explicit FontInfo(string const & pat)
                : pattern(pat) { init(); }
 
-       /// Destructor
-       ~FontInfo() { release(); }
-
        /// Does any font match our pattern?
        bool exist() {
                query();
@@ -51,23 +50,23 @@ public:
        }
 
        /// Get existing pattern
-       string getPattern() const { return pattern; }
+       string const & getPattern() const { return pattern; }
 
        /// Set new pattern
        void setPattern(string const & pat);
 
        /** Return full name of font close to this size.
          If impossible, result is the empty string */
-       string getFontname(int size);
+       string const getFontname(int size);
 private:
        /// Font pattern (with wildcard for size)
        string pattern;
 
        /// Available size list
-       int * sizes;
+       boost::scoped_array<int> sizes;
 
        /// Corresponding name list
-       string * strings;
+       boost::scoped_array<string> strings;
 
        /// Number of matches
        int matches;
@@ -84,13 +83,10 @@ private:
        /// Initialize empty record
        void init();
 
-       /// Release allocated stuff
-       void release();
-
        /// Ask X11 about this font pattern
        void query();
 
        /// Build newly sized font string 
-       string resize(string const &, int size) const;
+       string const resize(string const &, int size) const;
 };
 #endif