X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fhopalong.c;h=d3cc7df0cbdc5461f9e20ec0ddd263d21295c2c0;hp=f0093a3952e212fe8f49369fe5093949ee212989;hb=39809ded547bdbb08207d3e514950425215b4410;hpb=4361b69d3178d7fc98d0388f9a223af6c2651aba diff --git a/hacks/hopalong.c b/hacks/hopalong.c index f0093a39..d3cc7df0 100644 --- a/hacks/hopalong.c +++ b/hacks/hopalong.c @@ -62,8 +62,8 @@ static const char sccsid[] = "@(#)hop.c 5.00 2000/11/01 xlockmore"; # define SMOOTH_COLORS # define reshape_hop 0 # define release_hop 0 +# define hop_handle_event 0 # include "xlockmore.h" /* in xscreensaver distribution */ -# include "erase.h" #else /* STANDALONE */ # include "xlock.h" /* in xlockmore distribution */ #endif /* STANDALONE */ @@ -154,7 +154,7 @@ ENTRYPOINT ModeSpecOpt hop_opts = #ifdef USE_MODULES ModStruct hop_description = {"hop", "init_hop", "draw_hop", (char *) NULL, - "refresh_hop", "init_hop", (char *) NULL, &hop_opts, + "refresh_hop", "init_hop", "free_hop", &hop_opts, 10000, 1000, 2500, 1, 64, 1.0, "", "Shows real plane iterated fractals", 0, NULL}; @@ -187,15 +187,10 @@ typedef struct { int count; int bufsize; XPoint *pointBuffer; /* pointer for XDrawPoints */ -#ifdef STANDALONE - eraser_state *eraser; -#endif } hopstruct; static hopstruct *hops = (hopstruct *) NULL; -static void free_hop(ModeInfo * mi); - ENTRYPOINT void init_hop(ModeInfo * mi) { @@ -204,7 +199,7 @@ init_hop(ModeInfo * mi) double range; hopstruct *hp; - MI_INIT (mi, hops, free_hop); + MI_INIT (mi, hops); hp = &hops[MI_SCREEN(mi)]; hp->centerx = MI_WIDTH(mi) / 2; @@ -387,9 +382,7 @@ init_hop(ModeInfo * mi) return; } -#ifndef STANDALONE MI_CLEARWINDOW(mi); -#endif XSetForeground(display, gc, MI_WHITE_PIXEL(mi)); hp->count = 0; @@ -408,15 +401,6 @@ draw_hop(ModeInfo * mi) return; hp = &hops[MI_SCREEN(mi)]; -#ifdef STANDALONE - if (hp->eraser) { - hp->eraser = erase_window (MI_DISPLAY(mi), MI_WINDOW(mi), hp->eraser); - if (!hp->eraser) - init_hop(mi); - return; - } -#endif - if (hp->pointBuffer == NULL) return; @@ -545,15 +529,11 @@ draw_hop(ModeInfo * mi) XDrawPoints(MI_DISPLAY(mi), MI_WINDOW(mi), MI_GC(mi), hp->pointBuffer, hp->bufsize, CoordModeOrigin); if (++hp->count > MI_CYCLES(mi)) { -#ifdef STANDALONE - hp->eraser = erase_window (MI_DISPLAY(mi), MI_WINDOW(mi), hp->eraser); -#else /* !STANDALONE */ init_hop(mi); -#endif } } -static void +ENTRYPOINT void free_hop(ModeInfo * mi) { hopstruct *hp = &hops[MI_SCREEN(mi)]; @@ -562,25 +542,13 @@ free_hop(ModeInfo * mi) (void) free((void *) hp->pointBuffer); } +#ifndef STANDALONE ENTRYPOINT void refresh_hop(ModeInfo * mi) { MI_CLEARWINDOW(mi); } - -ENTRYPOINT Bool -hop_handle_event (ModeInfo *mi, XEvent *event) -{ - if (screenhack_event_helper (MI_DISPLAY(mi), MI_WINDOW(mi), event)) - { - MI_CLEARWINDOW(mi); - init_hop (mi); - return True; - } - return False; -} - - +#endif XSCREENSAVER_MODULE_2 ("Hopalong", hopalong, hop)