gput

Format:

*gput (int_x1, int_y1, int_x2, int_y2, ref_sint32_var);*

Move defined rectangular area from a referred variable on to the screen within specified coordinates range. The variable is must be a one-dimensional or multi-dimensional array with total number of elements equal or greater than the needed minimum which is calculated as:

*needed_bytes = (x2-x1+1) * (y2-y1+1)
* 3*

The formula above assumes the following conditions are met: (*x2
**≥ **x1), (y2 **≥ y1)*

The function automatically reorders internally the input parameter in order to meet the conditions above for proper calculation.

If the size of the referred variable does not have enough number of elements, the function will terminate its work once the entire array has been processed.

The last multiplication in the formula above is needed
because the colour of every pixel on the screen is stored in three consecutive
bytes for red, green, and blue, respectively. Since the “sint32”
type (also defined as “*int*”) is 32-bit, its size is enough
for a single pixel 24-bit colour.

If the colour value for a pixel is negative number it is ignored and the colour of the relevant pixel on the screen remains unchanged.

Example:

*gput (25, 15, 49, 34,
@figure[] ); ‘ put 25x20 pixels bitmap figure[] at
‘ screen coordinates (25,15)*