blitspin - rotate a bitmap in an interesting way
blitspin [-display host:display.screen] [-foreground color] [-back-
ground color] [-window] [-root] [-mono] [-install] [-visual visual]
[-bitmap filename] [-delay usecs] [-delay2 usecs]
The blitspin program repeatedly rotates a bitmap by 90 degrees by using
logical operations: the bitmap is divided into quadrants, and the quad-
rants 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(N)) blits
of size NxN, with the limitation that the image must be square, and the
size must be a power of 2.
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 a private colormap for the window.
Specify which visual to use. Legal values are the name of a
visual class, or the id number (decimal or hex) of a specific
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 compile-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.
If this option is specified, then the image which is spun will
be grabbed from the portion of the screen underlying the blit-
spin window, or from the system’s video input, or from a random
file on disk, as indicated by the grabDesktopImages, grabVide-
oFrames, and chooseRandomImages options in the ~/.xscreensaver
file; see xscreensaver-demo(1) for more details.
How long to delay between steps of the rotation process, in
microseconds. Default is 500000, one-half second.
How long to delay between each 90-degree rotation, in microsec-
onds. Default is 500000, one-half second. DISPLAY to get the
default host and display number.
XENVIRONMENT to get the name of a resource file that overrides the
global resources stored in the RESOURCE_MANAGER property.
X(1), xscreensaver(1), xscreensaver-demo(1), xscreensaver-getimage(1)
Copyright © 1992, 1993, 1997, 2001 by Jamie Zawinski. Permission to
use, copy, modify, distribute, and sell this software and its documen-
tation for any purpose is hereby granted without fee, provided that the
above copyright notice appear in all copies and that both that copy-
right notice and this permission notice appear in supporting documenta-
tion. No representations are made about the suitability of this soft-
ware for any purpose. It is provided "as is" without express or
Jamie Zawinski <email@example.com>, 17-aug-92.
Based on SmallTalk code which appeared in the August 1981 issue of Byte
X Version 11 24-Nov-97 XScreenSaver(1)
Man(1) output converted with