Fix (hopefully) last aliasing bug (midiutil), and enable -fno-strict-aliasing again...
[kugel-rb.git] / uisimulator / common / sim_icons.c
blob6492c9addf645995f597ed378320078d2653f49b
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2002 Mats Lidell <matsl@contactor.se>
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
21 #include <stdio.h>
22 #include "config.h"
23 #ifdef HAVE_LCD_CHARCELLS
25 #include <lcd.h>
26 #include <kernel.h>
27 #include <string.h>
28 #include <debug.h>
30 extern void lcd_print_icon(int x, int icon_line, bool enable, char **icon);
32 static char* icon_battery_bit[]=
34 "-----",
35 " ",
36 "*****",
37 "*****",
38 "*****",
39 "*****",
40 "*****",
41 "*****",
42 " ",
43 "-----",
44 NULL
47 static char* icon_battery[]=
49 "********************* ",
50 "* * ",
51 "* ----- ----- ----- * ",
52 "* ----- ----- ----- ***",
53 "* ----- ----- ----- * *",
54 "* ----- ----- ----- * *",
55 "* ----- ----- ----- ***",
56 "* ----- ----- ----- * ",
57 "* * ",
58 "********************* ",
59 NULL
62 static char* icon_volume[]=
64 " ",
65 " ",
66 " ",
67 " ",
68 "* * * ",
69 "* * * ",
70 " * * *** * ",
71 " * * * * * ",
72 " * * * * ",
73 " * *** * ",
74 NULL
77 static char* icon_volume_1[]=
79 " ",
80 " ",
81 " ",
82 " ",
83 "**",
84 "**",
85 "**",
86 "**",
87 "**",
88 "**",
89 NULL
92 static char* icon_volume_2[]=
94 " ",
95 " ",
96 " ",
97 "**",
98 "**",
99 "**",
100 "**",
101 "**",
102 "**",
103 "**",
104 NULL
107 static char* icon_volume_3[]=
109 " ",
110 " ",
111 "**",
112 "**",
113 "**",
114 "**",
115 "**",
116 "**",
117 "**",
118 "**",
119 NULL
122 static char* icon_volume_4[]=
124 " ",
125 "**",
126 "**",
127 "**",
128 "**",
129 "**",
130 "**",
131 "**",
132 "**",
133 "**",
134 NULL
137 static char* icon_volume_5[]=
139 "**",
140 "**",
141 "**",
142 "**",
143 "**",
144 "**",
145 "**",
146 "**",
147 "**",
148 "**",
149 NULL
152 static char* icon_pause[]=
154 " **** **** ",
155 " **** **** ",
156 " **** **** ",
157 " **** **** ",
158 " **** **** ",
159 " **** **** ",
160 " **** **** ",
161 " **** **** ",
162 " **** **** ",
163 " **** **** ",
164 NULL
167 static char* icon_play[]=
169 "** ",
170 "***** ",
171 "******* ",
172 "********* ",
173 "*********** ",
174 "********* ",
175 "******* ",
176 "***** ",
177 "** ",
178 " ",
179 NULL
182 static char* icon_record[]=
184 " *** ",
185 " ***** ",
186 " ******* ",
187 " ********* ",
188 " ********* ",
189 " ********* ",
190 " ******* ",
191 " ***** ",
192 " *** ",
193 " ",
194 NULL
197 static char* icon_usb[]=
199 " ********* ",
200 " ** ** ",
201 " * ",
202 " ** * ** ",
203 "***********************",
204 " ** * ** ",
205 " * ",
206 " ** ** ",
207 " ******** ",
208 " ** ",
209 NULL
212 static char* icon_audio[]=
214 " *************************** ",
215 " ** ** ",
216 "* ** * * **** * *** *",
217 "* * * * * * * * * * *",
218 "* * * * * * * * * * *",
219 "* ****** * * * * * * * *",
220 "* * * * * * * * * * *",
221 "* * * *** **** * *** *",
222 " ** ** ",
223 " *************************** ",
224 NULL
227 static char* icon_param[]=
229 " ********************************* ",
230 " ** ** ",
231 "* **** ** **** ** ** ** *",
232 "* * * * * * * * * ** ** *",
233 "* * * * * * * * * * * * * *",
234 "* **** ****** **** ****** * * * * *",
235 "* * * * * * * * * * * *",
236 "* * * * * * * * * * * *",
237 " ** ** ",
238 " ********************************* ",
239 NULL
242 static char* icon_repeat[]=
244 " ",
245 " *************",
246 " * ",
247 " * ",
248 "* ",
249 "* ",
250 "* ** ",
251 " * **** ",
252 " * ****** ",
253 " *************",
254 NULL
257 static char* icon_repeat2[]=
259 " ",
260 " *",
261 " **",
262 "***",
263 " *",
264 " *",
265 " *",
266 " *",
267 " *",
268 " *",
269 NULL
273 struct icon_info
275 char** bitmap;
276 int xpos;
277 int row;
280 #define ICON_VOLUME_POS 102
281 #define ICON_VOLUME_SIZE 14
282 #define ICON_VOLUME_X_SIZE 2
284 static struct icon_info icons [] =
287 {icon_battery, 0, 0},
288 {icon_battery_bit, 2, 0},
289 {icon_battery_bit, 8, 0},
290 {icon_battery_bit, 14, 0},
291 {icon_usb, 0, 1},
292 {icon_play, 36, 0},
293 {icon_record, 48, 0},
294 {icon_pause, 60, 0},
295 {icon_audio, 37, 1},
296 {icon_repeat, 74, 0},
297 {icon_repeat2, 94, 0},
298 {icon_volume, ICON_VOLUME_POS, 0},
299 {icon_volume_1, ICON_VOLUME_POS+ICON_VOLUME_SIZE, 0},
300 {icon_volume_2, ICON_VOLUME_POS+ICON_VOLUME_SIZE+(1*ICON_VOLUME_X_SIZE)+1, 0},
301 {icon_volume_3, ICON_VOLUME_POS+ICON_VOLUME_SIZE+(2*ICON_VOLUME_X_SIZE)+2, 0},
302 {icon_volume_4, ICON_VOLUME_POS+ICON_VOLUME_SIZE+(3*ICON_VOLUME_X_SIZE)+3, 0},
303 {icon_volume_5, ICON_VOLUME_POS+ICON_VOLUME_SIZE+(4*ICON_VOLUME_X_SIZE)+4, 0},
304 {icon_param, 90, 1}
307 void
308 lcd_icon(int icon, bool enable)
310 lcd_print_icon(icons[icon].xpos, icons[icon].row, enable,
311 icons[icon].bitmap);
314 #endif /* HAVE_LCD_CHARCELLS */