When using a two-button mouse use the <Meta> key and the right button at the same time to effect the action of the middle button.
Xfig is available via anonymous ftp from ftp.x.org in /contrib/applications/drawing_tools/xfig.
The TransFig package is used when printing or exporting the output from xfig. It is automatically called by xfig as a back-end processor to produce various types of output:
The TransFig package is available via anonymous ftp from ftp.x.org in /contrib/applications/drawing_tools/transfig.
-help
-L[andscape]
-P[ortrait]
-bg color
-bol[d] font
-butt[on] font
-but_[per_row] number
-de[bug]
-do[ntswitchcmap]
-e[xportLanguage] language
eepicemu LaTeX picture + eepicemu macros
Name Language
box LaTeX box (figure boundary)
latex LaTeX picture
epic LaTeX picture + epic macros
eepic LaTeX picture + eepic macros
eepicemu LaTeX picture + eepicemu macros
pictex PiCTeX macros
ibmgl IBMGL (or HPGL)
eps Encapuslated PostScript
ps PostScript
pstex Combined PS/LaTeX (PS part)
pstex_t Combined PS/LaTeX (LaTeX part)
textyl Textyl special commands
tpic TPIC
pic PIC
mf MF (MetaFont)
gif GIF
jpg JPEG (JFIF)
xbm X11 Bitmap
xpm X11 Pixmap (XPM3 package)
-fg color
-fl[ushleft]
-geom[etry] WxH
-iconG[eometry]
-inc[hes]
-ma[ximagecolors] numcols
-me[tric]
-internalBW width
-inv[erse]
-k[eyFile] compose-key-file
-lat[exfonts]
-le[ft]
-mo[nochrome]
-nor[mal] font
-not[rack]
-ph[eight] height
-pw[idth] width
-ri[ght]
-sc[alablefonts]
-nosc[alablefonts]
-sh[owallbuttons]
-sp[ecialtext]
-startfi[llstyle] stylenumber
-startfo[ntsize] pointsize
-startg[ridmode] modenumber
-startla[texFont] font
-startt[extstep] stepsize
-startli[newidth] width
-startp[sFont] font
-ta[blet]
-tr[ack]
-users[cale] scale
-useru[nit] units
A primitive object can be moved, rotated, flipped vertically or horizontally, scaled, copied, aligned within a compound object or erased. The TEXT primitive may not be flipped. The attributes of any primitive object can be edited using a popup panel (discussed below), so you can, for instance, set the position of an object manually.
A compound object is composed of primitive objects. The primitive objects that constitute a compound can not be individually modified, but they can be manipulated as an entity; a compound can be moved, rotated, flipped vertically or horizontally, scaled, copied or erased. A compound that contains any boxes or arc-boxes may only be rotated by 90 degrees.
Objects may overlap other objects according to their ``depth''. Objects with larger depth number are obscured by objects with smaller depth.
Regular polygons may be created using a special drawing mode, but a general POLYGON is created as a result, which may then be modified, i.e. the individual vertices may be moved if desired.
Mouse button 1 or <Meta>f pops up a panel which contains several file-related functions:
The indicator panel contains buttons to set certain drawing parameters such as line thickness, canvas grid, rotation angle etc. All of the buttons use the same mouse buttons for setting values. Pressing mouse button 1 on the indicator will pop up a panel in which either a value may be typed (e.g. for a line thickness) or the mouse may be clicked on one of several buttons (e.g. for grid style or font name). For those that expect a value, pressing return in the value part of the window will set the new value and pop down the menu.
Pressing mouse button 2 on an indicator will decrement the value (e.g. for line thickness) or cycle through the options in one direction (e.g. font names), while pressing mouse button 3 will increment the value or cycle through the options in the other direction.
The figure may also be zoomed by defining a zoom rectangle by pressing the control key and mouse button 1 together. This will define one corner of the zoom rectangle. Move the mouse and click mouse button 1 again to define the opposite corner of the zoom rectangle.
There are 21 ``shades'' going from black to full saturation of the fill color, and 21 more ``tints'' from full saturation + 1 to white. In addition, there are 16 patterns (currently only available for PostScript, GIF, JPEG, XPM and X11 bitmap output): 30 degree left-leaning diagonal lines,
30 degree right-leaning diagonal lines,
30 degree crosshatch,
45 degree left-leaning diagonal lines,
45 degree right-leaning diagonal lines,
45 degree crosshatch,
bricks,
circles
horizontal lines,
vertical lines,
90 degree crosshatch,
fishscales,
small fishscales,
octagons,
horizontal ``sawtooth'' and
vertical ``sawtooth''.
Pressing mouse button 1 on either the fill or pen color buttons will popup an extended color panel, allowing the user to select either a standard color or a user-defined color from menus.
The 32 standard colors are black, yellow, white, gold, five shades of blue, four shades of green, four shades of cyan, four shades of red, five shades of magenta, four shades of brown, and four shades of pink.
To select one of the standard colors either click mouse button 1 on the desired color and either press Return or click mouse button 1 on the "Ok" button. The latter step will pop down the color panel. You may also double click mouse button 1 on the desired color to select it and pop down the color panel in one step.
To add a user-defined color press mouse button on the ``Add Color'' button in the ``User Defined Colors'' section. User defined colors are assigned values sequentially starting from 32 for a maximum of 512 colors.
A user color may be deleted by pressing mouse button 1 on the color box to select it and then pressing the ``Del Color'' button.
The last color deleted may be undeleted by pressing the ``UnDel Color'' button.
To edit a user color first select the color square by pressing mouse button 1 on the desired square. A solid or dashed line will be drawn around the box to show that it is selected. Then choose the color either by using the RGB (red, green, blue) or the HSV (hue, saturation, value) sliders. or by typing a hexadecimal value into the window under the pen or fill color boxes representing the red, green and blue components (00 to FF). If the latter is used, typing carriage return in the hexadecimal window will set the color.
Additionally, there is a button above each of the RGB sliders which when activated will ``lock'' two or more sliders together at their current setting and allow you to increase or decrease their values together with the ``lock'' slider.
If the user color being edited was just created, a dashed line will be drawn around the box instead of a solid line to indicate that it is new. The color that is currently in the pen or fill boxes will be copied into the user color cell for modification. In this way you may start with a standard color or other user color and modify it from there.
The user color is said to be ``defined'' when any of the sliders is moved or a carriage return is typed into the hexadecimal window. This will be shown by a solid line being drawn around the square instead of dashed.
The pen or fill color choice is activated when the panel is popped up by the respective button in the indicator panel, but you may switch to editing the other color by pressing either the ``Edit Pen'' or ``Edit Fill'' button.
Note that TransFig supports color output for PostScript. On monochrome screens the objects are created with the selected color, but black (or white) is used to draw the objects on the canvas.
The Special Special flag means that special characters in the string are not specially processed but are passed directly to LaTeX. If this flag is not set, then the backslash character '\' is changed to the \backslash command, a brace '{' is turned into a brace command \{, etc. The default for the Special flag is off unless xfig is started with the command-line parameter -specialtext (resource specialtext).
The drawing mode panel contains buttons used to create the various xfig objects. Once the drawing mode is selected, the object is created by moving the mouse to the point on the canvas where the object is to be placed and pressing and releasing mouse button 1. After that the mouse is moved to the second point and mouse button 1 is again pressed for the next point. For those objects which may have more than two points (e.g. a line), mouse button 1 may be pressed for each successive point, and mouse button 2 must be pressed to finish the object. To create a single point using the POLYLINE button, press and release mouse button 2. Newly created points may be deleted by pressing the shift key and mouse button 1. For the ARC object, which requires exactly three points mouse button 1 is used for all three points.
At any time mouse button 3 may be pressed to cancel the creation of the object.
A Floyd-Steinberg dithering is applied to color images for monochrome displays.
For EPS files, xfig will attempt to use Ghostscript to generate a color image if xfig is running on an color display. Ghostscript must be compiled with with the "gif8" and "pbmraw" drivers. The pbm driver is used when you run xfig on a monochrome display and the gif8 driver is used on a color display.
Ghostscript is available from prep.ai.mit.edu.
A neural network color allocation scheme is used when the number of colors for all the color images on the canvas exceeds the lesser of the number of free colorcells or the value in the resource Max_image_colors (command-line parameter -max_image_colors). Whenever a new color image is added to the canvas, the colors for all the images on the canvas are reallocated and the images are redrawn. No reallocation is done when images are deleted from the canvas.
Click mouse button 1 on any corner for the PIC object and finish by clicking mouse button 1 again on the diagonally opposite corner. The EDIT popup panel will appear and the file name of the PIC object may be entered. After pressing DONE or APPLY (see the description of the EDIT panel for the difference between the DONE and APPLY buttons) the bitmap part of the PIC object will appear in the box just created. If no PIC file is available yet or no name is entered or in the case of an Encapsulated PostScript file there is no preview bitmap pressing DONE will pop down the edit panel and the word <empty> or the PIC file name will remain in the PIC box. Later, when the name of the PIC file is known or the file is available, you may re-read the PIC file using the popup edit panel and the bitmap part of the PIC file will replace the name in the box.
If you want the original size of the PIC object, press the ``Use orig size'' button and the eps bitmap will enlarge or shrink to the size specified in the preview bitmap of the PIC file. If you want the PIC object to be approximately the size of the rectangle specified with the mouse but want the aspect ratio to be same as the original, press either ``Shrink to orig'' or ``Enlarge to orig'' buttons. You must press the APPLY button to see these effects.
The Screen Capture button will unmap the xfig windows, allowing you to capture a rectangular section of the screen to a GIF file, which becomes the current import file. After pressing the Screen Capture button you press and release mouse button 1 at one corner of the area of the screen you want to capture, drag out the rectangle and press and release mouse button 1 to finish. You may cancel the operation by pressing either of the two other mouse buttons.
The Edit Image button will call an external image viewer/editor (see resource Fig.image_editor: in the Fig.ad file) to allow you to edit the current image. The file is reimported automatically after exiting the editor. The xfig windows are automatically unmapped during the call of the editor.
The Reread button will cause xfig to re-read the image file in case it has changed. This is useful (e.g.) when you have made changes to the image file in a program external to xfig and you wish to update the imported image.
The Browse button which will popup a file browser to allow you to search directories for image files. The default search mask will match *.gif*, *.jpg*, *.xpm*, *.xbm* and *.eps*. This mask is in the Fig.ad application defaults file.
Eight-bit characters may be entered using the meta (compose) key. For example, to create an ``a umlaut'', press and release the meta key, then the letter ``a'', then " (quote). To create a ``c cedilla'', use <meta>c followed by comma. The following is a list of all special characters available using the meta key:
!! upside-down exclamation point
Keys Character Name
!! upside-down exclamation point
?? upside-down question mark
C/ cent sign
L- British pound
OX currency
Y- yen
__ broken vertical bar
SO section
"" dieresis
CO copyright
RO registered trademark
_a ordfeminine
_o ordmasculine
<< guillemotleft
>> guillemotright
-| notsign
-- hyphen
+- plusminus
^- macron
^* degree
^. periodcentered
^1 onesuperior
^2 twosuperior
^3 threesuperior
14 onequarter
12 onehalf
34 threequarters
** multiply
-: division
/u mu
P! paragraph
A` A accent grave
A' A accent acute
A^ A accent circumflex
A~ A accent tilde
A" A dieresis
A* A ring
AE AE
a` a accent grave
a' a accent acute
a^ a accent circumflex
a~ a accent tilde
a" a dieresis
a* a ring
ae ae
C, C cedilla
c, c cedilla
D- Eth
d- eth
E` E accent grave
E' E accent acute
E^ E accent circumflex
E" E dieresis
e` e accent grave
e' e accent acute
e^ e accent circumflex
e" e dieresis
I` I accent grave
I' I accent acute
I^ I accent circumflex
I" I accent dieresis
i` i accent grave
i' i accent acute
i^ i accent circumflex
i" i dieresis
N~ N tilde
n~ n tilde
O` O accent grave
O' O accent acute
O^ O accent circumflex
O~ O accent tilde
O" O dieresis
O/ O slash
OE OE
o` o accent grave
o/ o accent acute
o^ o accent circumflex
o~ o accent tilde
o" o dieresis
o/ o slash
oe oe
P| Thorn
p| thorn
ss German ss (s-zed)
U` U accent grave
U' U accent acute
U^ U accent circumflex
U" U dieresis
u` u accent grave
u' u accent acute
u^ u accent circumflex
u" u dieresis
Y' Y accent acute
y' y accent acute
y" y dieresis
Note: the two special characters OE and oe are not displayed on the screen, but they are printed by fig2dev.
Note: If the mouse is not clicked near enough to an object marker or for whatever reason xfig cannot ``find'' the object the user is trying to select, a black square will temporarily appear above the mouse cursor.
If the number of X or Y copies is non-zero (from the bottom panel) then that many copies will be made in each respective direction, spaced evenly by the amount of the distance the object is placed from the original object.
If mouse button 3 is clicked on an object, that object is copied to the cut buffer for pasting into this or another figure. The file used for the cut buffer is called .xfig in the user's $HOME directory. This allows a user to run two or more xfig processes and cut/paste objects between them. If there is no $HOME, a file is created in a temporary directory called xfigPID where PID is the xfig process ID. The temporary directory used is specified in the environment variable XFIGTMPDIR. If that variable is empty or not set then /tmp is used.
Object Angle Fill Line Line Cap Join Box Pen Fill Radius
Style Width Style Style Style Curve Color Color
Arc
Arc-Box
Circle
Ellipse
PIC*
Box
Polygon
Line
Spline
Text
Optionally, mouse button 3 may be pressed on the canvas to set an anchor point about which the object will be flipped. A crosshair indicates the anchor point on the canvas. Pressing this button again will unset the anchor point.
Optionally, mouse button 3 may be pressed on the canvas to set an anchor point about which the object will be flipped. A crosshair indicates the anchor point on the canvas. Pressing this button again will unset the anchor point.
Optionally, mouse button 3 may be pressed on the canvas to set a rotation point about which the object will be rotated. A crosshair indicates the rotation point on the canvas. Pressing this button again will unset the rotation point.
Not all objects can be rotated, and not all can be rotated at arbitrary angles. For example, BOX, ARC-BOX and PIC objects may only be rotated by 90 degrees. Text objects may be rotated and to any angle.
Optionally, mouse button 3 may be pressed on the canvas to set a rotation point about which the object will be rotated. A crosshair indicates the rotation point on the canvas. Pressing this button again will unset the rotation point.
If the Shift key is held down while panning the movement is five (5) times the normal rate.
The figure is panned up and down in the same way by clicking the mouse in the ruler on the right of the canvas.
If the Shift key is held down while panning the movement is five (5) times the normal rate.
The figure can be returned to its origin by clicking mouse button 1 in the units (e.g. cm or in) box.
The arrow keys may also be used to pan the image and the home key to return the figure to the origin. Also, pressing the Control Key and mouse button 2 will pan the figure to the origin.
Name Class Type Default Command-line
Name Class Type Default Command-line
equivalent
boldFont Font string 8x13bold -bold
but_per_row But_per_row int 2 -but_per_row
buttonFont Font string 6x13 -button
debug Debug boolean off -debug
dont_switch_cmap Dont_switch_cmap boolean false -dontswitchcmap
exportLanguage ExportLanguage string eps -exportLanguage
flushleft FlushLeft boolean false -flushleft
image_editor ImageEditor string xv -image_editor
inches Inches boolean true -inches,
-centimeters,
-imperial,
-metric
internalborderwidth InternalBorderWidth integer 1 -internalBW
justify Justify boolean false -left (false),
-right (true)
keyFile KeyFile string CompKeyDB -keyFile
landscape Orientation boolean true -Landscape,
-Portrait
latexfonts Latexfonts boolean off -latexfonts
max_image_colors Max_image_colors integer 100 -max_image_colors
monochrome Monochrome boolean false -monochrome
normalFont Font string 6x13 -normal
pheight Height float 8(9.5) -pheight
pwidth Width float 10(8) -pwidth
reverseVideo ReverseVideo boolean off -inverse
rulerthick RulerThick integer 24 -rulerthick
scalablefonts ScalableFonts boolean true -scalablefonts
showallbuttons ShowAllButtons boolean false -showallbuttons
specialtext SpecialText boolean false -specialtext
startfillstyle startFillStyle integer 0 -startfillstyle
startfontsize StartFontSize float 12 -startfontsize
startgridmode startGridMode integer 0 -startgridmode
startlatexFont StartlatexFont string Default -startlatexFont
startlinewidth startLineWidth integer 1 -startlinewidth
startpsFont StartpsFont string Times-Roman -startpsFont
starttextstep startTextStep float 1.2 -starttextstep
trackCursor Track boolean on -track,
-notrack
userscale UserScale float 1.0 -userscale
userunit UserUnit string in(cm) -userunit
The following are the default keyboard accelerators as distributed in the Fig.ad app-defaults file:
<Meta>l (re)Load figure from current file
(Context)
Keys Function
(Main xfig panels)
<Meta>q Quit xfig
<Meta>d Delete all objects from canvas
<Meta>u Undo
<Meta>r Redraw
<Ctrl>l Redraw
<Meta>t pasTe xfig cutbuffer onto canvas
<Meta>f popup File menu
<Meta>e popup Export menu
<Meta>p popup Print menu
<Meta>l (re)Load figure from current file
<Meta>s Save figure to current file
(Popup units panel in corner of rulers)
<Meta>c Cancel popup unit panel
<Meta>s Set units
(Popup file panel)
<Meta>r Rescan current directory
<Meta>c Cancel
<Meta>l Load figure
<Meta>s Save figure
<Meta>m Merge read into current figure
(Popup export panel)
<Meta>r Rescan current dirctory
<Meta>c Cancel
<Meta>e Export figure
(Popup print panel)
<Meta>c Cancel
<Meta>b print to Batch file
<Meta>p Print to printer
<Meta>x clear batch file
(Canvas)
<None>c Draw circle by radius
<Shift>c Draw circle by diameter
<None>e Draw ellipse by radius
<Shift>e Draw ellipse by diameter
<Shift>s Draw closed spline
<None>s Draw open spline
<Shift>i Draw closed interpolated spline
<None>i Draw open interpolated spline
<None>p Draw polygon
<None>l Draw line
<None>b Draw box
<Shift>b Draw arcbox
<Shift>p Draw regular polygon
<None>r Draw arc
<Ctrl>p Draw picture object
<None>t Draw text
<None>g Glue compound
<Shift>g Break compound
<Ctrl>s Scale object
<None>a Align object in compound
<Shift>m Move point
<None>m Move object
<Ctrl>a Add point to object
<Ctrl>c Copy object
<Shift>d Delete point from object
<None>d Delete object
<None>u Update object or indicator panel
<Ctrl>e Edit object
<None>f Flip object up/down
<Shift>f Flip object left/right
<Ctrl>r Rotate object clockwise
<Shift>r Rotate object counter-clockwise
<None>v Convert object to/from line/spline or box/arc-box
<Shift>a Add/delete arrowhead
Fig xfig
Form form
Form commands
Command quit
Command delete_all
Command orient
Command undo
Command redraw
Command paste
Command file
Command export
Command print
Form msg_form
Text message
Label file_name
Label mouse_panel
Box mode_panel
Label label
Command button (one for each of the 16 drawing mode buttons)
Label label
Command button (one for each of the 18 editing mode buttons)
Label topruler
Label canvas
Label unitbox
Label sideruler
Box upd_ctrl_form
Label upd_ctrl_label
Box upd_ctrl_btns
Command set_upd
Command clr_upd
Command tog_upd
Viewport ind_panel
Core clip
Scrollbar horizontal
Box ind_box
Form button_form (one for each of the 22 indicator buttons)
Command button
Toggle update (only those indicators that affect creation
of objects have update toggles)
TransientShell ps_font_menu
Box menu
Form ps_buttons
Command cancel
Command use_latex_fonts
Command pane (one for each of the 35 PostScript font panes)
TransientShell latex_font_menu
Box menu
Form latex_buttons
Command cancel
Command use_postscript_fonts
Command pane (one for each of the 6 LaTeX font panes)
TransientShell file_menu
Form file_panel
Label file_status
Label num_objects
Label cur_file_label
Text cur_file_name
Label file_label
Text file_name
Label file_alt_label
Viewport vport
Core clip
Scrollbar vertical
List file_list_panel
Label mask_label
Text mask
Label dir_label
Text dir_name
Label dir_alt_label
Command home
Viewport dirvport
Core clip
Scrollbar vertical
List dir_list_panel
Command rescan
Command cancel
Command save
Command load
Command merge
Label fig_offset_label
Label fig_offset_lbl_x
Text fig_offset_x
MenuButton Inches
SimpleMenu menu
SmeBSB Inches
SmeBSB Centim.
SmeBSB Fig Units
Label fig_offset_lbl_x
Text fig_offset_x
MenuButton Inches
SimpleMenu menu
SmeBSB Inches
SmeBSB Centim.
SmeBSB Fig Units
TransientShell export_menu
Form export_panel
Label mag_label
Text magnification
Label orient_label
MenuButton orientation
SimpleMenu menu
SmeBSB portrait
SmeBSB landscape
Label just_label
MenuButton justify
SimpleMenu menu
SmeBSB Flush left
SmeBSB Centered
Label export_offset_label
Label export_offset_lbl_x
Text export_offset_x
MenuButton Inches
SimpleMenu menu
SmeBSB Inches
SmeBSB Centim.
SmeBSB Fig Units
Label export_offset_lbl_y
Text export_offset_y
MenuButton Inches
SimpleMenu menu
SmeBSB Inches
SmeBSB Centim.
SmeBSB Fig Units
Label lang_label
MenuButton language
SimpleMenu menu
SmeBSB LaTeX box (figure boundary)
SmeBSB LaTeX picture
SmeBSB LaTeX picture + epic macros
SmeBSB LaTeX picture + eepic macros
SmeBSB LaTeX picture + eepicemu macros
SmeBSB PiCTeX macros
SmeBSB IBMGL (or HPGL)
SmeBSB Encapsulated PostScript
SmeBSB PostScript
SmeBSB Combined PS/LaTeX (PS part)
SmeBSB Combined PS/LaTeX (LaTeX part)
SmeBSB Textyl \special commands
SmeBSB TPIC
SmeBSB PIC
SmeBSB MF
SmeBSB GIF
SmeBSB JPEG
SmeBSB X11 Bitmap
SmeBSB X11 Pixmap
Label def_file_label
Label def_file_name
Label out_file_name
Text file
Label file_alt_label
Viewport vport
Core clip
Scrollbar vertical
List file_list_panel
Label mask_label
Text mask
Label dir_label
Text dir_name
Label dir_alt_label
Command home
Viewport dirvport
Core clip
Scrollbar vertical
List dir_list_panel
Command rescan
Command cancel
Command export
TransientShell print_menu
Form print_panel
Label printer_image
Label print_label
Label mag_label
Text magnification
Label orient_label
MenuButton landscape
SimpleMenu menu
SmeBSB portrait
SmeBSB landscape
Label just_label
MenuButton justify
SimpleMenu menu
SmeBSB flush left
SmeBSB centered
Label printer_label
Text printer
Label job_params_label
Text job_params
Label num_batch_label
Label num_batch
Command dismiss
Command print
Command print_batch
Command clear_batch
TransientShell file_msg
Form file_msg_panel
Text file_msg_win
Command dismiss
Command clear
TransientShell query_popup
Form query_form
Label message
Command yes
Command no
Command cancel
TransientShell set_unit_panel
Form form
Label Unit/Scale settings
Label Ruler Units =
MenuButton Imperial (in)
SimpleMenu menu
SmeBSB Metric (cm)
SmeBSB Imperial (in)
Label Figure units =
MenuButton Ruler units
SimpleMenu menu
SmeBSB Ruler units
SmeBSB User defined
Label user_units
Text Unit/Scale settings
Label Figure scale =
MenuButton User defined
SimpleMenu menu
SmeBSB Unity
SmeBSB User defined
Label scale_factor
Text 1.0000
Command cancel
Command set
Popup color panel:
TransientShell set_indicator_panel
Form form
Label Colors
Command cancel
Command set_color_ok
Form mixedForm (for Pen Color)
Toggle mixedEdit
Core mixedColor
Text tripleValue
Form mixedForm (for Fill Color)
Toggle mixedEdit
Core mixedColor
Text tripleValue
Label stdLabel
Form stdForm
Command stdColor (one for each of 33 std colors)
Label userLabel
Form userForm
Viewport userViewport
Core clip
Scrollbar horizontal
Box userBox
Label colorMemory (one for each user color)
Command addColor
Command delColor
Command undelColor
Form mixingForm
Label redLocked
Label greenLocked
Label blueLocked
Label lockedLabel
Scrollbar redScroll
Scrollbar greenScroll
Scrollbar blueScroll
Scrollbar lockedScroll
Label hueLabel
Label satLabel
Label valLabel
Scrollbar hueScroll
Scrollbar satScroll
Scrollbar valScroll
NOTE: The following is a typical popup edit panel (for ARC-BOX) The panel will be different for other objects. TransientShell edit_panel
Form form
Label POLYLINE:ArcBox
Label image
Command done
Command apply
Command cancel
Label
Label Width =
Text Width =
Label Border color =
MenuButton colors
SimpleMenu menu
SmeBSB Black
SmeBSB Blue
SmeBSB Green
SmeBSB Cyan
SmeBSB Red
SmeBSB Magenta
SmeBSB Yellow
SmeBSB White
SmeBSB Blue4
[22 more colors]
SmeBSB Default
Label Fill color =
MenuButton colors
SimpleMenu menu
SmeBSB Black
SmeBSB Blue
SmeBSB Green
SmeBSB Cyan
SmeBSB Red
SmeBSB Magenta
SmeBSB Yellow
SmeBSB White
SmeBSB Blue4
[22 more colors]
SmeBSB Default
Label Depth =
Text Depth =
Label Fill style =
MenuButton No fill
SimpleMenu menu
SmeBSB No fill
SmeBSB Filled
SmeBSB Pattern
Label Fill intensity % =
Text Fill intensity % =
Label Fill pattern =
Text Fill pattern =
Label Line style =
MenuButton Solid Line
SimpleMenu menu
SmeBSB Solid Line
SmeBSB Dashed Line
SmeBSB Dotted Line
Label Dash length/Dot gap =
Text Dash length/Dot gap =
Label Radius =
Text Radius =
Label First Corner
Label First Corner
Text First Corner
Label First Corner
Text First Corner
Label Opposite Corner
Label Opposite Corner
Text Opposite Corner
Label Opposite Corner
Text Opposite Corner
The following is the widget structure for the popup browser available for the Picture Object edit popup. TransientShell xfig_browse_menu
Form browse_panel
Label file_label
Text file_name
Label file_alt_label
Viewport vport
Core clip
List file_list_panel
Scrollbar vertical
Label mask_label
Text mask
Label dir_label
Text dir_name
Label dir_alt_label
Command home
Viewport dirvport
Core clip
List dir_list_panel
Command rescan
Command close
Command apply
Because of the difference of some fonts in some X servers and the PostScript fonts on printers, text alignment can be problematic.
Not all operations employ smart redrawing of objects which are altered as a by product of the operation. You may need to use Redraw in these cases.
Some servers do not allow bitmaps/pixmaps taller than the screen height or wider than the screen width. That is why there is a limit on the width of the top ruler and height of the side ruler. If you need wider/taller rulers AND your server allows bigger pixmaps, you may define MAX_TOPRULER_WD and/or MAX_SIDERULER_HT in your Imakefile in the DEFINES line. For example, to have a maximum top ruler width of 1160 pixels, add -DMAX_TOPRULER_WD=1160 to your DEFINES line in the Imakefile.
If the image is panned or the xfig window iconified and de-iconified during the middle of an operation (e.g. while drawing a line), the picture will be distorted. This can be corrected using Redraw after the operation is complete.
Corners of object scaled with point positioning in one of the grid modes will not always fall on the grid line, but to the closest pixel.
When zoomed very large, the length of dashes in dashed lines will top out at 255 pixels long. This is due to a restriction in X that the dash list is defined by char (255 pixels maximum for a dash). The figure will print correctly, however.
See the README file for troubleshooting.
fig2dev(1) package)
gs(1) PostScript previewer)
The X Consortium, and any party obtaining a copy of these files from the X Consortium, directly or indirectly, is granted, free of charge, a full and unrestricted irrevocable, world-wide, paid up, royalty-free, nonexclusive right and license to deal in this software and documentation files (the "Software"), including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons who receive copies from any such party to do so, with the only requirement being that this copyright notice remain intact. This license includes without limitation a license to do the foregoing actions under any patents of the party supplying this software to the X Consortium.
No representations are made about suitability of this software for any purpose. It is provided ``as is'' without express or implied warranty.
PostScript is a trademark of Adobe Systems Incorporated.
Version 1:
Original author:
Supoj Sutanthavibul, University of Texas at Austin
The LaTeX line drawing modes were contributed by:
Frank Schmuck, Cornell University
Original X11 port by:
Ken Yap, Rochester
Variable window sizes, cleanup of X11 port, right hand side panel:
Dana Chee, Bellcore
Cleanup of color port to X11 by:
John T. Kohl, MIT
Version 2.0:
Area fill, multiple line thicknesses, multiple fonts and font sizes, bottom panel, line style/thickness, (and anything else that wasn't written by the others) by:
Brian Smith
(standard disclaimer applies)
(bvsmith@lbl.gov)
Popup change-object menu by:
Jon Tombs
Frank Schmuck
Zooming and panning functions, shift key select mechanism by:
Dieter Pellkofer
Henning Spruth
Depth feature by:
Mike Lutz
Cut/Paste by:
Tom Tkacik
Version 2.1:
Indicator panel, file menu popup, print menu popup, panning with rulers, mouse function window, regular polygon, rubberbanding of circles/ellipses, filled splines on canvas, dashed/dotted splines on canvas, update button, arbitrary angle rotation of objects, alignment in compound, object scaling, constrained copy/move, corner markers for compound, context sensitive corner markers, smarter redraw, undo for compound and point move for boxes, cancel object creation, point positioning to three resolutions, TransFig scalable text, hidden text, special text, save of figure on crash by:
Paul King (king@cs.uq.oz.au)
with help from:
Brian Smith and Micah Beck (beck@cs.utk.edu)
Encapsulated PostScript importing by:
Brian Boyter
Pan/zoom with ctrl key/mouse by:
Henning Spruth
International characters by:
Herve Soulard
Directory Browser based on XDir by:
Win Treese, Digital Equipment Corporation
Rotated ellipses by:
James Tough, Dept. of Computer Science, Heriot-Watt University, Scotland
Rotated text from the xvertext package by:
Alan Richardson, Space Science Centre, School of MAPS, University of Sussex
Popup scale menu and dynamic switching between inches and cm by:
Paul King (king@cs.uq.oz.au)
Extensive man page formatting revisions by:
David W. Sanderson
Display Postscript code for IBM RS/6000 by:
Dave Hale (dhale@green.mines.colorado.edu)
Version 3.0:
New arrowhead types, separate pen/fill colors, new file protocol, more colors with extended color popup panel, new arc style, new fill patterns (bricks, etc), new line join and cap styles, export offset and file load offset, XPM import, XBM import and export (and anything else that wasn't written by the others) by:
Brian Smith
(Note: the color popup panel was based on xcoloredit by Richard Hesketh)
GIF output code by:
E. Chernyaev (chernaev@mx.decnet.ihep.su) *
GIF import code by:
David Koblas from the giftoppm part of the pbmplus package
XPM export code (using XPM3 libraries) by:
Karel van Houten (K.H.C.vanHouten@research.ptt.nl)
Higher figure resolution (1200dpi) by:
Ross Martin (martin@trcsun3.eas.asu.edu)
Color quantization using neural network by:
Anthony Dekker (dekker@ACM.org)
[NEUQUANT Neural-Net quantization algorithm by Anthony Dekker, 1994. See "Kohonen neural networks for optimal colour quantization" in "Network: Computation in Neural Systems" Vol. 5 (1994) pp 351-367. for a discussion of the algorithm.]
Floyd-Steinberg algorithm for dithering color images on monochrome displays lifted from the Pbmplus package by Jef Poskanser.
rotate/flip objects around/about selected anchor point and multiple copies of objects by:
Uwe Bonnes (bon@lte.e-technik.uni-erlangen.de)
Version 3.1:
The only difference between protocol version 3.0 and version 3.1 is that the position of the "magnet" has been shifted by 14 fig units. In the 2.1 and older versions of xfig the grid was in multiples of 5 fig units, but they were on intervals 4, 9, 14, 19, etc. When version 3.0 was created, coordinates were simply multiplied by the ratio of the resolutions (1200/80 = 15) so values like 4 became 60 instead of 74 ((4+1)*15 - 1).
The JPEG import/export code uses the Independent JPEG Group software (see jpeg/README for details)
Image browser, editor and screen capture features by:
Jim Daley (jdaley@cix.compulink.co.uk)
Many bug fixes/cleanups etc. by a host of faithful users
See the CHANGES file for all the credits
The TransFig package was written by Micah Beck and is maintained by Brian Smith