X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffont.h;h=eb4b71ca2a5d73160aefde574ff9b6f76cd8a6b9;hb=98c966c64594611e469313314abd1e59524adb4a;hp=89f04fa99d85e30cd93447afe037bc2e50de05e5;hpb=4b2a999762c83627476428e595d3c1e3704a3da0;p=lyx.git diff --git a/src/font.h b/src/font.h index 89f04fa99d..eb4b71ca2a 100644 --- a/src/font.h +++ b/src/font.h @@ -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