image viewer:

* move button definitions to separate file.
* apply slideshow timeout in ask_and_get_audio_buffer() if in slideshow mode.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29071 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Teruaki Kawashima 2011-01-17 13:47:57 +00:00
parent 0ecb0fe6b1
commit 27424a8938
3 changed files with 414 additions and 366 deletions

View file

@ -28,10 +28,10 @@
#include <lib/helper.h>
#include <lib/configfile.h>
#include "imageviewer.h"
#include "imageviewer_button.h"
#include "image_decoder.h"
#ifdef USEGSLIB
GREY_INFO_STRUCT
#endif
@ -344,6 +344,8 @@ static int show_menu(void) /* return 1 to quit */
#ifdef USE_PLUG_BUF
static int ask_and_get_audio_buffer(const char *filename)
{
int button;
int lastbutton = BUTTON_NONE;
rb->lcd_setfont(FONT_SYSFIXED);
rb->lcd_clear_display();
rb->lcd_puts(0, 0, rb->strrchr(filename,'/')+1);
@ -359,10 +361,18 @@ static int ask_and_get_audio_buffer(const char *filename)
while (1)
{
int button = rb->button_get(true);
if (iv_api.slideshow_enabled)
button = rb->button_get_w_tmo(settings.ss_timeout * HZ);
else
button = rb->button_get(true);
switch(button)
{
case IMGVIEW_ZOOM_IN:
#ifdef IMGVIEW_ZOOM_PRE
if (lastbutton != IMGVIEW_ZOOM_PRE)
break;
#endif
iv_api.plug_buf = false;
buf = rb->plugin_get_audio_buffer(&buf_size);
/*try again this file, now using the audio buffer */
@ -391,11 +401,22 @@ static int ask_and_get_audio_buffer(const char *filename)
return change_filename(DIR_NEXT);
}
break;
case BUTTON_NONE:
if(entries>1)
{
rb->lcd_clear_display();
return change_filename(direction);
}
break;
default:
if(rb->default_event_handler_ex(button, cleanup, NULL)
== SYS_USB_CONNECTED)
return PLUGIN_USB_CONNECTED;
}
if (button != BUTTON_NONE)
lastbutton = button;
}
}
#endif /* USE_PLUG_BUF */
@ -771,7 +792,7 @@ static int load_and_show(char* filename, struct image_info *info)
return change_filename(direction);
}
else if (status == PLUGIN_ABORT) {
rb->splash(HZ, "aborted");
rb->splash(HZ, "Aborted");
return PLUGIN_OK;
}
@ -793,7 +814,7 @@ static int load_and_show(char* filename, struct image_info *info)
else
#endif
{
rb->splash(HZ, "too large");
rb->splash(HZ, "Too large");
file_pt[curfile] = NULL;
return change_filename(direction);
}

View file

