term% cat index.txt ART(1) General Commands Manual ART(1)
NAME
art, art2pic - edit line-art
SYNOPSIS
art [ -f font ] [ -b picture ]
art2pic file
DESCRIPTION
Art is an interactive program to create precise line-art in the style
of pic(1). It is mostly mouse-operated, with a few commands entered
from the keyboard. It divides its window into four areas: a menu bar
at the top, a one-line rectangle immediately below for echoing typed-in
characters, another one-line rectangle below that for printing mes‐
sages, and a large area at the bottom for displaying the drawing. The
-b option displays the specified picture (in the format of pic‐
file(9.6)) as a background for the drawing.
A small caret, whose apex is the current point, appears on the screen.
The lines, arcs, and other elements of a drawing are constructed by
placing the caret at each of a sequence of points that define the item.
When the caret moves, two other markers (a square and a cross) trail
it, showing its previous positions. Items on the screen near the caret
attract it. Important points on items, like endpoints or intersec‐
tions, pull harder than more mundane points, making precise alignment
easy.
On request, art will automatically construct alignment lines and cir‐
cles, which it displays more faintly than items in the drawing. Cer‐
tain lines and points in a drawing are hot. Art constructs circles of
given radii and lines of given slopes at hot points, and parallels at
given distances from hot lines and lines at given angles to their end‐
points. Menus pulled down from the menu bar control what alignment
items are constructed. Items are automatically heated when added to
the drawing and will be heated or cooled on command.
The ‘important points' on a line segment to which the caret preferen‐
tially gravitates are its endpoints and midpoint. On a circle, the
center is important. On an arc, the endpoints are important. On a
box, the corners, the midpoints of the sides and the center are impor‐
tant. Likewise, on a piece of text, the corners, midpoints and center
of its bounding box are important. On a spline, the control points are
important, and in a group, the important points of the group members
are important.
Whenever button 1 is pressed, the caret follows the mouse cursor. On
release, the item the caret is touching, if any, is selected and high‐
lighted. If more than one item touches the caret, clicking button 1
repeatedly will cycle through them.
Pressing button 2 pops up a menu of commands that add new items to the
drawing. Every item is described by several control points: a line by
its endpoints, a circular arc by its endpoints and a third point on the
arc, and so forth. A new item is specified by moving the caret in turn
to each control point but the last, selecting a menu entry with button
two, then using button 1 to place the caret on the last control point.
(Buttons 2 and 3 will cancel the command.) While the caret is being
dragged to the last control point, art displays and updates the item on
the screen (‘‘rubber-banding''). In all cases, after making an addi‐
tion to the drawing, the new item becomes the current selection. The
button 2 menu operations are
line Add a line segment to the drawing. The two control points are
the segment's endpoints.
circle Add a circle to the drawing. The first control point is the
center. The second is a point on the circumference.
arc Add a circular arc to the drawing. The endpoints are the first
and third control points. The second control point is an inte‐
rior point of the arc.
box Add a rectangle to the drawing. The box's sides are vertical
and horizontal. The two control points are two diagonally oppo‐
site corners.
spline Add a spline curve to the drawing, or extend an existing spline.
Splines are a little more complicated than other items because
they may have any number of control points. If the current se‐
lection is not a spline, there are two control points — the ends
of a new spline. When a spline is selected, the spline button
adds a new control point to the end of the spline closest to the
selected point.
group Add a group to the drawing. The two control points are the di‐
agonally opposite corners of a rectangle. Any item partially or
completely contained in the rectangle is made part of the group.
Henceforth the group acts as a monolithic item and may be moved,
deleted or copied as a unit. The open, close and flatten com‐
mands (on button 3) allow manipulation of the items within a
group. Groups may be nested within other groups.
Button 3's menu has commands to manipulate the current selection.
delete Remove the selection from the drawing. If the whole drawing is
selected, art asks for confirmation by pressing mouse button 3.
Buttons 1 and 2 cancel the command.
heat Heat the selected item.
copy Create a duplicate of the selected item. The duplicate must be
dragged to its intended position using button 1. Buttons 2 and
3 cancel the command.
edit Change the indicated point of the selected item. Button 1 ad‐
justs the point. Buttons 2 and 3 cancel the command. This com‐
mand's behavior depends on the kind of item and the point at
which it is selected.
If a line is selected near an endpoint, that endpoint moves and
the other remains fixed. Both endpoints of a line selected near
its midpoint move—its length and slope do not change.
If a circle selected at its center, it translates without chang‐
ing its radius. If selected on its circumference, its radius
changes but its center remains fixed.
The control point of an arc or spline nearest the selection
point is modified.
If a box is selected near a corner, that corner moves and the
other remains fixed. If selected near the middle of an edge,
the edge moves, but the opposite edge remains fixed. If se‐
lected near its center, the whole box moves without changing its
size or shape.
A group or a piece of text translates, regardless of the selec‐
tion point.
open The selection must be a group. All commands now operate on the
members of the group.
close The most-recently opened group is closed. Any changes made
while it was open are propagated to other copies.
flatten
The selection must be a group. The items in the group are in‐
serted in its place in the drawing. This undoes the effect of
the group command. Other copies of the group are unaffected.
Keyboard commands:
t text Add text to the drawing. The text is in the current font and is
drawn centered on the caret.
f name Set the current typeface. Name is the name of a font file.
Subdirectories of /lib/font/bit contain many appropriate fonts.
D Redraw the display.
q Quit. Art exits, without asking for confirmation.
w [file]
Write the drawing into a file in art format. File defaults to
the last file mentioned in a read or write command. Art files
may be converted to pic(1) format by the art2pic command.
r [file]
Read a drawing from a file. File defaults to the last file men‐
tioned in a read or write command.
c Cool everything. Every hot item is cooled.
a Select all items. The entire drawing is selected.
d Drop anchor. The anchor is the fixed point for the not-yet-im‐
plemented rotate and scale commands.
Menus pulled down from the menu bar contain commands that alter how art
responds to user interaction.
slopes Most of the entries in this menu are numbers, representing an‐
gles in degrees. Those that are marked with a star are the in‐
clination from horizontal of alignment lines constructed at each
hot point of the drawing. Selecting a number toggles the star
on and off. The measure button measures the slope of the line
connecting the most recent two points selected with the caret.
The measurement is printed, and a corresponding new entry is
made in the menu.
angles This menu behaves much like the slopes menu. Items marked with
a star are angles at which alignment lines are drawn through the
endpoints of hot lines. The measure button measures the angle
indicated by the most recent three points selected with the
caret.
parallels
Items marked with a star are distances at which alignment lines
are drawn parallel to hot lines. The measure button measures
the distance between the most recent two points selected with
the caret. Distances are nominally in inches, but the program
believes the display pitch to be 100 pixels per inch.
circles
Items marked with a star are radii of alignment circles drawn
with centers at hot points. The measure button measures the
distance between the most recent two points selected with the
caret.
grid Items in this menu activate a rectangular grid of gravitating
points. They have labels like 0,0+.1,.1. The first pair of
numbers is the coordinate of a point on the grid; the other pair
is the x and y displacements of other points. The off item dis‐
ables the grid (the default situation). Measure creates a cus‐
tom-measured grid using the last two positions of the caret as
diagonally adjacent grid-points.
gravity
The starred entry on this menu is the maximum distance that the
caret will move from the mouse cursor to snap to an item on the
screen.
heating
The heat new button toggles whether objects are automatically
heated when created or modified. The item is marked with a star
if set, as it is initially.
SOURCE
/sys/src/cmd/art
SEE ALSO
tweak(1)
BUGS
Needs two or more bits per pixel. Doesn't compute intersections of
splines with circles or arcs. No filled regions, line styles or arrow‐
heads. Doesn't save construction lines in files. Because it draws in
xor mode when rubber-banding, lines can momentarily disappear. Tracks
slowly in large drawings.
ART(1)