Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
XZOOM(1X)							     XZOOM(1X)

       xzoom - magnify part of the screen, with	fast updates

       xzoom [ -display	displayname ] [	-mag mag [ mag ] ] [ -x	] [ -y ] [ -xy
       ] [ -geometry geometry ]	[ -source geometry ]

       -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.  Magnification 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 xzoom's window.

       -source geometry
	    Size and position the initial source area which is magnified.  The
	    dimensions of this area are	multiplied by the magnification	to get
	    the	size of	xzoom's	window.	If these dimensions  are  given	 sepa-
	    rately (by use of -geometry	) then an error	is reported.

       Xzoom  displays in its window a magnified area of the X11 display.  The
       user can	interactively change the zoomed	area, the window size,	magni-
       fication	 (optionally  different	magnification for X and	Y axes)	or ro-
       tate or mirror the image.

       Once xzoom has started the user can enter  simple  commands  using  the

       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-clockwise.

       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.

       g    toggle grid	on and off.

       Mouse buttons
	    To set the location	of the magnified are click the left mouse but-
	    ton	inside xzoom's window  and  then  move	it  (keep  the	button
	    pressed) to	the place which	you want to see	magnified.

	    Xzoom allow	you to resize it's window at any time.

	    When xzoom is iconified it simply waits to get deiconified.

       Xzoom uses the window's title bar to inform the user about it's status.
       Normally	the title says something like xzoom x2 which means the	magni-
       fication	 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 xzoom 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  ap-
       proximately  2 seconds and then revert to the default display of	magni-
       fication	values.

       Xzoom is	fast enough to display	enlarged  or  mirrored	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 magnifica-
       tion  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 xzoom 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).

       I  got the motivation for writing xzoom after I saw a similar 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.

       <*> The maximum internal	built in delay (see command d above)  was  set
       to  200	ms. Xzoom completes the	delay before polling the X event queue
       for the next command. Larger delays would feel like  poor  response  to
       user commands.

       <*>  For	 best performance the shared memory extension for X11 is used.
       Xzoom 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. Xzoom will not	run with display depth other than 8  bits  per

       <*>  Xzoom  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  magnified  area
       falls beyond the	borders	of the screen. Example is when you have	magni-
       fication	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 xzoom.

       Itai Nahshon



Want to link to this manual page? Use this URL:

home | help