\begindata{text,538300220} \textdsversion{12} \template{help} \define{global } \chapter{\center{Raster: An Editor for Digitized Pictures}} \section{What Raster is} \leftindent{Raster is a program that helps you edit digitized pictures called rasters. As with other programs in the EZ family, you can use Raster as a stand-alone program or by adding a Raster \italic{ }\helptopic{inset} to another document. }\section{What is a raster? }\leftindent{ Rasters are pictures in a form that computers can display and manipulate. They are a pattern of many rows of black and white dots called "pixels." The computer stores each pixel and its location as a pattern of bits, so rasters are sometimes called "bit map images." There are no gray pixels in a raster, but shades of gray are created by intermingling the black and white pixels in different proportions. You can make rasters with the \helptopic{ezscan} program, or use a supplied raster, as explained below. This help document has the following sections: \leftindent{Starting Raster Creating your own rasters Reading in an existing raster Using Raster's three modes \leftindent{--Region Select Mode --Panning Mode --Touch Up Mode --Other Tools} Selecting a region Editing in Region Select Mode Using and Pasting Down Insets Cropping a raster Changing raster size and shape \leftindent{--Extending to Mat --Scaling} Drawing in TouchUp Mode Moving around in the window \leftindent{--using scrollbars --by using Panning Mode --with menu options} Zooming The Toolset Window Saving and Quitting Printing Pop-Up Menu Meanings Preferences Related Tools } For historical reasons, rasters on Andrew are stored in several different formats. You can use Raster to edit files in all of the following formats: \leftindent{ RasterFile format, the format in which screen snapshots are currently stored (also called "OldRaster") BE2/ATK Raster Version 1 BE2/ATK Raster Version 2, the current format} Raster automatically converts rasters in all formats into the most current ATK raster format, but you can convert them back if you need to. See the \helptopic{convertraster} help document for details. Raster also provides special menu options for reading and writing images in MacPaint and Postscript format. See the section on \bold{Pop-Up Menu Meanings} for details. }\section{Starting Raster } \leftindent{You can edit a raster either in its own window using the Raster application, or as an inset in a text or table document, as explained in the \italic{ }\helptopic{insets}\italic{ }help document. For example, you can }\leftindent{use any of the following commands: }\typewriter{\leftindent{ez filename.raster }\leftindent{raster filename}}\leftindent{ and press Enter to get a Raster window. }\leftindent{If you type \typewriter{raster} without specifying a filename, the Raster program prompts you on the message line for a filename; you cannot begin editing until you provide one.} \leftindent{\bold{Starting Raster as a inset.} As explained in the \italic{ }\helptopic{insets} help document, there are two ways to add a raster inset to a document or table: 1) Esc-Tab, or 2) the \bold{Insert File} or \bold{Imbed} menu options. } \leftindent{For either method, you need to type "raster" at the prompt: \typewriter{Data object to insert here: raster}} \section{Creating your own rasters} \leftindent{To create your own rasters, you "scan" printed images or photographs at one of the publicly available scanners. See the \helptopic{ezscan}\italic{ } help document for details. You can also edit rasters created with the MacPaint program, and you can copy rasters from other Andrew users.} \section{Reading in an existing raster} \leftindent{In addition to editing rasters that you create, you can copy and edit rasters maintained in a library. The \helptopic{rasters} help document lists all the rasters available in this library. The easiest way to copy one of them is to create an empty raster file and then use a menu option to read a raster into the empty "frame" that appears. You can read these rasters into an inset, too. \bold{Warning:} You use two different menu options to read a raster into a stand-alone Raster window or into an inset. Using the wrong option can cause printing and other problems.} \leftindent{\bold{Reading into a stand-alone Raster window.} To read an existing raster into the raster window (either into the empty frame, or to replace the raster currently in the window), choose\bold{ Read Raster} from the \italic{Raster I/O} menu card (not the \italic{File} menu card). }\leftindent{To read in a raster in MacPaint or OldRaster format, choose the appropriate menu option from the \italic{Raster I/O} menu card. Note that Raster converts such rasters into its own format for you to edit. You can reconvert to MacPaint format when you are finished editing by using the \bold{Write MacPaint} menu option on the \italic{Raster I/O} menu card. To convert back to OldRaster format, you have to use the Convertraster program (see the \helptopic{convertraster} help document). \bold{Reading into an inset.} To read a raster into an empty inset, or to replace the raster currently in the inset, give input focus to the inset by clicking the left mouse button once inside it. Choose\bold{ Read Raster} from the \italic{File} menu card. The inset automatically expands to accommodate the raster you read in. (You can inset rasters into EZ text and Table documents. See the help documents on \helptopic{ez}, \helptopic{table}, or \helptopic{insets} for more information.) Note that the\italic{ Raster I/O} menu card is not available for inset rasters, so you cannot read in files in anything but the current raster format. }\section{Using Raster's three modes} \leftindent{Raster has three "modes," plus an additional set of editing tools which can be called up. Entering a mode allows you to perform certain actions that are not possible in the other modes. } \leftindent{You enter a mode by choosing it from the \italic{Raster} menu card. You can tell which mode you are in because the cursor is different for each one. The sections below provide complete descriptions, but here is a brief overview of what you can do in each mode:} \leftindent{\bold{Region Select Mode.} This is the most "basic" mode, in which you can select different regions of a raster (as well as the entire raster) and edit them in numerous ways. The cursor in Region Select Mode is a circular "target" with four cross hairs pointing into its center.} \leftindent{\bold{Pan Mode. } While you are in this mode, you can move the raster around in the window very precisely. It is particularly useful for moving in inset rasters, which do not have scrollbars. Raster allows you to have empty white space on all four sides of the raster, so you can move a raster anywhere in the window you choose. The only restriction is that at least some of the raster must be visible. The cursor in Pan Mode is a cross. See the section on \bold{Moving around in the raster window} for more details.} \leftindent{\bold{Touch Up Mode.} This mode allows you to "draw" freehand on the raster, placing black and white pixels wherever you choose (in lines, as isolated dots, and so on). The cursor in Touch Up Mode looks like a little pencil. }\leftindent{\bold{Other Tools.} If you wish to edit the raster using more powerful tools, you can call up an additional "toolset" window. To do this, choose \bold{Toolset} on the \italic{Raster} menu card. These tools are described in the "Toolset Window" section near the end of this help file. } \section{Selecting a region} \leftindent{While you are in Region Select Mode, you can select either a part of a raster or the whole raster at once. All selected regions in Raster are rectangular in shape. } \leftindent{\bold{Note:} if you are working with an inset raster, and the input focus is currently outside the inset, you need to give the input focus to the raster by clicking the left mouse button in the inset once. Then follow the instructions below.} \leftindent{\bold{Selecting a region.} To begin a selection, make sure you are in Region Select Mode. Click the left mouse button while the center of the target cursor is over the exact location where you want one corner of the selected region. Raster draws a tiny "selection box" around the single pixel at that point. Move the cursor to where you want the opposite corner (diagonally) of the selected region and click the \bold{right} mouse button. The selection box is redrawn to incorporate the region you have selected.} \leftindent{You can also select a region by pressing and holding the left mouse button where you want the selection to begin, then dragging the cursor along the diagonal of the selection box you want. The box grows as you drag. Release the button to complete the selection.} \leftindent{\bold{Changing the size of a selected region.} Once you have selected a region, you change its size and shape by using the right mouse button. You can either change one dimension of the selection box (height and width) at a time, or both at once.} \leftindent{\leftindent{\bold{\italic{Making one dimension bigger.}} Imagine that the selection box is the intersection of two broad bands that cross. The width of the vertical band is the width of the selected region, and the height of the horizontal band is the height of the region. When you click the right mouse button outside the selected region but within one of these two bands, the side closest to the click is pulled out to the point where you click, without affecting the opposite side or the other dimension of the selected region. }} \leftindent{\leftindent{\bold{\italic{Making one dimension smaller.}} Press and hold (rather than click) the right mouse button while the cursor is outside the selection box but within one of the two imaginary crossing bands. That side of the box initially expands out, but you can then drag it in to make the box smaller.}} \leftindent{\leftindent{\bold{\italic{Making both dimensions bigger. }} Click the right mouse button outside the selection box, and outside the two imaginary crossing bands. The corner of the box closest to where you click moves out to the click location. The two sides that meet at that corner expand out. You can also press and hold the right mouse button to move the corner around. The diagonally opposite corner stays in its original position.}} \leftindent{\leftindent{\bold{\italic{Making both dimensions smaller. }} Click the right mouse button inside the selection box. The corner closest to where you click moves to the place where you click, and the two sides that meet at that corner shrink in. You can also press and hold the right mouse button to move the corner around. The diagonally opposite corner stays in its original position. }} \leftindent{\bold{Selecting the entire raster.} Click the left mouse button two times anywhere within the raster. A thin black frame appears around the whole raster, and the hollow boxes in the scrollbars extend from endzone to endzone. } \leftindent{If you are working with an inset raster, and the input focus is currently outside the inset, move the cursor into the inset and click the left mouse button rapidly three times. The first click gives input focus to the raster and the second two clicks select the whole raster. } \leftindent{If a region is currently selected, you can select the entire raster by choosing \bold{Select All} from the \italic{Raster} menu card. This works in both stand-alone and inset rasters. } \section{Editing in Region Select Mode} \leftindent{Once you have selected a region or the whole raster, you can manipulate it in several ways by choosing options from the \italic{Raster Ops} menu card. You can make the selected area all black, all white or one of 15 shades of gray, and you can create mirror images across both the vertical and horizontal midlines of the region. If the entire region is selected and is not the result of cropping, you can rotate it repeatedly in 90 degree increments. For details, see the\italic{ Raster Ops} part of the \bold{Pop-Up Menu Meanings} section. \bold{Copying a region. } To copy a region of a raster, select the desired region and choose \bold{Copy} from the front menu card. This region can be referred to as a "copied-region." \bold{Replacing a region.} To replace a region of a raster with a copied region, select the region you want to replace (call it the "replace-region") and choose\bold{ Replace} from the front menu card. Note that the copied region can either be from the same raster or from another raster you are editing at the same time. In general it is quite difficult to make the replace-region exactly the same size as the copied-region. If the copied-region is larger, then Raster inserts as much of the copied-region as will fit in the replace-region, starting in the upper left hand corner of both regions. If the copied region is smaller, Raster replaces as much of the replace-region as the copied-region will cover, again starting in the upper left hand corner of both regions, and leaves the rest of the replace-region as it was. The \italic{Paste} tool in the toolset window makes it easier to position the replace-region. It also allows you to combine the copied-region with the replace-region instead of totally overwriting it. See the "Toolset Window" section of this file. \bold{Scaling the copied region to fit.} To make sure the copied-region will fit into the replace-region, choose \bold{Replace Scaled} from the front menu card. Raster scales the copied-region so that it will fit exactly into the replace-region. Scaling a region is like putting it on a sheet of rubber and then stretching or shrinking the piece of rubber--the pixels seem to get "pulled apart" or "pushed together." If the two regions are similar in size, the scaling will not be very noticeable, but if the regions differ widely in size or shape, then distortion and loss of detail are inevitable. For example, if the copied-region is wider than the replace-region, then the scaled copy will look as though it had been stretched vertically and shrunk horizontally. Most of the time, you can avoid excessive distortion and get a satisfactory result by making the replace-region similar to the copied-region in size and shape before choosing \bold{Replace Scaled}. If you need to be especially precise, you may wish to use the Zoom feature before copying and replacing. Zoom to a level that allows you to count individual pixels (zoom level 8 or more). See the section on \bold{Zooming} for details.} \section{Using and Pasting Down Insets} \leftindent{It is possible to display a block of text (or any other ATK object) on the raster, edit it, and then paste its image down as a pattern of pixels. To do this, first go into region select mode and outline the rectangle that you want the inset to be placed in. Then choose \bold{Overlay Inset} on the \italic{Raster} menu card. You will be prompted for an object to insert; this can be any inset type, such as \italic{text}, \italic{zip}, or \italic{table}. The inset will appear, overlaid on the raster background. You can edit it as you normally could an inset of its type. While you are editing the inset, the Raster tools and menus will not work; if you click outside the inset, the inset menus will go away and the Raster menus will be restored. Click on the inset to go back to editing it. You can switch back and forth from editing the inset to editing the raster as often as you want. To move or resize the inset, click outside it, go into region select mode, and select a new rectangle on the window. Then choose \bold{Resize Inset}. The inset will be repositioned in the new location. While the inset is being edited, it is not actually drawn on the raster. If you zoom in, it will not be visible; if you save the raster, it will not be stored in the file. To make the image permanent, you must "paste it down." To do this, when the inset looks the way you want, click outside it and choose \bold{Paste Down Inset} on the \italic{Raster} menu card. The inset will be converted to a rectangle of pixels and drawn on the raster, using the current paste mode. (See "Paste Modes" in the "Toolset Window" section of this file.) When you paste the inset down, it is deleted; if you want to edit that area further, you must overlay a new inset or use the regular raster tools. If you want to delete an overlaid inset without pasting it down, select \bold{Remove Inset}. Random notes: If you overlay a text inset, it will show up without scroll bars. This means that if you type too much text, some of it will be outside the inset, and you will have to use the cursor movement keys to scroll it around. In general, you should make the inset big enough to display all the text you will enter. During editing, the inset rectangle will be opaque (covering up the background) even if you have selected the \italic{Combine} or \italic{Invert} paste mode. It will be correctly combined or inverted when you paste it down. }\section{Cropping a raster} \leftindent{Cropping a Raster means cutting away parts that you do not want included in the raster any longer (excess background, for instance). Note that cropping works in the "opposite" way from the \bold{Cut} operation in EZ text editing. Whereas in text editing \bold{Cut} removes the selected region, in raster editing \bold{Crop} removes everything \italic{except} the selected region.} \leftindent{\bold{Cropping.} Select the region that you want to keep and choose \bold{Crop} from the \italic{Raster} menu card. The selected region becomes the entire raster and is centered in the window.} \leftindent{\bold{Uncropping.} Raster always maintains a "link" between the cropped region and the raster it came from, so if you want to bring back the original raster, returning the cropped region to its original place, you can choose\bold{ Uncrop} from the \italic{Raster} menu card. } \leftindent{\bold{Cropping and saves.} If you want to throw away the deleted portion and keep only the cropped region, choose \bold{Save} from the front menu card while only the cropped region is in the window. If you want to save the original raster, and put the cropped region into a new, different file, choose \bold{Save As} from the\italic{ File} menu card while only the cropped region is in the window, and give the new file a different filename. To edit the new cropped version, you can then choose \bold{Switch File} to change to it.} \leftindent{\bold{Restrictions on cropping.} Because Raster maintains a "link" between the cropped region and the larger, original raster, you could uncrop the raster at anytime. Some operations change a region in such a way that it would no longer be possible to put it back into its original place. To prevent the problems that could arise, Raster does not allow you to perform such operations on a cropped region (or while any region is selected, for that matter). Once you have cropped a region, you cannot: \leftindent{\italic{Zoom in.} You also cannot crop while you are at any zoom level except normal (no zoom). \italic{Extend to mat.} This could possibly make the cropped region larger than the original raster. \italic{Rotate the region.} \italic{Scale.} If you scale while any region besides the whole raster is selected, Raster automatically and permanently crops away everything but the region (so there would be no original raster left into which you could uncrop).}} \section{Changing raster size and shape} \leftindent{You can enlarge rasters in two ways: by extending the raster's frame to equal the size of the window or inset boundary, and by scaling. You can make rasters smaller by scaling. You change raster shape by scaling. \subheading{Enlarging rasters in windows.} Quite often the raster you are editing is smaller than the window in which it appears. The entire space in the window, including empty white space, is called the "mat." You can enlarge the raster to include the entire mat (including empty white space) by choosing \bold{Extend to Mat} from the \italic{Raster} menu card while the whole raster is selected. The frame expands to surround everything in the window. (Note that the image itself does not expand; the extra area is white space.) You can then fill in the white space by replacing it with raster regions you have copied from elsewhere, by using the options on the \italic{Raster Ops} card, or by drawing in Touch Up Mode. You can add in even more white space by choosing\bold{ Extend to Mat} after enlarging the window again, or after moving the raster so that only a small part of it shows in the window (doing either of these things reveals extra white space in the window). See the section on \bold{Moving around in the window} to learn how to move the raster. \subheading{Enlarging rasters in insets. } Initially, the frame of an inset is the same as the boundary of the inset, so initially an inset raster covers the whole mat. However, you can enlarge the bottom and right boundaries of the inset. Move the cursor over the boundary so that the boundary icon appears. When it does, press and hold the mouse button, and drag the boundary line to a new position. Now the mat is larger than the frame, and you can choose \bold{Extend to Mat}. }\leftindent{Note: If you drag the window boundary inward at any time, portions of the image that fall outside the boundary are not shown. However, they are still "there," so expanding the boundary again causes them to reappear. \bold{Scaling to enlarge, reduce or change shape.} Scaling is like putting the raster on a sheet of rubber and then stretching or shrinking the piece of rubber. Scaling allows you actually to enlarge and shrink raster images, and to change their shape. You can scale the width and the height of a raster by the same amount, or you can scale the two dimensions by different amounts. You always scale the width first, and then the height. You can scale relative to the current size, or you can scale so that the scaled version takes up an exact number of pixels. Scaling both dimensions by the same amount causes the minimum amount of distortion. \bold{Warnings/Restrictions: }Be aware that when you scale down (reduce raster size), there is an inevitable loss of detail because the number of pixels is being reduced. The more detailed the original raster image, the more noticeable will be the loss. If after scaling down you return the raster to its original size by scaling it up again, it will not look the same as the original raster--the detail will be coarser. Scaling up from original size adds pixels and so does not cause as much loss of detail as scaling down, but returning to original size will not necessarily "bring back" the original raster. You can only scale a whole raster, so you cannot scale if a region is selected, or if you have cropped (see the section on \bold{Cropping} to learn how to save the cropped region as the entire raster so that you can scale it). You cannot scale if you are at a zoom level other than normal (no zoom). \leftindent{\bold{\italic{Scaling relative to the current size.}} When the entire raster is selected, choose \bold{Scale} from the \italic{Raster Ops} menu card. The following prompt appears on the message line: \leftindent{Change scale via relative size or absolute pixel [relative]:} Press Enter to choose relative scaling (the default choice always appears in brackets). The message line reads \leftindent{New relative width [1.000]:} If you press Enter, you will not change the width of the raster. Enter a number greater than 1 to scale up; enter a number less than 1 (expressed as a decimal number) to scale down. The message line reads \leftindent{New relative height [Y]:} where the Y is the same amount of scaling as you chose for the width. It is expressed as a propotion of the original height. Press Enter to choose the default and scale the height by the same amount as you scaled the width. Type a number greater than Y to make the new raster look stretched vertically. Type a decimal number less than Y to make the new raster look stretched horizontally. The window goes blank for a moment and the scaled version appears. The message line displays \leftindent{New pixel (width, height): (W, H)} W is the new number of pixels in the width, H the new number in the height. \bold{\italic{Scaling by absolute pixel number.}} When the entire raster is selected, choose \bold{Scale} from the \italic{Raster Ops} menu card. The following prompt appears on the message line: \leftindent{Change scale via relative size or absolute pixel [relative]:} Type \bold{a} to choose scaling by absolute number of pixels. The message line reads \leftindent{New pixel width [X]:} where X is the number of pixels currently covered by the width of the raster. Type in the desired number and press Enter. The Raster program automatically calculates how many pixels the new height will have to be to match the width you just chose. It displays this number as Y in the prompt \leftindent{New pixel height [Y]:} Press Enter to scale the height by the same amount as you scaled the width. Type a number larger than Y to make the new version look stretched vertically, a number smaller than Y to make the new version look stretched horizontally. \bold{\italic{Finding out the current number of pixels.}} If you want to find out how many pixels the raster currently includes, follow the steps for relative scaling, choosing the default each time. You will scale the raster by 1.00 (leaving it unchanged) and the last message will tell you the number of pixels in the raster.}} \section{Drawing in Touch Up Mode} \leftindent{When you are in Touch Up Mode, you can draw black or white pixels onto the raster anyway you like, either as isolated dots or in a connected line. The line is always one pixel in width. } \leftindent{You can draw while zoomed in, if you want to see more exactly where you are drawing. Remember that the line you draw while zoomed is still only one pixel wide, even though it looks wider. } \leftindent{\bold{Entering Touch Up Mode. } Choose Touch Up from the Raster menu card. The cursor turns into a little pencil, and "Touch Up Mode" appears on the message line.} \leftindent{\bold{Drawing black dots and lines.} To draw a black dot, click the left mouse button while the "lead" of the pencil is pointed at the pixel you want to be black. To draw a line, press and hold the left button while you drag in any direction. Release the button to stop drawing.} \leftindent{\bold{Drawing white dots and lines.} To draw a white dot, click the right mouse button while the "lead" of the pencil is pointed at the pixel you want to be white. To draw a line, press and hold the right button while you drag in any direction. Release the button to stop drawing.} \section{Moving around in the Raster window} \leftindent{When you first start the Raster program, the raster appears centered in the window. You have the freedom to move the raster anywhere in the window, the only restriction being that at least a small portion of it must always be visible. There are three ways to move a raster around: by using the scrollbars, by panning, and by choosing two of the menu options on the \italic{Raster Ops} menu card.} \leftindent{\bold{Moving with the scrollbars. }Raster provides you with two scrollbars: a vertical one at the left edge of the window, and a horizontal one at the bottom. As in other programs in the EZ family, you use these scrollbars to move to parts of the raster that are not currently visible in the window. The vertical scrollbar allows you to scroll up and down, and the horizontal scrollbar from left to right. } \leftindent{\bold{Moving by panning. }You can also move to parts of the raster currently outside the window by "panning." Because there are no scrollbars in an inset, this is the only way to move around in an inset. To change into Pan Mode, choose \bold{Pan} from the \italic{Raster} menu card. The cursor changes into a cross and "Pan Mode" appears on the message line. To move the raster image around, press and hold either mouse button. A vertical and a horizontal line appear, extending to the edges of the window and intersecting at the cross. Drag the cursor, and the intersection moves along with it. The original intersection stays in place, so you know where you started. When you release the button, the raster shifts so that the point under the original intersection is now under the new intersection.} \leftindent{\bold{Moving with menu options.} When you are in Region Select mode, two menu options are available that allow you to change the position of the raster quickly and easily. They affect a selected region of the raster, but that region can be the whole raster.} \leftindent{To move the selected region to be flush with the upper left hand corner of the window, choose \bold{Upper Left Region} from the \italic{Raster Ops} menu card. } \leftindent{To center the selected region, choose \bold{Center Region} from the \italic{Raster Ops} menu card.} \section{Zooming} \leftindent{Zooming allows you to look at a raster "closer up" so that you can see the detail better. Each time you zoom in, each raster pixel doubles in size on the screen (the zoom levels are therefore called 1, 2, 4, 8, 16 and so on). You can zoom in as much as you want. } \leftindent{At zoom level 4 and greater, a "Display Box" appears in the lower left corner of the window, to show you what the zoomed area in your window looks like in the normal size raster. Any changes you make to the zoomed area are also reflected in the Display Box; changing the shape and size of the window changes the shape and size of the Display Box, too. } \leftindent{You can use zoom in any of the three modes (Region Select, Pan and Touch Up), and you can change modes while you are zoomed. There are some restrictions on what you can do while zoomed. You cannot:} \leftindent{\leftindent{\italic{Crop.} You cannot crop a raster while you are zoomed, nor can you zoom in on a cropped raster (see the section on cropping to learn how to save the cropped raster as a new raster, and so make it possible to zoom). \italic{Scale.} \italic{Rotate. }} } \leftindent{These menu options are not available when you are at any zoom level other than normal. } \leftindent{\bold{Zooming in.} To zoom in and double the size of each pixel in the raster, choose \bold{Zoom In} from the \italic{Raster} menu card. The window goes blank for a moment and then the zoomed area is redrawn. Because each pixel of the raster is larger, you will not be able to see as much of the raster as before.} \leftindent{\bold{Zooming out.} To zoom out and halve the size of each pixel, choose \bold{Zoom Out} from the \italic{Raster} menu card. At zoom level 2 (one zoom-in), this has the same effect as \bold{Normal Size}. } \leftindent{\bold{Returning to normal size.} Choose \bold{Normal Size} from the \italic{Raster} menu card. } \leftindent{\bold{Moving the Display Box.} By default, the Display Box (available at zoom level 4 and above) appears in the lower left corner of the window. You can move it to any location in the window you choose, in two ways. (Note, though, that it is possible to edit the part of the zoomed raster that is behind the Display Box, so you need not move it for that reason.) }\leftindent{ The first way is to press and hold the left mouse button while the cursor is in the Display Box itself. As you drag the cursor, the Box disappears, and it reappears at the place where you stop and release the mouse button. } \leftindent{The second way is to choose \bold{Move Display Box} from the \italic{Raster} menu card. The message line reads \leftindent{Click left button to select new position for Display Box} Move the cursor to the place where you want the Display Box to appear and click the left mouse button. You can get the Display Box at zoom level 2 if you wish, by choosing \bold{Move Display Box} and clicking the left mouse button where you want the Box to appear. } \leftindent{\bold{Hiding the Display Box.} You can make the display box disappear entirely by choosing \bold{Hide Display Box} from the \italic{Raster} menu card. To make it reappear, choose \bold{Move Display Box }from the same card and click the left mouse button where you would like the Display Box to reappear. } \leftindent{\bold{Touching up while zoomed.} One of the most useful things about zooming is that you can see very exactly where you are drawing in Touch Up Mode. Note that the lines you draw are still only one pixel wide, even though they appear wider. } \section{The Toolset Window } \leftindent{The toolset is a special window containing graphics tools that you can use to edit a raster. The toolset only appears when you call it up. \bold{Calling up a toolset window.} The toolset appears when you choose \bold{Toolset} on the \italic{Raster} menu card. Note: The toolset belongs to the raster that you used to call it up (that is, the raster in which you chose the \bold{Toolset} menu item. The tools and commands you select will only affect that raster. If you have two Raster windows, or two rasters embedded in one document, you must call up a toolset for each of them. \bold{Hiding the toolset window.} You can remove the toolset by choosing \bold{Remove Toolset} on the \italic{Raster} menu card of the Raster window. You can also choose \bold{Quit} on the front menu card of the toolset window. The toolset will also vanish if you quit Raster, stop editing the raster document, or delete the raster from the document you are editing. \bold{The contents of the window.} The toolset is divided into five columns: Tools, Commands, Patterns, Brushes, and Paste Modes. \bold{ Tools. } \italic{ Pan, Select, Touch Up}: These are the same as the \bold{Pan}, \bold{Select}, and \bold{Touch Up} menu items in the Raster window. Note that \italic{Touch Up} does not use a brush or pattern; the left button draws black and the right button draws white, as described above. \italic{Paste}: This does the same job as the \bold{Replace} menu item in the Raster window, but is easier to use. If you press the left mouse button in the raster, the most recently Copied raster region will be put down where you clicked. (Specifically, the top left corner of the region will be where you clicked.) The region has not actually been pasted down yet; you can move it around by pressing the left button again elsewhere, or pressing and dragging the left button. To permanently paste down the region, click the right button within the region, or choose \bold{Paste Down Region} on the toolset menu card. The region will also be pasted down if you switch to a different tool or remove the toolset window. You can use the right mouse button to paste down multiple copies of the region. You can click and drag the region around in the same manner as with the left button; but every time you release the right button, the region is pasted down onto the raster. If you are positioning a region with the left button but have not yet pasted it down, you can remove it from the screen by clicking again on the \italic{Paste} tool in the toolset window. You can also do this by choosing \bold{Remove Paste Region} on the toolset menu card. The paste mode determines whether the paste rectangle overwrites the background or is combined with it in some way. See the "Paste Modes" section later in this file. \italic{Text}: This tool uses the overlaid-inset feature of raster to let you draw text in any font or size. This does the same job as the inset menu items in the raster window, but somewhat more conveniently. It only produces text insets; to create other ATK objects, you should use the region select mode and the menu options in the raster window. With the \italic{Text} tool active, if you click the left button and drag out a rectangle, a text inset will be overlaid in that rectangle. If you just click, a text inset will be overlaid starting at the cursor and extending to the right edge of the screen. You can then edit it normally, as described in the "Using Insets" section. If you click or select a new rectangle while the \italic{Text} tool is active, the existing inset will be resized to that rectangle. (Note that this is different from the region select tool, where you must select a rectangle and then choose the \bold{Resize Inset} menu item.) If you click on the \italic{Text} tool a second time, the inset will be pasted down using the current paste mode. \italic{Paint}: This is similar to \italic{Touch Up}, but you may select a brush and pattern to draw with. If you hold down the left button on the raster and move the mouse, the selected brush will move along the mouse's path, leaving a trail colored with the selected pattern. \italic{Line}: Press and hold the left mouse button at one end of the line you wish to draw. Holding down the button, drag the mouse to the other end, and then release the button. The line will be drawn with the selected pattern and brush. \italic{Rectangle, Circle, Ellipse}: Press, drag, and release the left mouse button to select the size and location of the shape. The outline of the shape will be drawn with the selected pattern and brush. \italic{Solid Rectangle, Solid Circle, Solid Ellipse}: Press, drag, and release the left mouse button to select the size and location of the shape. The shape will be filled in with the selected pattern. (The brush is not used.) \italic{Flood Fill}: Click the left mouse button in any white or black area of the raster. The entire area will be filled with the selected pattern; that is, the pattern will "flood out" until it is stopped by barriers of the opposite color. Be careful; the pattern can squeeze though holes only one dot thick, so it can go right through grey lines or areas. If a flood fill operation is taking too long, you can click on the \italic{Flood Fill} tool again to abort it. The fill will be left partially done. You can also abort it by choosing \bold{Abort Flood Fill} on the toolset menu card. \italic{Spray Paint}: Press and hold the left mouse button on the raster. A circular area will be slowly spattered with the selected brush and pattern. You can drag the mouse around for an airbrush-like effect. If you click again on the \italic{Spray Paint} tool, or choose \bold{Set Spray Radius} on the menu card, the message line will ask: How large should the spraypaint circle be in pixels? The default is 10. You can enter larger numbers to get a wider spray. \italic{Curvy Paint}: This is like the \italic{Paint} tool, except that the brush acts as if it were connected to the cursor by a stretchy rubber band. By moving the mouse rapidly, you can get swoopy lines. (If you are using a large brush, drawing may be too slow for this tool to swoop well. Try moving the mouse more slowly, or using a smaller brush.) If you click again on the \italic{Curvy Paint} tool, or choose \bold{Set Curvypaint Spring} on the menu card, the message line will ask: How stiff should the pen spring be? [0.0 -- 1.0] The default is 0.5. Larger numbers make the rubber band tighter; the brush will move faster and follow the mouse more closely. Smaller numbers make the rubber band limp. \bold{ Commands:} \italic{Copy}: This is the same as the \bold{Copy} menu option in the Raster window; the selected region is copied, so that it can be pasted elsewhere in the raster, or in another window. Remember that if you have not selected a region yourself, the entire raster is probably selected. \italic{Zoom In, Zoom Out, Normal Size}: These are the same as the corresponding menu items in the Raster window. All of the toolset tools will work while zoomed in; this can make precise editing much easier. As in the Raster window, you cannot zoom in while a raster is cropped. \italic{Refresh}: This redraws the raster window. This is helpful if the window has somehow been damaged or overwritten. You can also redraw the window (or, in fact, any ATK window) by moving the cursor into it and typing ctrl-L. \bold{ Patterns:} These patterns are used by all the painting, outlining and filling tools. \italic{White} and \italic{black} are white and black; the \italic{grey} patterns are mixtures of black and white that approximate grey, with higher numbers representing darker greys. The \italic{vertical line, horizontal line, diagonal line, checkered,} and \italic{big checkered} patterns look about like what you'd expect. The pattern labelled \italic{(invert)} is a special case; it inverts the pixels it is drawn over, changing black to white and white to black. \italic{(Invert)} is most useful for the solid-shape tools. It can be used with the painting and outline tools, but it works very badly for brushes other than the single \italic{point}. (This is because a larger brush tends to draw on each pixel several times as it goes past; the pixels get inverted back and forth unpredictably, giving either a pretty special effect or a mess.) \bold{ Brushes: }These brushes are used by the painting and outlining tools. \italic{Point} is a single dot; the \italic{spot} brushes are round spots of varying sizes. The \italic{cross, vertical line, horizontal line, slanted line,} and \italic{short slanted line} brushes are as advertised. Note that larger brushes draw more slowly; the \italic{point} is by far the fastest. \bold{Paste Modes:} The paste mode controls how the Paste tool draws on the raster. It is also used when you use the Text tool or a menu command to paste an overlaid inset down on the raster. \italic{Replace}: In this mode, the pasted region completely replaces what was on the raster. \italic{Combine}: In this mode, the pasted region and the background will be combined; black pixels on the background will stay black, and black pixels in the paste region will turn the background black also. \italic{Invert}: In this mode, each black pixel of the pasted region will invert the background pixel it is drawn onto. This is good for making a region or text block visible on a varying background without destroying the background. } \section{Saving and Quitting } \leftindent{\bold{Saving.} To save the changes you have made to the raster, choose the \bold{Save} option from the front menu card. When the document is saved into a file, the message "Wrote File" and the pathname of your file appear in the message area at the bottom of the window. It is recommended that you choose \bold{Save} frequently while you use Raster, in order to minimize the amount of work you might lose if for some reason the Raster session ends unexpectedly. The reason you could lose your work is that the raster you are working on in your window is actually only a copy of the file that is stored permanently in the Andrew File System. In order to incorporate changes you are making with Raster into the permanent file, you have to choose \bold{Save}. For more details on this aspect of Raster, see the \helptopic{ez-buffers} help document. Raster also checkpoints your file periodically, just as in EZ. See the section on Checkpointing in the \helptopic{ez}\italic{ } help document for details.} \leftindent{\bold{Quitting.} To quit using Raster, choose the \bold{Quit} option from the front menu card. If you try to quit without saving changes you have made, the message \leftindent{You have unsaved changes; do you want to quit anyway? } appears in a dialogue box. To save the changes you have made, click in the No box and then use \bold{Save} before trying to quit again. To quit without saving the changes you have made, move the round cursor into the Yes box and click the left mouse button (the permanent file remains as it was before you began this Raster session). } \leftindent{\bold{Note:} if you have worked with multiple files during the Raster session and have not saved all of them, you may continue to get the dialogue box, even though you choose \bold{Save} in the current window before trying to quit. If you do not wish to save the changes you made to the other files, click on the Yes box. If you want to save the changes you made to all files, choose \bold{Save All} from the \italic{File} menu card. See the \italic{ }\helptopic{ez-buffers}\italic{ } help document for more information on working with multiple files. } \section{Printing} \leftindent{You can print rasters and documents containing raster insets on any Postscript printer (all of the publicly available Andrew printers on the Carnegie Mellon campus are Postscript printers). Be aware that it takes much longer to print rasters than other kinds of files.} \leftindent{The size of the raster in your window is indirectly related to its printed size. You use the \bold{Set Print Size} menu option to find out how big the printed version will be, and to change the printed size if you wish. It is not currently possible to preview rasters.} \leftindent{\bold{Printing.} To print a raster, choose \bold{Print} from the \italic{File} menu card. It will print at about half the size it appears on the screen. } \leftindent{\bold{Setting your printer.} You can change the printer that will print your raster by typing the new printer's name at the \leftindent{Set printer to [Default]:} prompt. "Default" is the name of the printer where your file will be printer otherwise. \bold{Setting print size.} By default, rasters print at about half the size they appear on the screen. You can use the \bold{Set Print Size} option from the\italic{ Raster} menu card to find out what this size is, and to change the printed size of a raster in two ways. You can change print size to be about the size the raster appears on the screen, or you can specify another size. The second option also allows you to distort the image by scaling one dimension more than the other (though it is probably easier to do this using the \bold{Scale} option on the \italic{Raster Ops} menu card--see the section above on \bold{Scaling} for details). \bold{\italic{Setting print size to equal screen size.}} To set the print size to be near the screen size of the raster, begin by choosing \bold{Set Print Size} from the\italic{ Raster} menu card. The message line reads \leftindent{Print height H width W in. New height[scale to width]} where H and W are the current printing height and width of your raster, in inches. Press Enter to choose the default. The message line reads \leftindent{Print height H width W in. Scale to width[original: O]} where O is near the screen width (in inches). Press Enter to choose width O. Raster automatically calculates the correct height, changes print size and reports the new values in the message \leftindent{Print size is now height Y width O in.} \bold{\italic{Specifying another print size. }} You can either specify a height or width (and have Raster scale the other dimension automatically), or can change both (to distort the printed image). Begin by choosing \bold{Set Print Size} from the\italic{ Raster} menu card. The message line reads \leftindent{Print height H width W in. New height[scale to width]} where H and W are the current printing height and width of your raster, in inches. 1) \italic{To choose print height before width}, type in the desired height (in inches). Raster calculates the scaled width that matches and offers it to you as X in the message \leftindent{Print height Y in. New width [X]} Press Enter to keep the printed version proportional, or specify a different width. A choice greater than X will stretch the raster horizontally; a choice smaller than X will make it look stretched vertically. Raster reports the new print dimensions on the message line. 2) \italic{To choose print width before height}, press Enter to pick the default ([scale to width]). The message line reads \leftindent{Print height H width Y in. Scale to width [original: O]} Specify the desired new width. Raster calculates the new print height automatically and reports the new print dimensions on the message line. }\section{Pop-Up Menu meanings} Certain menu options are available only under certain conditions, as noted. \italic{Front Menu Card} \leftindent{\bold{Copy:} Copies the currently selected region into the cutbuffer. \bold{Replace:} Replaces the bits in the current selected region with the bits from the raster region that was copied most recently. If the region you are replacing is smaller than the region you copied before, then Raster inserts as much of the copied region as will fit, starting in the upper left hand corner of both regions. If the region you are replacing is larger, Raster replaces as much as the copied region will cover, again starting in the upper left hand corner of both regions. If the entire raster is selected when you choose \bold{Replace}, it will be erased and replaced by the previously copied region. \bold{Replace Scaled:} Scales the raster region that was copied into the cutbuffer most recently so that it fits exactly into the currently selected region.\leftindent{ }\bold{Save:} Saves all changes in the file that you are editing. After your file has been saved, the message "Wrote file" appears in the response line, followed by the pathname of the file that was saved. \bold{Switch file: } Replaces the current file in the buffer with a new file that you specify. A dialogue box comes up, prompting you to save any changes before it switches to the new file. To learn what buffers are, and how they work in EZ family programs, see the \helptopic{ez-buffers} help document. \bold{Quit:} Quits all windows and buffers associated with the current Raster process. (To learn what is meant by the terms "buffer" and "process," see the \helptopic{ez-buffers} help document.) If you try to quit without saving changes you have made to the text, the message \leftindent{You have unsaved changes; do you want to quit anyway? } appears in a dialogue box. To save the changes you have made, click in the No box and then use \bold{Save} before trying to quit again. To quit without saving the changes you have made, move the round cursor into the Yes box and click the left mouse button (the permanent file remains as it was before you began this Raster session). If you have worked with more than one file during the Raster session and have not saved all of them, the dialogue box may continue to appear even though you choose \bold{Save} in the current window before trying to quit. If you do not wish to save the changes you made to the other files, click in the Yes box. If you want to save the changes you made to all files, choose \bold{Save All} from the \italic{File} menu card. See the \italic{ }\helptopic{ez-buffers}\italic{ } help document for more information on working with multiple files.} \italic{File Menu Card} \leftindent{\bold{Save As:} Saves the current file with a new name. When the "Write to file:" prompt appears, it contains the pathname of the current file. To save the file with a new name, backspace over the old name, type in the new name, and press Enter.} \leftindent{\bold{Save All:} Saves the changes to all of the files that are contained in buffers. (To learn what buffers are, and how to use them in EZ, see the \helptopic{ez-buffers}\italic{ } help document.) It also saves newly-created buffers into files if you have named them. Buffers that do not have names will not be saved. } \leftindent{\bold{Read Raster: }Prompts you for the name of a file to be read into a Raster inset. Overwrites the raster currently in the inset, if any. By default the prompt provides the path to the library of rasters maintained on the Andrew system. \bold{Do not} use this option to read rasters into stand-alone Raster windows; use the \bold{Read Raster} option on the \italic{Raster I/O} card instead.} \leftindent{\bold{Printer Setup}: Brings up a popup window that prompts you for the name of the printer you want to use for files printed during this editing session (and lists the name of your current default printer). Type the name of the new printer and click in the Done button to register your new printer setting. The printer setup interface also allows you to specify whether or not you would like to: \leftindent{print a Table of Contents with your documents enumerate (number) the titles in the Table of Contents print footnotes at the end of documents swap the right and left headers on even pages }} \leftindent{\bold{Preview:} Opens a Preview window designed to show what a file will look like when printed. However, previewing rasters is currently not implemented, so the Preview window will contain an empty page. For more information, see the \helptopic{preview} help document. } \leftindent{\bold{Print:} Submits a printing request for the document. } \italic{Raster Ops Menu Card} Most of these options are available and operative in all three modes. However, the selected region is indicated by an outline only in Region Select Mode. Use caution in choosing these options when in Pan and Touch Up Modes, since you cannot tell where the selected region is. \leftindent{\bold{Negative:} Reverses the color of the pixels in the selected region. Black pixels become white and white pixels become black.} \leftindent{\bold{White:} Changes all the pixels in the selected region to white. \bold{Black:} Changes all the pixels in the selected region to black.} \leftindent{\bold{Gray:} Changes the shading in the selected region to the gray that you specify. Prompts you with the message \leftindent{Gray level (1 . . 15)[8]:} Press Enter for level 8, a uniform medium gray. Levels with lower numbers are lighter; levels with higher numbers are darker. } \leftindent{\bold{Mirror LR: } Reflects the pixels in the selected region around the vertical midline axis of the region. \bold{Mirror UD:} Reflects the pixels in the selected region around the horizontal midline axis of the region (turns the image upside down). } \leftindent{\bold{Rotate: }(Available only when the entire raster is selected and is not the result of cropping.)\bold{ }Turns the entire image 90 degrees counterclockwise, with the right edge moving to the top. Can be repeated for 180 and 270 degrees from the original position.} \leftindent{\bold{Scale: } (Choose only when the entire raster is selected, is not the result of cropping, is not zoomed.) Scales the raster to new sizes and shapes, as you specify. See the section above on \bold{Scaling} for details.} \leftindent{\bold{Center Region: } (Available only in Region Select Mode.) Redisplays the raster so that the selected region is in the center of the window. Can be used when the entire raster is selected. } \leftindent{\bold{Upper Left Region: } (Available only in Region Select Mode.) Redisplays the raster so that the upper left corner of the region is flush with the upper left corner of the window. Can be used when the entire raster is selected.} \italic{Raster Menu Card} \leftindent{\bold{Zoom In: } (Available when raster is not cropped.) Zooms in on the raster, doubling the size of each raster pixel on the screen. Can be repeated. } \leftindent{\bold{Zoom Out:} (Available when zoom level is greater than 0.) Zooms out one level from the current zoom level, halving the size of each raster pixel on the screen. } \leftindent{\bold{Normal Size:} (Available when zoom level is greater than 0.) Redisplays the raster at zoom level 0 (no zoom). } \leftindent{\bold{\bold{Region Select}}}: (Available when you are not in Region Select Mode.) Puts you into Region Select Mode.\leftindent{\bold{ Select All:} (Available in Region Select Mode and when a region is selected.) Selects the entire raster. } \leftindent{\bold{Touch Up: } (Available when you are not in Touch Up Mode.) Puts you into Touch Up Mode. } \leftindent{\bold{Pan: } (Available when you are not in Pan Mode.) Puts you into Pan Mode. \bold{Move Display Box:} (Available at zoom level 2 and greater, even though Display Box does not normally appear at level 2.) Prompts you with the message: \leftindent{Click left button to select new position for Display Box} Click the left mouse button where you want the Display Box to be. \bold{Hide Display Box:} (Available at zoom level 2 and greater, when the Display Box is visible.) Hides the Display Box. \bold{Set Print Size:} Sets the height and width of the printed version of the raster. See the section above on \bold{Printing} for details. } \leftindent{\bold{Extend to Mat: }(Available when entire raster is selected and some empty white space shows in the window.) Extends the raster boundary to equal the size of the mat. See the section above on \bold{Changing raster size and shape} for details. } \leftindent{\bold{Crop:} (Available when part of the image is selected and zoom level is 0.) Removes all of the raster except the selected region, and redisplays the selected region in the center of the window. Cropping becomes permanent when you save the cropped image into another file.} \leftindent{\bold{Uncrop:} (Available when a cropped image is displayed.) Redisplays the full image from which the cropped image was taken. Uncropping works as long as the original image is still being edited. \bold{Show/Hide Coords:} Turns the cursor coordinate display on and off. When it is on, the X and Y position of the cursor on the raster will be displayed whenever you press or hold down a mouse button. When you select or copy a region, the region's size and the position of its top left corner will be displayed. \bold{Toolset:} This brings up the toolset window, as described above. \bold{Remove Toolset:} This removes the toolset window, as described above.} \italic{Raster I/O Menu Card } These menu options work only when Raster is used as a stand-alone program. The card is not available in Raster insets. \leftindent{\bold{Read Raster:} Reads a file in the new raster format into the current Raster window or inset. Always replaces the entire raster image; there is no way to read a raster into a selected region only. By default provides the path to the library of rasters maintained on the Andrew system.} \leftindent{\bold{Read MacPaint: }Prompts for the name of a file in MacPaint format and inserts the file into the Raster window. \bold{Write MacPaint: } Saves the raster in MacPaint format, writing it into a new file. Prompts for the name of the file. \bold{Write Postscript: }Saves the raster in PostScript format, writing it into a new file. Prompts for the name of the file. \bold{Read OIdRaster:} Prompts for the name of a file in OldRaster format and inserts the file into the Raster window. \bold{Read X Window Dump:} Prompts for the name of a file in xwd format and inserts the file into the Raster window. \bold{Write X Window Dump:} Saves the raster in xwd format, writing it into a new file. Prompts for the name of the file. \bold{Read X Bitmap:} Prompts for the name of a file in X bitmap format and inserts the file into the Raster window. \bold{Write X Bitmap:} Saves the raster in X bitmap format, writing it into a new file. Prompts for the name of the file. \bold{Make Window Dump:} Allows you to capture the contents of any X window, including the root window, directly into your raster inset. After selecting this option, the cursor will change to a crosshair, at which time you should click in the window that you'd like to dump. On a color display the contents of the selected window will be dithered. This successful use of this option requires that the X11 program \bold{xwd} be found somewhere on your PATH environment variable. If it is not found, an appropriate diagnostic will be displayed in the message line at the bottom of the window. The \bold{xwd} program is part of the standard MIT X11 release. \bold{Make Area Dump:} Allows you to capture the contents of any section of the display, including sections spanning multiple, overlapped windows, directly into your raster inset. After selecting this option, the mouse cursor will change to an upper-left bracket, signifying that you can begin selecting a portion of the display. By depressing the left mouse button, the mouse cursor will change to a lower-right bracket, signifying that you should sweep out a rectangle anywhere on the display. Releasing the left mouse button finishes the selection, dumping the contents of the selected portion of your display directly into your raster inset. On a color display the contents of the selected area of the display will be transformed to monochrome, as determined by an arbitrary, but useful, threshold. This successful use of this option requires that the X11 program \bold{asnap} (aka: \bold{xsnap}) be found somewhere on your PATH environment variable. If it is not found, an appropriate diagnostic will be displayed in the message line at the bottom of the window. The asnap (or xsnap) program is not part of the standard MIT X11 release, but can be found at many anonymous ftp sites. }\section{Preferences} \leftindent{\bold{RastersInitiallyShrunk:\italic{ off}} Determines whether raster insets in text and table documents initially appear full size or shrunken down to a few rows of pixels, which can make scrolling simpler. With the default "off" setting, raster insets appear full size. With a setting of "on," only the top 21 rows of each raster will appear at first. To expand the raster fully, simply click on it. You can then reshrink the raster by choosing the \bold{Shrink to Button} option, which appears on the \italic{Raster Ops} menu card when you set this option "on." }\leftindent{ }\section{Program Authors } \leftindent{Wilfred J. Hansen, Michael Pasieka } \section{Related Tools} Select (highlight) one of the italicized names and choose "Show Help on Selected Word" to see the help document for: \leftindent{\italic{ }\helptopic{convertraster}\italic{ }(for changing raster formats)\italic{ }\helptopic{ez}\italic{ } (Andrew's multi-media editor)\italic{ }\helptopic{insets}\italic{ }(inserting rasters into other documents\italic{) }\helptopic{rasters}\italic{ } (a library of raster images) \helptopic{ezscan}\italic{ } (making printed materials into rasters)} \begindata{bp,537558784} \enddata{bp,537558784} \view{bpv,537558784,522,0,0} Copyright 1992 Carnegie Mellon University and IBM. All rights reserved. \smaller{\smaller{$Disclaimer: Permission to use, copy, modify, and distribute this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice, this permission notice, and the following disclaimer appear in supporting documentation, and that the names of IBM, Carnegie Mellon University, and other copyright holders, not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. IBM, CARNEGIE MELLON UNIVERSITY, AND THE OTHER COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL IBM, CARNEGIE MELLON UNIVERSITY, OR ANY OTHER COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. $ }}\enddata{text,538300220}