summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-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 3ead7e0509..a1a86c8d87 100644
--- a/apps/plugins/mandelbrot.c
+++ b/apps/plugins/mandelbrot.c
@@ -95,30 +95,34 @@ PLUGIN_HEADER
95#define MANDELBROT_RESET (BUTTON_SELECT | BUTTON_PLAY) 95#define MANDELBROT_RESET (BUTTON_SELECT | BUTTON_PLAY)
96 96
97#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD 97#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
98#define MANDELBROT_QUIT BUTTON_POWER 98#define MANDELBROT_QUIT BUTTON_POWER
99#define MANDELBROT_UP BUTTON_UP 99#define MANDELBROT_UP BUTTON_UP
100#define MANDELBROT_DOWN BUTTON_DOWN 100#define MANDELBROT_DOWN BUTTON_DOWN
101#define MANDELBROT_LEFT BUTTON_LEFT 101#define MANDELBROT_LEFT BUTTON_LEFT
102#define MANDELBROT_RIGHT BUTTON_RIGHT 102#define MANDELBROT_RIGHT BUTTON_RIGHT
103#define MANDELBROT_ZOOM_IN_PRE BUTTON_SELECT 103#define MANDELBROT_ZOOM_IN_PRE BUTTON_SELECT
104#define MANDELBROT_ZOOM_IN (BUTTON_SELECT | BUTTON_REL) 104#define MANDELBROT_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
105#define MANDELBROT_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT) 105#define MANDELBROT_ZOOM_OUT_PRE BUTTON_SELECT
106#define MANDELBROT_MAXITER_INC (BUTTON_PLAY | BUTTON_RIGHT) 106#define MANDELBROT_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
107#define MANDELBROT_MAXITER_DEC (BUTTON_PLAY | BUTTON_LEFT) 107#define MANDELBROT_MAXITER_INC_PRE BUTTON_PLAY
108#define MANDELBROT_RESET BUTTON_REC 108#define MANDELBROT_MAXITER_INC (BUTTON_PLAY | BUTTON_REL)
109#define MANDELBROT_MAXITER_DEC_PRE BUTTON_PLAY
110#define MANDELBROT_MAXITER_DEC (BUTTON_PLAY | BUTTON_REPEAT)
111#define MANDELBROT_RESET BUTTON_REC
109 112
110#elif CONFIG_KEYPAD == GIGABEAT_PAD 113#elif CONFIG_KEYPAD == GIGABEAT_PAD
111#define MANDELBROT_QUIT BUTTON_POWER 114#define MANDELBROT_QUIT BUTTON_POWER
112#define MANDELBROT_UP BUTTON_UP 115#define MANDELBROT_UP BUTTON_UP
113#define MANDELBROT_DOWN BUTTON_DOWN 116#define MANDELBROT_DOWN BUTTON_DOWN
114#define MANDELBROT_LEFT BUTTON_LEFT 117#define MANDELBROT_LEFT BUTTON_LEFT
115#define MANDELBROT_RIGHT BUTTON_RIGHT 118#define MANDELBROT_RIGHT BUTTON_RIGHT
116#define MANDELBROT_ZOOM_IN_PRE BUTTON_SELECT 119#define MANDELBROT_ZOOM_IN_PRE BUTTON_SELECT
117#define MANDELBROT_ZOOM_IN (BUTTON_SELECT | BUTTON_REL) 120#define MANDELBROT_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
118#define MANDELBROT_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT) 121#define MANDELBROT_ZOOM_OUT_PRE BUTTON_SELECT
119#define MANDELBROT_MAXITER_INC BUTTON_VOL_UP 122#define MANDELBROT_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
120#define MANDELBROT_MAXITER_DEC BUTTON_VOL_DOWN 123#define MANDELBROT_MAXITER_INC BUTTON_VOL_UP
121#define MANDELBROT_RESET BUTTON_A 124#define MANDELBROT_MAXITER_DEC BUTTON_VOL_DOWN
125#define MANDELBROT_RESET BUTTON_A
122 126
123#elif CONFIG_KEYPAD == SANSA_E200_PAD 127#elif CONFIG_KEYPAD == SANSA_E200_PAD
124#define MANDELBROT_QUIT BUTTON_POWER 128#define MANDELBROT_QUIT BUTTON_POWER
@@ -145,30 +149,32 @@ PLUGIN_HEADER
145#define MANDELBROT_RESET BUTTON_REC 149#define MANDELBROT_RESET BUTTON_REC
146 150
147#elif CONFIG_KEYPAD == IRIVER_H10_PAD 151#elif CONFIG_KEYPAD == IRIVER_H10_PAD
148#define MANDELBROT_QUIT BUTTON_POWER 152#define MANDELBROT_QUIT BUTTON_POWER
149#define MANDELBROT_UP BUTTON_SCROLL_UP 153#define MANDELBROT_UP BUTTON_SCROLL_UP
150#define MANDELBROT_DOWN BUTTON_SCROLL_DOWN 154#define MANDELBROT_DOWN BUTTON_SCROLL_DOWN
151#define MANDELBROT_LEFT BUTTON_LEFT 155#define MANDELBROT_LEFT BUTTON_LEFT
152#define MANDELBROT_RIGHT BUTTON_RIGHT 156#define MANDELBROT_RIGHT BUTTON_RIGHT
153#define MANDELBROT_ZOOM_IN_PRE BUTTON_PLAY 157#define MANDELBROT_ZOOM_IN_PRE BUTTON_PLAY
154#define MANDELBROT_ZOOM_IN (BUTTON_PLAY | BUTTON_REL) 158#define MANDELBROT_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
155#define MANDELBROT_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT) 159#define MANDELBROT_ZOOM_OUT_PRE BUTTON_PLAY
156#define MANDELBROT_MAXITER_INC BUTTON_FF 160#define MANDELBROT_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT)
157#define MANDELBROT_MAXITER_DEC BUTTON_REW 161#define MANDELBROT_MAXITER_INC BUTTON_FF
158#define MANDELBROT_RESET (BUTTON_PLAY | BUTTON_REW) 162#define MANDELBROT_MAXITER_DEC BUTTON_REW
163#define MANDELBROT_RESET (BUTTON_PLAY | BUTTON_REW)
159 164
160#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD 165#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
161#define MANDELBROT_QUIT BUTTON_EQ 166#define MANDELBROT_QUIT BUTTON_EQ
162#define MANDELBROT_UP BUTTON_UP 167#define MANDELBROT_UP BUTTON_UP
163#define MANDELBROT_DOWN BUTTON_DOWN 168#define MANDELBROT_DOWN BUTTON_DOWN
164#define MANDELBROT_LEFT BUTTON_LEFT 169#define MANDELBROT_LEFT BUTTON_LEFT
165#define MANDELBROT_RIGHT BUTTON_RIGHT 170#define MANDELBROT_RIGHT BUTTON_RIGHT
166#define MANDELBROT_ZOOM_IN_PRE BUTTON_SELECT 171#define MANDELBROT_ZOOM_IN_PRE BUTTON_SELECT
167#define MANDELBROT_ZOOM_IN (BUTTON_SELECT | BUTTON_REL) 172#define MANDELBROT_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
168#define MANDELBROT_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT) 173#define MANDELBROT_ZOOM_OUT_PRE BUTTON_SELECT
169#define MANDELBROT_MAXITER_INC (BUTTON_PLAY | BUTTON_RIGHT) 174#define MANDELBROT_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
170#define MANDELBROT_MAXITER_DEC (BUTTON_PLAY | BUTTON_LEFT) 175#define MANDELBROT_MAXITER_INC (BUTTON_PLAY | BUTTON_RIGHT)
171#define MANDELBROT_RESET BUTTON_MODE 176#define MANDELBROT_MAXITER_DEC (BUTTON_PLAY | BUTTON_LEFT)
177#define MANDELBROT_RESET BUTTON_MODE
172 178
173#endif 179#endif
174 180
@@ -628,6 +634,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
628 return PLUGIN_OK; 634 return PLUGIN_OK;
629 635
630 case MANDELBROT_ZOOM_OUT: 636 case MANDELBROT_ZOOM_OUT:
637#ifdef MANDELBROT_ZOOM_OUT_PRE
638 if (lastbutton != MANDELBROT_ZOOM_OUT_PRE)
639 break;
640#endif
631 x_min -= x_delta; 641 x_min -= x_delta;
632 x_max += x_delta; 642 x_max += x_delta;
633 y_min -= y_delta; 643 y_min -= y_delta;
@@ -690,6 +700,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
690 break; 700 break;
691 701
692 case MANDELBROT_MAXITER_DEC: 702 case MANDELBROT_MAXITER_DEC:
703#ifdef MANDELBROT_MAXITER_DEC_PRE
704 if (lastbutton != MANDELBROT_MAXITER_DEC_PRE)
705 break;
706#endif
693 if (max_iter >= 15) { 707 if (max_iter >= 15) {
694 max_iter -= max_iter / 3; 708 max_iter -= max_iter / 3;
695 redraw = REDRAW_FULL; 709 redraw = REDRAW_FULL;
@@ -697,6 +711,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
697 break; 711 break;
698 712
699 case MANDELBROT_MAXITER_INC: 713 case MANDELBROT_MAXITER_INC:
714#ifdef MANDELBROT_MAXITER_INC_PRE
715 if (lastbutton != MANDELBROT_MAXITER_INC_PRE)
716 break;
717#endif
700 max_iter += max_iter / 2; 718 max_iter += max_iter / 2;
701 redraw = REDRAW_FULL; 719 redraw = REDRAW_FULL;
702 break; 720 break;