]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiFontMetrics.h
Use QFontMetrics information for underlines (and friends) width and position
[lyx.git] / src / frontends / qt4 / GuiFontMetrics.h
index a2c57ecc8bdf3d25282ca7e756e5671e073a9489..75507b0c99cf1abdcc68b2cca28e806ac7e3cfa8 100644 (file)
@@ -18,6 +18,7 @@
 
 #include <map>
 
+#include <QFont>
 #include <QFontMetrics>
 #include <QHash>
 
@@ -34,6 +35,10 @@ public:
        virtual int maxAscent() const;
        virtual int maxDescent() const;
        virtual Dimension const defaultDimension() const;
+       virtual int em() const;
+       virtual int lineWidth() const;
+       virtual int underlinePos() const;
+       virtual int strikeoutPos() const;
        virtual int width(char_type c) const;
        virtual int ascent(char_type c) const;
        virtual int descent(char_type c) const;
@@ -41,6 +46,9 @@ public:
        virtual int rbearing(char_type c) const;
        virtual int width(docstring const & s) const;
        virtual int signedWidth(docstring const & s) const;
+       virtual int pos2x(docstring const & s, int pos, bool rtl, double ws) const;
+       virtual int x2pos(docstring const & s, int & x, bool rtl, double ws) const;
+       virtual bool breakAt(docstring & s, int & x, bool rtl, bool force) const;
        virtual Dimension const dimension(char_type c) const;
 
        virtual void rectText(docstring const & str,
@@ -55,6 +63,9 @@ public:
        int width(QString const & str) const;
 
 private:
+       /// The font
+       QFont font_;
+
        /// Metrics on the font
        QFontMetrics metrics_;