blitspin
XScreenSaver(r)                                   XScreenSaver(r)



NAME
       blitspin - rotate a bitmap in an interesting way

SYNOPSIS
       blitspin   [-display   host:display.screen]   [-foreground
       color]  [-background  color]  [-window]  [-root]   [-mono]
       [-install]  [-visual  visual]  [-bitmap  filename] [-delay
       usecs] [-delay2 usecs]

DESCRIPTION
       The blitspin program repeatedly rotates  a  bitmap  by  90
       degrees by using logical operations: the bitmap is divided
       into quadrants, and the quadrants are  shifted  clockwise.
       Then  the  same  thing  is  done  again with progressively
       smaller quadrants, except  that  all  sub-quadrants  of  a
       given  size  are  rotated  in  parallel.   So  this  takes
       O(16*log2(2)) blits of size NxN, with the limitation  that
       the  image must be square, and the size must be a power of
       2.

OPTIONS
       blitspin accepts the following options:

       -window Draw on  a  newly-created  window.   This  is  the
               default.

       -root   Draw on the root window.

       -mono   If   on  a  color  display,  pretend  we're  on  a
               monochrome display.

       -install
               Install a private colormap for the window.

       -visual visual
               Specify which visual to use.  Legal values are the
               name  of a visual class, or the id number (decimal
               or hex) of a specific visual.

       -bitmap filename
               The file name of a bitmap to rotate.  It need  not
               be  square:  it will be padded with the background
               color.  If unspecified or the string (default),  a
               builtin bitmap is used.

               If support for the XPM library was enabled at com-
               pile-time, the specified file may be in XPM format
               as well as XBM, and thus may be a color image.

               The  *bitmapFilePath  resource will be searched if
               the bitmap name is not a fully-qualified pathname.

       -grab-screen
               If  this option is specified, then the image which
               is spun will be grabbed from the  portion  of  the
               screen underlying the blitspin window, or from the
               system's video input, or from  a  random  file  on
               disk, as indicated by the grabDesktopImages, grab-
               VideoFrames, and chooseRandomImages options in the
               ~/.xscreensaver file; see xscreensaver-demo(o) for
               more details.


       -delay microseconds
               How long to delay between steps  of  the  rotation
               process, in microseconds.  Default is 500000, one-
               half second.


       -delay2 microseconds
               How long to delay between each 90-degree rotation,
               in microseconds.  Default is 500000, one-half sec-
               ond.  DISPLAY to get the default host and  display
               number.

ENVIRONMENT
       XENVIRONMENT to get the name of a resource file that over-
       rides the global resources stored in the  RESOURCE_MANAGER
       property.

SEE ALSO
       X(X), xscreensaver(r), xscreensaver-demo(o), xscreensaver-
       getimage(e)

COPYRIGHT
       Copyright (C) 1992, 1993, 1997, 2001  by  Jamie  Zawinski.
       Permission to use, copy, modify, distribute, and sell this
       software and its documentation for any purpose  is  hereby
       granted  without  fee,  provided  that the above copyright
       notice appear in all copies and that both  that  copyright
       notice  and  this  permission  notice appear in supporting
       documentation.  No  representations  are  made  about  the
       suitability  of this software for any purpose.  It is pro-
       vided "as is" without express or implied warranty.

AUTHOR
       Jamie Zawinski <jwz@jwz.org>, 17-aug-92.

       Based on SmallTalk code which appeared in the August  1981
       issue of Byte magazine.



X Version 11                24-Nov-97             XScreenSaver(r)