]> icculus.org git repositories - dana/openbox.git/blob - render/font.h
short cut highlighting with colors works, but there's no sane defaults right now...
[dana/openbox.git] / render / font.h
1 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
2
3    font.h for the Openbox window manager
4    Copyright (c) 2003-2007   Dana Jansens
5    Copyright (c) 2003        Derek Foreman
6
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 2 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    See the COPYING file for a copy of the GNU General Public License.
18 */
19
20 #ifndef __font_h
21 #define __font_h
22 #include "render.h"
23 #include "geom.h"
24 #include <pango/pango.h>
25
26 struct _RrFont {
27     const RrInstance *inst;
28     gint ref;
29     PangoFontDescription *font_desc;
30     PangoLayout *layout; /*!< Used for measuring and rendering strings */
31     PangoAttribute *shortcut_underline; /*!< For underlining shortcuts */
32     PangoAttrList  *underline_attrlist; /*!< For underlining shortcuts */
33     gint ascent; /*!< The font's ascent in pango-units */
34     gint descent; /*!< The font's descent in pango-units */
35 };
36
37 void RrFontDraw(XftDraw *d, RrTextureText *t, RrRect *position);
38
39 /*! Increment the references for this font, RrFontClose will decrement until 0
40   and then really close it */
41 void RrFontRef(RrFont *f);
42
43 void RrFontSetShortcutNormalColor(RrFont *f, RrColor *c);
44 void RrFontSetShortcutDisabledColor(RrFont *f, RrColor *c);
45 void RrFontSetShortcutSelectedColor(RrFont *f, RrColor *c);
46 void RrFontSetShortcutDisabledSelectedColor(RrFont *f, RrColor *c);
47
48 #endif /* __font_h */