From 7719d297f2a1da0e45fd39cad21e99e23fd695c8 Mon Sep 17 00:00:00 2001 From: Tomer Shalev Date: Fri, 15 Jan 2010 05:53:15 +0000 Subject: FS#10911 - Plugins: Fractals (formerly Mandelbrot) - Rename the mandelbrot plugin to fractals - Update manual accordingly - Separate plugin's functionality into separate files - Lay the ground for having fractals sets other than the Mandelbrot set. For that the following will need to be implemented: - Create a new file for the new fracral set - Provide key mapping to switch between sets git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24230 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/fractals/fractal.h | 352 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 352 insertions(+) create mode 100644 apps/plugins/fractals/fractal.h (limited to 'apps/plugins/fractals/fractal.h') diff --git a/apps/plugins/fractals/fractal.h b/apps/plugins/fractals/fractal.h new file mode 100644 index 0000000000..e1dfd5b6c9 --- /dev/null +++ b/apps/plugins/fractals/fractal.h @@ -0,0 +1,352 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2009 Tomer Shalev + * + * 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 _FRACTAL_H +#define _FRACTAL_H + +/* variable button definitions */ +#if CONFIG_KEYPAD == RECORDER_PAD +#define FRACTAL_QUIT BUTTON_OFF +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN BUTTON_PLAY +#define FRACTAL_ZOOM_OUT BUTTON_ON +#define FRACTAL_PRECISION_INC BUTTON_F2 +#define FRACTAL_PRECISION_DEC BUTTON_F1 +#define FRACTAL_RESET BUTTON_F3 + +#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD +#define FRACTAL_QUIT BUTTON_OFF +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN BUTTON_SELECT +#define FRACTAL_ZOOM_OUT BUTTON_ON +#define FRACTAL_PRECISION_INC BUTTON_F2 +#define FRACTAL_PRECISION_DEC BUTTON_F1 +#define FRACTAL_RESET BUTTON_F3 + +#elif CONFIG_KEYPAD == ONDIO_PAD +#define FRACTAL_QUIT BUTTON_OFF +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN_PRE BUTTON_MENU +#define FRACTAL_ZOOM_IN (BUTTON_MENU | BUTTON_REL) +#define FRACTAL_ZOOM_IN2 (BUTTON_MENU | BUTTON_UP) +#define FRACTAL_ZOOM_OUT (BUTTON_MENU | BUTTON_DOWN) +#define FRACTAL_PRECISION_INC (BUTTON_MENU | BUTTON_RIGHT) +#define FRACTAL_PRECISION_DEC (BUTTON_MENU | BUTTON_LEFT) +#define FRACTAL_RESET (BUTTON_MENU | BUTTON_OFF) + +#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H300_PAD) +#define FRACTAL_QUIT BUTTON_OFF +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN BUTTON_SELECT +#define FRACTAL_ZOOM_OUT BUTTON_MODE +#define FRACTAL_PRECISION_INC (BUTTON_ON | BUTTON_RIGHT) +#define FRACTAL_PRECISION_DEC (BUTTON_ON | BUTTON_LEFT) +#define FRACTAL_RESET BUTTON_REC + +#define FRACTAL_RC_QUIT BUTTON_RC_STOP + +#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ + (CONFIG_KEYPAD == IPOD_3G_PAD) || \ + (CONFIG_KEYPAD == IPOD_1G2G_PAD) +#define FRACTAL_QUIT (BUTTON_SELECT | BUTTON_MENU) +#define FRACTAL_UP BUTTON_MENU +#define FRACTAL_DOWN BUTTON_PLAY +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN BUTTON_SCROLL_FWD +#define FRACTAL_ZOOM_OUT BUTTON_SCROLL_BACK +#define FRACTAL_PRECISION_INC (BUTTON_SELECT | BUTTON_RIGHT) +#define FRACTAL_PRECISION_DEC (BUTTON_SELECT | BUTTON_LEFT) +#define FRACTAL_RESET (BUTTON_SELECT | BUTTON_PLAY) + +#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD +#define FRACTAL_QUIT BUTTON_POWER +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN_PRE BUTTON_SELECT +#define FRACTAL_ZOOM_IN (BUTTON_SELECT | BUTTON_REL) +#define FRACTAL_ZOOM_OUT_PRE BUTTON_SELECT +#define FRACTAL_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT) +#define FRACTAL_PRECISION_INC_PRE BUTTON_PLAY +#define FRACTAL_PRECISION_INC (BUTTON_PLAY | BUTTON_REL) +#define FRACTAL_PRECISION_DEC_PRE BUTTON_PLAY +#define FRACTAL_PRECISION_DEC (BUTTON_PLAY | BUTTON_REPEAT) +#define FRACTAL_RESET BUTTON_REC + +#elif CONFIG_KEYPAD == GIGABEAT_PAD +#define FRACTAL_QUIT BUTTON_POWER +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN_PRE BUTTON_SELECT +#define FRACTAL_ZOOM_IN (BUTTON_SELECT | BUTTON_REL) +#define FRACTAL_ZOOM_OUT_PRE BUTTON_SELECT +#define FRACTAL_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT) +#define FRACTAL_PRECISION_INC BUTTON_VOL_UP +#define FRACTAL_PRECISION_DEC BUTTON_VOL_DOWN +#define FRACTAL_RESET BUTTON_A + +#elif CONFIG_KEYPAD == SANSA_E200_PAD +#define FRACTAL_QUIT BUTTON_POWER +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN BUTTON_SCROLL_FWD +#define FRACTAL_ZOOM_OUT BUTTON_SCROLL_BACK +#define FRACTAL_PRECISION_INC (BUTTON_SELECT | BUTTON_RIGHT) +#define FRACTAL_PRECISION_DEC (BUTTON_SELECT | BUTTON_LEFT) +#define FRACTAL_RESET BUTTON_REC + +#elif CONFIG_KEYPAD == SANSA_FUZE_PAD +#define FRACTAL_QUIT (BUTTON_HOME|BUTTON_REPEAT) +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN BUTTON_SCROLL_FWD +#define FRACTAL_ZOOM_OUT BUTTON_SCROLL_BACK +#define FRACTAL_PRECISION_INC (BUTTON_SELECT | BUTTON_RIGHT) +#define FRACTAL_PRECISION_DEC (BUTTON_SELECT | BUTTON_LEFT) +#define FRACTAL_RESET (BUTTON_SELECT | BUTTON_REPEAT) + +#elif CONFIG_KEYPAD == SANSA_C200_PAD +#define FRACTAL_QUIT BUTTON_POWER +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN BUTTON_VOL_UP +#define FRACTAL_ZOOM_OUT BUTTON_VOL_DOWN +#define FRACTAL_PRECISION_INC (BUTTON_SELECT | BUTTON_RIGHT) +#define FRACTAL_PRECISION_DEC (BUTTON_SELECT | BUTTON_LEFT) +#define FRACTAL_RESET BUTTON_REC + +#elif CONFIG_KEYPAD == SANSA_CLIP_PAD +#define FRACTAL_QUIT BUTTON_POWER +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN BUTTON_VOL_UP +#define FRACTAL_ZOOM_OUT BUTTON_VOL_DOWN +#define FRACTAL_PRECISION_INC (BUTTON_SELECT | BUTTON_RIGHT) +#define FRACTAL_PRECISION_DEC (BUTTON_SELECT | BUTTON_LEFT) +#define FRACTAL_RESET BUTTON_HOME + +#elif CONFIG_KEYPAD == SANSA_M200_PAD +#define FRACTAL_QUIT BUTTON_POWER +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN BUTTON_VOL_UP +#define FRACTAL_ZOOM_OUT BUTTON_VOL_DOWN +#define FRACTAL_PRECISION_INC (BUTTON_SELECT | BUTTON_RIGHT) +#define FRACTAL_PRECISION_DEC (BUTTON_SELECT | BUTTON_LEFT) +#define FRACTAL_RESET (BUTTON_SELECT | BUTTON_UP) + +#elif CONFIG_KEYPAD == IRIVER_H10_PAD +#define FRACTAL_QUIT BUTTON_POWER +#define FRACTAL_UP BUTTON_SCROLL_UP +#define FRACTAL_DOWN BUTTON_SCROLL_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN_PRE BUTTON_PLAY +#define FRACTAL_ZOOM_IN (BUTTON_PLAY | BUTTON_REL) +#define FRACTAL_ZOOM_OUT_PRE BUTTON_PLAY +#define FRACTAL_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT) +#define FRACTAL_PRECISION_INC BUTTON_FF +#define FRACTAL_PRECISION_DEC BUTTON_REW +#define FRACTAL_RESET (BUTTON_PLAY | BUTTON_REW) + +#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD +#define FRACTAL_QUIT BUTTON_EQ +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN_PRE BUTTON_SELECT +#define FRACTAL_ZOOM_IN (BUTTON_SELECT | BUTTON_REL) +#define FRACTAL_ZOOM_OUT_PRE BUTTON_SELECT +#define FRACTAL_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT) +#define FRACTAL_PRECISION_INC (BUTTON_PLAY | BUTTON_RIGHT) +#define FRACTAL_PRECISION_DEC (BUTTON_PLAY | BUTTON_LEFT) +#define FRACTAL_RESET BUTTON_MODE + +#elif CONFIG_KEYPAD == GIGABEAT_S_PAD +#define FRACTAL_QUIT BUTTON_BACK +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN BUTTON_VOL_UP +#define FRACTAL_ZOOM_OUT BUTTON_VOL_DOWN +#define FRACTAL_PRECISION_INC BUTTON_PREV +#define FRACTAL_PRECISION_DEC BUTTON_NEXT +#define FRACTAL_RESET BUTTON_MENU + +#elif CONFIG_KEYPAD == MROBE100_PAD +#define FRACTAL_QUIT BUTTON_POWER +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN_PRE BUTTON_SELECT +#define FRACTAL_ZOOM_IN (BUTTON_SELECT | BUTTON_REL) +#define FRACTAL_ZOOM_OUT_PRE BUTTON_SELECT +#define FRACTAL_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT) +#define FRACTAL_PRECISION_INC BUTTON_MENU +#define FRACTAL_PRECISION_DEC BUTTON_PLAY +#define FRACTAL_RESET BUTTON_DISPLAY + +#elif CONFIG_KEYPAD == IAUDIO_M3_PAD +#define FRACTAL_QUIT BUTTON_RC_REC +#define FRACTAL_UP BUTTON_RC_VOL_UP +#define FRACTAL_DOWN BUTTON_RC_VOL_DOWN +#define FRACTAL_LEFT BUTTON_RC_REW +#define FRACTAL_RIGHT BUTTON_RC_FF +#define FRACTAL_ZOOM_IN_PRE BUTTON_RC_PLAY +#define FRACTAL_ZOOM_IN (BUTTON_RC_PLAY | BUTTON_REL) +#define FRACTAL_ZOOM_OUT_PRE BUTTON_RC_PLAY +#define FRACTAL_ZOOM_OUT (BUTTON_RC_PLAY | BUTTON_REPEAT) +#define FRACTAL_PRECISION_INC_PRE BUTTON_RC_MODE +#define FRACTAL_PRECISION_INC (BUTTON_RC_MODE|BUTTON_REL) +#define FRACTAL_PRECISION_DEC_PRE BUTTON_RC_MODE +#define FRACTAL_PRECISION_DEC (BUTTON_RC_MODE|BUTTON_REPEAT) +#define FRACTAL_RESET BUTTON_RC_MENU + +#elif CONFIG_KEYPAD == COWON_D2_PAD +#define FRACTAL_QUIT BUTTON_POWER + +#elif CONFIG_KEYPAD == CREATIVEZVM_PAD +#define FRACTAL_QUIT BUTTON_BACK +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN BUTTON_PLAY +#define FRACTAL_ZOOM_OUT BUTTON_MENU +#define FRACTAL_PRECISION_INC (BUTTON_UP | BUTTON_CUSTOM) +#define FRACTAL_PRECISION_DEC (BUTTON_DOWN | BUTTON_CUSTOM) +#define FRACTAL_RESET BUTTON_SELECT + +#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD +#define FRACTAL_QUIT BUTTON_POWER +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN BUTTON_VIEW +#define FRACTAL_ZOOM_OUT BUTTON_PLAYLIST +#define FRACTAL_PRECISION_INC BUTTON_VOL_UP +#define FRACTAL_PRECISION_DEC BUTTON_VOL_DOWN +#define FRACTAL_RESET BUTTON_MENU + +#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD +#define FRACTAL_QUIT BUTTON_POWER +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_PREV +#define FRACTAL_RIGHT BUTTON_NEXT +#define FRACTAL_ZOOM_IN BUTTON_RIGHT +#define FRACTAL_ZOOM_OUT BUTTON_LEFT +#define FRACTAL_PRECISION_INC BUTTON_VOL_UP +#define FRACTAL_PRECISION_DEC BUTTON_VOL_DOWN +#define FRACTAL_RESET BUTTON_MENU + +#elif CONFIG_KEYPAD == ONDAVX747_PAD || CONFIG_KEYPAD == MROBE500_PAD +#define FRACTAL_QUIT BUTTON_POWER + +#elif CONFIG_KEYPAD == ONDAVX777_PAD +#define FRACTAL_QUIT BUTTON_POWER + +#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD +#define FRACTAL_QUIT BUTTON_REC +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN_PRE (BUTTON_FFWD | BUTTON_UP) +#define FRACTAL_ZOOM_IN (BUTTON_REW | BUTTON_UP) +#define FRACTAL_ZOOM_OUT_PRE (BUTTON_FFWD | BUTTON_DOWN) +#define FRACTAL_ZOOM_OUT (BUTTON_REW | BUTTON_DOWN) +#define FRACTAL_PRECISION_INC (BUTTON_PLAY | BUTTON_UP) +#define FRACTAL_PRECISION_DEC (BUTTON_FFWD | BUTTON_DOWN) +#define FRACTAL_RESET (BUTTON_PLAY | BUTTON_RIGHT) + +#else +#error No keymap defined! +#endif + +#ifdef HAVE_TOUCHSCREEN +#ifndef FRACTAL_UP +#define FRACTAL_UP BUTTON_TOPMIDDLE +#endif +#ifndef FRACTAL_DOWN +#define FRACTAL_DOWN BUTTON_BOTTOMMIDDLE +#endif +#ifndef FRACTAL_LEFT +#define FRACTAL_LEFT BUTTON_MIDLEFT +#endif +#ifndef FRACTAL_RIGHT +#define FRACTAL_RIGHT BUTTON_MIDRIGHT +#endif +#ifndef FRACTAL_ZOOM_IN_PRE +#define FRACTAL_ZOOM_IN_PRE BUTTON_TOPRIGHT +#endif +#ifndef FRACTAL_ZOOM_IN +#define FRACTAL_ZOOM_IN (BUTTON_TOPRIGHT | BUTTON_REL) +#endif +#ifndef FRACTAL_ZOOM_OUT_PRE +#define FRACTAL_ZOOM_OUT_PRE BUTTON_TOPLEFT +#endif +#ifndef FRACTAL_ZOOM_OUT +#define FRACTAL_ZOOM_OUT (BUTTON_TOPLEFT | BUTTON_REL) +#endif +#ifndef FRACTAL_PRECISION_INC +#define FRACTAL_PRECISION_INC BUTTON_BOTTOMRIGHT +#endif +#ifndef FRACTAL_PRECISION_DEC +#define FRACTAL_PRECISION_DEC BUTTON_BOTTOMLEFT +#endif +#ifndef FRACTAL_RESET +#define FRACTAL_RESET BUTTON_CENTER +#endif +#endif + +#endif + -- cgit v1.2.3