XFIG User Manual - Drawing Mode Panel

[ English Version | Japanese Version ]

[ Contents | Operating Manual | New Features and Bugs Fixed | Technical Information | Authors ]

[ Introduction | Command Panel | | Editing Mode Panel
| Indicator Panel | Miscellaneous Panels | Keyboard Accelerators ]

# New Features in xfig 3.2.1

Preview of figure is created when you single click on a filename in the popup file panel. It also shows the size of the figure.
Library feature - load a library of Fig objects and pick and place objects from the library on the canvas where you want. See the section on Libraries, and see Examples/Libraries for some examples. From Stephane Mancini with modifications by Brian V. Smith
Preview of library objects in library popup similar to figure preview by Brian Smith
The library objects in the Electrical and Logic libraries were done by Peter Hiscocks (phiscock@ee.ryerson.ca)
Xfig tutorial (PDF) in Doc/xfig-howto.ps or click here xfig-howto.pdf for PDF file. Also available from the Help menu. Written by Peter Hiscocks (phiscock@ee.ryerson.ca)
"make install" installs the Fig object libraries to the library directory. The default is $XFIGLIBDIR/Libraries (/usr/lib/X11/xfig/Libraries), which may be changed in the Imakefile.
When pasting a Fig object from the xfig cut buffer it appears under the mouse (or near the mouse if pressing the Paste button) where it may then be moved around on the canvas before pressing mouse button 1 to place it.
Unit box in upper-right corner now shows the scale (e.g. 1cm=3km) This necessitated making the top ruler a little narrower to make the unitbox fit. If the mode panel is on the right side, the side ruler is made wider to fit the unit box above it.
The path of imported pictures is saved as relative path if picture is in subdirectory of main figure file, else it is saved as absolute. from T. Sato
When drawing a line, moving a point on a line, or adding a point to the end of a line, the angle to horizontal is shown in the message window
Pressing -I turns on and off new feature that draws red horizontal and vertical lines near the line you are drawing, or point you are moving, to indicate rise and run. Also, the length is shown next to and above the horizontal and vertical line respectively, and the actual length of the line is shown near the line itself. The command-line argument -showlengths (resource Fig.showlengths) will enable this feature as xfig starts.
Print popup button is active even when print panel is up which makes it easy to force it to the top of the window stack if it is hidden
Pressing the File button in the command panel while the Export panel is up will popdown the export panel and popup the file panel. The converse is also true - if the Export button is pressed while the file panel is up, the file panel will be popped down and the export panel is popped up.
When merging a file/figure into the current figure it is made into a compound object first
Merging a figure keeps the file panel up to be able to merge more figures
Better memory allocation for temporary arrays when drawing objects - may be slightly faster now from T. Sato
Freehand line/polygon drawing - use mouse button 2 to start after choosing polyline. As the mouse is moved points are added to the line or polygon. See POLYLINES. NOTE - this changes the line drawing behaviour: Mouse button 3 is now used to create a single-point object.
Whole window screen capture in addition to area capture in picture object popup. The behaviour of the mouse has changed with this - Mouse button 1 captures whole window now and mouse button 2 is used to capture area of screen.
Characters added to Fig*browse_panel*mask*string to include .tif and .sld files
If xfig is started without a filename, the default filename is empty instead of unnamed.fig. This forces the file panel popup when save is done, to enter a new file name.
Variable time delay for popup information balloons, specified in milliseconds (-balloon_delay; resource Fig.balloon_delay)
If you enlarge the File, Export or Library panels only the file list area is enlarged to show more files
New "spinner" widgets to increment/decrement values in popup indicator entries (e.g. line thickness indicator popup)
Option of using either absolute values for arrowhead sizes or multiple of current line length (see arrow size popup)
Arrowhead thickness, width and height can be set explicitely in bottom panel for creating arrowheads. Update button also copies arrowhead size info to/from objects and indicator panel.
The arrowhead width and height parameters are now the same units as the arrowhead thickness, which is units of line thickness, not 1/1200 inch as they were in previous versions of xfig.
Color popup menu in popup edit panel handles lots of colors better
Option of smaller icons for the mode panel (left side) by compiling with USESMALLICONS in Imakefile. See the Imakefile for details. Also see Fig.ad. Look for "icons". From Andrew Morgan
Default depth for creating new objects is now 100 to make it easier to put new objects on top without having to remember to start the older objects at a depth > 0.
New grid and point positioning setting at 1/8" (or 2mm in metric mode)
When moving, copying, moving a point of or adding a point to objects, all the "grab corners" of the other objects in the figure disappear to make the figure less cluttered. They reappear when the operation is complete.
Pull-down menu buttons have an arrow icon to show that it is a pull-down:
Units such as "i" for inches and "c" for cm may be entered following coordinates in popup edit panel for editing objects (e.g. 3c for 3 cm) From Rick Richardson
When importing a picture file (eps, GIF, etc) xfig is more intelligent and faster about deciding the format
"Integer area zoom" option in zoom popup - if checked, when using the mouse to zoom an area of the canvas, the zoom amount will be an integral value (e.g. 2, 3, 4)
Compose key LED may be turned on for multi-key characters (e.g. a-umlaut etc) on Sun Sparcstations. See README file about COMP_LED. from Hans Werner Strube (strube@swing.physik3.gwdg.de)
New fig2dev driver for tk (tcl/tk) - Generates tk canvas and canvas objects. From Mike Markowski (mm@udel.edu)
Added "Alt" key definitions to the accelerators in Fig.ad to accomodate those machines which don't have a Meta key

