|
|
1.1 ! root 1: .TH GRAW 1 UCDS ! 2: .SH NAME ! 3: graw \- gnot graphic editor ! 4: .SH SYNOPSIS ! 5: .B graw ! 6: [ ! 7: .B -f ! 8: .I fontfile ! 9: ] ! 10: [ ! 11: .B -g ! 12: ] ! 13: [ ! 14: .I file ... ! 15: ] ! 16: .SH DESCRIPTION ! 17: .PP ! 18: .I Graw ! 19: is a multi-file graphic editing program specialized for schematic entry. ! 20: .I Graw ! 21: drawings consist of lines, boxes, text objects, and instantiations of previously ! 22: defined drawings called ! 23: .I masters. ! 24: The ! 25: .I graw ! 26: user interface differs from that of most 5620/gnot programs in that button 1 ! 27: controls ! 28: .I all ! 29: graphical entry. ! 30: .PP ! 31: The ! 32: .B -g ! 33: flag invokes an experimental mode in which ! 34: .B graw ! 35: attempts to render in grey scale. ! 36: The ! 37: .B -f ! 38: flag allows the user to specify a font for displaying text objects. ! 39: .PP ! 40: By default, pressing button 1 will create a line with one end fixed and the other ! 41: end attached to the cursor as long as button 1 is held down. Objects other than ! 42: lines can be drawn by prefacing a drawing operation with a button 2 ! 43: .B onesies\(-> ! 44: selection. ! 45: Button 1 is also used for ! 46: .I grabbing ! 47: objects. Grabbing takes precedence over drawing, and ! 48: .I graw ! 49: evaluates every button 1 hit to see if there is something to grab. ! 50: .PP ! 51: Grabbing rules vary by object. For example, a box can be grabbed by pointing to ! 52: its interior. A grabbed box will cause all objects inside or touching it to be ! 53: grabbed also. Grabbing a box's corner will also grab objects touching the two ! 54: sides of that corner. An object inside a box may be grabbed without grabbing ! 55: the box. ! 56: .I Graw's ! 57: grabbing rules are meant to be intuitively obvious. The author apologizes for ! 58: cases in which this is not true. ! 59: .PP ! 60: .I Graw ! 61: keeps a "text point" at the last location of a button 1 hit. ! 62: Typing to ! 63: .I graw ! 64: creates a text object at the current text point. ! 65: A text object orients itself based on its surroundings each time it is typed ! 66: at or moved. ! 67: Typing a carriage return causes graw to move the current text point down one or ! 68: two ticks, depending on the surroundings. ! 69: .PP ! 70: Buttons 2 and 3 contain editing and file oriented menus, respectively. ! 71: The button 2 menu entries are ! 72: .B onesies\(-> (box, dots, macro), ! 73: .B inst\(-> ! 74: .I (master list), ! 75: .B sweep, slash, cut, paste, ! 76: and ! 77: .B scroll. ! 78: .RS ! 79: .TP ! 80: .B onesies\(-> ! 81: selects a non-line object to be drawn with button 1. ! 82: You get at most one non-line object per onesie. ! 83: .TP ! 84: .B inst\(-> ! 85: selects a master to be instantiated and attached to the cursor until any button ! 86: is pressed. ! 87: .TP ! 88: .B sweep ! 89: uses a rectangle input with button 1 (N.B.) to grab a set of objects and drag ! 90: them until any button is pressed. ! 91: .TP ! 92: .B slash ! 93: differs from ! 94: .B sweep ! 95: only in that rectilinear lines are first cut by the input rectangle. ! 96: .TP ! 97: .B cut ! 98: undraws and moves the object(s) last drawn or moved to the cut/paste buffer. ! 99: .TP ! 100: .B paste ! 101: attaches a copy of the cut/paste buffer to the cursor until any button is ! 102: pressed. ! 103: .TP ! 104: .B snarf ! 105: is a ! 106: .B cut ! 107: without the undraw. ! 108: .TP ! 109: .B scroll ! 110: attaches the entire drawing to the cursor until any button is pressed. ! 111: .RE ! 112: .PP ! 113: The button 3 menu entries are ! 114: .B edit, read, write, exit, ! 115: and ! 116: .B new, ! 117: followed by the list of filenames currently being edited. ! 118: .RS ! 119: .TP ! 120: .B edit ! 121: prompts for a file name and reads in the file for editing. Backspace and ! 122: control-W may be used to edit the name; a null file name aborts the operation. ! 123: .TP ! 124: .B read ! 125: prompts for the name of a master file, reads it in, and plants a reference to ! 126: it in the current file. The names of the masters in the file are added to ! 127: those in the ! 128: .B inst\(-> ! 129: menu for the current file, overwriting older definitions if necessary. ! 130: .TP ! 131: .B write ! 132: prompts for a file name (starting with the current file name). The non-null ! 133: result becomes the new file name and the file is written. ! 134: .TP ! 135: .B exit ! 136: terminates the program. It may be necessary to type a character and/or move the ! 137: mouse after ! 138: .I graw ! 139: exits to really exit. ! 140: .TP ! 141: .B new ! 142: creates a new, unnamed drawing for editing. ! 143: .PP ! 144: Selecting a file name selects the current file. ! 145: .RE ! 146: .PP ! 147: .I Graw ! 148: can read ! 149: .I jraw ! 150: format files. Conversion from ! 151: .I jraw ! 152: to ! 153: .I graw ! 154: begins with this step and is generally completed by removing library master ! 155: instantiations from the resulting ! 156: .I graw ! 157: format file. ! 158: .PP ! 159: .I Jraw -w ! 160: produces ucds netlist format from ! 161: .I graw ! 162: format files. ! 163: .PP ! 164: .I Jb ! 165: produces postscript from ! 166: .I graw ! 167: format files. ! 168: .SH FILES ! 169: /n/ross/lib/graw/gates.g the standard gate file ! 170: .br ! 171: /n/ross/sys/font/1/7/PA default font file ! 172: .SH SEE ALSO ! 173: graw(5), cdmglob(1), jb(1), jraw(1), annotate(1) ! 174: .SH BUGS ! 175: Loses its little mind when it can't parse input ! 176: .br ! 177: Crashes when it reads two ! 178: .I jraw ! 179: .B 'e' ! 180: (end of master) lines in succession.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.