44cdbf152ac276d877ac2590a00fc7b7574b3ee6
[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_INITIAL              0
22 #define FS_BIG                  1
23 #define FS_MEDIUM               2
24 #define FS_SMALL                3
25 #define FS_TILE                 4
26
27 /* font colors */
28 #define FC_RED                  0
29 #define FC_BLUE                 1
30 #define FC_GREEN                2
31 #define FC_YELLOW               3
32 #define FC_SPECIAL1             4
33 #define FC_SPECIAL2             5
34 #define FC_SPECIAL3             6
35
36 /* font graphics definitions */
37 #define FONT1_XSIZE             32
38 #define FONT1_YSIZE             32
39 #define FONT2_XSIZE             14
40 #define FONT2_YSIZE             14
41 #define FONT3_XSIZE             11
42 #define FONT3_YSIZE             14
43 #define FONT4_XSIZE             16
44 #define FONT4_YSIZE             16
45 #define FONT5_XSIZE             10
46 #define FONT5_YSIZE             14
47 #define FONT6_XSIZE             16
48 #define FONT6_YSIZE             32
49
50 #define FONT_CHARS_PER_LINE     16
51 #define FONT_LINES_PER_FONT     4
52
53 /* text output definitions */
54 #define MAX_OUTPUT_LINESIZE     256
55
56 /* font structure definitions */
57
58 struct FontInfo
59 {
60   Bitmap *bitmap_initial;
61   Bitmap *bitmap_big;
62   Bitmap *bitmap_medium;
63   Bitmap *bitmap_small;
64   Bitmap *bitmap_tile;
65 };
66
67
68 void InitFontInfo(Bitmap *, Bitmap *, Bitmap *, Bitmap *, Bitmap *);
69 int getFontWidth(int, int);
70 int getFontHeight(int, int);
71 void DrawInitText(char *, int, int);
72 void DrawTextF(int, int, int, char *, ...);
73 void DrawTextFCentered(int, int, char *, ...);
74 void DrawText(int, int, char *, int, int);
75 void DrawTextExt(DrawBuffer *, int, int, char *, int, int);
76
77 #endif  /* TEXT_H */