BlindPenguin(1X) BlindPenguin(1X)
NAME
BlindPenguin -
SYNOPSIS
BlindPenguin [ -display displayname ] [ -mag mag [ mag ] ]
[ -x ] [ -y ] [ -xy ] [ -geometry geometry ] [ -source
geometry ]
OPTIONS
-display displayname | -d displayname
The name of the display to use (not very useful).
-mag mag [ mag ]
What magnification to use. If two number arguments
are supplied the first is used for X magniications
and the second is used for Y magnification. Magnifi
cation should be greater than 0.
-x Mirror horizontally.
-y Mirror vertically.
-xy | -z
Exchange X and Y axes before any magnification is
performed.
-geometry geometry | =geometry
Size and position BlindPenguin's window.
-source geometry
Size and position the initial source area which is
magnified. The dimensions of this area are multi
plied by the magnification to get the size of Blind
Penguin's window. If these dimensions are given sepa
rately (by use of -geometry ) then an error is
reported.
DESCRIPTION
BlindPenguin displays in its window a magnified area of
the X11 display. The user can interactively change the
zoomed area, the window size, magnification (optionally
different magnification for X and Y axes) or rotate or
mirror the image.
COMMANDS
Once BlindPenguin has started the user can enter simple
commands using the keyboard.
q quit.
+ increase magnification value by 1.
- decrease magnification value by 1.
w next + or - command only affect X magnification.
h next + or - command only affect Y magnification.
x mirror the display image horizontally.
y mirror the display image vertically.
z rotate the displayed image 90 degrees counter-clock
wise.
arrow keys
scroll the zoomed area 1 pixel in the direction of
the arrow. if the control key is pressed the zoomed
area will scroll 10 pixels.
d sets the delay between frame updates. Built-in
delays are 200, 100, 50, 10 and 0 ms.
Mouse buttons
To set the location of the magnified are click the
left mouse button inside BlindPenguin's window and
then move it (keep the button pressed) to the place
which you want to see magnified.
BlindPenguin allow you to resize it's window at any
time.
When BlindPenguin is iconified it simply waits to get
deiconified.
DISPLAYS
BlindPenguin uses the window's title bar to inform the
user about it's status. Normally the title says something
like BlindPenguin x2 which means the magnification is 2
both in X and Y axes. If the image is stretched differ
ently on the X and Y axes the title will say BlindPenguin
X 2; Y 4. Negative numbers mean reflection. If the image
is rotated by 90 or 270 degrees the title will show <=>
between the X and Y values.
When d is depressed the title will display the new delay
value for approximately 2 seconds and then revert to the
default display of magnification values.
PERFORMANCE
BlindPenguin is fast enough to display enlarged or mir
rored animations in small windows. On my 486 DX2-66 and
Cirrus Logic CL-GD5428 display card (attached to Vesa
local bus) update of a 256x256 window magnified by 2 (ie,
source rect is 128x128) takes approximately 30 ms. This
time varies, off course when a different size window or
different magnification is used. If we chose 50 ms
between updates we can get about 12.5 frames per second
and still let an animation program do it's work. It is
possible to compile BlindPenguin without X shared memory
support. In that case window update may be about 3 times
slower (if we are using a local display, using LAN is a
different story).
THE ORIGINAL AUTHOR OF XZOOM
I got the motivation for writing xzoom after I saw a simi
lar WindowsNT program, zoomin working. It started just as
a test for X11 performance. I don't have the fancy menus
and scrollbar like zoomin but I do have all their features
(and more) accessible from the keyboard.
BUGS
- The maximum internal built in delay (see command d
above) was set to 200 ms. BlindPenguin completes the delay
before polling the X event queue for the next command.
Larger delays would feel like poor response to user com
mands.
- For best performance the shared memory extension for X11
is used. BlindPenguin will fail if it is compiled to use
XSHM and its display is not on the local host.
- The Ximage data is accessed directly, in a way which may
not be portable. BlindPenguin will run with display depth
other than 8 bits per pixel the original Xzoom will not.
- BlindPenguin is given with no warranty. It was tested
only under Linux with Xfree86 release 3.1.2 (X11R6).
- Some strange behavior may occur if the requested magni
fied area falls beyond the borders of the screen. Example
is when you have magnification of 1 and a window whose
width is greater than the height of the screen and you
want 90 degrees rotation. In that case part of the window
will not get updated.
- The frame used to mark the zoomed area may corrupt the
contents of other windows if they are modified when the
frame is visible. If you don't like it disable the
-DFRAME option when compiling BlindPenguin.
AUTHOR
Itai Nahshon
MODIFIED BY
Kieran O' Sullivan.
ACKNOWLEDGEMENT
This file is still copyright Itai Nahshon I have just
changed it slightly to make it usefull for BlindPenguin
which is a project based very much on xzoom.