Text: Text core rewrite + freetype support.
[gfxprim.git] / include / text / GP_TextStyle.h
blob4510fbdd4c9cc1f08ef51d6ce9d4f482f8a6ce8b
1 /*****************************************************************************
2 * This file is part of gfxprim library. *
3 * *
4 * Gfxprim is free software; you can redistribute it and/or *
5 * modify it under the terms of the GNU Lesser General Public *
6 * License as published by the Free Software Foundation; either *
7 * version 2.1 of the License, or (at your option) any later version. *
8 * *
9 * Gfxprim is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
12 * Lesser General Public License for more details. *
13 * *
14 * You should have received a copy of the GNU Lesser General Public *
15 * License along with gfxprim; if not, write to the Free Software *
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
17 * Boston, MA 02110-1301 USA *
18 * *
19 * Copyright (C) 2009-2010 Jiri "BlueBear" Dluhos *
20 * <jiri.bluebear.dluhos@gmail.com> *
21 * *
22 * Copyright (C) 2009-2011 Cyril Hrubis <metan@ucw.cz> *
23 * *
24 *****************************************************************************/
26 #ifndef TEXT_GP_TEXTSTYLE_H
27 #define TEXT_GP_TEXTSTYLE_H
29 #include "GP_Font.h"
30 #include "GP_DefaultFont.h"
33 * This structure describes how a text should be rendered.
34 * It includes a font, and its various variants and transformations.
36 typedef struct GP_TextStyle {
37 const struct GP_FontFace *font;
39 /* Spacing between pixels (0 is the default, no spacing). */
40 int pixel_xspace, pixel_yspace;
42 /* Multiplier of pixel width/height (1 is default). */
43 int pixel_xmul, pixel_ymul;
45 /* Extra spacing (in pixels) between characters. */
46 int char_xspace;
48 } GP_TextStyle;
50 #define GP_DEFAULT_TEXT_STYLE { \
51 .font = &GP_DefaultConsoleFont, \
52 .pixel_xspace = 0, \
53 .pixel_yspace = 0, \
54 .pixel_xmul = 1, \
55 .pixel_ymul = 1, \
56 .char_xspace = 0 \
59 #endif /* TEXT_GP_TEXTSTYLE_H */