@ -24,368 +24,6 @@
#include "plugin.h"
/* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD
#define IMGVIEW_ZOOM_IN BUTTON_PLAY
#define IMGVIEW_ZOOM_OUT BUTTON_ON
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_F3
#define IMGVIEW_PREVIOUS BUTTON_F2
#define IMGVIEW_MENU BUTTON_OFF
#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
#define IMGVIEW_ZOOM_IN BUTTON_SELECT
#define IMGVIEW_ZOOM_OUT BUTTON_ON
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_F3
#define IMGVIEW_PREVIOUS BUTTON_F2
#define IMGVIEW_MENU BUTTON_OFF
#elif CONFIG_KEYPAD == ONDIO_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_MENU
#define IMGVIEW_ZOOM_IN (BUTTON_MENU | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_MENU | BUTTON_DOWN)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT (BUTTON_MENU | BUTTON_RIGHT)
#define IMGVIEW_PREVIOUS (BUTTON_MENU | BUTTON_LEFT)
#define IMGVIEW_MENU BUTTON_OFF
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define IMGVIEW_ZOOM_IN BUTTON_SELECT
#define IMGVIEW_ZOOM_OUT BUTTON_MODE
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#if (CONFIG_KEYPAD == IRIVER_H100_PAD)
#define IMGVIEW_NEXT BUTTON_ON
#define IMGVIEW_PREVIOUS BUTTON_REC
#else
#define IMGVIEW_NEXT BUTTON_REC
#define IMGVIEW_PREVIOUS BUTTON_ON
#endif
#define IMGVIEW_MENU BUTTON_OFF
#define IMGVIEW_RC_MENU BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define IMGVIEW_ZOOM_IN BUTTON_SCROLL_FWD
#define IMGVIEW_ZOOM_OUT BUTTON_SCROLL_BACK
#define IMGVIEW_UP BUTTON_MENU
#define IMGVIEW_DOWN BUTTON_PLAY
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT (BUTTON_SELECT | BUTTON_RIGHT)
#define IMGVIEW_PREVIOUS (BUTTON_SELECT | BUTTON_LEFT)
#define IMGVIEW_MENU (BUTTON_SELECT | BUTTON_MENU)
#define IMGVIEW_QUIT (BUTTON_SELECT | BUTTON_PLAY)
#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_SELECT
#define IMGVIEW_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_PLAY
#define IMGVIEW_PREVIOUS BUTTON_REC
#define IMGVIEW_MENU BUTTON_POWER
#elif CONFIG_KEYPAD == GIGABEAT_PAD
#define IMGVIEW_ZOOM_IN BUTTON_VOL_UP
#define IMGVIEW_ZOOM_OUT BUTTON_VOL_DOWN
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT (BUTTON_A | BUTTON_RIGHT)
#define IMGVIEW_PREVIOUS (BUTTON_A | BUTTON_LEFT)
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == SANSA_E200_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_SELECT
#define IMGVIEW_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_SCROLL_FWD
#define IMGVIEW_NEXT_REPEAT (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
#define IMGVIEW_PREVIOUS BUTTON_SCROLL_BACK
#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
#define IMGVIEW_MENU BUTTON_POWER
#define IMGVIEW_SLIDE_SHOW BUTTON_REC
#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_SELECT
#define IMGVIEW_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_SCROLL_FWD
#define IMGVIEW_NEXT_REPEAT (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
#define IMGVIEW_PREVIOUS BUTTON_SCROLL_BACK
#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
#define IMGVIEW_MENU (BUTTON_HOME|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == SANSA_C200_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_SELECT
#define IMGVIEW_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_VOL_UP
#define IMGVIEW_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT)
#define IMGVIEW_PREVIOUS BUTTON_VOL_DOWN
#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
#define IMGVIEW_MENU BUTTON_POWER
#define IMGVIEW_SLIDE_SHOW BUTTON_REC
#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_SELECT
#define IMGVIEW_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_VOL_UP
#define IMGVIEW_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT)
#define IMGVIEW_PREVIOUS BUTTON_VOL_DOWN
#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
#define IMGVIEW_MENU BUTTON_POWER
#define IMGVIEW_SLIDE_SHOW BUTTON_HOME
#elif CONFIG_KEYPAD == SANSA_M200_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_SELECT
#define IMGVIEW_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_VOL_UP
#define IMGVIEW_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT)
#define IMGVIEW_PREVIOUS BUTTON_VOL_DOWN
#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
#define IMGVIEW_MENU BUTTON_POWER
#define IMGVIEW_SLIDE_SHOW (BUTTON_SELECT | BUTTON_UP)
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_PLAY
#define IMGVIEW_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_SCROLL_UP
#define IMGVIEW_DOWN BUTTON_SCROLL_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_FF
#define IMGVIEW_PREVIOUS BUTTON_REW
#define IMGVIEW_MENU BUTTON_POWER
#elif CONFIG_KEYPAD == MROBE500_PAD
#define IMGVIEW_MENU BUTTON_POWER
#elif CONFIG_KEYPAD == GIGABEAT_S_PAD
#define IMGVIEW_ZOOM_IN BUTTON_VOL_UP
#define IMGVIEW_ZOOM_OUT BUTTON_VOL_DOWN
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_NEXT
#define IMGVIEW_PREVIOUS BUTTON_PREV
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_QUIT BUTTON_BACK
#elif CONFIG_KEYPAD == MROBE100_PAD
#define IMGVIEW_ZOOM_IN BUTTON_SELECT
#define IMGVIEW_ZOOM_OUT BUTTON_PLAY
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT (BUTTON_DISPLAY | BUTTON_RIGHT)
#define IMGVIEW_PREVIOUS (BUTTON_DISPLAY | BUTTON_LEFT)
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_RC_PLAY
#define IMGVIEW_ZOOM_IN (BUTTON_RC_PLAY|BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_RC_PLAY|BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_RC_VOL_UP
#define IMGVIEW_DOWN BUTTON_RC_VOL_DOWN
#define IMGVIEW_LEFT BUTTON_RC_REW
#define IMGVIEW_RIGHT BUTTON_RC_FF
#define IMGVIEW_NEXT BUTTON_RC_MODE
#define IMGVIEW_PREVIOUS BUTTON_RC_MENU
#define IMGVIEW_MENU BUTTON_RC_REC
#elif CONFIG_KEYPAD == COWON_D2_PAD
#elif CONFIG_KEYPAD == IAUDIO67_PAD
#define IMGVIEW_ZOOM_IN BUTTON_VOLUP
#define IMGVIEW_ZOOM_OUT BUTTON_VOLDOWN
#define IMGVIEW_UP BUTTON_STOP
#define IMGVIEW_DOWN BUTTON_PLAY
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT (BUTTON_PLAY|BUTTON_VOLUP)
#define IMGVIEW_PREVIOUS (BUTTON_PLAY|BUTTON_VOLDOWN)
#define IMGVIEW_MENU BUTTON_MENU
#elif CONFIG_KEYPAD == CREATIVEZVM_PAD
#define IMGVIEW_ZOOM_IN BUTTON_PLAY
#define IMGVIEW_ZOOM_OUT BUTTON_CUSTOM
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_SELECT
#define IMGVIEW_PREVIOUS BUTTON_BACK
#define IMGVIEW_MENU BUTTON_MENU
#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
#define IMGVIEW_ZOOM_IN BUTTON_VOL_UP
#define IMGVIEW_ZOOM_OUT BUTTON_VOL_DOWN
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_VIEW
#define IMGVIEW_PREVIOUS BUTTON_PLAYLIST
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD
#define IMGVIEW_ZOOM_IN BUTTON_VOL_UP
#define IMGVIEW_ZOOM_OUT BUTTON_VOL_DOWN
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_NEXT
#define IMGVIEW_PREVIOUS BUTTON_PREV
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD
#define IMGVIEW_ZOOM_IN BUTTON_VOL_UP
#define IMGVIEW_ZOOM_OUT BUTTON_VOL_DOWN
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_PREV
#define IMGVIEW_RIGHT BUTTON_NEXT
#define IMGVIEW_NEXT BUTTON_RIGHT
#define IMGVIEW_PREVIOUS BUTTON_LEFT
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == ONDAVX747_PAD
#elif CONFIG_KEYPAD == ONDAVX777_PAD
#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD
#define IMGVIEW_ZOOM_IN (BUTTON_PLAY|BUTTON_UP)
#define IMGVIEW_ZOOM_OUT (BUTTON_PLAY|BUTTON_DOWN)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_FFWD
#define IMGVIEW_PREVIOUS BUTTON_REW
#define IMGVIEW_MENU_PRE BUTTON_PLAY
#define IMGVIEW_MENU (BUTTON_PLAY|BUTTON_REL)
#define IMGVIEW_QUIT BUTTON_REC
#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
#define IMGVIEW_ZOOM_IN (BUTTON_REC | BUTTON_UP)
#define IMGVIEW_ZOOM_OUT (BUTTON_REC | BUTTON_DOWN)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_PREV
#define IMGVIEW_RIGHT BUTTON_NEXT
#define IMGVIEW_NEXT (BUTTON_REC | BUTTON_NEXT)
#define IMGVIEW_PREVIOUS (BUTTON_REC | BUTTON_PREV)
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_QUIT BUTTON_CANCEL
#elif CONFIG_KEYPAD == MPIO_HD200_PAD
#define IMGVIEW_ZOOM_IN (BUTTON_REC|BUTTON_VOL_UP)
#define IMGVIEW_ZOOM_OUT (BUTTON_REC|BUTTON_VOL_DOWN)
#define IMGVIEW_UP BUTTON_REW
#define IMGVIEW_DOWN BUTTON_FF
#define IMGVIEW_LEFT BUTTON_VOL_DOWN
#define IMGVIEW_RIGHT BUTTON_VOL_UP
#define IMGVIEW_NEXT (BUTTON_REC | BUTTON_FF)
#define IMGVIEW_PREVIOUS (BUTTON_REC | BUTTON_REW)
#define IMGVIEW_MENU BUTTON_FUNC
#define IMGVIEW_QUIT (BUTTON_REC | BUTTON_PLAY)
#elif CONFIG_KEYPAD == MPIO_HD300_PAD
#define IMGVIEW_ZOOM_IN (BUTTON_ENTER | BUTTON_UP)
#define IMGVIEW_ZOOM_OUT (BUTTON_ENTER | BUTTON_DOWN)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_REW
#define IMGVIEW_RIGHT BUTTON_FF
#define IMGVIEW_NEXT (BUTTON_FF | BUTTON_ENTER)
#define IMGVIEW_PREVIOUS (BUTTON_REW | BUTTON_ENTER)
#define IMGVIEW_MENU (BUTTON_ENTER | BUTTON_REPEAT)
#define IMGVIEW_QUIT BUTTON_REC
#else
#error No keymap defined!
#endif
#ifdef HAVE_TOUCHSCREEN
#ifndef IMGVIEW_UP
#define IMGVIEW_UP BUTTON_TOPMIDDLE
#endif
#ifndef IMGVIEW_DOWN
#define IMGVIEW_DOWN BUTTON_BOTTOMMIDDLE
#endif
#ifndef IMGVIEW_LEFT
#define IMGVIEW_LEFT BUTTON_MIDLEFT
#endif
#ifndef IMGVIEW_RIGHT
#define IMGVIEW_RIGHT BUTTON_MIDRIGHT
#endif
#ifndef IMGVIEW_ZOOM_IN
#define IMGVIEW_ZOOM_IN BUTTON_TOPRIGHT
#endif
#ifndef IMGVIEW_ZOOM_OUT
#define IMGVIEW_ZOOM_OUT BUTTON_TOPLEFT
#endif
#ifndef IMGVIEW_MENU
#define IMGVIEW_MENU (BUTTON_CENTER|BUTTON_REL)
#endif
#ifndef IMGVIEW_NEXT
#define IMGVIEW_NEXT BUTTON_BOTTOMRIGHT
#endif
#ifndef IMGVIEW_PREVIOUS
#define IMGVIEW_PREVIOUS BUTTON_BOTTOMLEFT
#endif
#endif
/* different graphics libraries */
#if LCD_DEPTH < 8
#define USEGSLIB

