FreeWRL/FreeX3D  3.0.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 
33 typedef float vec4f_t[4];
34 
35 
36 typedef enum {
37 
38  xf_white,
39  xf_black,
40  xf_user,
41  e_xfont_color_max
42 
43 } e_xfont_color_t;
44 
45 
46 void rf_print(const char *text);
47 void rf_printf(int x, int y, const char *format, ...);
48 void rf_layer2D();
49 void rf_leave_layer2D();
50 int rf_xfont_init(const char *fontname);
51 void rf_xfont_set_color(e_xfont_color_t index);
52 void rf_xfont_set_usercolor(vec4f_t color);
53 
54 #if 0
55 // used in my engine to print mvar=multi value variables...
56 void rf_mvar_print(int x, int y, s_mvar_t *mvar);
57 // mvar is declared like this
58 typedef 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;
72 typedef 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__ */