PICTURE Definition

A PICTURE definition is a variation of a subprogram.
A PICTURE definition can be transformed on invocation.
Use a DRAW statement to invoke a picture.
To define a picture, use EXTERNAL PICTURE, or, internal PICTURE definition syntax.
IF 'tulip' is defined as a picture,
DRAW tulip
executes the picture 'tulip'.

Transformation of a picture
DRAW Statements can be provided with a transformation.
Example.
DRAW tulip WITH SCALE(2)
executes 'tulip' with the coordinate multiplied by 2.
That is, 'tulip' is enlarged 2 times of center the origin.

Transform functions

SHIFT(a,b) Moves horizontally a units, vertically b units.
SCALE(a,b) Enlarges horizontally a times,vertically b times.
SCALE(a) Enlarges a times of center the origin
ROTATE(a) Rotates by a of center the origin.
SHEAR(a) Inclines horizontally by a.
That is, (x, y) →(x + y tan a, y)


Composition of Transformations
Transform functions can be composed with *. Composition is made from left to right.
Example.
DRAW tulip WITH SHIFT(1,0) * SCALE(2)
Scaling shall be executed after translation.

Note.
The beam is set off when entering and exiting of a picture definition.
Refer to PLOT LINES

Note.
Transformation performed by a DRAW statement affects only PLOT, GET, DRAW statements, original enhancements PAINT, FLOOD, and MOUSE POLL.
No other statemets are affected by transformation.