# define DEFAULTS "*delay: 50000 \n" \
"*count: 35 \n" \
"*cycles: 50 \n" \
- "*ncolors: 200 \n"
+ "*ncolors: 200 \n" \
+ "*fpsSolid: true \n" \
+ "*ignoreRotation: True \n" \
# define refresh_slip 0
-# define slip_handle_event 0
+# define release_slip 0
# include "xlockmore.h" /* in xscreensaver distribution */
#else /* STANDALONE */
# include "xlock.h" /* in xlockmore distribution */
#ifdef USE_MODULES
ModStruct slip_description =
-{"slip", "init_slip", "draw_slip", "release_slip",
+{"slip", "init_slip", "draw_slip", (char *) NULL,
"init_slip", "init_slip", (char *) NULL, &slip_opts,
50000, 35, 50, 1, 64, 1.0, "",
"Shows slipping blits", 0, NULL};
{
slipstruct *sp;
- if (slips == NULL) {
- if ((slips = (slipstruct *) calloc(MI_NUM_SCREENS(mi),
- sizeof (slipstruct))) == NULL)
- return;
- }
+ MI_INIT (mi, slips, 0);
sp = &slips[MI_SCREEN(mi)];
sp->nblits_remaining = 0;
}
}
-ENTRYPOINT void
-release_slip (ModeInfo * mi)
+ENTRYPOINT Bool
+slip_handle_event (ModeInfo *mi, XEvent *event)
{
- if (slips != NULL) {
- (void) free((void *) slips);
- slips = (slipstruct *) NULL;
- }
+ slipstruct *sp = &slips[MI_SCREEN(mi)];
+ if (screenhack_event_helper (MI_DISPLAY(mi), MI_WINDOW(mi), event))
+ {
+ sp->first_time = 1;
+ sp->nblits_remaining = 0;
+ return True;
+ }
+ return False;
}
XSCREENSAVER_MODULE ("Slip", slip)