X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fbumps.c;h=5eedaf7c107c23586c6728f77e545c5e080d5aa1;hb=93f25dc6827112d98b8b855ea85c8f5eb8123086;hp=0b7e4e4ed0084b591bf64e801ebd39049f8575f9;hpb=0316d74da7982288abddd34e7a62698eb7f79965;p=xscreensaver diff --git a/hacks/bumps.c b/hacks/bumps.c index 0b7e4e4e..5eedaf7c 100644 --- a/hacks/bumps.c +++ b/hacks/bumps.c @@ -27,12 +27,12 @@ #include "bumps.h" -void CreateSpotLight( SSpotLight *pSpotLight, uint16_ iWinWidth, uint16_ nColorCount ) +void CreateSpotLight( SSpotLight *pSpotLight, uint16_ iDiameter, uint16_ nColorCount ) { double nDelta; int16_ iHeight, iWidth; - pSpotLight->nDiameter = iWinWidth / 3; + pSpotLight->nDiameter = iDiameter; #ifdef VERBOSE printf( "%s: Light Diameter: %d\n", progclass, pSpotLight->nDiameter ); #endif @@ -126,7 +126,8 @@ void CreateBumps( SBumps *pBumps, Display *pNewDisplay, Window NewWin ) XGCValues GCValues; int32_ nGCFlags; uint16_ iWidth, iHeight; - + uint16_ iDiameter; + XGetWindowAttributes( pNewDisplay, NewWin, &XWinAttribs ); pBumps->iWinWidth = XWinAttribs.width; pBumps->iWinHeight = XWinAttribs.height; @@ -147,7 +148,8 @@ void CreateBumps( SBumps *pBumps, Display *pNewDisplay, Window NewWin ) pBumps->GraphicsContext = XCreateGC( pBumps->pDisplay, pBumps->Win, nGCFlags, &GCValues ); SetPalette( pBumps, &XWinAttribs ); - CreateSpotLight( &pBumps->SpotLight, pBumps->iWinWidth, pBumps->nColorCount ); + iDiameter = ( ( pBumps->iWinWidth < pBumps->iWinHeight ) ? pBumps->iWinWidth : pBumps->iWinHeight ) / 3; + CreateSpotLight( &pBumps->SpotLight, iDiameter, pBumps->nColorCount ); InitBumpMap( pBumps, &XWinAttribs ); /* Clear the image. */