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