11 void DrawHorzChar(
int col,
int row, uchar *ptr2,
int stride2,
int scale,
int color)
16 for (j = 0; j < CHAR_HEIGHT; j++)
18 for (l = 0; l < scale; l++)
21 for (i = 0; i < CHAR_WIDTH; i++)
25 for (k = 0; k < scale; k++)
29 drawdot(col, row, color);
35 col -= CHAR_WIDTH * scale;
41 void DrawVertChar(
int col,
int row, uchar *ptr2,
int stride2,
int scale,
int color)
46 for (j = 0; j < CHAR_HEIGHT; j++)
48 for (l = 0; l < scale; l++)
51 for (i = 0; i < CHAR_WIDTH; i++)
55 for (k = 0; k < scale; k++)
59 drawdot(col, row, color);
65 row += CHAR_WIDTH * scale;
71 void PutCharImage(
int col,
int row,
int value,
int scale,
int vert,
int color)
74 static const uchar font[11][69] = {
75 0x7c, 0x10, 0x78, 0x78, 0x0c, 0xfc, 0x38, 0xfe, 0x78, 0x78, 0x30, 0xfc,
76 0x3c, 0xf8, 0xfe, 0xfe, 0x3c, 0xcc, 0x78, 0x1e, 0xe6, 0xf0, 0xc6, 0xc6,
77 0x38, 0xfc, 0x38, 0xfc, 0x78, 0xfc, 0xcc, 0xcc, 0xc6, 0xcc, 0xcc, 0xfe,
78 0x00, 0xe0, 0x00, 0x1c, 0x00, 0x38, 0x00, 0xe0, 0x18, 0x0c, 0xe0, 0x78,
79 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
80 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
81 0xc6, 0x30, 0xcc, 0xcc, 0x1c, 0xc0, 0x60, 0xc6, 0xcc, 0xcc, 0x78, 0x66,
82 0x66, 0x6c, 0x62, 0x66, 0x66, 0xcc, 0x30, 0x0c, 0x66, 0x60, 0xee, 0xc6,
83 0x6c, 0x66, 0x6c, 0x66, 0xcc, 0xb4, 0xcc, 0xcc, 0xc6, 0xcc, 0xcc, 0xce,
84 0x00, 0x60, 0x00, 0x0c, 0x00, 0x6c, 0x00, 0x60, 0x18, 0x0c, 0x60, 0x18,
85 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
86 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x60, 0x00,
87 0xce, 0xf0, 0xcc, 0x0c, 0x3c, 0xc0, 0xc0, 0xc6, 0xcc, 0xcc, 0xcc, 0x66,
88 0xc6, 0x66, 0x60, 0x62, 0xc6, 0xcc, 0x30, 0x0c, 0x6c, 0x60, 0xfe, 0xe6,
89 0xc6, 0x66, 0xc6, 0x66, 0xcc, 0x30, 0xcc, 0xcc, 0xc6, 0xcc, 0xcc, 0x98,
90 0x00, 0x60, 0x00, 0x0c, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x60, 0x18,
91 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00,
92 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x02,
93 0xde, 0x30, 0x0c, 0x0c, 0x6c, 0xc0, 0xc0, 0x06, 0xec, 0xcc, 0xcc, 0x66,
94 0xc0, 0x66, 0x64, 0x64, 0xc0, 0xcc, 0x30, 0x0c, 0x6c, 0x60, 0xfe, 0xf6,
95 0xc6, 0x66, 0xc6, 0x66, 0xc0, 0x30, 0xcc, 0xcc, 0xc6, 0x78, 0xcc, 0x18,
96 0x78, 0x7c, 0x78, 0x7c, 0x78, 0x60, 0x76, 0x6c, 0x78, 0x3c, 0x66, 0x18,
97 0xfc, 0xf8, 0x78, 0xdc, 0x76, 0xec, 0x78, 0xfc, 0xcc, 0xcc, 0xc6, 0xc6,
98 0x66, 0xfc, 0x00, 0x00, 0x00, 0x18, 0x30, 0x18, 0x06,
99 0xd6, 0x30, 0x18, 0x38, 0xcc, 0xf8, 0xf8, 0x0c, 0x78, 0x7c, 0xcc, 0x7c,
100 0xc0, 0x66, 0x7c, 0x7c, 0xc0, 0xfc, 0x30, 0x0c, 0x78, 0x60, 0xd6, 0xfe,
101 0xc6, 0x7c, 0xc6, 0x7c, 0x70, 0x30, 0xcc, 0xcc, 0xd6, 0x30, 0x78, 0x30,
102 0x0c, 0x66, 0xcc, 0xcc, 0xcc, 0xf8, 0xcc, 0x76, 0x18, 0x0c, 0x6c, 0x18,
103 0xd6, 0xcc, 0xcc, 0x66, 0xcc, 0x6e, 0xcc, 0x60, 0xcc, 0xcc, 0xc6, 0x6c,
104 0x66, 0x8c, 0x00, 0x00, 0x7e, 0x7e, 0x60, 0x0c, 0x0c,
105 0xf6, 0x30, 0x30, 0x0c, 0xfe, 0x0c, 0xcc, 0x18, 0xdc, 0x18, 0xfc, 0x66,
106 0xc0, 0x66, 0x64, 0x64, 0xce, 0xcc, 0x30, 0xcc, 0x6c, 0x62, 0xc6, 0xde,
107 0xc6, 0x60, 0xce, 0x6c, 0x18, 0x30, 0xcc, 0xcc, 0xd6, 0x78, 0x30, 0x60,
108 0x7c, 0x66, 0xc0, 0xcc, 0xfc, 0x60, 0xcc, 0x66, 0x18, 0x0c, 0x78, 0x18,
109 0xd6, 0xcc, 0xcc, 0x66, 0xcc, 0x76, 0x60, 0x60, 0xcc, 0xcc, 0xd6, 0x38,
110 0x66, 0x18, 0x00, 0x00, 0x00, 0x18, 0x60, 0x0c, 0x18,
111 0xe6, 0x30, 0x60, 0x0c, 0x0c, 0x0c, 0xcc, 0x30, 0xcc, 0x18, 0xcc, 0x66,
112 0xc6, 0x66, 0x60, 0x60, 0xc6, 0xcc, 0x30, 0xcc, 0x6c, 0x66, 0xc6, 0xce,
113 0xc6, 0x60, 0xde, 0x66, 0xcc, 0x30, 0xcc, 0xcc, 0x6c, 0xcc, 0x30, 0x62,
114 0xcc, 0x66, 0xc0, 0xcc, 0xc0, 0x60, 0xcc, 0x66, 0x18, 0x0c, 0x6c, 0x18,
115 0xd6, 0xcc, 0xcc, 0x66, 0xcc, 0x60, 0x18, 0x60, 0xcc, 0xcc, 0xd6, 0x38,
116 0x66, 0x60, 0x00, 0x00, 0x00, 0x18, 0x60, 0x0c, 0x30,
117 0xc6, 0x30, 0xcc, 0xcc, 0x0c, 0xcc, 0xcc, 0x30, 0xcc, 0x30, 0xcc, 0x66,
118 0x66, 0x6c, 0x62, 0x60, 0x66, 0xcc, 0x30, 0xcc, 0x66, 0x66, 0xc6, 0xc6,
119 0x6c, 0x60, 0x7c, 0x66, 0xcc, 0x30, 0xcc, 0x78, 0x6c, 0xcc, 0x30, 0xc6,
120 0xcc, 0x66, 0xcc, 0xcc, 0xcc, 0x60, 0x7c, 0x66, 0x18, 0x0c, 0x66, 0x18,
121 0xd6, 0xcc, 0xcc, 0x66, 0xcc, 0x60, 0xcc, 0x6c, 0xcc, 0x78, 0x6c, 0x6c,
122 0x3c, 0xc4, 0x38, 0x38, 0x00, 0x00, 0x30, 0x18, 0x60,
123 0x7c, 0xfc, 0xfc, 0x78, 0x1e, 0x78, 0x78, 0x30, 0x78, 0x70, 0xcc, 0xfc,
124 0x3c, 0xf8, 0xfe, 0xf0, 0x3e, 0xcc, 0x78, 0x78, 0xe6, 0xfe, 0xc6, 0xc6,
125 0x38, 0xf0, 0x0c, 0xe6, 0x78, 0x78, 0x78, 0x30, 0x6c, 0xcc, 0x78, 0xfe,
126 0x76, 0xdc, 0x78, 0x76, 0x78, 0xf0, 0x0c, 0xe6, 0x7e, 0xcc, 0xe6, 0x7e,
127 0xc6, 0xcc, 0x78, 0x7c, 0x7c, 0xf0, 0x78, 0x38, 0x76, 0x30, 0x6c, 0xc6,
128 0x0c, 0xfc, 0x38, 0x38, 0x00, 0x00, 0x18, 0x30, 0xc0,
129 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
130 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
131 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
132 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0xcc, 0x00, 0x00,
133 0x00, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
134 0x18, 0x00, 0x00, 0x60, 0x00, 0x00, 0x0c, 0x60, 0x80,
135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
136 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
137 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
138 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x78, 0x00, 0x00,
139 0x00, 0x00, 0x00, 0xf0, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
140 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
142 if (value >=
'0' && value <=
'9')
146 else if (value >=
'A' && value <=
'Z')
148 value = value -
'A' + 10;
150 else if (value >=
'a' && value <=
'z')
152 value = value -
'a' + 36;
154 else if (value ==
'.')
158 else if (value ==
',')
162 else if (value ==
'-')
166 else if (value ==
'+')
170 else if (value ==
'(')
174 else if (value ==
')')
178 else if (value ==
'/')
184 ptr2 = (uchar *)&font[0][value];
187 DrawHorzChar(col, row, ptr2, 69, scale, color);
189 DrawVertChar(col, row, ptr2, 69, scale, color);
192 void PutStringImage(
int col,
int row,
char *str,
int scale,
int vert,
int color)
196 PutCharImage(col, row, str[0], scale, vert, color);
199 col += CHAR_WIDTH * scale;
201 row -= CHAR_WIDTH * scale;