XEROX Lisp Library Packages )2 (SKETCHHEADING.SKETCH ((.2711257 70.49269 NIL) (TEXT (552.0 . 168.0) ( "a drawing program for Interlisp-D") 5.422514 (LEFT BASELINE) (HELVETICA 10 (BOLD REGULAR REGULAR) ) ((550.7865 153.3377 1127.883 70.49269)) NIL)) ((0.0 672.0 NIL) (WIRE ((24.0 . 328.0) ( 1368.0 . 328.0)) 1 NIL NIL)) ((0.0 672.0 NIL) (WIRE ((1368.0 . 344.0) (24.0 . 344.0)) 4 NIL NIL)) ((0.0 672.0 NIL) (WIRE ((1368.0 . 56.0) (24.0 . 56.0)) 4 NIL NIL)) ((0.0 672.0 NIL) ( WIRE ((24.0 . 72.0) (1368.0 . 72.0)) 1 NIL NIL)) ((.2228075 239.1105 NIL) (GROUP (48.45448 88.303 478.2209 222.8075) (((.05 104.0 NIL) (OPENCURVE ((195.485 . 243.9708) (179.485 . 259.9709) (155.485 . 259.9709) (139.485 . 235.9708) (147.485 . 211.9708) (179.485 . 203.9708) (195.485 . 187.9708) (195.485 . 171.9708) (179.485 . 155.9708) (147.485 . 155.9708) (138.985 . 157.4708)) (ROUND 2 7) NIL (NIL NIL))) ((.02609649 100.2378 NIL) (OPENCURVE ((206.485 . 150.9708) (229.6415 . 200.6019) (235.7143 . 225.3992) (231.6658 . 249.1844) (226.6051 . 251.2087) (226.6051 . 212.2415) (226.485 . 152.9708) (226.9258 . 155.5389) (227.1112 . 175.8046) (235.2083 . 197.5655) (256.9692 . 197.5655) (250.3903 . 179.3471) (227.3576 . 171.2633) (227.2843 . 171.3365) (240.775 . 165.1772) (250.1166 . 153.9796) (256.7262 . 151.5761) (264.0245 . 151.4752)) (ROUND 2 7) NIL (NIL NIL))) ((.02653913 45.5 NIL) (OPENCURVE ((290.656 . 210.4687) (296.656 . 210.4687) (303.656 . 210.4687) (309.656 . 210.4687) (314.656 . 210.4687) (321.6561 . 210.4687) (330.1561 . 209.9687) (336.1561 . 210.9687)) (ROUND 2 7) NIL NIL)) ((.03004386 98.68322 NIL) (OPENCURVE ((291.7956 . 151.0233) (302.9291 . 153.5536) ( 309.9039 . 158.7866) (313.2087 . 171.7055) (313.0504 . 205.1725) (312.0383 . 231.488) ( 312.5444 . 249.7065) (312.5444 . 249.7065) (313.0504 . 218.8363) (312.656 . 189.4687) ( 313.0504 . 169.2417) (316.5135 . 159.0871) (321.3205 . 153.0783) (325.5267 . 151.8765)) (ROUND 2 7) NIL NIL)) ((.750522 256.0 NIL) (ELLIPSE (286.9902 . 198.3665) (286.3233 . 305.0324) ( 524.3731 . 196.3575) -.4814659 (ROUND 2 7) NIL)) ((.0478415 100.8834 NIL) (OPENCURVE ((370.1105 . 151.6081) (381.244 . 163.7538) (392.8835 . 202.721) (396.9321 . 226.0001) (392.3775 . 251.3035) (386.8107 . 249.7853) (387.8229 . 222.9637) (388.329 . 199.1785) (388.7558 . 153.5939) (388.9192 . 159.6879) (396.426 . 193.1057) (418.2139 . 190.6469) (422.1903 . 160.1062) (424.2875 . 150.6689) (436.715 . 150.4201)) (ROUND 2 7) NIL (NIL (LINE 30 7.898634)) )) ((.03004386 32.43637 NIL) (OPENCURVE ((264.5135 . 151.8765) (279.8359 . 162.9928) (281.3804 . 183.4116) (272.2712 . 181.3873) (271.2591 . 164.6871) (282.2394 . 152.7779) (293.656 . 150.9752)) (ROUND 2 7) NIL NIL)) ((.03004386 43.77735 NIL) (OPENCURVE ((325.8271 . 152.177) ( 336.204 . 156.1628) (343.553 . 175.9116) (358.977 . 179.9479) (363.3819 . 171.4051) (363.0815 . 171.1046) (358.4709 . 179.4419) (343.2525 . 175.6112) (340.2525 . 160.2113) (347.8435 . 151.6081) (358.977 . 151.1021) (369.6045 . 151.6081)) (ROUND 2 7) NIL NIL))) (280.0 . 200.0)))) (0 0 1601.617 386.1041) 4.619179 8.0 INTRODUCTION Sketch is a drawing program that enables you to place text and graphics to achieve desired images. The figures can be copy-selected into TEdit documents to allow a mixture of text and graphics in the same document. This documentation was produced using Sketch. A sketch consists of sketch elements. Sketch elements include text, lines, curves, boxes, circles, and ellipses. Each element has one or more positions (called control points) that determine its location and a set of properties such as brush. A sketch is viewed in one or more sketch windows that provide a region and scale (see Figure 1). Within a window, the sketch can be edited by adding or deleting elements, or by changing the locations of control points or the values of properties. (NIL ((.1 48.0 NIL) (BOX (128.0 144.0 96.0 32.0) 1)) ((.05 13.0 NIL) (TEXT (176.0 . 160.0) ("a box") 1.0 (CENTER CENTER) (HELVETICA 12) ((156.0 153.0 40.0 13.0)) NIL)) ((.1 24.0 NIL) (CIRCLE (240.0 . 80.0) (256.0 . 96.0) (ROUND 1 7) NIL)) ((.05 13.0 NIL) (TEXT (240.0 . 80.0) ("a" "circle") 1.0 (CENTER BASELINE) (HELVETICA 12) ((236.0 83.0 9.0 13.0) (220.0 70.0 41.0 13.0)) NIL)) ((0.0 24.0 NIL) (OPENCURVE ((176.0 . 144.0) (176.0 . 128.0) (208.0 . 112.0) (224.0 . 96.0)) (ROUND 1 7) NIL (NIL (LINE 30 10.0)))) ((.05 13.0 NIL) (TEXT (192.0 . 32.0) ("A sample sketch") 1.0 (CENTER BASELINE) (TIMESROMAN 12 (MEDIUM REGULAR REGULAR)) (( 135.0 29.0 114.0 14.0)) NIL)) ((.1 96.0 NIL) (BOX (96.0 16.0 192.0 176.0) 1)) ((.05 12.0 NIL) (TEXT (192.0 . 0.0) ("Figure 1. A sketch window") 1.0 (CENTER BASELINE) (HELVETICA 12 ( MEDIUM REGULAR REGULAR)) ((93.0 -3.0 198.0 13.0)) NIL)) ((.05 12.0 NIL) (TEXT (288.0 . 0.0) (" ") 1.0 (CENTER BASELINE) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((286.0 -3.0 5.0 13.0)) NIL)) ((.05 12.0 NIL) (TEXT (272.0 . 0.0) (" ") 1.0 (CENTER BASELINE) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((267.0 -3.0 10.0 13.0)) NIL))) (0 0 247.0 203.0) 1.0 16.0 HOW TO LOAD, START, AND STOP SKETCH To get Sketch into your Interlisp-D system, load the file SKETCH.DCOM. This in turn loads several other support files (SKETCHEDIT, SKETCHOBJ, and GRAPHZOOM). A sketch window can be opened in several ways. The most common method is to select Sketch from the background command menu. This prompts you for a region and opens an empty sketch window there. A sketch in a TEdit document can be edited by pressing the left button in it and selecting the Edit Sketch item from the menu that appears. This opens a sketch window the same size as the sketch in the document. You can also call the function SKETCHW.CREATE (described below). When you are finished with a sketch window, you can close it. If you have made changes to the sketch without saving them on a file, Sketch asks you to confirm the closing. If the sketch window was created from a sketch in a TEdit document, you are given a menu choice of whether or not the changes made to this window should be returned to the document. SKETCH MOUSE FUNCTIONSEDITIING TEXT AND ADDING LINES The three mouse buttons provide quick access to text editing and line drawing in the sketch window (see Figure 2). (NIL ((.05 13.0 NIL) (TEXT (129.0 . 144.0) ("Positions" "type-in") 1.0 (RIGHT BASELINE) ( HELVETICA 14 (MEDIUM REGULAR REGULAR)) ((59.0 148.0 70.0 15.0) (77.0 133.0 52.0 15.0)) NIL)) ((.1 32.0 NIL) (WIRE ((177.0 . 124.0) (177.0 . 144.0) (145.0 . 144.0)) 1)) ((.1 44.0 NIL) (BOX (165.0 48.0 56.0 88.0) 2)) ((.1 12.0 NIL) (BOX (173.0 96.0 8.0 24.0) 2)) ((.1 12.0 NIL) (BOX (189.0 96.0 8.0 24.0) 2)) ((.1 40.0 NIL) (CLOSEDWIRE ((193.0 . 124.0) (193.0 . 164.0)) 1)) ((.1 12.0 NIL) (BOX (205.0 96.0 8.0 24.0) 2)) ((.1 28.0 NIL) (WIRE ((209.0 . 124.0) (209.0 . 144.0) (237.0 . 144.0)) 1)) ((.05 13.0 NIL) (TEXT (245.0 . 140.0) ( "Extends text" "selection") 1.0 (LEFT BASELINE) (HELVETICA 14 (MEDIUM REGULAR REGULAR)) ((245.0 144.0 95.0 15.0) (245.0 129.0 68.0 15.0)) NIL)) ((.05 13.0 NIL) (TEXT (193.0 . 172.0) ( "Draws lines") 1.0 (CENTER BASELINE) (HELVETICA 14 (MEDIUM REGULAR REGULAR)) ((150.0 169.0 87.0 15.0)) NIL)) ((.0585427 14.05025 NIL) (TEXT (240.0 . 16.0) ( "Figure 2. Mouse button functions for a sketch window") 1.170854 (CENTER BASELINE) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((7.814049 12.89439 464.8291 15.2211)) NIL))) (0 0 496.4421 190.8492) 1.170854 8.0 The left button is used to position typed-in characters. If this position is not within existing text, a caret shape ( 1`) appears. When characters are typed, a new piece of text is centered around that position (see Figure 3). (Note: The alignment of the text relative to this position can be changed. See the sections below on the Change command and the Defaults command.) (NIL ((.05 12.0 NIL) (TEXT (128.0 . 80.0) ("Put the cursor" "where the new text" "should be") 1.0 (CENTER BASELINE) (HELVETICA 8 (MEDIUM REGULAR REGULAR)) ((93.0 87.0 70.0 9.0) (81.0 78.0 95.0 9.0) (104.0 69.0 48.0 9.0)) NIL)) ((.1 17.88854 NIL) (CIRCLE (128.0 . 40.0) ( 136.0 . 48.0) (ROUND 2 7) NIL)) ((.05 12.0 NIL) (TEXT (128.0 . 40.0) ("1") 1.0 (CENTER CENTER) (HELVETICA 18 (MEDIUM REGULAR REGULAR)) ((123.0 30.0 10.0 19.0)) NIL)) ((.1 56.0 NIL) (OPENCURVE ((168.0 . 40.0) (224.0 . 40.0)) (ROUND 2 7) NIL (NIL (LINE 30.0 8.0)))) ((.05 12.0 NIL) (TEXT (264.0 . 88.0) ("Type the text" "In this case, %"a box%"") 1.0 (CENTER BASELINE ) (HELVETICA 8 (MEDIUM REGULAR REGULAR)) ((232.0 90.0 65.0 9.0) (212.0 81.0 104.0 9.0)) NIL) ) ((.05 12.0 NIL) (TEXT (264.0 . 40.0) ("2") 1.0 (CENTER CENTER) (HELVETICA 18 (MEDIUM REGULAR REGULAR)) ((259.0 30.0 10.0 19.0)) NIL)) ((.1 17.88854 NIL) (CIRCLE (264.0 . 40.0) ( 272.0 . 48.0) (ROUND 2 7) NIL)) ((.1 4 NIL) (SKIMAGEOBJ {(BMOBJ.GETFN2)!  p.#1!8!! !! 1!t.#} (248.0 120.0 42.0 34.0) 1.0 (0 . 0))) ((.1 4 NIL) (SKIMAGEOBJ {(BMOBJ.GETFN2)$8l``} (112.0 96.0 21.0 36.0) 1.0 (0 . 0))) ((.1 56.0 NIL) (BOX (208.0 64.0 112 88) 1)) ((.1 56.0 NIL) (BOX (72.0 64.0 112 88) 1 )) ((.013 122.0 NIL) (GROUP (75.0 5.0 244.0 13.0) (((.05 12.0 NIL) (TEXT (232.0 . 8.0) ( "Steps to insert new text") 1.0 (CENTER BASELINE) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((146.0 5.0 173.0 13.0)) NIL)) ((.05 12.0 NIL) (TEXT (112.0 . 8.0) ("Figure 3. ") 1.0 (CENTER BASELINE) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((75.0 5.0 74.0 13.0)) NIL))) (200.0 . 8.0)) )) (0 0 345.0 157.0) 1.0 8.0 If the cursor is positioned in existing text when the left button is released, a vertical bar (00000000000000) appears between the existing characters. The right button can then be used to extend the selection within the text, and any text so selected is deleted when the next character is typed (see Figure 4). (NIL ((.1 17.88854 NIL) (CIRCLE (364.0 . 44.0) (372.0 . 52.0) (ROUND 2 7) NIL)) ((.05 12.0 NIL) (TEXT (364.0 . 44.0) ("3") 1.0 (CENTER CENTER) (HELVETICA 18 (MEDIUM REGULAR REGULAR)) ( (359.0 34.0 10.0 19.0)) NIL)) ((.096 52.0 NIL) (BOX (312.0 60.0 104.0 96.0) 1)) ((.05 12.0 NIL) (TEXT (364.0 . 84.0) ("Type the new character" "In this case, %"B%"") 1.0 (CENTER BASELINE) (HELVETICA 8 (MEDIUM REGULAR REGULAR)) ((305.0 86.0 118.0 9.0) (323.0 77.0 83.0 9.0)) NIL)) ((.1 4 NIL) (SKIMAGEOBJ {(BMOBJ.GETFN2)(x!< D z!} (340.0 116.0 52.0 31.0) 1.0 (0 . 0))) ( (.05 12.0 NIL) (TEXT (232.0 . 84.0) ("Put the cursor" "after the character" "to be deleted" "and press the right button") 1.0 (CENTER BASELINE) (HELVETICA 8 (MEDIUM REGULAR REGULAR)) (( 197.0 95.0 70.0 9.0) (186.0 86.0 92.0 9.0) (200.0 77.0 65.0 9.0) (169.0 68.0 127.0 9.0) ) NIL)) ((.1 56.0 NIL) (BOX (176.0 60.0 112.0 96.0) 1)) ((.1 17.88854 NIL) (CIRCLE (232.0 . 44.0) (240.0 . 52.0) (ROUND 2 7) NIL)) ((.05 12.0 NIL) (TEXT (232.0 . 44.0) ("2") 1.0 ( CENTER CENTER) (HELVETICA 18 (MEDIUM REGULAR REGULAR)) ((227.0 34.0 10.0 19.0)) NIL)) ((.05 12.0 NIL) (TEXT (96.0 . 84.0) ("Put the cursor" "in front of the character" "to be deleted" "and press the left button") 1.0 (CENTER BASELINE) (HELVETICA 8 (MEDIUM REGULAR REGULAR)) ((61.0 95.0 70.0 9.0) (37.0 86.0 118.0 9.0) (64.0 77.0 65.0 9.0) (36.0 68.0 120.0 9.0)) NIL)) ((.1 56.0 NIL) (BOX (40.0 60.0 112.0 96.0) 1)) ((.1 17.88854 NIL) (CIRCLE (96.0 . 44.0) ( 104.0 . 52.0) (ROUND 2 7) NIL)) ((.05 12.0 NIL) (TEXT (96.0 . 44.0) ("1") 1.0 (CENTER CENTER ) (HELVETICA 18 (MEDIUM REGULAR REGULAR)) ((91.0 34.0 10.0 19.0)) NIL)) ((.1 56.0 NIL) ( OPENCURVE ((136.0 . 44.0) (192.0 . 44.0)) (ROUND 2 7) NIL (NIL (LINE 30.0 8.0)))) ((.1 48.0 NIL) (OPENCURVE ((280.0 . 44.0) (328.0 . 44.0)) (ROUND 2 7) NIL (NIL (LINE 30.0 8.0)))) (( .1 4 NIL) (SKIMAGEOBJ {(BMOBJ.GETFN2)& x H< 0D 0 Hz ``00} (80.0 116.0 72.0 28.0) 1.0 (0 . 0))) ((.1 4 NIL) ( SKIMAGEOBJ {(BMOBJ.GETFN2)&x H<0D0Hz ``00} (208.0 116.0 47.0 28.0) 1.0 (0 . 0))) ((.05 12.0 NIL) (TEXT ( 228.0 . 8.0) ("Figure 4. Steps to edit existing text") 1.0 (CENTER BASELINE) (HELVETICA 12 ( MEDIUM REGULAR REGULAR)) ((99.0 5.0 259.0 13.0)) NIL)) ((0.0 4.0 NIL) (WIRE ((288.0 . 148.0) (288.0 . 140.0)) 1 NIL NIL)) ((0.0 50.0 NIL) (WIRE ((312.0 . 60.0) (412.0 . 60.0)) 1 NIL NIL) ) ((0.0 4.0 NIL) (WIRE ((176.0 . 148.0) (176.0 . 140.0)) 1 NIL NIL)) ((0.0 44.0 NIL) (WIRE ((176.0 . 60.0) (264.0 . 60.0)) 1 NIL NIL)) ((0.0 54.0 NIL) (WIRE ((148.0 . 60.0) (40.0 . 60.0)) 1 NIL NIL)) ((0.0 4.0 NIL) (WIRE ((40.0 . 60.0)) 1 NIL NIL)) ((0.0 4.0 NIL) (WIRE (( 40.0 . 68.0) (40.0 . 60.0)) 1 NIL NIL))) (0 0 460.0 161.0) 1.0 4.0 The middle button is used to construct straight lines. Pressing the middle button causes the cursor to change to p1a AAa 1p and an      to track the cursor (though only on grid points, described in the section below on the grid). Releasing the button marks the beginning of the line. Pressing the middle button again stretches the line from the beginning point to the cursor. This line moves until the middle button is released again. More lines can be added by pressing the middle button. Each line starts where the previous one ended. To start a new series of lines, press either the left or the right mouse button. (The series of lines is reset when you select one of the menu commands discussed below.) The drawing of any line segment can be stopped by moving the mouse outside the window. This does not start a new series of lines; moving back into the window and pressing the middle button picks up where the last line ended. (NIL ((.05 13.0 NIL) (TEXT (27.0 . 218.0) ("Sketch" "window") 1.0 (CENTER BASELINE) ( HELVETICA 10 (MEDIUM REGULAR REGULAR)) ((6.0 222.0 42.0 12.0) (4.0 210.0 47.0 12.0)) NIL)) ( (.1 80.0 NIL) (OPENCURVE ((53.0 . 218.0) (77.0 . 218.0) (109.0 . 210.0) (133.0 . 210.0)) ( ROUND 1 7) NIL (NIL (LINE 30 10.0)))) ((.05 13.0 NIL) (TEXT (440.0 . 216.0) ("Sketch" "editing" "menu") 1.0 (LEFT BASELINE) (HELVETICA 10 (MEDIUM REGULAR REGULAR)) ((440.0 226.0 42.0 12.0) (440.0 214.0 41.0 12.0) (440.0 202.0 34.0 12.0)) NIL)) ((0.0 52.0 NIL) ( OPENCURVE ((440.0 . 216.0) (416.0 . 216.0) (416.0 . 208.0) (336.0 . 210.0)) (ROUND 1 7) NIL ((LINE 30 10.0) NIL))) ((.05 13.0 NIL) (TEXT (376.0 . 8.0) ("" "") 1.0 (CENTER BASELINE) ( HELVETICA 12) ((376.0 11.0 0.0 13.0) (376.0 -2.0 0.0 13.0)) NIL)) ((.05 13.0 NIL) (TEXT ( 261.0 . 18.0) ("" "" "") 1.0 (CENTER BASELINE) (HELVETICA 12) ((261.0 28.0 0.0 13.0) ( 261.0 15.0 0.0 13.0) (261.0 2.0 0.0 13.0)) NIL)) ((.1 4 NIL) (SKIMAGEOBJ {(BMOBJ.GETFN2)Q9UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU]|<U]۝u333333333333333333f mm~mfffffffffffffffgc  T7m1oc> >~>U_{~mmcc ccU_{737c33333333333333333cc ccfffffffffffffffgc c` ``UPfc ccUP|> >>UPUP UPUP>c>(cccc6c*UPc6UPc6`(cc>> UPUPUPUP3c`>~cUP`cscUP`cc3`cc6cccUP3csUP>~ `  `xUP H"@`0UPH! H!` H"@3`UP c`UP`~<~?>`sfsgc`ccccUP`c>ccUPccfcc`3cfcgcc?c?>UPUPc>UPUPp8UP'W$UP%"=H'"%H$R%TUP'R8UPUPUPUPUPUPUPUPUPUP@UP >?wsUPUP8@UP pUP<UP`UP 0UP` `UP` UPUP4`  @l UP> 8UP0UPUPq  ? UP@ aUP@ @@UPUP UP UP .UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUcsgcUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUccccccccccccUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUccgcUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU>c?>UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUp0` UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU`UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUc(3`3`*UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU`UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU3`(338``q UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU`UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU` (UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUc8UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUyc*cc(UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUc8UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUa UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUss UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU11a11ᔪm11UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUm??UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUm00ma11퐪a? UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU (UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU1;UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU1*1(UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU19UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU` `UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU0UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU0UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU67611UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU1UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU1qUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU1UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU176UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUv1UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU} ( 72.0 32.0 337.0 313.0) 1.0 (0 . 0))) ((.05 12.0 NIL) (TEXT (72.0 . 8.0) (" ") 1.0 ( CENTER BASELINE) (HELVETICA 10 (MEDIUM REGULAR REGULAR)) ((63.0 6.0 18.0 12.0)) NIL)) ((.013 176.5 NIL) (GROUP (74.0 5.0 353.0 13.0) (((.05 12.0 NIL) (TEXT (108.0 . 8.0) ("Figure 5. ") 1.0 (CENTER BASELINE) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((74.0 5.0 69.0 13.0)) NIL)) ( (.05 13.0 NIL) (TEXT (287.0 . 8.0) ("A sketch window with its editing menu") 1.0 (CENTER BASELINE) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((147.0 5.0 280.0 13.0)) NIL))) (248.0 . 8.0 )))) (0 0 548.0 346.0) 1.0 8.0 SKETCH EDITING MENU The Sketch menu (shown in Figure 5) provides commands to add elements other than text and lines, plus commands to modify existing elements. In most cases, the menu is visible at the right of the sketch window. The menu can be closed by right-buttoning in it and selecting Close from the presented menu. After you close the menu, or if it wasn't visible in the first place, you can retrieve it by depressing the middle mouse button in the title bar. If more than one command will be executed, it is convenient to keep the menu visible. This is achieved by selecting Fix Menu from the Sketch menu (see Fix Menu below). Select commands with the left or middle mouse button. The standard Interlisp-D window command menu can be retrieved by pressing the right button while the cursor is in the title bar of the window. The Redisplay command is sometimes useful for cleaning up the display in the sketch window, which may get "dirtied" when elements are deleted or moved. The Shape command is used to change the size and shape of the sketch window. The size of the sketch window determines the size of a sketch when it is inserted into a text document. COMMANDS TO ADD ELEMENTS TO THE SKETCH The following commands add different elements to the sketch. After selecting one of these commands, you are prompted to specify where in the sketch window you want the new element to be. $ 00%0HR0ȉR0U0Ԏ%00 is used to add a "text box," a box within which text flows. It prompts for a region, which becomes the box. Whenever the caret is inside a text box, the characters typed become part of the text within the box. The text in a box is broken into lines that fit within the width of the box. The justification properties of the text specify the position of the text within the box. If a word in the text is wider than the box, it spills over. If there are more lines than fit in the height of the box, they spill over also. The characters outside the box cannot be selected for editing. The dimensions of the box are changed by using the Move or Move Point command on either corner point of the box.   is used to sketch boxes. It prompts for a region, which becomes the box.  8psp8` is used to connect a series of points with a closed (first and last points are connected) collection of straight lines. The points that the lines go through (its control points) are placed by moving the cursor to the desired position and depressing any mouse button. The lines are drawn through the knots when you click a mouse button when the cursor is outside the window. To cancel this command, click the button with the cursor outside the window before entering any knots.   0`a3 is used to connect a series of points with an open (first and last points are not connected) collection of straight lines. See the  8psp8` procedure.  0>sa`<060`fp0g`pp00pp> is used to sketch an ellipse. Figure 6 shows the relationships between the three control points of an ellipse. First, indicate the center of the ellipse by depressing the left mouse button in the window. Second, indicate the semimajor axis by depressing the left mouse button. This second point is an axis point on the ellipse. Finally, indicate the semiminor axis by depressing the left mouse button. The second radius is determined by the distance the third point is from the center point. This command can be canceled by clicking outside the window. (NIL ((.05 12.0 NIL) (TEXT (20.0 . 152.0) ("The distance (d) from the" "third point to the center is" "the minor radius of the ellipse") 1.0 (LEFT BASELINE) (HELVETICA 8 (MEDIUM REGULAR REGULAR)) ((20.0 159.0 127.0 9.0) (20.0 150.0 129.0 9.0) (20.0 141.0 149.0 9.0)) NIL)) ((.1 4.0 NIL) (BOX (240.0 152.0 8.0 8.0) 2)) ((.0329309 98.79272 NIL) ( ELLIPSE (160.0 . 104.0) (164.0 . 144.0) (244.0 . 156.0) 31.75948 (ROUND 2 7) NIL)) ((0.0 8.0 NIL) (OPENCURVE ((264.0 . 172.0) (256.0 . 168.0) (248.0 . 164.0)) (ROUND 1 7) NIL (NIL NIL)) ) ((0.0 50.0 NIL) (OPENCURVE ((264.0 . 212.0) (240.0 . 188.0) (204.0 . 144.0) (168.0 . 112.0)) (ROUND 1 7) NIL (NIL NIL))) ((.05 12.0 NIL) (TEXT (268.0 . 168.0) ("2nd point:" "major radius point") 1.0 (LEFT BASELINE) (HELVETICA 10) ((268.0 172.0 61.0 12.0) (268.0 160.0 109.0 12.0)) NIL)) ((0.0 18.0 NIL) (WIRE ((164.0 . 140.0) (160.0 . 104.0)) 1 ((LINE 30.0 6.0) (LINE 30.0 6.0)) NIL)) ((0.0 16.5 NIL) (WIRE ((136.0 . 137.0) (160.0 . 104.0)) 1 ((LINE 30.0 6.0) (LINE 30.0 6.0)) NIL)) ((.05 12.0 NIL) (TEXT (149.0 . 124.0) ("d") 1.0 (CENTER BASELINE) (HELVETICA 8 (MEDIUM REGULAR REGULAR)) ((146.0 122.0 6.0 9.0)) NIL)) (( .01512346 4.0 NIL) (BOX (160.0 136.0 8.0 8.0) 2)) ((0.0 44.0 NIL) (OPENCURVE ((260.0 . 128.0) (228.0 . 132.0) (204.0 . 136.0) (172.0 . 140.0)) (ROUND 1 7) NIL NIL)) ((.05 12.0 NIL) (TEXT (167.0 . 122.0) ("d") 1.0 (CENTER BASELINE) (HELVETICA 8 (MEDIUM REGULAR REGULAR)) (( 164.0 120.0 6.0 9.0)) NIL)) ((.1 4.0 NIL) (BOX (156.0 100.0 8.0 8.0) 2)) ((.05 12.0 NIL) (TEXT (268.0 . 208.0) ("1st point:" "center") 1.0 (LEFT BASELINE) (HELVETICA 10) ((268.0 212.0 56.0 12.0) (268.0 200.0 38.0 12.0)) NIL)) ((.05 12.0 NIL) (TEXT (268.0 . 124.0) ( "3rd point:" "minor radius point") 1.0 (LEFT BASELINE) (HELVETICA 10) ((268.0 128.0 58.0 12.0) (268.0 116.0 110.0 12.0)) NIL)) ((.05 12.0 NIL) (TEXT (208.0 . 12.0) ( "Figure 6. The control points for an ellipse") 1.0 (CENTER BASELINE) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((55.0 9.0 307.0 13.0)) NIL))) (0 0 516.0 236.0) 1.0 4.0  ?p``p00p``p? is used to sketch a circle. First, indicate the center of the circle by depressing the left mouse button in the window. Then indicate a point of the circumference of the circle by depressing the left mouse button. This command can be canceled by clicking outside the window. SKETCH ELEMENT SELECTION The commands Delete, Move, Copy, and Change apply to existing elements in the sketch. You use these commands by first selecting the command from the editing menu, then specifying the element or elements to apply the command to. When Sketch expects you to select elements, the control points are highlighted with a box as shown in Figure 7. (NIL ((.1 4 NIL) (SKIMAGEOBJ {(BMOBJ.GETFN2)ffffffffffffp㻎8Αݷu]m[ouY3333333333330jouffffffffffffpooݻuwqٟ㽎0c3333333333330   ? F F F   @ @ @ @ @ @ @ @ @ @ @ @ @ @ x`@ `@ @ @ @ @ @ @ @ @ @ @ @ @@@#@#@#@<###@@C## @0g<f{ cyx@@@  # # F# F# # xM~# J#!O O H@xHx@@@ <} (132.0 43.0 211.0 198.0) 1.0 (0 . 0))) ((.05 13.0 NIL) (TEXT (228.0 . 19.0) ("Figure 7. A sketch window in selection mode" "(control points visible)") 1.0 (CENTER BASELINE) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((62.0 22.0 332.0 13.0) (148.0 9.0 161.0 13.0)) NIL)) ((.05 13.0 NIL) (TEXT (116.0 . 131.0) ( "Control" "point") 1.0 (RIGHT BASELINE) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((63.0 134.0 53.0 13.0) (80.0 121.0 36.0 13.0)) NIL)) ((.1 40.0 NIL) (OPENCURVE ((164.0 . 148.0) (152.0 . 144.0) (144.0 . 136.0) (124.0 . 131.0)) (ROUND 1 7) NIL (NIL (LINE 30 10.0))))) (0 0 462.0 252.0) 1.0 4.0 While the control points are visible, elements are selected by the following protocol. One element can be selected by placing the cursor within the square surrounding any of its points and clicking the left button (see Figure 8). A group of elements can be selected by moving the cursor to one corner of the group, pressing the left button, then while holding the left button down, sweeping to the opposite corner. This selects all elements in the swept-out area. A selected element can be deselected when the left button is held down by also holding down the right button. All visible parts of the sketch can be selected by clicking the left button twice in the same square. The elements selected are marked by blackened control points. The Move command works on points as well as complete elements. To select a point, place the cursor within the square surrounding that point and click the left button. A second immediate click (double-clicking) of the left button selects the element of which the point is a part. A third click selects all visible parts of the sketch. (NIL ((.1 12.0 NIL) (BOX (181.0 80.0 8.0 24.0) 2)) ((.1 44.0 NIL) (BOX (173.0 32.0 56.0 88.0) 2)) ((.05 13.0 NIL) (TEXT (137.0 . 128.0) ("Left-only" "selects") 1.0 (RIGHT BASELINE) (HELVETICA 12) ((74.0 131.0 63.0 13.0) (85.0 118.0 52.0 13.0)) NIL)) ((.1 12.0 NIL) (BOX (197.0 80.0 8.0 24.0) 2)) ((.1 12.0 NIL) (BOX (213.0 80.0 8.0 24.0) 2)) ((.1 13.0 NIL) ( WIRE ((204.0 . 129.0) (204.0 . 142.0) (224.0 . 142.0)) 1)) ((.1 32.0 NIL) (WIRE ((185.0 . 107.0) (185.0 . 128.0) (153.0 . 128.0)) 1)) ((.1 28.0 NIL) (WIRE ((188.0 . 107.0) (198.0 . 129.0) (210.0 . 129.0) (216.0 . 107.0)) 1)) ((.05 12.0 NIL) (TEXT (234.0 . 141.0) ( "Left and right" "deselects") 1.0 (LEFT BASELINE) (HELVETICA 12) ((234.0 144.0 98.0 13.0) ( 234.0 131.0 70.0 13.0)) NIL)) ((.05877505 15.28151 NIL) (TEXT (216.0 . 8.0) ( "Figure 8. Mouse button functions during selection") 1.175501 (CENTER BASELINE) (HELVETICA 12) (( 3.658371 4.963478 425.5314 15.28151)) NIL))) (0 0 432.5844 157.7456) 1.175501 8.0 COMMANDS THAT MODIFY SKETCH ELEMENTS Delete deletes an element or a group of elements. Note that Delete cancels the element, not just one point. All graphic objects are identified when Delete is chosen, and you must select the object(s) to be deleted using the protocol described above. To cancel this selection before deleting, place the cursor outside the sketch window and click a mouse button. Move moves a selected control point, an element, or a group of elements. If a single point is selected (see "Sketch Element Selection"), the cursor changes to p1a AAa 1p and a new location for that point should be selected by pressing the left button. To stop the move, select a point outside the sketch window. If an element or a group of elements is selected, an image of the selected elements is shown on the screen and follows the cursor until the left button is pressed and released. When the button is released, the selected elements are moved to the shown locations. To stop the move, press the left button when the entire image is out of the window. (Note: An image containing curves or ellipses may be clipped at the edges. All the displayed elements will be moved and redrawn when you let up the button.) (NIL ((.1 4 NIL) (SKIMAGEOBJ {(BMOBJ.GETFN2) UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUfffffffffgUUUUUUUUUUUUUU|<UUUUUUUUUUUUUUf 3333333333c fffffffffgc> >~>UUUUUUUUUUUUUUcc ccUUUUUUUUUUUUUUcc cc3333333333c c` ``fc cc|> >>`` NNNNys NdNys NdNys NdNys  NqNyr `x $L $L $L + 85 8`5 `+ a+ c5 c5 3c+ cc+ `>~cc5 `cscaq5 `cc3+ `cc6+ ccc5 3cs5 >~ s ` s  `x  `01?? 1133 `m11111 3`m?1111 c`m01111 `~<~?>a1133 `sfsgca1 `cccc5 `c>cc15 ccfcc`+ 3cfcgc c?c?>UUUUUUUUUUUUUU UUUUUUUUUUUUUU c > UUUUUUUUUUUUUU UUUUUUUUUUUUUU   p8UUUUUUUUUUUUUU 'W$UUUUUUUUUUUUUU %"=H '"%H $R%TUUUUUUUUUUUUUU 'R8UUUUUUUUUUUUUU   UUUUUUUUUUUUUU UUUUUUUUUUUUUU   UUUUUUUUUUUUUU UUUUUUUUUUUUUU } (72.0 40.0 286.0 83.0) 1.0 (0 . 0))) ((.05 12.0 NIL) (TEXT (216.0 . 8.0) ("Figure 9. Move menu item showing submenu") 1.0 (CENTER BASELINE ) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((51.0 5.0 330.0 13.0)) NIL))) (0 0 409.0 134.0) 1.0 8.0 The menu item for this command is followed by a gray triangle pointing to the right indicating a submenu (see Figure 9). To retrieve the submenu, press down the left button, slide the cursor to the right through the triangle, and select the desired subcommand. When the desired item is found, release the button while over it. If you wish to choose a different menu command, slide to the left and the submenu will be withdrawn. The submenu commands for Move are Move Point, Move Elements, and Move Onto Grid. Move Point moves a single control point. Select the point to be moved by pressing the left button and releasing it while the cursor is over the point. The control point underneath the cursor is blackened while the left button is down. When the button is released, the cursor changes to p1a AAa 1p. Specify a new location for the selected control point by pressing the left button. To stop the move, select a point outside the sketch window. Points can also be moved with the main menu Move command. This subcommand provides an easier method of selecting a point because you cannot mistakenly select the whole element. Move Elements moves an element or a collection of elements. This command is the same as the main menu Move command, except that single points cannot be specified. It provides an easier method of selecting an element because you cannot mistakenly select a single point. Move Onto Grid moves all the control points of a selected element or elements onto the current grid. This is useful for aligning a piece that is copied from another sketch, which may have had a different grid. Copy is similar to Move except that it copies the selected elements in the new position. Copying, deleting, and moving can also be accomplished by using copy-selection, deletion-selection, and move-selection. Copy-selection is done using the following steps. First, click any mouse button in the sketch window. This makes sure you are "talking" to the sketch window. (If you are "talking" to some other window, the selected sketch elements are copied into that window.) Next, hold down the "copy key." On Dandelion keyboards, this can be either SHIFT key or the COPY key; on Alto-style keyboards, it is either shift key. With the copy key held down, press the left mouse button. At this point, the selection control points appear and you can use the method described in "Sketch Element Selection" to select the elements you wish to copy. The selected elements have their control points shaded with gray. When you have selected the right elements, release the mouse buttons, then release the copy key. At this point, you are prompted with an image of the selected elements, which you should move into place. If you wish to stop copy-selection, move the cursor outside the window with either button held down, or place the image completely outside the sketch window. Deletion-selection is similar. The difference is that the "delete key" is held instead of the copy key. On Dandelion-style keyboards, the "delete key" is the props key or the DELETE key; on Alto-style keyboards, it is the CTRL key. During deletion-selection, the control points of selected elements are marked with  x}og0o}x. Move-selection is also similar. For "move-selection," both the delete key and the copy key are held down. During move selection, the control points of selected elements are marked with  ~ >. Change enables you to change the properties of an element or collection of elements. All graphic elements are identified when Change is chosen, and you must select the elements to change. After selecting these elements, you are presented with a menu of ways to change them. The particular menu varies for different elements because each has different properties. If in doubt, select the object you want to change and see what choices are offered. Selecting outside the offered menu does not change anything. If the selection contains elements of different types, the change offered is for the type that is first selected, and the change is made to any other selected elements to which it is applicable. For example, if the first selected element is a line and you select Larger, all the selected lines, curves, and boxes are made larger. (NIL ((.05 13.0 NIL) (TEXT (192.0 . 16.0) ("Figure 10. Menu offered for changing text elements" ) 1.0 (CENTER BASELINE) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((2.0 13.0 380.0 13.0)) NIL)) ((.1 4 NIL) (SKIMAGEOBJ {(BMOBJ.GETFN2)|vߊs;Nt㝼 ymo-o|_mn6mom~{slV0Ǐ`l͌͌`̀0l͌llql0`0ϟ>~|π lcc0lf lcc0lf lc0lf l`c0lf lcc0lf>cc8``>ϟ6fc30fc33c6fc6fc33Ϙa |a  3 q 6 q 6y y 6=m 6 m 6 g l3gl1|c?>~|1=1 11;01`p1~|>330l`30l`?0l`1l`1l`1l`1?߀?ccccc?    π f f  f f sπ` ` ` oπllfllfllllf lflsπ`c` f ϟ>lgo llf1llf1 lf1ln f f?lgf l f00laf  llf1llfc0gf`60c00`0>}c<}c0cfc1c0cpc00c0p?<;000` `  gπdllf3dllfdllfllfsllf3gcف` `p c0`0c<}60cfc160cpc060cc3llm٘c3llm33llm63llmØ3llm٘3g  l8c0`0xxc<}͍60cfc1 ፶60cpc0|y7c|fm6#cla3vc`>a3v`fa3``fa1c`;a>`0000<|0fm0a0>a0fa0fa?;` |>||ٛclc`ϛ`ٛ``ٛc`|>` 0 0 0`` ٘`@Ϙ٘ ٘ߏ  m      } (248.0 40.0 104.0 128.0) 1.0 (0 . 0))) ((.05 13.0 NIL) (TEXT (208.0 . 8.0) ("Figure 12. Menus for changing arrowheads") 1.0 (CENTER BASELINE ) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((49.0 5.0 319.0 13.0)) NIL)) ((.1 4 NIL) ( SKIMAGEOBJ {(BMOBJ.GETFN2)BQsMΟΜm-_[{m߆wwm߾wwm@@0@0@>}@c0@c0@0@`0@c0@>0p@@@@@0@ 0@ 0@ >@@ @ @ @ @ @@1@@@>@3@3@3>@?1@1@1@1@1@?@@@@@?@00@0@07>@?6٘@06@06@06@06@06@@@@@@0@0@|@330@80@0@30@330@@@@@} (80.0 56.0 74.0 87.0) 1.0 (0 . 0)))) (0 0 415.0 166.0) 1.0 8.0 Arrowheads gives you two menus (see Figure 12). The first one specifies which end of the curve this change is to affect. The second one specifies the change to make. If a selected line or curve does not already have an arrowhead on it, any choice but Add Arrow from the second menu does nothing. The choices in the first menu are: Left changes an arrowhead at the leftmost end of the curve (topmost if ends have the same X position). Right changes the arrowhead at the rightmost end of the curve (bottommost if ends have the same X position). Both changes the arrowheads at both ends of the curve. First changes the arrowheads at the first control point entered. Last changes the arrowheads at the last control point entered. The choices in the second menu are: Add Arrow adds an arrowhead of the default specifications at the previously specified end or ends. If that end already has an arrowhead, nothing happens. Delete Arrow deletes an arrowhead at the previously specified end or ends. If that end doesn't have an arrowhead, nothing happens. Wider increases the angle of the arrowhead with respect to the line. Narrower decreases the angle of the arrowhead with respect to the line. Larger increases the length of the side of the arrowhead. Smaller decreases the length of the side of the arrowhead. V shape changes the shape of the arrowhead to be two sides. Triangle changes the shape of the arrowhead to be two sides and a base. (NIL ((.05 13.0 NIL) (TEXT (180.0 . 12.0) ("Figure 13. Sample arrowheads") 1.0 (CENTER BASELINE) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((66.0 9.0 228.0 13.0)) NIL)) ((.1 56.0 NIL) (WIRE ((48.0 . 92.0) (104.0 . 76.0)) 1 (NIL (CLOSEDLINE 60 16.0)))) ((.1 56.0 NIL) (WIRE ((48.0 . 108.0) (104.0 . 108.0)) 1 (NIL (LINE 30 10.0)))) ((.1 56.0 NIL) (WIRE ((48.0 . 44.0) (104.0 . 44.0)) 1 ((LINE 30.0 12.0) (LINE 150 8.0)) NIL)) ((.05 13.0 NIL) (TEXT ( 120.0 . 108.0) ("Size: 10, angle: 30, v shape, on right ") 1.0 (LEFT BASELINE) (HELVETICA 10 ( MEDIUM REGULAR REGULAR)) ((120.0 106.0 219.0 12.0)) NIL)) ((.05 13.0 NIL) (TEXT (120.0 . 76.0 ) ("Size: 16, angle: 60, triangle shape, on right ") 1.0 (LEFT BASELINE) (HELVETICA 10 (MEDIUM REGULAR REGULAR)) ((120.0 74.0 257.0 12.0)) NIL)) ((.05 13.0 NIL) (TEXT (120.0 . 40.0) ( "Size: 8, angle: 150, v shape, on right, and" "Size: 12, angle: 30, v shape, on left ") 1.0 (LEFT BASELINE) (HELVETICA 10 (MEDIUM REGULAR REGULAR)) ((120.0 44.0 246.0 12.0) (120.0 32.0 209.0 12.0)) NIL)) ((.092 178.0 NIL) (BOX (36.0 28.0 356.0 92.0) 1))) (0 0 498.0 125.0) 1.0 4.0 Shape gives the same menus as for Curves. Size gives the same menus as for Curves. (Note: If you are entering many arrowheads, it is convenient to set the properties of the default arrowhead using the Defaults command before adding the arrows.) Lines enables you to change the arrowhead characteristics and the size in the same manner as Open Curves. Boxes enables you to change the line thickness in the same manner as changing the brush size of Curves. Text Boxes enables you to change the line thickness of the box in the same manner as changing the brush size of Curves or the properties of the text as in Text. OTHER SKETCH COMMANDS Group collects a group of elements together. After the elements are grouped, they have a single control point, at their center. This is sometimes convenient to reduce the number of control points in a diagram or to more easily duplicate common parts of a figure. The elements in a group are moved, copied, deleted, and changed together. If you want to change just one piece of a group, you must UnGroup it first. Groups can be included in other groups. UnGroup restores the first selected group to its individual elements. Undo undoes a previous command. Selecting this command brings up a menu of past commands. Select the command you wish to have undone. The most recent event is placed at the top of the menu. To cancel this command, click the button with the cursor outside the menu. In the menu, Wire refers to lines. If the same graphical element has been changed more than once, the changes to it must be undone in reverse order. The number of changes that are remembered is determined by the variable SKETCH.#.UNDO.ITEMS and is initially set to 30. If you wish to save more or fewer changes, you can set SKETCH.#.UNDO.ITEMS to a larger or smaller number. To change it to 50, for example, type (SETQ SKETCH.#.UNDO.ITEMS 50) into the top-level typescript window. Defaults enables you to change the default brush, text, text box, and arrowhead characteristics. The default characteristics are the properties given to newly added lines, text, or arrowheads. (The properties of an existing object can be changed by using the Change command above.) (NIL ((.05 12.0 NIL) (TEXT (72.0 . 216.0) ("Submenu is accessed" "by holding down a button" "and rolling out the right side") 1.0 (LEFT TOP) (HELVETICA 8 (MEDIUM REGULAR REGULAR)) ((72.0 208.0 108.0 9.0) (72.0 199.0 125.0 9.0) (72.0 190.0 141.0 9.0)) NIL)) ((.05 12.0 NIL) ( TEXT (72.0 . 216.0) ("Submenu indicators") 1.0 (LEFT BOTTOM) (HELVETICA 10 (MEDIUM REGULAR REGULAR)) ((72.0 216.0 122.0 12.0)) NIL)) ((.05 12.0 NIL) (TEXT (196.0 . 0.0) ( " Figure 14. Defaults Menu item showing submenus" " ") 1.0 (CENTER BASELINE) (HELVETICA 12 ( MEDIUM REGULAR REGULAR)) ((10.0 3.0 373.0 13.0) (194.0 -10.0 5.0 13.0)) NIL)) ((0.0 34.0 NIL ) (OPENCURVE ((128.0 . 184.0) (116.0 . 168.0) (108.0 . 148.0) (112.0 . 116.0)) (ROUND 2 7) NIL ((LINE 30.0 12.0) NIL))) ((0.0 18.0 NIL) (OPENCURVE ((152.0 . 184.0) (164.0 . 176.0) ( 172.0 . 160.0) (184.0 . 148.0)) (ROUND 2 7) NIL (NIL (LINE 30.0 12.0)))) ((.1 4 NIL) ( SKIMAGEOBJ {(BMOBJ.GETFN2)gUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV8UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV80 UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV0 8UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV8UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV0UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV07UUUUUUUUUUUUUUUUUUUUV670`660` UUUUUUUUUUUUUUUUUUUUV36603660(UUUUUUUUUUUUUUUUUUUUVs6w0cc*UUUUUUUUUUUUUUUUUUUUVcc)Vc*c!5V01*0015V00?*7715V76670 01*66660 0 ?5V663660010*663660a1015V63s6w03ṱ3?*13115V311*1315Va13*UUa?1?5Vc0 *UUc0 5Vc0??*UUc~?>?15Vcsgc01*UUcccc?015Vcccc?01*UUcccc 015Vccgc?01*UU>c?>?5V??*UU?5V'UU ϏVUU'?V??`@`UU NbyFsFNFsV<<NgNsNNNsUU?<`0!NgNsN@NsV> >`0NgNsNOsUUc+VcUUc)Vc00*UUa0p0!05V`0  *UU`!  5V???*UU)1335Vc81 01*UUyc*UUUUUUUUU? 015Vc0 03311*UUc(UUUUUUUUU1 1335Vc81*UUa UUUUUUUUU5V1*UUUUUUUUUUU5V*UUUUUUUUUUU5Vs*UUs UUUUUUUUU5V1*UU11aUUUUUUUUUc5V11ᔪ*UUm11UUUUUUUUU5Vm??픪`*UUm00mUUUUUUUUU35Va11퐪*UUa? UUUUUUUUU5V*UUUUUUUUUUU5VUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUU UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUU(UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV1;UU1*UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUU1(UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV19UU` UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV`UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUU0UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV0UU67UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV61UU1UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV1UU1UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVqUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUU0UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV0UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV1UU1UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV7UU6UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVv1UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV} (24.0 28.0 357.0 150.0) 1.0 (0 . 0)))) (0 0 402.0 228.0) 1.0 4.0 The menu item for this command is followed by a gray triangle pointing to the right indicating a submenu (see Figure 14). To retrieve the submenu, press down the left button, slide the cursor to the right through the triangle, and select the desired subcommand before releasing the button. Continue holding the button and slide through the desired submenu item to obtain the subsubmenus. When the desired item is found, release the button while the cursor is over it. If you wish to choose a different item from a higher-level menu, slide to the left and the submenus will be withdrawn. Line enables you to change the default line size. A pad of numbers is displayed from which you choose the size and click OK to exit. If you don't wnat to change the brush size, select OK when the size is zero to cancel the command. A submenu allows you to change the default brush shape or size. Shape enables you to change the brush shape. The most recent change becomes the default for all new elements created. Choose from the following submenu: Round, Square, Vertical, Horizontal, Diagonal Size is the same as Line above. Add Arrowhead enables you to set whether or not newly added open lines and curves get arrowheads on either or both ends. After selecting this item, you are given a menu of the following choices from which you can pick one, or click outside if you don't want to make any change. First, Last, Both, Neither, Left, Right Arrowhead enables you to change the default arrowhead size. A pad of numbers is displayed from which you choose the arrowhead size and click OK to exit. If the arrowhead size is not to change, select OK when the size is zero to cancel the command. The arrowhead size is given in screen points. When the arrowhead is added, the screen point size is scaled to get its real sketch size. This size is then scaled as the line or curve scales. A submenu allows you to change the default arrowhead size, angle, and type. Size is the same as Arrowhead above. Angle enables you to change the angle of the default arrowhead. A pad of numbers is displayed from which you choose the angle in degrees. If the arrowhead angle is not to change, select OK when the size is zero to cancel the command. Type enables you to change the type of the default arrowhead. A menu of types is displayed from which you choose the new default. Currently there are two types: V-shape and triangle. In V-shape, the arrowhead consists of two lines from the head. In Triangle the arrowhead consists of a triangle (two lines from the head and a line connecting their endpoints). Text enables you to change the size of new text. A menu of the known font sizes is displayed from which you choose the size. Note: not all fonts are available in all sizes. The submenu allows you to change the size, face, and alignment properties of new text. Size is the same as Text above. Font enables you to change the font family property of new text. You specify a font family using the same method as when the font property of text is changed (described under the Change command). If the specified font cannot be found in the current default size, an error message is printed and the default is not changed. Horizontal Alignment enables you to change the horizontal alignment property of new text. The choices are: Center, Left, Right Vertical Alignment enables you to change the vertical alignment property of new text. A menu of alignments is displayed from which you choose the new default. The choices are: Top, Center, Baseline, Bottom Looks enables you to change the face property of new text. A menu of faces is displayed from which you choose the new default. The choices are: Regular, Bold, Italic, Bold/Italic Text Box enables you to change the horizontal alignment of text within new text boxes. The default for text boxes is different from the default for text. Its initial setting is Center. The submenu allows you to change the horizontal and vertical alignment properties of new text boxes. Horizontal Alignment enables you to change the horizontal alignment property of text within new text boxes. The choices are: Center, Left, Right Vertical Alignment enables you to change the vertical alignment property of text within new text boxes. A menu of alignments is displayed from which you choose the new default. The choices are: Top, Center, Baseline, Bottom Grid displays and changes the grid that determines where points can be positioned on the display. When the grid is on, only points on the corners of the grid can be specified for any sketch operations. This makes it much easier to align parts of the sketch. The default is to have a grid turned on with a default grid size of about half a centimeter (see Figure 15). If the grid is off, any point can be selected. The main menu Grid item flips back and forth between using and not using the grid. Submenu items are available to display the grid and to change its size. The grid is always on a power of two in the sketch coordinate space. This means that the same points are accessible on the grid as the sketch scale changes. (NIL ((.05 13.0 NIL) (TEXT (224.0 . 0.0) ( "Figure 15. Sketch window with default grid displayed ") 1.0 (CENTER BASELINE) (HELVETICA 12 ( MEDIUM REGULAR REGULAR)) ((27.0 -3.0 395.0 13.0)) NIL)) ((.1 4 NIL) (SKIMAGEOBJ {(BMOBJ.GETFN2)UUUUUUUUUUUUUUUUUUUUUUUUUUUPUUUUUUUUUUUUUUUUUUUUUUUUUUUPUP333333333333UwfffffffffffgPnvH[Μ͠Uz-m]P5Pm 333333333333U}m[}fffffffffffgP;l݌͠UPU@PU@PU@P@@@@@@@@@@@@U@PU@PU@PU@PU@PU@PU@PU@P@@@@@U@@@P@@U@@@P@@U@@@P@@U@@@P@@U@@@P@@U@@@P@@U@@@P@@U@@ @P@@@P d`@@@@@@U@@$@P@$@U@@ $ @P@ @U@@@P@@U@@@P@@U@@@P@@U@@@P@@U@@@P@@U@@@P@@@@@U@PU@PU@PU@PU@PU@PU@PU@@P@@@@`@@@@@@@U@PU@PU@PU@P`U@PU@P0U@ PU@P@@@@@@p@@@@@U@ PU@PU@`P@U@@P@U@@P@xU@A0P!F U@PPU@`P@@@@@@@@@@@U@ PU@PU@PU@PU@PU@P U@ P U@ P@@@@@@@ @@@@@U@ P U@!!P"@U@@P! U@PU@PU@PU@PU@ P@@@@@@@@@@@@U@`PU@P U@0PxU@PU@PU@PU@PU@P@@@@@@@@@@@@U@PU@PU@PU@P0U@P paǏU@ $̎""B"P "?U@h" P @" "U@ @$B"B"QP@@p8ŇNq{@@@U@PU@PU@PU@PU@PU@PU@PU@PUUUUUUUUUUUUUUUUUUUUUUUUUUUPUUUUUUUUUUUUUUUUUUUUUUUUUUUPUUUUUUUUUUUUUUUUUUUUUUUUUUUP } (80.0 24.0 220.0 203.0) 1.0 (0 . 0)))) (0 0 542.0 220.0) 1.0 8.0 A submenu of commands can be obtained by rolling out the right side of this menu item. The submenu commands are: Turn Grid On turns the grid on; any points selected are on the grid. Turn Grid Off turns the grid off; any point can be selected. Larger Grid doubles the space between the grid points. Smaller Grid halves the space between the grid points. Display Grid displays a point at each point on the grid. If the grid points are closer than three points together they are not shown. Instead, a message giving the number of screen points per grid point is displayed in the status window above the sketch window. If the grid points are a large distance apart, a message indicating how far apart the grid points are is displayed also. Remove Grid Display removes the grid display. Move View changes the portion of the sketch that is visible in the window. You specify the new portion of the sketch to appear in the window by depressing any mouse button at one corner and sweeping the cursor to the other corner (see Figures 16 and 17). The specified region is outlined in gray. When the button is released, the portion of the sketch within the gray box is scaled to fill the sketch window. The box maintains the same aspect ratio as the window. The section may be smaller or larger than the current window size. This command can be canceled by typing control-E. (Note: the sketch can be scrolled either horizontally or vertically using the standard Interlisp-D scroll bars at the left and bottom of the window.) Use the subitem Home to return the sketch to its original form. (NIL ((.1 4 NIL) (SKIMAGEOBJ {(BMOBJ.GETFN2)kt㻎8Αݷu]m[ouYjouooݻuwqٟ㽎0c              R R                     UUUUP t    p  G (       8  8 8D D H H 8nD "D "H :      @ 0           & T3 W(  T&) } (74.0 60.0 129.0 134.0) 1.0 (0 . 0))) ((.1 4 NIL) (SKIMAGEOBJ {(BMOBJ.GETFN2)kt㻎8Αݷu]m[ouYjouooݻuwqٟ㽎0c 0   ` @pp @   `  @  f   @ @     `   ` `  @ p@ @ @ @    ? qÌp a 0 `@ `@ a @ q0@ ?@           @ @     @    pp   } (314.0 60.0 127.0 134.0) 1.0 (0 . 0))) ((.1 16.0 NIL) ( WIRE ((288.0 . 112.0) (272.0 . 128.0)) 5 NIL)) ((.1 16.0 NIL) (WIRE ((288.0 . 112.0) (272.0 . 96.0)) 5 NIL)) ((.1 88.0 NIL) (OPENCURVE ((192.0 . 120.0) (216.0 . 120.0) (256.0 . 120.0) (280.0 . 120.0)) (ROUND 5 7) NIL (NIL NIL))) ((.1 88.0 NIL) (OPENCURVE ((192.0 . 104.0) ( 216.0 . 104.0) (256.0 . 104.0) (280.0 . 104.0)) (ROUND 5 7) NIL (NIL NIL))) ((.1 42.0 NIL) ( OPENCURVE ((160.0 . 80.0) (178.0 . 76.0) (194.0 . 68.0) (202.0 . 60.0)) (ROUND 2 7) NIL NIL)) ((.05 13.0 NIL) (TEXT (210.0 . 52.0) ("specified" "region") 1.0 (LEFT BASELINE) (HELVETICA 10 (MEDIUM REGULAR REGULAR)) ((210.0 56.0 54.0 12.0) (210.0 44.0 39.0 12.0)) NIL)) ((.1 56.0 NIL) (CLOSEDCURVE ((202.0 . 60.0) (210.0 . 68.0) (224.0 . 72.0) (248.0 . 72.0) (256.0 . 56.0) (256.0 . 40.0) (240.0 . 32.0) (210.0 . 36.0) (200.0 . 48.0)) (ROUND 2 7) NIL)) (( .05 13.0 NIL) (TEXT (240.0 . 8.0) ("Figure 16. Zooming In With Move View") 1.0 (CENTER BASELINE) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((97.0 5.0 286.0 13.0)) NIL))) (0 0 427.0 174.0) 1.0 8.0 (NIL ((.1 4 NIL) (SKIMAGEOBJ {(BMOBJ.GETFN2)UUUUUUUUUUUUUUUUUUUUUUUUUP@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@?;8;;lgmuh@=vkcwh@=vov9x>nux>ogc@?@?  @ @  (@&@! ` @ @ ? @ 0@88@ @   ` 0@  @   3@ @@ ?   @ @ @  @ @  ` @ @@ `@ `@  @  @ p     @ @   0@ 0@ 0 0 n>0@ ~1@ fp3 f`3  `3 @ `3 @ f`3  f`3  `1 @ `>0@@ @ @ @ @   @ @ @  @ @   @ @ @   @ `@   88@ @ ?  @ @   @ @   @ @   @ @   @ @  ?@@@@@@*UUUUUUUUUUUUUUUUUUUUUUUUT} (29.0 53.0 212.0 214.0) 1.0 (0 . 0))) ((.1 40.0 NIL) (OPENCURVE ((216.0 . 92.0) (240.0 . 92.0) (248.0 . 84.0) (256.0 . 76.0)) (ROUND 2 7) NIL NIL)) ((.05 13.0 NIL) (TEXT (256.0 . 60.0) ("specified" "region") 1.0 (LEFT BASELINE) (HELVETICA 10 (MEDIUM REGULAR REGULAR)) ((256.0 64.0 54.0 12.0) (256.0 52.0 39.0 12.0)) NIL) ) ((.1 56.0 NIL) (CLOSEDCURVE ((248.0 . 68.0) (256.0 . 76.0) (280.0 . 84.0) (296.0 . 84.0) (304.0 . 72.0) (296.0 . 56.0) (280.0 . 48.0) (256.0 . 44.0) (248.0 . 60.0)) (ROUND 2 7) NIL )) ((.1 4 NIL) (SKIMAGEOBJ {(BMOBJ.GETFN2)kt㻎8Αݷu]m[ouYjouooݻuwqٟ㽎0c    ሀ @E B @E ሀ                                @    `   ? ` F ( @  `       @      ` $$   $$ q       @ @    ?  (1l0ŀ (IHI& D9$x  |I$@ $ u$8Ā } (344.0 72.0 129.0 131.0) 1.0 (0 . 0))) ((.1 16.0 NIL) (WIRE ((328.0 . 124.0) (312.0 . 108.0)) 5 NIL)) ((.1 16.0 NIL) (WIRE ((328.0 . 124.0) (312.0 . 140.0)) 5 NIL)) ((.1 88.0 NIL) (OPENCURVE ((232.0 . 132.0) (256.0 . 132.0) ( 296.0 . 132.0) (320.0 . 132.0)) (ROUND 5 7) NIL (NIL NIL))) ((.1 88.0 NIL) (OPENCURVE ((232.0 . 116.0) (256.0 . 116.0) (296.0 . 116.0) (320.0 . 116.0)) (ROUND 5 7) NIL (NIL NIL))) ((.05 13.0 NIL) (TEXT (240.0 . 10.0) ("Figure 17. Zooming Out With Move View") 1.0 (CENTER BASELINE ) (HELVETICA 12 (MEDIUM REGULAR REGULAR)) ((91.0 7.0 299.0 13.0)) NIL))) (0 0 458.0 260.0) 1.0 8.0 The Move View command is followed by a gray triangle pointing to the right indicating a submenu. To retrieve the submenu, slide the cursor to the right through the triangle and select the desired subcommand before releasing the button. The submenu gives you other ways to change the view on the sketch. Zoom does the same action as Move View. AutoZoom changes the scale around a selected point. Holding the left button down zooms in toward the cursor. Pressing the middle button zooms out from the cursor. The amount of each scale jump is determined by the global variable AUTOZOOM.FACTOR and is initially .8. Holding either button down zooms continuously in the appropriate direction. Use Home to return the sketch to its original form. Press any button outside the window to stop autozoom mode. Home returns you to a view at scale of 1.0, which has the origin in the lower-left corner. This is useful if you lose the sketch after scrolling or using Zoom or AutoZoom. Locator puts up a small window that displays the cursor's location in sketch coordinates whenever the cursor is inside the sketch window. New Window opens another window onto the same sketch. The second window can be scrolled or zoomed without affecting the view in the original window. This allows one window to act as an overview while the other can be used to blow up an intricate part of the sketch and make detailed changes. Any changes made to either of the windows are reflected in both windows. Hardcopy sends the image in the window to the DEFAULTPRINTINGHOST. The image is centered in the page. Hardcopy has a submenu that can change the display to hardcopy mode or makes a printer file of the current view of the sketch in either Press or Interpress format, and, optionally, sends it to the printer. Each of the subcommands has subitems that allow the choice of Press or Interpress. If the submenu is not used to specify the print format type, the type appropriate for the first entry on DEFAULTPRINTINGHOST is used. The subcommands are: File Only prompts for a file name and makes an image on it. Print Only prints the image but doesn't save the file. File & Print prompts for a file name, makes an image on it, and prints the image on DEFAULTPRINTINGHOST. Hardcopy Display displays the text in the window as close as possible to the way it will look when printed. Text fonts have significantly different widths on the display and on the Press printer. Normal Display displays the text in a way more easily read and edited on the screen. Put saves the sketch on a file. The sketch can be retrieved by the Get command. Sketches can also be saved by including them in TEdit documents (see below). Get retrieves a sketch from a file. Any elements in the window before the Get will still be there. Fix Menu (which appears in the pop-up menu only) fixes the menu to the right edge of the sketch window. INCLUDING IMAGE OBJECTS IN A SKETCH Other Interlisp-D image objects (such as bit maps) can be placed in sketches by using the standard copy-select mechanism. For example, to include a bit map image, hold down the copy-select key, move the cursor into the background, press the right button, and select Snap from the offered menu. Select the region of the screen to be included, move the cursor back into the sketch window, and place the bit map image (which should now be following the cursor) in place. (Note: image objects do not scale.) Image objects in sketches can be moved, copied and deleted like any other elements. Calling Change on an image object or pressing a button down while over its image in the sketch window calls that object's BUTTONEVENTINFN, which is often an editor for the object. PUTTING SKETCHES INTO TEDIT DOCUMENTS Sketches can be included in documents by copy-selection. Select the location in the document where the sketch is to go. Hold down the copy-select key. Move the cursor into the sketch window and select the pieces of the sketch to be inserted. The whole sketch can be selected by double-clicking on a sketch element. While selecting pieces, the right button removes elements from the selection. When the desired elements have been selected, release the copy-select key. The sketch is inserted into the document; it will be the size of the window from which it is copied. To change its shape, reshape the sketch window. The copy-selection process can be aborted by moving the cursor outside the sketch window while a button is down. The sketch is adjusted so that the lower-left corner of the inserted sketch is on a grid point. This is done so that when the sketch is edited, the grid remains aligned with existing points. The grid can be made smaller before the copy-insertion to reduce the amount of adjustment. Note: You must have Sketch loaded to edit or look at a TEdit document that has a sketch object in it. If Sketch isn't loaded, Tedit will break with an undefined function SKIO.GETFN. From the break window, load Sketch and type OK into the break window. Also, TEdit will display a sketch only if the TEdit window is at least as tall as the sketch. A sketch that is in a document can be edited by pressing the left button inside it and selecting the offered menu item Edit Sketch. This prompts for a position of a sketch window the same size as the sketch. In this window, the sketch can be edited, scrolled, zoomed, etc. A sketch so edited may contain elements that are not visible in the printed document. These elements can be exposed by zooming or scrolling. When the window is closed, you are offered a chance to place the sketch back into the document. If you accept, the current view of the sketch is placed into the document. The sketch window has the menu already fixed beside it. COPYING FROM ONE SKETCH TO ANOTHER Parts of a sketch can be copied from one sketch to another using a protocol similar to the above. Select the target sketch. Hold-down the copy-select key. Move into the source window and select the desired elements using the left- and right-button protocol described earlier. When the copy-select key is released, position the cursor back in the target window. You will be dragging an image of the selected elements that can be placed in the target by pressing and releasing the left button. For now, the scale of the transferred elements is not changed, so the image in the new window may be a different size after the transfer. COPYING THE TEXT OUT OF A SKETCH AS CHARACTERS You can copy the text characters in a sketch (i.e., text and text box elements) by using the selection procedure described above, but selecting elements with the middle button instead of the left one. When the copy-select key is released, the characters in selected text and text box elements are copied. SKETCH IMPLEMENTATION NOTES SKETCHW.CREATE Sketch SketchRegion ScreenRegion Title InitialScale BringUpMenuFlg InitialGrid [Function] opens a sketch window onto the sketch Sketch. Sketch can be NIL, where an empty sketch is generated and given a name, a sketch, or the name of a sketch. SketchRegion, if given, is a region in sketch coordinates of the part of the sketch to be initially displayed. ScreenRegion can be a region, the screen region to be used for the sketch window, or a window to be used as the sketch window. Title is used as the title of the sketch window. If Title is NIL, the title "Viewer Onto SketchName" is used. InitialScale, if a number is the initial scale of the sketch; 1.0 is the default. If BringUpMenuFlg is non-NIL, the sketch operations menu is brought up beside the right edge of the window. InitialGrid indicates whether to use a grid. If it is a number, the grid is set to the least power of two greater than InitialGrid. If InitialGrid is T, the grid is set to allow approximately half a centimeter between grid points. If it is NIL, no grid is used. BringUpMenuFlg can be a menu, in which case it is brought up beside the right edge of the window. The standard Sketch command menu is the SKETCHPOPUPMENU property of the window. (EDITSLIDE Sketch) [Function] opens a window the size of a sheet of 8 1/2 by 11 paper. This is useful for laying out slides or other full-page images. Programming Note If a sketch window has a non-NIL value for the property DONTQUERYCHANGES, you are not asked to confirm the close even though changes have occurred. (LIST ((PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY GACHA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE BOO) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY GACHA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE BOO) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY GACHA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE BOO) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))  PAGEHEADINGBOO HELVETICA  TIMESROMAN EDITMARK.STYLEFN HELVETICALOGO HELVETICA  HELVETICA EDITMARK.STYLEFN HELVETICA EDITMARK.STYLEFN HELVETICA EDITMARK.STYLEFN HELVETICA EDITMARK.STYLEFN HELVETICA EDITMARK.STYLEFN HELVETICA EDITMARK.STYLEFN HELVETICA EDITMARK.STYLEFN HELVETICA    HRULE.GETFN  SKIO.GETFN.2 HELVETICA EDITMARK.STYLEFN    p     ~  >  %    SKIO.GETFN.2 &  T  j      V   ! u  SKIO.GETFN.2 w BMOBJ.GETFN2 SKIO.GETFN.2 HELVETICA EDITMARK.STYLEFN_& BMOBJ.GETFN2 T SKIO.GETFN.2 HELVETICA EDITMARK.STYLEFNr( BMOBJ.GETFN2 BMOBJ.GETFN2.< SKIO.GETFN.2 HELVETICA EDITMARK.STYLEFN   C S&   R BMOBJ.GETFN2 HELVETICA EDITMARK.STYLEFN2 BMOBJ.GETFN2 HELVETICA EDITMARK.STYLEFNN: BMOBJ.GETFN2 HELVETICA EDITMARK.STYLEFN: BMOBJ.GETFN2 HELVETICA EDITMARK.STYLEFN: BMOBJ.GETFN2 : BMOBJ.GETFN2 HELVETICA EDITMARK.STYLEFNq: BMOBJ.GETFN2 6 BMOBJ.GETFN2 HELVETICA EDITMARK.STYLEFNs: BMOBJ.GETFN2 : BMOBJ.GETFN2 HELVETICA EDITMARK.STYLEFN3 SKIO.GETFN.2 HELVETICA EDITMARK.STYLEFN" BMOBJ.GETFN2 f SKIO.GETFN.2 HELVETICA EDITMARK.STYLEFN; = SKIO.GETFN.2 $  \( BMOBJ.GETFN2 3 SKIO.GETFN.2 !( BMOBJ.GETFN2E  Z=$ BMOBJ.GETFN2( BMOBJ.GETFN2 O SKIO.GETFN.2 HELVETICA EDITMARK.STYLEFN#  /   3   2|)0'>] SKIO.GETFN.2 HELVETICA EDITMARK.STYLEFNc;.7*)H SKIO.GETFN.2 HELVETICA EDITMARK.STYLEFNy  SKIO.GETFN.2 HELVETICA EDITMARK.STYLEFN H V  [  3 :  :$ EH:;<H SKIO.GETFN.2 HELVETICA EDITMARK.STYLEFN %)jh  HP  SKIO.GETFN.2 O A. (M%n L ,1 [  E  X   #  j   SKIO.GETFN.2 HELVETICA EDITMARK.STYLEFNrE=77  l . P Y   N SKIO.GETFN.2 HELVETICA EDITMARK.STYLEFN  SKIO.GETFN.2 HELVETICA EDITMARK.STYLEFN1)X  $ h  r'<7iU dj$    ?4  D ;    .  P + " +"  |.  2 N &  e d t 0   J \ ,  6   O  a =  zҵMz