X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fslidescreen.c;h=bff002cb8ce3e6838e26e26c120b0fe37adcc7c1;hb=6afd6db0ae9396cd7ff897ade597cd5483f49b0e;hp=60d2fd4c1015a0c8d14547671b40866663f46941;hpb=c1b9b55ad8d59dc05ef55e316aebf5863e7dfa56;p=xscreensaver diff --git a/hacks/slidescreen.c b/hacks/slidescreen.c index 60d2fd4c..bff002cb 100644 --- a/hacks/slidescreen.c +++ b/hacks/slidescreen.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1992-2008 Jamie Zawinski +/* xscreensaver, Copyright (c) 1992-2014 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -47,7 +47,6 @@ slidescreen_init (Display *dpy, Window window) { struct state *st = (struct state *) calloc (1, sizeof(*st)); XWindowAttributes xgwa; - Visual *visual; XGCValues gcv; long gcflags; @@ -58,7 +57,6 @@ slidescreen_init (Display *dpy, Window window) st->window, 0, 0); st->start_time = time ((time_t) 0); - visual = xgwa.visual; st->max_width = xgwa.width; st->max_height = xgwa.height; @@ -427,11 +425,27 @@ static void slidescreen_reshape (Display *dpy, Window window, void *closure, unsigned int w, unsigned int h) { + struct state *st = (struct state *) closure; + st->max_width = w; + st->max_height = h; + if (! st->img_loader) { + 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); + } } static Bool slidescreen_event (Display *dpy, Window window, void *closure, XEvent *event) { + struct state *st = (struct state *) closure; + if (screenhack_event_helper (dpy, window, event)) + { + st->start_time = 0; + return True; + } return False; } @@ -461,6 +475,10 @@ static const char *slidescreen_defaults [] = { "*delay: 50000", "*delay2: 1000000", "*duration: 120", +#ifdef USE_IPHONE + "*ignoreRotation: True", + "*rotateImages: True", +#endif 0 };