]> git.lyx.org Git - lyx.git/blobdiff - src/font.h
forgot this
[lyx.git] / src / font.h
index 98f0013f52498f0ae6822c0e69ef69e4f0aad2da..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.
  *
  * ====================================================== */
 
@@ -51,33 +51,42 @@ struct lyxfont {
        }
        ///
        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);
+               return width(s.data(), s.length(), f);
        }
        ///
-       static
-       int width(char const * s, LyXFont const & f) {
-               return width(s, strlen(s), 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