From 1030dc837b10a03a02a85d5504cbeec168ce49e2 Mon Sep 17 00:00:00 2001 From: Bernie Innocenti Date: Mon, 03 May 2010 21:53:47 +0000 Subject: Import XaoS r489 (trunk after version 3.5) --- (limited to 'src/engine/stard.c') diff --git a/src/engine/stard.c b/src/engine/stard.c new file mode 100644 index 0000000..e6e58bc --- /dev/null +++ b/src/engine/stard.c @@ -0,0 +1,31 @@ +#ifndef UNSUPPORTED +static void do_starfield(void *data, struct taskinfo *task, int r1, int r2) +{ + struct filter *f = (struct filter *) data; + cpixel_t *dest; + pixel8_t *src, *srcend; + unsigned int color; + int y; + cpixeldata_t black = (cpixeldata_t) f->image->palette->pixels[0]; + mysrandom((unsigned int) rand()); + for (y = r1; y < r2; y++) { + src = f->childimage->currlines[y]; + srcend = f->childimage->currlines[y] + f->childimage->width; + dest = (cpixel_t *) f->image->currlines[y]; + while (src < srcend) { + color = ((unsigned int) myrandom() >> 7) & 15; + if (!*src + || (unsigned int) *src * (unsigned int) *src * + (unsigned int) *src > + (unsigned int) ((unsigned int) myrandom() & (0xffffff))) { + p_set(dest, + (cpixeldata_t) f->image->palette->pixels[color]); + } else + p_set(dest, black); + p_inc(dest, 1); + src++; + } + } +} +#endif +#undef do_starfield -- cgit v0.9.1