PAINT

Syntax PAINT x, y, col, bufadr, buflen
Location HCO

The command PAINT addresses the screen directly and fills a closed figure with the colour col (which must be in the range 0..4, see SET).

The command requires a buffer of at least 4K whose start address is passed to PAINT as bufadr and whose length as buflen (which must be a minimum of 4096 bytes). The larger the buffer, the better, but very large buffers (say, 100K) seem to confuse PAINT and will make it stop before it has finished - therefore keep the buffer below 32K.

Example 1

Random drawing:

100 WINDOW 512,256,0,0: BORDER 1,3: PAPER 0: CLS
110 buflen = 10240
120 :
130 FOR i = 1 TO 15
140   LDRAW RND(511),RND(255) TO RND(511),RND(255), 3
150 END FOR i
160 :
170 buffer = ALCHP(buflen)
180 PAINT RND(1 TO 510), RND(1 TO 255), 2, buffer, buflen
190 RECHP buffer

Example 2

A spectacular crash!

PAINT 50,50,4,131072,32768

WARNING 1

See those at SET.

WARNING 2

PAINT will crash the machine if it runs out of the screen, so you have to ensure that the figure to be filled is closed. Another means of protection is to use a BORDER, as in the example.

CROSS-REFERENCE

FILL, SET, LDRAW