diff options
author | Tomer Shalev <shalev.tomer@gmail.com> | 2010-01-17 15:32:17 +0000 |
---|---|---|
committer | Tomer Shalev <shalev.tomer@gmail.com> | 2010-01-17 15:32:17 +0000 |
commit | 55240a2e8587f09d33a2594d90fde7f17b4a9266 (patch) | |
tree | e88820e1dca358bd3df5864560aad53b47deb906 | |
parent | 51cb7eb5f27d773db949d3491b544fdf42ff625c (diff) | |
download | rockbox-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.h | 3 | ||||
-rw-r--r-- | apps/plugins/fractals/fractal_sets.h | 8 | ||||
-rw-r--r-- | apps/plugins/fractals/mandelbrot_set.c | 3 |
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 | |||
29 | void rects_queue_init(void); | 26 | void rects_queue_init(void); |
30 | void rects_calc_all(int (*calc)(struct fractal_rect *, int (*)(void *), void *), | 27 | void 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 | |||
27 | struct fractal_rect | 35 | struct 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) */ | |||
139 | static void recalc_parameters(void) | 139 | static 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); |