X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fbumps.h;h=7c249bb00427c1539755a918e35edf07a0f6a5ef;hp=120be96102a2fb322dcc87bd532c6f3ec5e97aba;hb=c28aecf9fc41e3a03494bacf7279745425e2fa18;hpb=723c9eeee862766a1534b2ce17b78adbfac1c3be diff --git a/hacks/bumps.h b/hacks/bumps.h index 120be961..7c249bb0 100644 --- a/hacks/bumps.h +++ b/hacks/bumps.h @@ -18,6 +18,9 @@ * [10/01/99] - Shane Smit: Creation * [10/08/99] - Shane Smit: Port to C. (Ick) * [03/08/02] - Shane Smit: New movement code. + * [09/12/02] - Shane Smit: MIT-SHM XImages. + * Thanks to Kennett Galbraith + * for code optimization. */ @@ -29,6 +32,10 @@ #include "screenhack.h" #include +#ifdef HAVE_XSHM_EXTENSION +#include "xshm.h" +#endif /* HAVE_XSHM_EXTENSION */ + /* Defines: */ /* #define VERBOSE */ @@ -51,12 +58,15 @@ char *defaults [] = { ".foreground: white", "*color: random", "*colorcount: 64", - "*delay: 50000", + "*delay: 30000", "*soften: 1", "*invert: FALSE", #ifdef __sgi /* really, HAVE_READ_DISPLAY_EXTENSION */ - "*visualID: Best", + "*visualID: Best", #endif +#ifdef HAVE_XSHM_EXTENSION + "*useSHM: True", +#endif /* HAVE_XSHM_EXTENSION */ 0 }; @@ -66,6 +76,11 @@ XrmOptionDescRec options [] = { { "-delay", ".delay", XrmoptionSepArg, 0 }, { "-soften", ".soften", XrmoptionSepArg, 0 }, { "-invert", ".invert", XrmoptionNoArg, "TRUE" }, +#ifdef HAVE_XSHM_EXTENSION + { "-shm", ".useSHM", XrmoptionNoArg, "True" }, + { "-no-shm", ".useSHM", XrmoptionNoArg, "False" }, +#endif /* HAVE_XSHM_EXTENSION */ + { 0, 0, 0, 0 } }; @@ -75,7 +90,8 @@ XrmOptionDescRec options [] = { typedef struct { uint8_ *aLightMap; - uint16_ nDiameter, nRadius; + uint16_ nFalloffDiameter, nFalloffRadius; + uint16_ nLightDiameter, nLightRadius; float nAccelX, nAccelY; float nAccelMax; float nVelocityX, nVelocityY; @@ -95,10 +111,15 @@ typedef struct Display *pDisplay; Window Win; GC GraphicsContext; - XColor *aXColors; + uint32_ *aColors; XImage *pXImage; +#ifdef HAVE_XSHM_EXTENSION + XShmSegmentInfo XShmInfo; + Bool bUseShm; +#endif /* HAVE_XSHM_EXTENSION */ uint8_ nColorCount; /* Number of colors used. */ + uint8_ bytesPerPixel; uint16_ iWinWidth, iWinHeight; uint16_ *aBumpMap; /* The actual bump map. */