aboutsummaryrefslogtreecommitdiff
path: root/src/XFontImp.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/XFontImp.hh')
-rw-r--r--src/XFontImp.hh78
1 files changed, 0 insertions, 78 deletions
diff --git a/src/XFontImp.hh b/src/XFontImp.hh
deleted file mode 100644
index b293fdd..0000000
--- a/src/XFontImp.hh
+++ /dev/null
@@ -1,78 +0,0 @@
1// XFontImp.hh for FbTk fluxbox toolkit
2// Copyright (c) 2002 Henrik Kinnunen (fluxgen@linuxmail.org)
3//
4// Permission is hereby granted, free of charge, to any person obtaining a
5// copy of this software and associated documentation files (the "Software"),
6// to deal in the Software without restriction, including without limitation
7// the rights to use, copy, modify, merge, publish, distribute, sublicense,
8// and/or sell copies of the Software, and to permit persons to whom the
9// Software is furnished to do so, subject to the following conditions:
10//
11// The above copyright notice and this permission notice shall be included in
12// all copies or substantial portions of the Software.
13//
14// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20// DEALINGS IN THE SOFTWARE.
21
22// $Id: XFontImp.hh,v 1.4 2002/11/25 14:07:21 fluxgen Exp $
23
24#ifndef XFONTIMP_HH
25#define XFONTIMP_HH
26
27#include "FontImp.hh"
28
29class XFontImp:public FbTk::FontImp {
30public:
31 explicit XFontImp(const char *filename = 0);
32 ~XFontImp();
33 bool load(const std::string &filename);
34 unsigned int textWidth(const char * const text, unsigned int size) const;
35 unsigned int height() const;
36 float angle() const { return m_angle; }
37 int ascent() const;
38 int descent() const { return m_fontstruct ? m_fontstruct->descent : 0; }
39 void drawText(Drawable w, int screen, GC gc, const char *text, size_t len, int x, int y) const;
40 bool loaded() const { return m_fontstruct != 0; }
41 void rotate(float angle);
42private:
43 void freeRotFont();
44 void drawRotText(Drawable w, int screen, GC gc, const char *text, size_t len, int x, int y) const;
45 unsigned int rotTextWidth(const char * const text, unsigned int size) const;
46 struct BitmapStruct {
47 int bit_w;
48 int bit_h;
49
50 Pixmap bm;
51 };
52
53 struct XRotCharStruct {
54 int ascent;
55 int descent;
56 int lbearing;
57 int rbearing;
58 int width;
59
60 BitmapStruct glyph;
61 };
62
63 struct XRotFontStruct {
64 int dir;
65 int height;
66 int max_ascent;
67 int max_descent;
68 int max_char;
69 int min_char;
70
71 XRotCharStruct per_char[95];
72 };
73 XRotFontStruct *m_rotfont;
74 XFontStruct *m_fontstruct;
75 float m_angle;
76};
77
78#endif // XFONTIMP_HH