Annotation of lucent/sys/man/1/art, revision 1.1

1.1     ! root        1: .TH ART 1
        !             2: .      \" /*% troff -man % | lp -du
        !             3: .CT 1 graphics
        !             4: .SH NAME
        !             5: art, art2pic \- edit line-art
        !             6: .SH SYNOPSIS
        !             7: .B art
        !             8: [
        !             9: .B -f
        !            10: .I font
        !            11: ]
        !            12: [
        !            13: .B -b
        !            14: .I picture
        !            15: ]
        !            16: .PP
        !            17: .B art2pic
        !            18: .I file
        !            19: .SH DESCRIPTION
        !            20: .I Art
        !            21: is an interactive program to create precise line-art in the style of
        !            22: .IR pic (1).
        !            23: It is mostly mouse-operated, with a few commands entered from the keyboard.
        !            24: It divides its window into four areas:
        !            25: a menu bar at the top,
        !            26: a one-line rectangle immediately below for echoing typed-in characters,
        !            27: another one-line rectangle below that for printing messages,
        !            28: and a large area at the bottom for displaying the drawing.
        !            29: The
        !            30: .B -b
        !            31: option displays the specified
        !            32: .I picture
        !            33: (in the format of
        !            34: .IR picfile (9.6))
        !            35: as a background for the drawing.
        !            36: .PP
        !            37: A small caret, whose apex is the
        !            38: .IR "current point" ,
        !            39: appears on the screen.
        !            40: The lines, arcs, and other elements of a drawing are
        !            41: constructed by placing the caret at each of a sequence of points that define the
        !            42: item.  When the caret moves, two other markers (a square and a cross) trail it,
        !            43: showing its previous positions.  Items on the screen
        !            44: near the caret attract it.  Important points on items, like endpoints or
        !            45: intersections, pull harder than more mundane points, making precise
        !            46: alignment easy.
        !            47: .PP
        !            48: On request,
        !            49: .I art
        !            50: will automatically construct alignment lines and circles,
        !            51: which it displays more faintly than items in the drawing.
        !            52: Certain lines and points in a drawing are
        !            53: .IR hot .
        !            54: .I Art
        !            55: constructs circles of given radii and lines of given slopes
        !            56: at hot points, and parallels at given distances from hot lines
        !            57: and lines at given angles to their endpoints.
        !            58: Menus pulled down from the menu bar
        !            59: control what alignment items are constructed.
        !            60: Items are automatically heated when added to the drawing
        !            61: and will be heated or cooled on command.
        !            62: .PP
        !            63: The `important points' on a line segment to which the
        !            64: caret preferentially gravitates are its endpoints and midpoint.
        !            65: On a circle, the center is important.
        !            66: On an arc, the endpoints are important.
        !            67: On a box, the corners, the midpoints of the sides and the center are important.
        !            68: Likewise, on a piece of text, the corners, midpoints and center of its bounding
        !            69: box are important.
        !            70: On a spline, the control points are important,
        !            71: and in a group, the important points of the group members are important.
        !            72: .PP
        !            73: Whenever button 1 is pressed, the caret follows the mouse cursor.
        !            74: On release, the item the caret is touching, if any, is
        !            75: selected and highlighted.  If more than one item touches the caret, clicking button
        !            76: 1 repeatedly will cycle through them.
        !            77: .PP
        !            78: Pressing button 2 pops up a menu of commands that add new items to the drawing.
        !            79: Every item is described by several
        !            80: .IR "control points" :
        !            81: a line by its endpoints, a circular arc by its endpoints and a third point on the arc,
        !            82: and so forth.  A new item is specified by moving the caret in turn to each
        !            83: control point but the last, selecting a menu entry with button two, then using
        !            84: button 1 to place the caret
        !            85: on the last control point.
        !            86: (Buttons 2 and 3 will cancel the command.)
        !            87: While the caret is being dragged to the last control point,
        !            88: .I art
        !            89: displays and updates the item on the screen (``rubber-banding'').
        !            90: In all cases, after making an addition to the drawing, the new item becomes the
        !            91: current selection.
        !            92: The button 2 menu operations are
        !            93: .TF parallels
        !            94: .TP
        !            95: .B line
        !            96: Add a line segment to the drawing.  The two control points are the segment's endpoints.
        !            97: .TP
        !            98: .B circle
        !            99: Add a circle to the drawing.  The first control point is the center.
        !           100: The second is a point on the circumference.
        !           101: .TP
        !           102: .B arc
        !           103: Add a circular arc to the drawing.  The endpoints are the first and third control points.
        !           104: The second control point is an interior point of the arc.
        !           105: .TP
        !           106: .B box
        !           107: Add a rectangle to the drawing.  The box's sides are vertical and horizontal.  The
        !           108: two control points are two diagonally opposite corners.
        !           109: .TP
        !           110: .B spline
        !           111: Add a spline curve to the drawing, or extend an existing spline.
        !           112: Splines are a little more complicated than other items because they may have any
        !           113: number of control points.
        !           114: If the current selection is not a spline, there are two control points \(em
        !           115: the ends of a new spline.  When a spline is selected, the
        !           116: .B spline
        !           117: button adds a new control point to the end of the spline closest to the selected point.
        !           118: .TP
        !           119: .B group
        !           120: Add a group to the drawing.  The two control points are the diagonally opposite
        !           121: corners of a rectangle.
        !           122: Any item partially or completely contained in the rectangle is made part of the group.
        !           123: Henceforth the group acts as a monolithic item and may be moved, deleted or copied
        !           124: as a unit.  The
        !           125: .BR open ,
        !           126: .B close
        !           127: and
        !           128: .B flatten
        !           129: commands (on button 3) allow manipulation of the items within a group.
        !           130: Groups may be nested within other groups.
        !           131: .PP
        !           132: Button 3's menu has commands to manipulate the current selection.
        !           133: .TF parallels
        !           134: .TP
        !           135: .B delete
        !           136: Remove the selection from the drawing.  If the whole drawing is selected,
        !           137: .I art
        !           138: asks for confirmation by pressing mouse button 3.  Buttons 1 and 2 cancel the command.
        !           139: .TP
        !           140: .B heat
        !           141: Heat the selected item.
        !           142: .TP
        !           143: .B copy
        !           144: Create a duplicate of the selected item.  The duplicate must be dragged to its intended
        !           145: position using button 1.  Buttons 2 and 3 cancel the command.
        !           146: .TP
        !           147: .B edit
        !           148: Change the indicated point of the selected item.  Button 1 adjusts the point.
        !           149: Buttons 2 and 3 cancel the command.  This command's behavior depends on the
        !           150: kind of item and the point at which it is selected.
        !           151: .IP
        !           152: If a line is selected near an endpoint, that endpoint moves and the other remains
        !           153: fixed.  Both endpoints of a line selected near its midpoint move\(emits length and
        !           154: slope do not change.
        !           155: .IP
        !           156: If a circle selected at its center, it translates without changing its radius.
        !           157: If selected on its circumference, its radius changes but its center remains fixed.
        !           158: .IP
        !           159: The control point of an arc or spline nearest the selection point is modified.
        !           160: .IP
        !           161: If a box is selected near a corner, that corner moves and the other remains fixed.
        !           162: If selected near the middle of an edge, the edge moves, but the opposite edge remains
        !           163: fixed.  If selected near its center, the whole box moves without changing its size
        !           164: or shape.
        !           165: .IP
        !           166: A group or a piece of text translates, regardless of the selection point.
        !           167: .TP
        !           168: .B open
        !           169: The selection must be a group.  All commands now operate on the members of the
        !           170: group.
        !           171: .TP
        !           172: .B close
        !           173: The most-recently opened group is closed.
        !           174: Any changes made while it was open are propagated to other copies.
        !           175: .TP
        !           176: .B flatten
        !           177: The selection must be a group.
        !           178: The items in the group are inserted in its place in the drawing.
        !           179: This undoes the effect of the
        !           180: .B group
        !           181: command.  Other copies of the group are unaffected.
        !           182: .PP
        !           183: Keyboard commands:
        !           184: .TF parallels
        !           185: .TP
        !           186: .B "t text
        !           187: Add text to the drawing.  The text is in the current font and is drawn centered
        !           188: on the caret.
        !           189: .TP
        !           190: .BI "f " name
        !           191: Set the current typeface.
        !           192: .I Name
        !           193: is the name of a font file.
        !           194: Subdirectories of
        !           195: .B /lib/font/bit
        !           196: contain many appropriate fonts.
        !           197: .TP
        !           198: .B D
        !           199: Redraw the display.
        !           200: .TP
        !           201: .B q
        !           202: Quit.
        !           203: .I Art
        !           204: exits, without asking for confirmation.
        !           205: .TP
        !           206: .BR "w " [ \f2file\f1 ]
        !           207: Write the drawing into a file in
        !           208: .I art
        !           209: format.
        !           210: .I File
        !           211: defaults to the last file mentioned in a read or write command.
        !           212: .I Art
        !           213: files may be converted to
        !           214: .IR pic (1)
        !           215: format by the
        !           216: .I art2pic
        !           217: command.
        !           218: .TP
        !           219: .BR "r " [ \f2file\f1 ]
        !           220: Read a drawing from a file.
        !           221: .I File
        !           222: defaults to the last file mentioned in a read or write command.
        !           223: .TP
        !           224: .B c
        !           225: Cool everything.  Every hot item is cooled.
        !           226: .TP
        !           227: .B a
        !           228: Select all items.  The entire drawing is selected.
        !           229: .TP
        !           230: .B d
        !           231: Drop anchor.  The
        !           232: .I anchor
        !           233: is the fixed point for the not-yet-implemented rotate and scale commands.
        !           234: .PP
        !           235: Menus pulled down from the menu bar contain commands that alter how
        !           236: .IR art
        !           237: responds to user interaction.
        !           238: .TF parallels
        !           239: .TP
        !           240: .B slopes
        !           241: Most of the entries in this menu are numbers, representing angles in degrees.
        !           242: Those that are marked with a star are the inclination from horizontal of alignment
        !           243: lines constructed at each hot point of the drawing.  Selecting a number toggles
        !           244: the star on and off.  The
        !           245: .B measure
        !           246: button measures the slope of the line connecting the most recent two points selected
        !           247: with the caret.  The measurement is printed, and a corresponding new entry is made
        !           248: in the menu.
        !           249: .TP
        !           250: .B angles
        !           251: This menu behaves much like the
        !           252: .B slopes
        !           253: menu.  Items marked with a star are angles at which alignment lines are drawn
        !           254: through the endpoints of hot lines.  The
        !           255: .B measure
        !           256: button measures the angle indicated by the most recent three points selected with the caret.
        !           257: .TP
        !           258: .B parallels
        !           259: Items marked with a star are distances at which alignment lines are drawn parallel
        !           260: to hot lines.  The
        !           261: .B measure
        !           262: button measures the distance between the most recent two points selected with the caret.
        !           263: Distances are nominally in inches, but the program believes the display pitch to be
        !           264: 100 pixels per inch.
        !           265: .TP
        !           266: .B circles
        !           267: Items marked with a star are radii of alignment circles drawn with centers at
        !           268: hot points.  The
        !           269: .B measure
        !           270: button measures the distance between the most recent two points selected with the caret.
        !           271: .TP
        !           272: .B grid
        !           273: Items in this menu activate a rectangular grid of gravitating points.
        !           274: They have labels like
        !           275: .BR 0,0+.1,.1 .
        !           276: The first pair of numbers is the coordinate of a point on the grid; the other
        !           277: pair is the
        !           278: .I x
        !           279: and
        !           280: .I y
        !           281: displacements of other points.
        !           282: The
        !           283: .B off
        !           284: item disables the grid (the default situation).
        !           285: .B Measure
        !           286: creates a custom-measured grid using the last two positions of the caret as
        !           287: diagonally adjacent grid-points.
        !           288: .TP
        !           289: .B gravity
        !           290: The starred entry on this menu is the maximum distance that the caret will move from
        !           291: the mouse cursor to snap to an item on the screen.
        !           292: .TP
        !           293: .B heating
        !           294: The
        !           295: .B "heat new
        !           296: button toggles whether objects are automatically heated when created or modified.
        !           297: The item is marked with a star if set, as it is initially.
        !           298: .SH SOURCE
        !           299: .B /sys/src/cmd/art
        !           300: .SH "SEE ALSO"
        !           301: .IR tweak (1)
        !           302: .SH BUGS
        !           303: Needs two or more bits per pixel.
        !           304: Doesn't compute intersections of splines with circles or arcs.
        !           305: No filled regions, line styles or arrowheads.
        !           306: Doesn't save construction lines in files.
        !           307: Because it draws in xor mode when rubber-banding, lines can momentarily disappear.
        !           308: Tracks slowly in large drawings.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.