Commit FS#9617 - Keymaps for Plugins fuze by Thomas Martitz.
[kugel-rb.git] / apps / plugins / jpeg / jpeg.h
blobee93694955da975ad2108b5c17096d8e668bfc95
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * JPEG image viewer
11 * (This is a real mess if it has to be coded in one single C file)
13 * File scrolling addition (C) 2005 Alexander Spyridakis
14 * Copyright (C) 2004 Jörg Hohensohn aka [IDC]Dragon
15 * Heavily borrowed from the IJG implementation (C) Thomas G. Lane
16 * Small & fast downscaling IDCT (C) 2002 by Guido Vollbeding JPEGclub.org
18 * This program is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU General Public License
20 * as published by the Free Software Foundation; either version 2
21 * of the License, or (at your option) any later version.
23 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
24 * KIND, either express or implied.
26 ****************************************************************************/
28 #ifndef _JPEG_JPEG_H
29 #define _JPEG_JPEG_H
31 #include "plugin.h"
33 /* variable button definitions */
34 #if CONFIG_KEYPAD == RECORDER_PAD
35 #define JPEG_ZOOM_IN BUTTON_PLAY
36 #define JPEG_ZOOM_OUT BUTTON_ON
37 #define JPEG_UP BUTTON_UP
38 #define JPEG_DOWN BUTTON_DOWN
39 #define JPEG_LEFT BUTTON_LEFT
40 #define JPEG_RIGHT BUTTON_RIGHT
41 #define JPEG_NEXT BUTTON_F3
42 #define JPEG_PREVIOUS BUTTON_F2
43 #define JPEG_MENU BUTTON_OFF
45 #elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
46 #define JPEG_ZOOM_IN BUTTON_SELECT
47 #define JPEG_ZOOM_OUT BUTTON_ON
48 #define JPEG_UP BUTTON_UP
49 #define JPEG_DOWN BUTTON_DOWN
50 #define JPEG_LEFT BUTTON_LEFT
51 #define JPEG_RIGHT BUTTON_RIGHT
52 #define JPEG_NEXT BUTTON_F3
53 #define JPEG_PREVIOUS BUTTON_F2
54 #define JPEG_MENU BUTTON_OFF
56 #elif CONFIG_KEYPAD == ONDIO_PAD
57 #define JPEG_ZOOM_PRE BUTTON_MENU
58 #define JPEG_ZOOM_IN (BUTTON_MENU | BUTTON_REL)
59 #define JPEG_ZOOM_OUT (BUTTON_MENU | BUTTON_DOWN)
60 #define JPEG_UP BUTTON_UP
61 #define JPEG_DOWN BUTTON_DOWN
62 #define JPEG_LEFT BUTTON_LEFT
63 #define JPEG_RIGHT BUTTON_RIGHT
64 #define JPEG_NEXT (BUTTON_MENU | BUTTON_RIGHT)
65 #define JPEG_PREVIOUS (BUTTON_MENU | BUTTON_LEFT)
66 #define JPEG_MENU BUTTON_OFF
68 #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
69 (CONFIG_KEYPAD == IRIVER_H300_PAD)
70 #define JPEG_ZOOM_IN BUTTON_SELECT
71 #define JPEG_ZOOM_OUT BUTTON_MODE
72 #define JPEG_UP BUTTON_UP
73 #define JPEG_DOWN BUTTON_DOWN
74 #define JPEG_LEFT BUTTON_LEFT
75 #define JPEG_RIGHT BUTTON_RIGHT
76 #if (CONFIG_KEYPAD == IRIVER_H100_PAD)
77 #define JPEG_NEXT BUTTON_ON
78 #define JPEG_PREVIOUS BUTTON_REC
79 #else
80 #define JPEG_NEXT BUTTON_REC
81 #define JPEG_PREVIOUS BUTTON_ON
82 #endif
83 #define JPEG_MENU BUTTON_OFF
84 #define JPEG_RC_MENU BUTTON_RC_STOP
86 #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \
87 (CONFIG_KEYPAD == IPOD_1G2G_PAD)
88 #define JPEG_ZOOM_IN BUTTON_SCROLL_FWD
89 #define JPEG_ZOOM_OUT BUTTON_SCROLL_BACK
90 #define JPEG_UP BUTTON_MENU
91 #define JPEG_DOWN BUTTON_PLAY
92 #define JPEG_LEFT BUTTON_LEFT
93 #define JPEG_RIGHT BUTTON_RIGHT
94 #define JPEG_MENU (BUTTON_SELECT | BUTTON_MENU)
95 #define JPEG_NEXT (BUTTON_SELECT | BUTTON_RIGHT)
96 #define JPEG_PREVIOUS (BUTTON_SELECT | BUTTON_LEFT)
98 #elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
99 #define JPEG_ZOOM_PRE BUTTON_SELECT
100 #define JPEG_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
101 #define JPEG_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
102 #define JPEG_UP BUTTON_UP
103 #define JPEG_DOWN BUTTON_DOWN
104 #define JPEG_LEFT BUTTON_LEFT
105 #define JPEG_RIGHT BUTTON_RIGHT
106 #define JPEG_MENU BUTTON_POWER
107 #define JPEG_NEXT BUTTON_PLAY
108 #define JPEG_PREVIOUS BUTTON_REC
110 #elif CONFIG_KEYPAD == GIGABEAT_PAD
111 #define JPEG_ZOOM_IN BUTTON_VOL_UP
112 #define JPEG_ZOOM_OUT BUTTON_VOL_DOWN
113 #define JPEG_UP BUTTON_UP
114 #define JPEG_DOWN BUTTON_DOWN
115 #define JPEG_LEFT BUTTON_LEFT
116 #define JPEG_RIGHT BUTTON_RIGHT
117 #define JPEG_MENU BUTTON_MENU
118 #define JPEG_NEXT (BUTTON_A | BUTTON_RIGHT)
119 #define JPEG_PREVIOUS (BUTTON_A | BUTTON_LEFT)
121 #elif CONFIG_KEYPAD == SANSA_E200_PAD
122 #define JPEG_ZOOM_PRE BUTTON_SELECT
123 #define JPEG_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
124 #define JPEG_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
125 #define JPEG_UP BUTTON_UP
126 #define JPEG_DOWN BUTTON_DOWN
127 #define JPEG_LEFT BUTTON_LEFT
128 #define JPEG_RIGHT BUTTON_RIGHT
129 #define JPEG_MENU BUTTON_POWER
130 #define JPEG_SLIDE_SHOW BUTTON_REC
131 #define JPEG_NEXT BUTTON_SCROLL_FWD
132 #define JPEG_NEXT_REPEAT (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
133 #define JPEG_PREVIOUS BUTTON_SCROLL_BACK
134 #define JPEG_PREVIOUS_REPEAT (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
136 #elif CONFIG_KEYPAD == SANSA_FUZE_PAD
137 #define JPEG_ZOOM_PRE BUTTON_SELECT
138 #define JPEG_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
139 #define JPEG_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
140 #define JPEG_UP BUTTON_UP
141 #define JPEG_DOWN BUTTON_DOWN
142 #define JPEG_LEFT BUTTON_LEFT
143 #define JPEG_RIGHT BUTTON_RIGHT
144 #define JPEG_MENU BUTTON_POWER
145 #define JPEG_SLIDE_SHOW BUTTON_RECd
146 #define JPEG_NEXT BUTTON_SCROLL_FWD
147 #define JPEG_NEXT_REPEAT (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
148 #define JPEG_PREVIOUS BUTTON_SCROLL_BACK
149 #define JPEG_PREVIOUS_REPEAT (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
151 #elif CONFIG_KEYPAD == SANSA_C200_PAD
152 #define JPEG_ZOOM_PRE BUTTON_SELECT
153 #define JPEG_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
154 #define JPEG_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
155 #define JPEG_UP BUTTON_UP
156 #define JPEG_DOWN BUTTON_DOWN
157 #define JPEG_LEFT BUTTON_LEFT
158 #define JPEG_RIGHT BUTTON_RIGHT
159 #define JPEG_MENU BUTTON_POWER
160 #define JPEG_SLIDE_SHOW BUTTON_REC
161 #define JPEG_NEXT BUTTON_VOL_UP
162 #define JPEG_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT)
163 #define JPEG_PREVIOUS BUTTON_VOL_DOWN
164 #define JPEG_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
166 #elif CONFIG_KEYPAD == SANSA_CLIP_PAD
167 #define JPEG_ZOOM_PRE BUTTON_SELECT
168 #define JPEG_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
169 #define JPEG_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
170 #define JPEG_UP BUTTON_UP
171 #define JPEG_DOWN BUTTON_DOWN
172 #define JPEG_LEFT BUTTON_LEFT
173 #define JPEG_RIGHT BUTTON_RIGHT
174 #define JPEG_MENU BUTTON_POWER
175 #define JPEG_SLIDE_SHOW BUTTON_HOME
176 #define JPEG_NEXT BUTTON_VOL_UP
177 #define JPEG_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT)
178 #define JPEG_PREVIOUS BUTTON_VOL_DOWN
179 #define JPEG_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
181 #elif CONFIG_KEYPAD == SANSA_M200_PAD
182 #define JPEG_ZOOM_PRE BUTTON_SELECT
183 #define JPEG_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
184 #define JPEG_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
185 #define JPEG_UP BUTTON_UP
186 #define JPEG_DOWN BUTTON_DOWN
187 #define JPEG_LEFT BUTTON_LEFT
188 #define JPEG_RIGHT BUTTON_RIGHT
189 #define JPEG_MENU BUTTON_POWER
190 #define JPEG_SLIDE_SHOW (BUTTON_SELECT | BUTTON_UP)
191 #define JPEG_NEXT BUTTON_VOL_UP
192 #define JPEG_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT)
193 #define JPEG_PREVIOUS BUTTON_VOL_DOWN
194 #define JPEG_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
196 #elif CONFIG_KEYPAD == IRIVER_H10_PAD
197 #define JPEG_ZOOM_PRE BUTTON_PLAY
198 #define JPEG_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
199 #define JPEG_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT)
200 #define JPEG_UP BUTTON_SCROLL_UP
201 #define JPEG_DOWN BUTTON_SCROLL_DOWN
202 #define JPEG_LEFT BUTTON_LEFT
203 #define JPEG_RIGHT BUTTON_RIGHT
204 #define JPEG_MENU BUTTON_POWER
205 #define JPEG_NEXT BUTTON_FF
206 #define JPEG_PREVIOUS BUTTON_REW
208 #elif CONFIG_KEYPAD == MROBE500_PAD
209 #define JPEG_ZOOM_IN BUTTON_RC_VOL_UP
210 #define JPEG_ZOOM_OUT BUTTON_RC_VOL_DOWN
211 #define JPEG_UP BUTTON_RC_PLAY
212 #define JPEG_DOWN BUTTON_RC_DOWN
213 #define JPEG_LEFT BUTTON_LEFT
214 #define JPEG_RIGHT BUTTON_RIGHT
215 #define JPEG_MENU BUTTON_POWER
216 #define JPEG_NEXT BUTTON_RC_HEART
217 #define JPEG_PREVIOUS BUTTON_RC_MODE
219 #elif CONFIG_KEYPAD == GIGABEAT_S_PAD
220 #define JPEG_ZOOM_IN BUTTON_VOL_UP
221 #define JPEG_ZOOM_OUT BUTTON_VOL_DOWN
222 #define JPEG_UP BUTTON_UP
223 #define JPEG_DOWN BUTTON_DOWN
224 #define JPEG_LEFT BUTTON_LEFT
225 #define JPEG_RIGHT BUTTON_RIGHT
226 #define JPEG_MENU BUTTON_MENU
227 #define JPEG_NEXT BUTTON_NEXT
228 #define JPEG_PREVIOUS BUTTON_PREV
230 #elif CONFIG_KEYPAD == MROBE100_PAD
231 #define JPEG_ZOOM_IN BUTTON_SELECT
232 #define JPEG_ZOOM_OUT BUTTON_PLAY
233 #define JPEG_UP BUTTON_UP
234 #define JPEG_DOWN BUTTON_DOWN
235 #define JPEG_LEFT BUTTON_LEFT
236 #define JPEG_RIGHT BUTTON_RIGHT
237 #define JPEG_MENU BUTTON_MENU
238 #define JPEG_NEXT (BUTTON_DISPLAY | BUTTON_RIGHT)
239 #define JPEG_PREVIOUS (BUTTON_DISPLAY | BUTTON_LEFT)
241 #elif CONFIG_KEYPAD == IAUDIO_M3_PAD
242 #define JPEG_ZOOM_PRE BUTTON_RC_PLAY
243 #define JPEG_ZOOM_IN (BUTTON_RC_PLAY|BUTTON_REL)
244 #define JPEG_ZOOM_OUT (BUTTON_RC_PLAY|BUTTON_REPEAT)
245 #define JPEG_UP BUTTON_RC_VOL_UP
246 #define JPEG_DOWN BUTTON_RC_VOL_DOWN
247 #define JPEG_LEFT BUTTON_RC_REW
248 #define JPEG_RIGHT BUTTON_RC_FF
249 #define JPEG_MENU BUTTON_RC_REC
250 #define JPEG_NEXT BUTTON_RC_MODE
251 #define JPEG_PREVIOUS BUTTON_RC_MENU
253 #elif CONFIG_KEYPAD == COWOND2_PAD
255 #elif CONFIG_KEYPAD == IAUDIO67_PAD
256 #define JPEG_ZOOM_IN BUTTON_VOLUP
257 #define JPEG_ZOOM_OUT BUTTON_VOLDOWN
258 #define JPEG_UP BUTTON_STOP
259 #define JPEG_DOWN BUTTON_PLAY
260 #define JPEG_LEFT BUTTON_LEFT
261 #define JPEG_RIGHT BUTTON_RIGHT
262 #define JPEG_MENU BUTTON_MENU
263 #define JPEG_NEXT (BUTTON_PLAY|BUTTON_VOLUP)
264 #define JPEG_PREVIOUS (BUTTON_PLAY|BUTTON_VOLDOWN)
266 #elif CONFIG_KEYPAD == CREATIVEZVM_PAD
268 #define JPEG_ZOOM_IN BUTTON_PLAY
269 #define JPEG_ZOOM_OUT BUTTON_CUSTOM
270 #define JPEG_UP BUTTON_UP
271 #define JPEG_DOWN BUTTON_DOWN
272 #define JPEG_LEFT BUTTON_LEFT
273 #define JPEG_RIGHT BUTTON_RIGHT
274 #define JPEG_MENU BUTTON_MENU
275 #define JPEG_NEXT BUTTON_SELECT
276 #define JPEG_PREVIOUS BUTTON_BACK
278 #else
279 #error No keymap defined!
280 #endif
282 #ifdef HAVE_TOUCHSCREEN
283 #ifndef JPEG_UP
284 #define JPEG_UP BUTTON_TOPMIDDLE
285 #endif
286 #ifndef JPEG_DOWN
287 #define JPEG_DOWN BUTTON_BOTTOMMIDDLE
288 #endif
289 #ifndef JPEG_LEFT
290 #define JPEG_LEFT BUTTON_MIDLEFT
291 #endif
292 #ifndef JPEG_RIGHT
293 #define JPEG_RIGHT BUTTON_MIDRIGHT
294 #endif
295 #ifndef JPEG_ZOOM_IN
296 #define JPEG_ZOOM_IN BUTTON_TOPRIGHT
297 #endif
298 #ifndef JPEG_ZOOM_OUT
299 #define JPEG_ZOOM_OUT BUTTON_TOPLEFT
300 #endif
301 #ifndef JPEG_MENU
302 #define JPEG_MENU (BUTTON_CENTER|BUTTON_REL)
303 #endif
304 #ifndef JPEG_NEXT
305 #define JPEG_NEXT BUTTON_BOTTOMRIGHT
306 #endif
307 #ifndef JPEG_PREVIOUS
308 #define JPEG_PREVIOUS BUTTON_BOTTOMLEFT
309 #endif
310 #endif
313 #endif /* _JPEG_JPEG_H */