summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomer Shalev <shalev.tomer@gmail.com>2010-01-17 15:32:17 +0000
committerTomer Shalev <shalev.tomer@gmail.com>2010-01-17 15:32:17 +0000
commit55240a2e8587f09d33a2594d90fde7f17b4a9266 (patch)
treee88820e1dca358bd3df5864560aad53b47deb906
parent51cb7eb5f27d773db949d3491b544fdf42ff625c (diff)
downloadrockbox-55240a2e8587f09d33a2594d90fde7f17b4a9266.tar.gz
rockbox-55240a2e8587f09d33a2594d90fde7f17b4a9266.zip
Fractals: Use constants for screen panning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24258 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/fractals/fractal_rect.h3
-rw-r--r--apps/plugins/fractals/fractal_sets.h8
-rw-r--r--apps/plugins/fractals/mandelbrot_set.c3
3 files changed, 10 insertions, 4 deletions
diff --git a/apps/plugins/fractals/fractal_rect.h b/apps/plugins/fractals/fractal_rect.h
index eca66556d3..9d57c29df6 100644
--- a/apps/plugins/fractals/fractal_rect.h
+++ b/apps/plugins/fractals/fractal_rect.h
@@ -23,9 +23,6 @@
23 23
24#include "fractal_sets.h" 24#include "fractal_sets.h"
25 25
26#define LCD_SHIFT_X (LCD_WIDTH / 8)
27#define LCD_SHIFT_Y (LCD_HEIGHT / 8)
28
29void rects_queue_init(void); 26void rects_queue_init(void);
30void rects_calc_all(int (*calc)(struct fractal_rect *, int (*)(void *), void *), 27void rects_calc_all(int (*calc)(struct fractal_rect *, int (*)(void *), void *),
31 int (*button_yield_cb)(void *), void *ctx); 28 int (*button_yield_cb)(void *), void *ctx);
diff --git a/apps/plugins/fractals/fractal_sets.h b/apps/plugins/fractals/fractal_sets.h
index 2d0ff7d930..a41de45c14 100644
--- a/apps/plugins/fractals/fractal_sets.h
+++ b/apps/plugins/fractals/fractal_sets.h
@@ -24,6 +24,14 @@
24#include "lib/grey.h" 24#include "lib/grey.h"
25#include "lib/xlcd.h" 25#include "lib/xlcd.h"
26 26
27#define DELTA 8 /* Panning moves 1/DELTA of screen */
28
29#define LCD_SHIFT_X (LCD_WIDTH / DELTA)
30#define LCD_SHIFT_Y (LCD_HEIGHT / DELTA)
31
32#define X_DELTA(x) (((x) * LCD_WIDTH) / DELTA)
33#define Y_DELTA(y) (((y) * LCD_HEIGHT) / DELTA)
34
27struct fractal_rect 35struct fractal_rect
28{ 36{
29 int px_min; 37 int px_min;
diff --git a/apps/plugins/fractals/mandelbrot_set.c b/apps/plugins/fractals/mandelbrot_set.c
index 53ac7f275d..b8a65d6787 100644
--- a/apps/plugins/fractals/mandelbrot_set.c
+++ b/apps/plugins/fractals/mandelbrot_set.c
@@ -139,8 +139,9 @@ static int ilog2_fp(long value) /* calculate integer log2(value_fp_6.26) */
139static void recalc_parameters(void) 139static void recalc_parameters(void)
140{ 140{
141 ctx.x_step = (ctx.x_max - ctx.x_min) / LCD_WIDTH; 141 ctx.x_step = (ctx.x_max - ctx.x_min) / LCD_WIDTH;
142 ctx.x_delta = (ctx.x_step * LCD_WIDTH) / 8; 142 ctx.x_delta = X_DELTA(ctx.x_step);
143 ctx.y_step = (ctx.y_max - ctx.y_min) / LCD_HEIGHT; 143 ctx.y_step = (ctx.y_max - ctx.y_min) / LCD_HEIGHT;
144 ctx.y_delta = Y_DELTA(ctx.y_step);
144 ctx.y_delta = (ctx.y_step * LCD_HEIGHT) / 8; 145 ctx.y_delta = (ctx.y_step * LCD_HEIGHT) / 8;
145 ctx.step_log2 = ilog2_fp(MIN(ctx.x_step, ctx.y_step)); 146 ctx.step_log2 = ilog2_fp(MIN(ctx.x_step, ctx.y_step));
146 ctx.max_iter = MAX(15, -15 * ctx.step_log2 - 45); 147 ctx.max_iter = MAX(15, -15 * ctx.step_log2 - 45);