rnd-20020914-1-src
[rocksndiamonds.git] / src / libgame / text.h
1 /***********************************************************
2 * Artsoft Retro-Game Library                               *
3 *----------------------------------------------------------*
4 * (c) 1994-2002 Artsoft Entertainment                      *
5 *               Holger Schemel                             *
6 *               Detmolder Strasse 189                      *
7 *               33604 Bielefeld                            *
8 *               Germany                                    *
9 *               e-mail: info@artsoft.org                   *
10 *----------------------------------------------------------*
11 * text.h                                                   *
12 ***********************************************************/
13
14 #ifndef TEXT_H
15 #define TEXT_H
16
17 #include "system.h"
18
19
20 /* font types */
21 #define FS_SMALL                0
22 #define FS_BIG                  1
23 #define FS_MEDIUM               2
24 #define FS_TILE                 3
25
26 /* font colors */
27 #define FC_RED                  0
28 #define FC_BLUE                 1
29 #define FC_GREEN                2
30 #define FC_YELLOW               3
31 #define FC_SPECIAL1             4
32 #define FC_SPECIAL2             5
33 #define FC_SPECIAL3             6
34
35 /* font graphics definitions */
36 #define FONT1_XSIZE             32
37 #define FONT1_YSIZE             32
38 #define FONT2_XSIZE             14
39 #define FONT2_YSIZE             14
40 #define FONT3_XSIZE             11
41 #define FONT3_YSIZE             14
42 #define FONT4_XSIZE             16
43 #define FONT4_YSIZE             16
44 #define FONT5_XSIZE             10
45 #define FONT5_YSIZE             14
46 #define FONT6_XSIZE             16
47 #define FONT6_YSIZE             32
48
49 #define FONT_CHARS_PER_LINE     16
50 #define FONT_LINES_PER_FONT     4
51
52 /* text output definitions */
53 #define MAX_OUTPUT_LINESIZE     256
54
55 /* font structure definitions */
56
57 struct FontInfo
58 {
59   Bitmap *bitmap_big;
60   Bitmap *bitmap_medium;
61   Bitmap *bitmap_small;
62   Bitmap *bitmap_tile;
63 };
64
65
66 void InitFontInfo(Bitmap *, Bitmap *, Bitmap *, Bitmap *);
67 int getFontWidth(int, int);
68 int getFontHeight(int, int);
69 void DrawInitText(char *, int, int);
70 void DrawTextF(int, int, int, char *, ...);
71 void DrawTextFCentered(int, int, char *, ...);
72 void DrawText(int, int, char *, int, int);
73 void DrawTextExt(DrawBuffer *, int, int, char *, int, int);
74
75 #endif  /* TEXT_H */