Objects must first be selected in order to be stretched. The basic stretch operation described here is also available from the Stretch command in the Edit Menu, but that command provides additional features, such as vertex selection, not available from the basic operation. Stretching operations are also available for polygons in the polyg command, and for wires in the wire command.
Clicking on a selected object with the Ctrl key pressed initiates a stretch. If the Shift key is also held, an actual stretch command is initialted, as if the Stretch button in the Modify menu was pressed. The mode changes to the stretch command, which can be terminated by pressing the Esc key. The command allows use of vertex selection to mark and move several polygon vertices in tandem, a feature not available in the simple stretch operation to be described, which in initiated if the Shift key is not also pressed.
Any object other than subcells can be stretched, but the effect of the stretch differs on the various objects. Boxes and labels are stretched in such a way as to maintain a rectangular shape. That is, if a corner is stretched, the adjacent vertices are also moved in order to keep the internal angles 90 degrees.
The stretch operation works differently on Manhattan polygons than polygons containing nonorthogonal angles. For non-Manhattan polygons, a single vertex is moved, all others remain fixed. The stretch operation on Manhattan polygons is similar to the operation as applied to boxes, i.e., the corner and adjacent vertices are changed so as to keep the polygon Manhattan. A single vertex can be stretched arbitrarily either by selecting the vertex in the Stretch command in the Edit Menu, or by using the vertex editor in the polyg command.
If the Ctrl key is pressed when the user presses button 1, and the pointer is over a selected object that is not a subcell, a stretch operation will be initiated. The operation is performed on all selected objects, and the new outlines are ghost drawn. As for move/copy, the operation can be performed by clicking twice, or by dragging and releasing button 1. For selected polygons and wires, the vertex nearest the button 1 press location, for each object, is moved. For boxes and labels, the corner closest to the button down location is moved.
If the Shift key is pressed when the stretch is completed, the angle of translation is constrained to multiples of 45 degrees. This can be seen in the behavior of the ghost drawn outlines while the pointer moves, with and without the Shift key pressed. At this stage, the Ctrl key is ignored.