View file

@ -0,0 +1,389 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* user intereface of image viewer.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef _IMAGE_VIEWER_BUTTONS_H
#define _IMAGE_VIEWER_BUTTONS_H
#include "plugin.h"
/* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD
#define IMGVIEW_ZOOM_IN BUTTON_PLAY
#define IMGVIEW_ZOOM_OUT BUTTON_ON
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_F3
#define IMGVIEW_PREVIOUS BUTTON_F2
#define IMGVIEW_MENU BUTTON_OFF
#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
#define IMGVIEW_ZOOM_IN BUTTON_SELECT
#define IMGVIEW_ZOOM_OUT BUTTON_ON
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_F3
#define IMGVIEW_PREVIOUS BUTTON_F2
#define IMGVIEW_MENU BUTTON_OFF
#elif CONFIG_KEYPAD == ONDIO_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_MENU
#define IMGVIEW_ZOOM_IN (BUTTON_MENU | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_MENU | BUTTON_DOWN)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT (BUTTON_MENU | BUTTON_RIGHT)
#define IMGVIEW_PREVIOUS (BUTTON_MENU | BUTTON_LEFT)
#define IMGVIEW_MENU BUTTON_OFF
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define IMGVIEW_ZOOM_IN BUTTON_SELECT
#define IMGVIEW_ZOOM_OUT BUTTON_MODE
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#if (CONFIG_KEYPAD == IRIVER_H100_PAD)
#define IMGVIEW_NEXT BUTTON_ON
#define IMGVIEW_PREVIOUS BUTTON_REC
#else
#define IMGVIEW_NEXT BUTTON_REC
#define IMGVIEW_PREVIOUS BUTTON_ON
#endif
#define IMGVIEW_MENU BUTTON_OFF
#define IMGVIEW_RC_MENU BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define IMGVIEW_ZOOM_IN BUTTON_SCROLL_FWD
#define IMGVIEW_ZOOM_OUT BUTTON_SCROLL_BACK
#define IMGVIEW_UP BUTTON_MENU
#define IMGVIEW_DOWN BUTTON_PLAY
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT (BUTTON_SELECT | BUTTON_RIGHT)
#define IMGVIEW_PREVIOUS (BUTTON_SELECT | BUTTON_LEFT)
#define IMGVIEW_MENU (BUTTON_SELECT | BUTTON_MENU)
#define IMGVIEW_QUIT (BUTTON_SELECT | BUTTON_PLAY)
#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_SELECT
#define IMGVIEW_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_PLAY
#define IMGVIEW_PREVIOUS BUTTON_REC
#define IMGVIEW_MENU BUTTON_POWER
#elif CONFIG_KEYPAD == GIGABEAT_PAD
#define IMGVIEW_ZOOM_IN BUTTON_VOL_UP
#define IMGVIEW_ZOOM_OUT BUTTON_VOL_DOWN
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT (BUTTON_A | BUTTON_RIGHT)
#define IMGVIEW_PREVIOUS (BUTTON_A | BUTTON_LEFT)
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == SANSA_E200_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_SELECT
#define IMGVIEW_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_SCROLL_FWD
#define IMGVIEW_NEXT_REPEAT (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
#define IMGVIEW_PREVIOUS BUTTON_SCROLL_BACK
#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
#define IMGVIEW_MENU BUTTON_POWER
#define IMGVIEW_SLIDE_SHOW BUTTON_REC
#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_SELECT
#define IMGVIEW_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_SCROLL_FWD
#define IMGVIEW_NEXT_REPEAT (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
#define IMGVIEW_PREVIOUS BUTTON_SCROLL_BACK
#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
#define IMGVIEW_MENU (BUTTON_HOME|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == SANSA_C200_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_SELECT
#define IMGVIEW_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_VOL_UP
#define IMGVIEW_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT)
#define IMGVIEW_PREVIOUS BUTTON_VOL_DOWN
#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
#define IMGVIEW_MENU BUTTON_POWER
#define IMGVIEW_SLIDE_SHOW BUTTON_REC
#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_SELECT
#define IMGVIEW_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_VOL_UP
#define IMGVIEW_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT)
#define IMGVIEW_PREVIOUS BUTTON_VOL_DOWN
#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
#define IMGVIEW_MENU BUTTON_POWER
#define IMGVIEW_SLIDE_SHOW BUTTON_HOME
#elif CONFIG_KEYPAD == SANSA_M200_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_SELECT
#define IMGVIEW_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_VOL_UP
#define IMGVIEW_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT)
#define IMGVIEW_PREVIOUS BUTTON_VOL_DOWN
#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
#define IMGVIEW_MENU BUTTON_POWER
#define IMGVIEW_SLIDE_SHOW (BUTTON_SELECT | BUTTON_UP)
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_PLAY
#define IMGVIEW_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_SCROLL_UP
#define IMGVIEW_DOWN BUTTON_SCROLL_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_FF
#define IMGVIEW_PREVIOUS BUTTON_REW
#define IMGVIEW_MENU BUTTON_POWER
#elif CONFIG_KEYPAD == MROBE500_PAD
#define IMGVIEW_MENU BUTTON_POWER
#elif CONFIG_KEYPAD == GIGABEAT_S_PAD
#define IMGVIEW_ZOOM_IN BUTTON_VOL_UP
#define IMGVIEW_ZOOM_OUT BUTTON_VOL_DOWN
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_NEXT
#define IMGVIEW_PREVIOUS BUTTON_PREV
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_QUIT BUTTON_BACK
#elif CONFIG_KEYPAD == MROBE100_PAD
#define IMGVIEW_ZOOM_IN BUTTON_SELECT
#define IMGVIEW_ZOOM_OUT BUTTON_PLAY
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT (BUTTON_DISPLAY | BUTTON_RIGHT)
#define IMGVIEW_PREVIOUS (BUTTON_DISPLAY | BUTTON_LEFT)
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_RC_PLAY
#define IMGVIEW_ZOOM_IN (BUTTON_RC_PLAY|BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_RC_PLAY|BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_RC_VOL_UP
#define IMGVIEW_DOWN BUTTON_RC_VOL_DOWN
#define IMGVIEW_LEFT BUTTON_RC_REW
#define IMGVIEW_RIGHT BUTTON_RC_FF
#define IMGVIEW_NEXT BUTTON_RC_MODE
#define IMGVIEW_PREVIOUS BUTTON_RC_MENU
#define IMGVIEW_MENU BUTTON_RC_REC
#elif CONFIG_KEYPAD == COWON_D2_PAD
#elif CONFIG_KEYPAD == IAUDIO67_PAD
#define IMGVIEW_ZOOM_IN BUTTON_VOLUP
#define IMGVIEW_ZOOM_OUT BUTTON_VOLDOWN
#define IMGVIEW_UP BUTTON_STOP
#define IMGVIEW_DOWN BUTTON_PLAY
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT (BUTTON_PLAY|BUTTON_VOLUP)
#define IMGVIEW_PREVIOUS (BUTTON_PLAY|BUTTON_VOLDOWN)
#define IMGVIEW_MENU BUTTON_MENU
#elif CONFIG_KEYPAD == CREATIVEZVM_PAD
#define IMGVIEW_ZOOM_IN BUTTON_PLAY
#define IMGVIEW_ZOOM_OUT BUTTON_CUSTOM
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_SELECT
#define IMGVIEW_PREVIOUS BUTTON_BACK
#define IMGVIEW_MENU BUTTON_MENU
#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
#define IMGVIEW_ZOOM_IN BUTTON_VOL_UP
#define IMGVIEW_ZOOM_OUT BUTTON_VOL_DOWN
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_VIEW
#define IMGVIEW_PREVIOUS BUTTON_PLAYLIST
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD
#define IMGVIEW_ZOOM_IN BUTTON_VOL_UP
#define IMGVIEW_ZOOM_OUT BUTTON_VOL_DOWN
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_NEXT
#define IMGVIEW_PREVIOUS BUTTON_PREV
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD
#define IMGVIEW_ZOOM_IN BUTTON_VOL_UP
#define IMGVIEW_ZOOM_OUT BUTTON_VOL_DOWN
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_PREV
#define IMGVIEW_RIGHT BUTTON_NEXT
#define IMGVIEW_NEXT BUTTON_RIGHT
#define IMGVIEW_PREVIOUS BUTTON_LEFT
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == ONDAVX747_PAD
#elif CONFIG_KEYPAD == ONDAVX777_PAD
#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD
#define IMGVIEW_ZOOM_IN (BUTTON_PLAY|BUTTON_UP)
#define IMGVIEW_ZOOM_OUT (BUTTON_PLAY|BUTTON_DOWN)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_LEFT
#define IMGVIEW_RIGHT BUTTON_RIGHT
#define IMGVIEW_NEXT BUTTON_FFWD
#define IMGVIEW_PREVIOUS BUTTON_REW
#define IMGVIEW_MENU_PRE BUTTON_PLAY
#define IMGVIEW_MENU (BUTTON_PLAY|BUTTON_REL)
#define IMGVIEW_QUIT BUTTON_REC
#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
#define IMGVIEW_ZOOM_IN (BUTTON_REC | BUTTON_UP)
#define IMGVIEW_ZOOM_OUT (BUTTON_REC | BUTTON_DOWN)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_PREV
#define IMGVIEW_RIGHT BUTTON_NEXT
#define IMGVIEW_NEXT (BUTTON_REC | BUTTON_NEXT)
#define IMGVIEW_PREVIOUS (BUTTON_REC | BUTTON_PREV)
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_QUIT BUTTON_CANCEL
#elif CONFIG_KEYPAD == MPIO_HD200_PAD
#define IMGVIEW_ZOOM_IN (BUTTON_REC|BUTTON_VOL_UP)
#define IMGVIEW_ZOOM_OUT (BUTTON_REC|BUTTON_VOL_DOWN)
#define IMGVIEW_UP BUTTON_REW
#define IMGVIEW_DOWN BUTTON_FF
#define IMGVIEW_LEFT BUTTON_VOL_DOWN
#define IMGVIEW_RIGHT BUTTON_VOL_UP
#define IMGVIEW_NEXT (BUTTON_REC | BUTTON_FF)
#define IMGVIEW_PREVIOUS (BUTTON_REC | BUTTON_REW)
#define IMGVIEW_MENU BUTTON_FUNC
#define IMGVIEW_QUIT (BUTTON_REC | BUTTON_PLAY)
#elif CONFIG_KEYPAD == MPIO_HD300_PAD
#define IMGVIEW_ZOOM_IN (BUTTON_ENTER | BUTTON_UP)
#define IMGVIEW_ZOOM_OUT (BUTTON_ENTER | BUTTON_DOWN)
#define IMGVIEW_UP BUTTON_UP
#define IMGVIEW_DOWN BUTTON_DOWN
#define IMGVIEW_LEFT BUTTON_REW
#define IMGVIEW_RIGHT BUTTON_FF
#define IMGVIEW_NEXT (BUTTON_FF | BUTTON_ENTER)
#define IMGVIEW_PREVIOUS (BUTTON_REW | BUTTON_ENTER)
#define IMGVIEW_MENU (BUTTON_ENTER | BUTTON_REPEAT)
#define IMGVIEW_QUIT BUTTON_REC
#else
#error No keymap defined!
#endif
#ifdef HAVE_TOUCHSCREEN
#ifndef IMGVIEW_UP
#define IMGVIEW_UP BUTTON_TOPMIDDLE
#endif
#ifndef IMGVIEW_DOWN
#define IMGVIEW_DOWN BUTTON_BOTTOMMIDDLE
#endif
#ifndef IMGVIEW_LEFT
#define IMGVIEW_LEFT BUTTON_MIDLEFT
#endif
#ifndef IMGVIEW_RIGHT
#define IMGVIEW_RIGHT BUTTON_MIDRIGHT
#endif
#ifndef IMGVIEW_ZOOM_IN
#define IMGVIEW_ZOOM_IN BUTTON_TOPRIGHT
#endif
#ifndef IMGVIEW_ZOOM_OUT
#define IMGVIEW_ZOOM_OUT BUTTON_TOPLEFT
#endif
#ifndef IMGVIEW_MENU
#define IMGVIEW_MENU (BUTTON_CENTER|BUTTON_REL)
#endif
#ifndef IMGVIEW_NEXT
#define IMGVIEW_NEXT BUTTON_BOTTOMRIGHT
#endif
#ifndef IMGVIEW_PREVIOUS
#define IMGVIEW_PREVIOUS BUTTON_BOTTOMLEFT
#endif
#endif
#endif /* _IMAGE_VIEWER_BUTTONS_H */