From 370ac137ff0ce9dfc2be54540911fc772ffabdce Mon Sep 17 00:00:00 2001 From: Antonio Carzaniga Date: Mon, 29 Jul 2019 15:48:15 +0200 Subject: [PATCH] added clear (alpha) parameter to draw animation trails. --- balls.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/balls.c b/balls.c index 9a71616..9f1967c 100644 --- a/balls.c +++ b/balls.c @@ -39,6 +39,8 @@ unsigned int n_balls = 50; static double g_y = 20; static double g_x = 0; +static double clear_alpha = 1.0; + void random_velocity(struct ball * p) { double r2; do { @@ -154,7 +156,7 @@ static void draw_balls_onto_window () { cr = gdk_cairo_create(window->window); /* clear pixmap */ - cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0); + cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, clear_alpha); cairo_paint(cr); draw_gravity_vector(); @@ -239,7 +241,8 @@ void print_usage (const char * progname) { "\tfy=\n" "\tradius=-\n" "\tv=-\n" - "\tdelta=\n", + "\tdelta=\n" + "\tclear=\n" progname); } @@ -283,6 +286,8 @@ int main (int argc, const char *argv[]) { continue; if (sscanf(argv[i], "delta=%lf", &delta) == 1) continue; + if (sscanf(argv[i], "clear=%lf", &clear_alpha) == 1) + continue; print_usage(argv[0]); return 1; }