## Drawing objects

To draw a new object, first select a shape by clicking on one of the drawing-tools buttons in the toolkit palette (if the palette is hidden, first make it visible by clicking on in the main toolbar). Alternatively, you may prefer to leave the palette hidden and rather select a drawing-tool from the Toolkit menu; associated keyboard shortcuts may be modified from the Shortcuts subpane in the Preferences tabpane (click in the main toolbar)

Each button can display a tooltip if the mouse hovers around it more than two seconds. Once a drawing-tool has been selected, click with the mouse's left button anywhere on the canvas to set the object's first point, then move the mouse to choose the second point. When you are done, simply left-click again.

Objects defined by more than two control points, e.g. polygons, parallelograms, slanted ellipses or splines, work the same way, except that you will have to "move'n click" as many times as there are control points, then RIGHT-CLICK to complete the drawing process.

Splines are somewhat special, in that:

- Tangents are set by DRAGGING the mouse, whereas MOVING the mouse allows you to set control points;
- a RIGHT-CLICK, instead of simply signaling the end of the drawing process, actually let you proceed through an additional step, namely setting the termination tangent. In this case, a further click in effect completes the drawing process.

Following is a list of all available drawing tools as well as their associated icon on the toolbar. Some drawing tools support a set of alternate functions: these are triggered by a specific combination of modifiers (Control+Shift, Control+Alt or Control+Alt+Shift, as indicated), and allows you to release or enforce one or more geometrical constraints (the same combinations are used as in SELECT mode, except for the CTRL modifier which makes no sense here). Modifiers may be pressed or released at any time during the drawing process.

### Draw-tools

Icon | Tool | Number of control points | Drawing sequence | Alternate functions
--- | --- | --- | --- | ---
| Lines | 2 | First end-point, second end-point. | N/A
| Rectangles. | 2 | First corner, opposite corner. Sides are kept parallel to the grid axes. | CTRL+ALT: nail the center of the rectangle to its current position. CTRL+ALT+SHIFT: release the constraint on sides. Hold the modifiers whenever you want to alter the side's orientation, then release it and move the mouse to scale the rectangle).
| Parallelograms. | 3 | Lower-left corner, upper-left corner, opposite side. | CTRL+ALT: nail the center of the parallelogram to its current position. CTRL+ALT+SHIFT : force the shape to be a square. Note that holding these modifiers while moving the second control-point is allowed, yet just makes no sense since there is still a third control point to be set !
| Circle or ellipse controled by a rectangle. | 2 | First corner, opposite corner. The sides of the controlling rectangle are kept parallel to the grid axes. | CTRL+ALT: nail the center of the ellipse to its current position. CTRL+ALT+SHIFT: release the constraint on the sides of the controlling rectangle (see Rectangles above). |
| Arc controled by a rectangle. RIGHT-CLICK cycles through available arc types. | 4 | First corner, opposite corner, arc start, arc end.
| Slanted ellipse. | 3 | Lower-left corner, upper-left corner, opposite side of the controlling parallelogram. | CTRL+ALT: nail the center of the ellipse to its current position. CTRL+ALT+SHIFT : force the ellipse to be a circle.
| Slanted arc. RIGHT-CLICK cycles through available arc types. | 5 | Lower-left corner, upper-left corner, opposite side of the controlling parallelogram, arc start, arc end.
| Circle controled by 3 points. | 3 | First, second and third point. | N/A.
| Arc controled by 3 points. RIGHT-CLICK cycles through available arc types.
| Open Bezier splines, polygons, or a combination thereof. Control points and tangents are set by moving (for control points) or dragging the mouse (for tangents). A right-click sets the curve's end-point, and move the termination tangent if the last segment is curved (otherwise the drawing process ends up here). A further left-click signals the end of the drawing process. Note that several Bezier splines can be joined by selecting them, right-clicking to open a popup-menu, and selecting "Join selected curves". Click here for more details on this object. | Variable | first point (press) first tangent (drag)* second point (move) second tangent (drag)* etc... last point (right-click) last tangent (move and click)* *: splines specific operations. | No modifier: enforce smoothness and symmetry over alternate tangents. CTRL+SHIFT: enforce smoothness only. CTRL+ALT: enforce symmetry only. CTRL+ALT+SHIFT: move tangents freely (no constraint at all)
| Closed Bezier splines, closed polygons, or a combination thereof: same as above, but with the curve being closed. Click here for more details on this object.
| Smooth Polygon: this is a Bezier spline controled by a polygon. Click here for more details on this object. | Variable | First, second, third point... Right-click to complete. | N/A
| Closed Smooth Polygon: same as above, yet the curve is closed. Click here for more details on this object.
| Interpolating curve (aka \psecurve in the PSTricks package): this is a spline that interpolates an open curve through the control points given by the user. The curvature is controlled by three parameters which can be set by right-clicking on the curve or pressing F2 while it is selected (please refer to the PSTricks documentation, p. 14, for more on the role of each parameter). | Variable | First, second, third point... Right-click to complete. | N/A
| Closed interpolating curve: same as above, yet the curve is closed (aka \psccurve).
| Text (possibly boxed). | 1 | Anchor point | N/A

For all objects, pressing F2 once the drawing process has completed opens a properties-panel. This in particular allows you to edit points coordinates by hand.

Elliptical arcs: recent releases of PSTricks now support elliptical arcs natively: new commands are called `\psellipticarc` and `\psellipticarcn`. Unfortunately, LaTeX and eepic don't support these objects; hence these are emulated and cannot be filled.