X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Flaser.c;h=20915419687b1057e212a897b76bb6be9af7ef47;hp=adce89313a8858d38fa7094f6214c6dc96c11833;hb=4361b69d3178d7fc98d0388f9a223af6c2651aba;hpb=96a411663168b0ba5432b407a83be55f3df0c802 diff --git a/hacks/laser.c b/hacks/laser.c index adce8931..20915419 100644 --- a/hacks/laser.c +++ b/hacks/laser.c @@ -27,24 +27,24 @@ static const char sccsid[] = "@(#)laser.c 5.00 2000/11/01 xlockmore"; */ #ifdef STANDALONE -#define MODE_laser -#define PROGCLASS "Laser" -#define HACK_INIT init_laser -#define HACK_DRAW draw_laser -#define laser_opts xlockmore_opts -#define DEFAULTS "*delay: 40000 \n" \ - "*count: 10 \n" \ - "*cycles: 200 \n" \ - "*ncolors: 64 \n" -#define BRIGHT_COLORS -#include "xlockmore.h" /* in xscreensaver distribution */ +# define MODE_laser +# define DEFAULTS "*delay: 40000 \n" \ + "*count: 10 \n" \ + "*cycles: 200 \n" \ + "*ncolors: 64 \n" \ + "*fpsSolid: true \n" \ + +# define BRIGHT_COLORS +# define reshape_laser 0 +# define laser_handle_event 0 +# include "xlockmore.h" /* in xscreensaver distribution */ #else /* STANDALONE */ -#include "xlock.h" /* in xlockmore distribution */ +# include "xlock.h" /* in xlockmore distribution */ #endif /* STANDALONE */ #ifdef MODE_laser -ModeSpecOpt laser_opts = +ENTRYPOINT ModeSpecOpt laser_opts = {0, (XrmOptionDescRec *) NULL, 0, (argtype *) NULL, (OptionStruct *) NULL}; #ifdef USE_MODULES @@ -119,18 +119,14 @@ free_laser(Display *display, lasersstruct *lp) } } -void +ENTRYPOINT void init_laser(ModeInfo * mi) { Display *display = MI_DISPLAY(mi); int i, c = 0; lasersstruct *lp; - if (lasers == NULL) { - if ((lasers = (lasersstruct *) calloc(MI_NUM_SCREENS(mi), - sizeof (lasersstruct))) == NULL) - return; - } + MI_INIT (mi, lasers, 0); lp = &lasers[MI_SCREEN(mi)]; lp->width = MI_WIDTH(mi); @@ -166,6 +162,9 @@ init_laser(ModeInfo * mi) free_laser(display, lp); return; } +# ifdef HAVE_JWXYZ + jwxyz_XSetAntiAliasing (MI_DISPLAY(mi), lp->stippledGC, False); +# endif } MI_CLEARWINDOW(mi); @@ -319,7 +318,7 @@ draw_laser_once(ModeInfo * mi) lp->so = (lp->so + 1) % lp->lw; } -void +ENTRYPOINT void draw_laser(ModeInfo * mi) { int i; @@ -339,7 +338,7 @@ draw_laser(ModeInfo * mi) init_laser(mi); } -void +ENTRYPOINT void release_laser(ModeInfo * mi) { if (lasers != NULL) { @@ -352,10 +351,12 @@ release_laser(ModeInfo * mi) } } -void +ENTRYPOINT void refresh_laser(ModeInfo * mi) { MI_CLEARWINDOW(mi); } +XSCREENSAVER_MODULE ("Laser", laser) + #endif /* MODE_laser */