diff options
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/plugins/mandelbrot.c | 106 |
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; |