-/* xscreensaver, Copyright (c) 1993, 1995, 1996, 1998
- * Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1993-2014 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
st->ncolors = get_integer_resource (st->dpy, "colors", "Integer");
if (st->ncolors <= 0) st->ncolors = 128;
st->colors = (XColor *) malloc ((st->ncolors+1) * sizeof (*st->colors));
- make_smooth_colormap (st->dpy, xgwa.visual, xgwa.colormap, st->colors, &st->ncolors,
+ make_smooth_colormap (xgwa.screen, xgwa.visual, xgwa.colormap,
+ st->colors, &st->ncolors,
True, 0, True);
if (st->ncolors <= 2)
mono_p = True, st->ncolors = 0;
static int
recurse (struct state *st, double x, double y, int l, Display *dpy, Window win)
{
- int xp, yp, i;
+ int i;
double nx, ny;
if (l == st->max_levels)
if (x > -1.0 && x < 1.0 && y > -1.0 && y < 1.0)
{
- xp = st->points[st->num_points].x = (int) ((st->width / 2) * (x + 1.0));
- yp = st->points[st->num_points].y = (int) ((st->height / 2) * (y + 1.0));
+ st->points[st->num_points].x = (int) ((st->width / 2) * (x + 1.0));
+ st->points[st->num_points].y = (int) ((st->height / 2) * (y + 1.0));
st->num_points++;
if (st->num_points >= POINT_BUFFER_SIZE)
{
"I think this happens on HPUX. I think it's non-IEEE
to generate an exception instead of a silent NaN."
*/
- if ((abs(x) > 1.0E5) || (abs(y) > 1.0E5))
+ if ((fabs(x) > 1.0E5) || (fabs(y) > 1.0E5))
x = x / y;
nx = st->f[0][0][i] * x + st->f[0][1][i] * y + st->f[0][2][i];
static const char *flame_defaults [] = {
".background: black",
".foreground: white",
+ "*fpsSolid: true",
"*colors: 64",
"*iterations: 25",
"*delay: 50000",
"*delay2: 2000000",
"*points: 10000",
+#ifdef HAVE_MOBILE
+ "*ignoreRotation: True",
+#endif
0
};
flame_reshape (Display *dpy, Window window, void *closure,
unsigned int w, unsigned int h)
{
+ struct state *st = (struct state *) closure;
+ st->width = w;
+ st->height = h;
}
static Bool
flame_event (Display *dpy, Window window, void *closure, XEvent *event)
{
+ struct state *st = (struct state *) closure;
+ if (screenhack_event_helper (dpy, window, event))
+ {
+ st->do_reset = 1;
+ return True;
+ }
return False;
}