summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/plugins/mandelbrot.c106
1 files changed, 62 insertions, 44 deletions
diff --git a/apps/plugins/mandelbrot.c b/apps/plugins/mandelbrot.c
index 3ead7e0..a1a86c8 100644
--- a/apps/plugins/mandelbrot.c
+++ b/apps/plugins/mandelbrot.c
@@ -95,30 +95,34 @@ PLUGIN_HEADER
#define MANDELBROT_RESET (BUTTON_SELECT | BUTTON_PLAY)
#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
-#define MANDELBROT_QUIT BUTTON_POWER
-#define MANDELBROT_UP BUTTON_UP
-#define MANDELBROT_DOWN BUTTON_DOWN
-#define MANDELBROT_LEFT BUTTON_LEFT
-#define MANDELBROT_RIGHT BUTTON_RIGHT
-#define MANDELBROT_ZOOM_IN_PRE BUTTON_SELECT
-#define MANDELBROT_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
-#define MANDELBROT_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
-#define MANDELBROT_MAXITER_INC (BUTTON_PLAY | BUTTON_RIGHT)
-#define MANDELBROT_MAXITER_DEC (BUTTON_PLAY | BUTTON_LEFT)
-#define MANDELBROT_RESET BUTTON_REC
+#define MANDELBROT_QUIT BUTTON_POWER
+#define MANDELBROT_UP BUTTON_UP
+#define MANDELBROT_DOWN BUTTON_DOWN
+#define MANDELBROT_LEFT BUTTON_LEFT
+#define MANDELBROT_RIGHT BUTTON_RIGHT
+#define MANDELBROT_ZOOM_IN_PRE BUTTON_SELECT
+#define MANDELBROT_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
+#define MANDELBROT_ZOOM_OUT_PRE BUTTON_SELECT
+#define MANDELBROT_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
+#define MANDELBROT_MAXITER_INC_PRE BUTTON_PLAY
+#define MANDELBROT_MAXITER_INC (BUTTON_PLAY | BUTTON_REL)
+#define MANDELBROT_MAXITER_DEC_PRE BUTTON_PLAY
+#define MANDELBROT_MAXITER_DEC (BUTTON_PLAY | BUTTON_REPEAT)
+#define MANDELBROT_RESET BUTTON_REC
#elif CONFIG_KEYPAD == GIGABEAT_PAD
-#define MANDELBROT_QUIT BUTTON_POWER
-#define MANDELBROT_UP BUTTON_UP
-#define MANDELBROT_DOWN BUTTON_DOWN
-#define MANDELBROT_LEFT BUTTON_LEFT
-#define MANDELBROT_RIGHT BUTTON_RIGHT
-#define MANDELBROT_ZOOM_IN_PRE BUTTON_SELECT
-#define MANDELBROT_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
-#define MANDELBROT_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
-#define MANDELBROT_MAXITER_INC BUTTON_VOL_UP
-#define MANDELBROT_MAXITER_DEC BUTTON_VOL_DOWN
-#define MANDELBROT_RESET BUTTON_A
+#define MANDELBROT_QUIT BUTTON_POWER
+#define MANDELBROT_UP BUTTON_UP
+#define MANDELBROT_DOWN BUTTON_DOWN
+#define MANDELBROT_LEFT BUTTON_LEFT
+#define MANDELBROT_RIGHT BUTTON_RIGHT
+#define MANDELBROT_ZOOM_IN_PRE BUTTON_SELECT
+#define MANDELBROT_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
+#define MANDELBROT_ZOOM_OUT_PRE BUTTON_SELECT
+#define MANDELBROT_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
+#define MANDELBROT_MAXITER_INC BUTTON_VOL_UP
+#define MANDELBROT_MAXITER_DEC BUTTON_VOL_DOWN
+#define MANDELBROT_RESET BUTTON_A
#elif CONFIG_KEYPAD == SANSA_E200_PAD
#define MANDELBROT_QUIT BUTTON_POWER
@@ -145,30 +149,32 @@ PLUGIN_HEADER
#define MANDELBROT_RESET BUTTON_REC
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
-#define MANDELBROT_QUIT BUTTON_POWER
-#define MANDELBROT_UP BUTTON_SCROLL_UP
-#define MANDELBROT_DOWN BUTTON_SCROLL_DOWN
-#define MANDELBROT_LEFT BUTTON_LEFT
-#define MANDELBROT_RIGHT BUTTON_RIGHT
-#define MANDELBROT_ZOOM_IN_PRE BUTTON_PLAY
-#define MANDELBROT_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
-#define MANDELBROT_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT)
-#define MANDELBROT_MAXITER_INC BUTTON_FF
-#define MANDELBROT_MAXITER_DEC BUTTON_REW
-#define MANDELBROT_RESET (BUTTON_PLAY | BUTTON_REW)
+#define MANDELBROT_QUIT BUTTON_POWER
+#define MANDELBROT_UP BUTTON_SCROLL_UP
+#define MANDELBROT_DOWN BUTTON_SCROLL_DOWN
+#define MANDELBROT_LEFT BUTTON_LEFT
+#define MANDELBROT_RIGHT BUTTON_RIGHT
+#define MANDELBROT_ZOOM_IN_PRE BUTTON_PLAY
+#define MANDELBROT_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
+#define MANDELBROT_ZOOM_OUT_PRE BUTTON_PLAY
+#define MANDELBROT_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT)
+#define MANDELBROT_MAXITER_INC BUTTON_FF
+#define MANDELBROT_MAXITER_DEC BUTTON_REW
+#define MANDELBROT_RESET (BUTTON_PLAY | BUTTON_REW)
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
-#define MANDELBROT_QUIT BUTTON_EQ
-#define MANDELBROT_UP BUTTON_UP
-#define MANDELBROT_DOWN BUTTON_DOWN
-#define MANDELBROT_LEFT BUTTON_LEFT
-#define MANDELBROT_RIGHT BUTTON_RIGHT
-#define MANDELBROT_ZOOM_IN_PRE BUTTON_SELECT
-#define MANDELBROT_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
-#define MANDELBROT_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
-#define MANDELBROT_MAXITER_INC (BUTTON_PLAY | BUTTON_RIGHT)
-#define MANDELBROT_MAXITER_DEC (BUTTON_PLAY | BUTTON_LEFT)
-#define MANDELBROT_RESET BUTTON_MODE
+#define MANDELBROT_QUIT BUTTON_EQ
+#define MANDELBROT_UP BUTTON_UP
+#define MANDELBROT_DOWN BUTTON_DOWN
+#define MANDELBROT_LEFT BUTTON_LEFT
+#define MANDELBROT_RIGHT BUTTON_RIGHT
+#define MANDELBROT_ZOOM_IN_PRE BUTTON_SELECT
+#define MANDELBROT_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
+#define MANDELBROT_ZOOM_OUT_PRE BUTTON_SELECT
+#define MANDELBROT_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
+#define MANDELBROT_MAXITER_INC (BUTTON_PLAY | BUTTON_RIGHT)
+#define MANDELBROT_MAXITER_DEC (BUTTON_PLAY | BUTTON_LEFT)
+#define MANDELBROT_RESET BUTTON_MODE
#endif
@@ -628,6 +634,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
return PLUGIN_OK;
case MANDELBROT_ZOOM_OUT:
+#ifdef MANDELBROT_ZOOM_OUT_PRE
+ if (lastbutton != MANDELBROT_ZOOM_OUT_PRE)
+ break;
+#endif
x_min -= x_delta;
x_max += x_delta;
y_min -= y_delta;
@@ -690,6 +700,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
break;
case MANDELBROT_MAXITER_DEC:
+#ifdef MANDELBROT_MAXITER_DEC_PRE
+ if (lastbutton != MANDELBROT_MAXITER_DEC_PRE)
+ break;
+#endif
if (max_iter >= 15) {
max_iter -= max_iter / 3;
redraw = REDRAW_FULL;
@@ -697,6 +711,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
break;
case MANDELBROT_MAXITER_INC:
+#ifdef MANDELBROT_MAXITER_INC_PRE
+ if (lastbutton != MANDELBROT_MAXITER_INC_PRE)
+ break;
+#endif
max_iter += max_iter / 2;
redraw = REDRAW_FULL;
break;