diff options
Diffstat (limited to 'apps/plugins/mandelbrot.c')
-rw-r--r-- | apps/plugins/mandelbrot.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/apps/plugins/mandelbrot.c b/apps/plugins/mandelbrot.c index bb96b9b71c..1037212b15 100644 --- a/apps/plugins/mandelbrot.c +++ b/apps/plugins/mandelbrot.c | |||
@@ -94,7 +94,7 @@ void calc_mandelbrot_set(void){ | |||
94 | 94 | ||
95 | start_tick = last_yield = *rb->current_tick; | 95 | start_tick = last_yield = *rb->current_tick; |
96 | 96 | ||
97 | gray_clear_display(); | 97 | gray_ub_clear_display(); |
98 | 98 | ||
99 | x_fact = (x_max - x_min) / LCD_WIDTH; | 99 | x_fact = (x_max - x_min) / LCD_WIDTH; |
100 | y_fact = (y_max - y_min) / LCD_HEIGHT; | 100 | y_fact = (y_max - y_min) / LCD_HEIGHT; |
@@ -124,7 +124,7 @@ void calc_mandelbrot_set(void){ | |||
124 | if (n_iter > max_iter){ | 124 | if (n_iter > max_iter){ |
125 | brightness = 0; // black | 125 | brightness = 0; // black |
126 | } else { | 126 | } else { |
127 | brightness = 255 - (31 * (n_iter & 7)); | 127 | brightness = 255 - (32 * (n_iter & 7)); |
128 | } | 128 | } |
129 | graybuffer[y_pixel]=brightness; | 129 | graybuffer[y_pixel]=brightness; |
130 | /* be nice to other threads: | 130 | /* be nice to other threads: |
@@ -134,7 +134,7 @@ void calc_mandelbrot_set(void){ | |||
134 | last_yield = *rb->current_tick; | 134 | last_yield = *rb->current_tick; |
135 | } | 135 | } |
136 | } | 136 | } |
137 | gray_drawgraymap(graybuffer, x_pixel, 0, 1, LCD_HEIGHT, 1); | 137 | gray_ub_gray_bitmap(graybuffer, x_pixel, 0, 1, LCD_HEIGHT); |
138 | } | 138 | } |
139 | } | 139 | } |
140 | 140 | ||
@@ -142,7 +142,7 @@ void cleanup(void *parameter) | |||
142 | { | 142 | { |
143 | (void)parameter; | 143 | (void)parameter; |
144 | 144 | ||
145 | gray_release_buffer(); | 145 | gray_release(); |
146 | } | 146 | } |
147 | 147 | ||
148 | enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | 148 | enum plugin_status plugin_start(struct plugin_api* api, void* parameter) |
@@ -156,17 +156,14 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
156 | rb = api; | 156 | rb = api; |
157 | (void)parameter; | 157 | (void)parameter; |
158 | 158 | ||
159 | /* This plugin uses the grayscale framework, so initialize */ | ||
160 | gray_init(api); | ||
161 | |||
162 | /* get the remainder of the plugin buffer */ | 159 | /* get the remainder of the plugin buffer */ |
163 | gbuf = (unsigned char *) rb->plugin_get_buffer(&gbuf_size); | 160 | gbuf = (unsigned char *) rb->plugin_get_buffer(&gbuf_size); |
164 | 161 | ||
165 | /* initialize the grayscale buffer: | 162 | /* initialize the grayscale buffer: |
166 | * 112 pixels wide, 8 rows (64 pixels) high, (try to) reserve | 163 | * 112 pixels wide, 8 rows (64 pixels) high, (try to) reserve |
167 | * 16 bitplanes for 17 shades of gray.*/ | 164 | * 16 bitplanes for 17 shades of gray.*/ |
168 | grayscales = gray_init_buffer(gbuf, gbuf_size, 112, 8, 16, NULL) + 1; | 165 | grayscales = gray_init(rb, gbuf, gbuf_size, false, 112, 8, 8, NULL) + 1; |
169 | if (grayscales != 17){ | 166 | if (grayscales != 9){ |
170 | rb->snprintf(buff, sizeof(buff), "%d", grayscales); | 167 | rb->snprintf(buff, sizeof(buff), "%d", grayscales); |
171 | rb->lcd_puts(0, 1, buff); | 168 | rb->lcd_puts(0, 1, buff); |
172 | rb->lcd_update(); | 169 | rb->lcd_update(); |
@@ -174,7 +171,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
174 | return(0); | 171 | return(0); |
175 | } | 172 | } |
176 | 173 | ||
177 | gray_show_display(true); /* switch on grayscale overlay */ | 174 | gray_show(true); /* switch on greyscale overlay */ |
178 | 175 | ||
179 | init_mandelbrot_set(); | 176 | init_mandelbrot_set(); |
180 | lcd_aspect_ratio = ((LCD_WIDTH<<13) / LCD_HEIGHT)<<13; | 177 | lcd_aspect_ratio = ((LCD_WIDTH<<13) / LCD_HEIGHT)<<13; |
@@ -189,7 +186,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
189 | button = rb->button_get(true); | 186 | button = rb->button_get(true); |
190 | switch (button) { | 187 | switch (button) { |
191 | case MANDELBROT_QUIT: | 188 | case MANDELBROT_QUIT: |
192 | gray_release_buffer(); | 189 | gray_release(); |
193 | return PLUGIN_OK; | 190 | return PLUGIN_OK; |
194 | 191 | ||
195 | case MANDELBROT_ZOOM_OUT: | 192 | case MANDELBROT_ZOOM_OUT: |
@@ -270,7 +267,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
270 | if (button != BUTTON_NONE) | 267 | if (button != BUTTON_NONE) |
271 | lastbutton = button; | 268 | lastbutton = button; |
272 | } | 269 | } |
273 | gray_release_buffer(); | 270 | gray_release(); |
274 | return PLUGIN_OK; | 271 | return PLUGIN_OK; |
275 | } | 272 | } |
276 | #endif | 273 | #endif |