XScreenSaver(1)
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(N)) 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, it
may come from an external video source: see
below.)
-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.
RESOURCES
On some systems (currently, only SGIs), this program can,
instead of grabbing a desktop image, grab a frame of video
from an external camera and manipulate that instead. The
following resources control that.
grabVideoProbability (Float)
What portion of the time to grab video rather than
a screen image, between 0.0 and 1.0. Defaults to
0.5, or half the time.
videoDevice (Integer)
The number of the default video input device to
check first. If unspecified, the default camera
(from videopanel(1)) will be checked first. After
that, all other available video input devices will
be checked in order.
The first one which produces a non-black image
will be used. If all images are black, the others
will be re-checked a few times before giving up
and falling back to simply grabbing a desktop
image (but note that this takes a few seconds, so
if you don't actually have any video sources
hooked up, you should consider turning off video
grabbing by setting grabVideoProbability to 0.0.)
videoGain (Float)
The amount by which to brighten the grabbed image.
This defaults to 2.2.
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(1) xscreensaver(1)
COPYRIGHT
Copyright (C) 1992, 1993, 1997 by Jamie Zawinski. Permis-
sion to use, copy, modify, distribute, and sell this soft-
ware 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 lt;jwz@netscape.com, 17-aug-92.
Based on SmallTalk code which appeared in the August 1981
issue of Byte magazine.