]> git.lyx.org Git - lyx.git/blobdiff - src/font.h
fix typo that put too many include paths for most people
[lyx.git] / src / font.h
index 89f04fa99d85e30cd93447afe037bc2e50de05e5..eb4b71ca2a5d73160aefde574ff9b6f76cd8a6b9 100644 (file)
@@ -1,11 +1,11 @@
 // -*- C++ -*-
 /* This file is part of
- * ====================================================== 
- * 
+ * ======================================================
+ *
  *           LyX, The Document Processor
- *        
+ *
  *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2000 The LyX Team.
+ *           Copyright 1995-2001 The LyX Team.
  *
  * ====================================================== */
 
@@ -24,60 +24,69 @@ class LyXFont;
 
 //namespace lyx {
 //namespace font {
-
+///
 struct lyxfont {
-
+       ///
        static
        int maxAscent(LyXFont const & f);
-
+       ///
        static
        int maxDescent(LyXFont const & f);
-
+       ///
        static
        int ascent(char c, LyXFont const & f);
-
+       ///
        static
        int descent(char c, LyXFont const & f);
-
+       ///
        static
        int lbearing(char c, LyXFont const & f);
-
+       ///
        static
        int rbearing(char c, LyXFont const & f);
-
+       ///
        static
        int width(char c, LyXFont const & f) {
                return width(&c, 1, f);
        }
-
+       ///
        static
-       int width(char const * s, int n, LyXFont const & f);
-
+       int width(char const * s, size_t n, LyXFont const & f);
+       ///
        static
        int width(string const & s, LyXFont const & f) {
                if (s.empty()) return 0;
-               return width(s.c_str(), s.length(), f);
-       }
-
-       static
-       int width(char const * s, LyXFont const & f) {
-               return width(s, strlen(s), f);
+               return width(s.data(), s.length(), f);
        }
-
+       ///
+       //static
+       //int width(char const * s, LyXFont const & f) {
+       //      return width(s, strlen(s), f);
+       //}
+       ///
        static
        int signedWidth(string const & s, LyXFont const & f);
-
+       ///
        static
-       int XTextWidth(LyXFont const & f, char * str, int count);
-
+       int XTextWidth(LyXFont const & f, char const * str, int count);
+       ///
        static
        int width(XChar2b const * s, int n, LyXFont const & f);
-
+       ///
        static
-       int XTextWidth16(LyXFont const & f, XChar2b * str, int count);
-
+       int XTextWidth16(LyXFont const & f, XChar2b const * str, int count);
+       ///
        static
        void XSetFont(Display * display, GC gc, LyXFont const & f);
+       // A couple of more high-level metrics
+       ///
+       static
+       void rectText(string const & str, LyXFont const & font,
+                     int & width, int & ascent, int & descent);
+       ///
+       static
+       void buttonText(string const & str, LyXFont const & font,
+                       int & width, int & ascent, int & descent);
 };
 
 //} // end of namespace font