FreeWRL / FreeX3D 4.3.0
RasterFont.h
1/*
2
3 FreeWRL support library.
4 Raster fonts.
5
6*/
7
8/****************************************************************************
9 This file is part of the FreeWRL/FreeX3D Distribution.
10
11 Copyright 2009 CRC Canada. (http://www.crc.gc.ca)
12
13 FreeWRL/FreeX3D is free software: you can redistribute it and/or modify
14 it under the terms of the GNU Lesser Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 FreeWRL/FreeX3D is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU General Public License for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with FreeWRL/FreeX3D. If not, see <http://www.gnu.org/licenses/>.
25****************************************************************************/
26
27
28
29#ifndef __LIBFREEWRL_RASTER_FONT_H__
30#define __LIBFREEWRL_RASTER_FONT_H__
31
32
33typedef float vec4f_t[4];
34
35
36typedef enum {
37
38 xf_white,
39 xf_black,
40 xf_user,
41 e_xfont_color_max
42
43} e_xfont_color_t;
44
45
46void rf_print(const char *text);
47void rf_printf(int x, int y, const char *format, ...);
48void rf_layer2D();
49void rf_leave_layer2D();
50int rf_xfont_init(const char *fontname);
51void rf_xfont_set_color(e_xfont_color_t index);
52void rf_xfont_set_usercolor(vec4f_t color);
53
54#if 0
55// used in my engine to print mvar=multi value variables...
56void rf_mvar_print(int x, int y, s_mvar_t *mvar);
57// mvar is declared like this
58typedef union {
59
60 bool_t vbool;
61 int32_t vint32;
62 int64_t vint64;
63 uint32_t vuint32;
64 uint64_t vuint64;
65 float vfloat;
66 double vdouble;
67 mvar_string_t vstring;
68 vec3f_t vv3float;
69 vec4f_t vv4float;
70
71} s_var_t;
72typedef struct {
73
74 mvar_t type;
75 char name[MVAR_NAME_MAX];
76 void *trigger;
77 char flag;
78 bool_t optarg;
79 bool_t set;
80 s_var_t var;
81
82} s_mvar_t;
83#endif
84
85
86#endif /* __LIBFREEWRL_RASTER_FONT_H__ */