# Bugs Fixed in xfig 3.2.1

Line width is scaled with object scaling now
Arrowheads are scaled when scaling lines, splines and arcs now
Screen_res was incorrect for drawing tablets
When scaling a compound by using the "move point" edit mode, undoing the scale didn't work properly because of rounding problems. A proper "undo" is now performed.
Note: the -inverse (reverse video) option has been removed because the same effect can be achieved using "-cbg black -cfg white"
Made the export_panel*mask*string same as browse_panel*mask*string
User-defined colors weren't being merged properly in compound objects
If Paste was performed while opening a compound object, some objects outside the opened compound object may have been lost and xfig may have crashed with a segfault later.
ARC-BOX corner radius scaled incorrectly when box was scaled
ARC-BOX corner radius is now only scaled with Scale operation, not move point
Busy cursor wasn't being reset when reading some figures
Refreshing the screen while creating a Fig object (e.g. POLYLINE) refreshes that object correctly now
Updated pointer for hp2xx and additional pointer to Fig related apps in FIGAPPS file. From Ian MacPhedran
Declaration of clrtab array incorrect in f_neuclrtab.h - caused problems on Digital Unix. From Ian MacPhedran
When loading a figure that changes the canvas orientation (Portrait/ Landscape), the file modified flag was not cleared
When it can't save to a file, xfig now rings the bell and puts the error message in the *popup* message window
Trying to use the external image editor in the edit panel for an imported picture failed if the file was compressed
When switching to a private colormap because of importing a picture, xfig is better about matching the colormap of the popup edit panel
Objects not aligned correctly in large drawings due to bad choice of starting min/max values (use INT_MIN and INT_MAX now)
When running "xfig -right" (mode/edit panel on right-side) the popup balloons were too long, never showed the message and popped up and down because they appeared under the mouse.
Cleanup of many, many function declarations (mostly type void)
Inadvertantly used incorrect font for Avant-Garde
When undo'ing load figure, any objects using user-defined colors may not have been displayed correctly until doing a "Redraw". Also, non-existant user colors may have stayed in pen and/or fill color indicators.
Bug in size of imported Picture when clicking on "Use orig size" - image was slightly too small. Also bug when clicking "Use orig size" in metric mode - even worse scaling.
Code to check for bad font numbers when reading Fig file was in wrong place
Bug in pcx decoder - odd-width images caused seg fault. This would also affect importing eps files since xfig uses pcx output from gs.
Another bug in pcx decoder - wasn't allocating correct amount of memory for the image buffer. This would of course, cause segfaults.
Bug in "Fit-to-page" in metric mode fixed from Hans Werner Strube (strube@swing.physik3.gwdg.de)
Cleaned up mode button icons to fit within button area better
An old feature to prevent an expose event on the canvas from erasing a newly imported image while still in the picture editor is no longer needed and prevented screen refreshing
If screen capture is attempted with no Fig filename (e.g. when starting xfig with no file name) seg fault occurred. from T. Sato
Small correction to I18N draw_string routine from T. Sato
Not all calls to fig2dev had I18N localization options passed from T. Sato
If you create a new figure (no name yet) and try to export before saving, xfig asked you if you wanted to save the figure first. If you said yes, it would popup the file panel to choose a name and save. After that though, it wouldn't do the export as you first requested. This has been fixed.
Added && !defined(__GLIBC__) to declarations of random and srandom for systems with glibc
Imported eps files containing "initgraphics" commands weren't working correctly. This has been fixed by defining initgraphics and initmatrix as {}.
Yet another #if added to the never-ending list. This one is for sys_errlist. FreeBSD systems already define it in stdio.h.
Inconsistent declaration uncompress_file (static)
Missing braces around initializers for headers structure for imported bitmap file types
Some unused variables and procedures removed
Incorrect casts in e_align.c
Bug in figure size in export and print panels - bounding variable was clobbered soon after being calculated
Allowed saving over a read-only file if file panel wasn't created
Various problems with New figure->Export->File popup sequence either segfaulting or permanently disabling xfig buttons and canvas fixed.
GC wasn't properly setup for dragging rectangle on screen for screen capture for some systems.
Very small arcs "blew up" making very large arcs on screen
Bug in draw_arc() - would free unallocated memory if arc was small
Imakefile had w_icons.o in XFIGSRC instead of w_icons.c
Fixed annoying warning about StartScroll action not found on Linux systems that use the "modified" Xaw3d widget set (ARROW_SCROLLBAR defined, which makes the scrollbars look like the Windows scrollbars)
Mouse indicator was leaving bits of old text behind for long messages
Removed call to rint() because gcc can't find it on HP-UX
Move_point_selected() called set_mousefun() with too few args
Variable "text_translations" multiply defined
Fixed some bugs relating to updating dash-length/dot-gap in indicator panel from dashed/dotted lines
Bug fixed where update indicator (red box) didn't always toggle correctly
Undo of spline<->line conversion and box<_>arc_box fixed
For some reason, the Solaris version of XtAppCreateShell references an argument beyond what the users specifies in the command line, causing a seg fault. Fixed by Martin Pahl
Renamed suffix for AutoCad Slide export to ".sld" (was ".acad")
Needed #ifdef USE_JPEG in w_export.c for compiling without JPEG support
Transparent color was not passed to fig2dev for GIF output (new -t option in fig2dev do do this)
Inappropriate arguments to sqrt() in spline calculations (not double)
The radius value displayed in the message window was incorrect when drawing ellipses
Both radii are reported now when drawing ellipses
Now checks whether Fig file is read-only before renaming to .bak and allowing user to save. (after second save, original, read-only file would be gone)
New #ifdef for glibc which already has sys_errlist and random() defined
Conflict with definition M_PI (3.14159....) on RedHat systems fixed
Interpolated splines in Fig version 2.1 files were read incorrectly fixed by Onno Roep
If you had a line with arrowhead(s) and deleted all the points to make it a single point object, then undid the last delete point, the arrowhead(s) didn't reappear. This has been fixed.
Less multiple redrawing of figure when starting xfig with filename and it needs to change orientation (portrait/landscape)
"Ledger" paper size removed from list of paper sizes. It is really "Tabloid" size in landscape mode.
Undo of align to canvas wasn't refreshing display