glenda.party
term% ls -F
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)