X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fslidescreen.c;h=190f50711f8f8a205932ebb306dba3955a987fad;hb=39809ded547bdbb08207d3e514950425215b4410;hp=bff002cb8ce3e6838e26e26c120b0fe37adcc7c1;hpb=6afd6db0ae9396cd7ff897ade597cd5483f49b0e;p=xscreensaver diff --git a/hacks/slidescreen.c b/hacks/slidescreen.c index bff002cb..190f5071 100644 --- a/hacks/slidescreen.c +++ b/hacks/slidescreen.c @@ -55,7 +55,7 @@ slidescreen_init (Display *dpy, Window window) XGetWindowAttributes (st->dpy, st->window, &xgwa); st->img_loader = load_image_async_simple (0, xgwa.screen, st->window, st->window, 0, 0); - st->start_time = time ((time_t) 0); + st->start_time = time ((time_t *) 0); st->max_width = xgwa.width; st->max_height = xgwa.height; @@ -108,7 +108,7 @@ slidescreen_init (Display *dpy, Window window) else st->bg = 1; -#ifndef HAVE_COCOA +#ifndef HAVE_JWXYZ if (!fg_ok || bg_ok) { int i; @@ -167,7 +167,7 @@ slidescreen_init (Display *dpy, Window window) } XFree(all); } -#endif /* !HAVE_COCOA */ +#endif /* !HAVE_JWXYZ */ } gcv.foreground = st->fg; @@ -198,6 +198,16 @@ draw_grid (struct state *st) st->bitmap_w = xgwa.width; st->bitmap_h = xgwa.height; + if (xgwa.width < 50 || xgwa.height < 50) /* tiny window */ + { + int s = (xgwa.width < xgwa.height ? xgwa.width : xgwa.height); + border = 1; + st->grid_size = s / 2; + if (st->grid_size < 16) st->grid_size = 16; + if (st->bitmap_w < st->grid_size*2) st->bitmap_w = st->grid_size*2; + if (st->bitmap_h < st->grid_size*2) st->bitmap_h = st->grid_size*2; + } + st->grid_w = st->bitmap_w / st->grid_size; st->grid_h = st->bitmap_h / st->grid_size; st->hole_x = random () % st->grid_w; @@ -307,19 +317,19 @@ slidescreen_draw (Display *dpy, Window window, void *closure) { st->img_loader = load_image_async_simple (st->img_loader, 0, 0, 0, 0, 0); if (! st->img_loader) { /* just finished */ - st->start_time = time ((time_t) 0); + st->start_time = time ((time_t *) 0); draw_grid (st); } return st->delay; } if (!st->img_loader && - st->start_time + st->duration < time ((time_t) 0)) { + st->start_time + st->duration < time ((time_t *) 0)) { XWindowAttributes xgwa; XGetWindowAttributes(st->dpy, st->window, &xgwa); st->img_loader = load_image_async_simple (0, xgwa.screen, st->window, st->window, 0, 0); - st->start_time = time ((time_t) 0); + st->start_time = time ((time_t *) 0); st->draw_initted = 0; return st->delay; } @@ -433,7 +443,7 @@ slidescreen_reshape (Display *dpy, Window window, void *closure, XGetWindowAttributes (st->dpy, st->window, &xgwa); st->img_loader = load_image_async_simple (0, xgwa.screen, st->window, st->window, 0, 0); - st->start_time = time ((time_t) 0); + st->start_time = time ((time_t *) 0); } } @@ -475,7 +485,7 @@ static const char *slidescreen_defaults [] = { "*delay: 50000", "*delay2: 1000000", "*duration: 120", -#ifdef USE_IPHONE +#ifdef HAVE_MOBILE "*ignoreRotation: True", "*rotateImages: True", #endif