]> git.lyx.org Git - lyx.git/blob - src/frontends/NoGuiFontMetrics.h
* src/frontends/qt4/ui/TextLayoutUi.ui:
[lyx.git] / src / frontends / NoGuiFontMetrics.h
1 // -*- C++ -*-
2 /**
3  * \file NoGuiFontMetrics.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Abdelrazak Younes
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #ifndef LYX_NO_GUI_FONT_METRICS_H
13 #define LYX_NO_GUI_FONT_METRICS_H
14
15 #include "frontends/FontMetrics.h"
16
17 #include "Dimension.h"
18
19 #include "support/docstring.h"
20
21 namespace lyx {
22 namespace frontend {
23
24 class NoGuiFontMetrics : public FontMetrics
25 {
26 public:
27
28         NoGuiFontMetrics() {}
29
30         virtual ~NoGuiFontMetrics() {}
31
32         virtual int maxAscent() const { return 1; }
33
34         virtual int maxDescent() const { return 1; }
35
36         virtual Dimension const defaultDimension() const { return Dimension(1, 1, 1); }
37
38         virtual int width(char_type) const { return 1; }
39
40         virtual int ascent(char_type) const { return 1; }
41
42         int descent(char_type) const { return 1; }
43
44         virtual int lbearing(char_type) const { return 1; }
45
46         virtual int rbearing(char_type) const { return 1; }
47
48         virtual int width(docstring const & s) const { return s.size(); }
49
50         virtual int signedWidth(docstring const & s) const
51         {
52                 if (s.size() && s[0] == '-')
53                         return -width(s.substr(1, s.length() - 1));
54                 return width(s);
55         }
56
57         virtual Dimension const dimension(char_type) const { return Dimension(1, 1, 1); }
58
59         virtual void rectText(docstring const &,
60                 int & /*width*/, int & /*ascent*/, int & /*descent*/) const {}
61
62         virtual void buttonText(docstring const &,
63                 int & /*width*/, int & /*ascent*/, int & /*descent*/) const {}
64 };
65
66 } // namespace frontend
67 } // namespace lyx
68
69 #endif // LYX_NO_GUI_FONT_METRICS_H