diff options
| author | suyambulingamrm <suyambu.rm@samsung.com> | 2014-06-17 17:56:22 +0530 |
|---|---|---|
| committer | suyambulingamrm <suyambu.rm@samsung.com> | 2014-06-17 17:56:22 +0530 |
| commit | 2759001336f1b0c6a30ea2e6aa35ce7bf28f3890 (patch) | |
| tree | 0d8973458148d30594ba95732c357d94ab8c956c /src/kinetics.cpp | |
| parent | 915e03ba863f9ebe721bfed67c18ac11d6d87f31 (diff) | |
Issue #91. Update kinetics to use canvas width and height values.
Diffstat (limited to 'src/kinetics.cpp')
| -rw-r--r-- | src/kinetics.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/kinetics.cpp b/src/kinetics.cpp index dcbe9b7..ab8fa95 100644 --- a/src/kinetics.cpp +++ b/src/kinetics.cpp @@ -10,10 +10,7 @@ #include <stdlib.h> #include <string.h> #include <math.h> -#define WIDTH 800 -#define HEIGHT 400 -#define MAX_VELOCITY WIDTH / 2 #include "kinetics.h" @@ -24,15 +21,18 @@ kinetics_destroy (kinetics_t *kinetics) } void -kinetics_init (kinetics_t *kinetics) +kinetics_init (kinetics_t *kinetics, const caskbench_context_t *ctx) { + int max_velocity = ctx->canvas_width / 2; kinetics->angle = drand48 () * 2 * M_PI; - kinetics->velocity = MAX_VELOCITY / 8.0 * 7 * drand48 () + MAX_VELOCITY / 8.0; - kinetics->x = WIDTH / 2; - kinetics->y = HEIGHT / 2; + kinetics->velocity = max_velocity / 8.0 * 7 * drand48 () + max_velocity / 8.0; + kinetics->x = ctx->canvas_width / 2; + kinetics->y = ctx->canvas_height / 2; kinetics->x_radius = drand48 () * 10 + 5; kinetics->y_radius = drand48 () * 10 + 5; + kinetics->canvas_width = ctx->canvas_width; + kinetics->canvas_height = ctx->canvas_height; kinetics->width = drand48 () * 120 + 30; kinetics->height = drand48 () * 120 + 30; @@ -47,12 +47,12 @@ kinetics_update (kinetics_t *kinetics, double delta) double y = kinetics->y + sin (kinetics->angle) * kinetics->velocity * delta; double w = kinetics->width/2; - if (x + w > WIDTH) { + if (x + w > kinetics->canvas_width) { if (kinetics->angle >= 0 && kinetics->angle < M_PI / 2) kinetics->angle = M_PI - kinetics->angle; else if (kinetics->angle > M_PI / 2 * 3) kinetics->angle -= (kinetics->angle - M_PI /2 * 3) * 2; - x = WIDTH - w; + x = kinetics->canvas_width - w; } if (x - w < 0) { @@ -63,10 +63,10 @@ kinetics_update (kinetics_t *kinetics, double delta) x = w; } - if (y + w > HEIGHT) { + if (y + w > kinetics->canvas_height) { if (kinetics->angle > 0 && kinetics->angle < 2 * M_PI) kinetics->angle = M_PI * 2 - kinetics->angle; - y = HEIGHT - w; + y = kinetics->canvas_height - w; } if (y - w < 0) { |