* Can use the [[STEP]] keyword for relative coordinate placements. See example 1 below.
* {{Parameter|fillColor}} is an [[INTEGER]] or [[LONG]] 32-bit value to paint the inside of an object. Colors are limited to the [[SCREEN]] mode used.
* Optional [[INTEGER]] or [[LONG]] 32-bit {{Parameter|borderColor%}} is the color of the border of the shape to be filled when this is different from the fill color.
* {{Parameter|fillColor}} can be a string made up of a sequence of [[CHR$]] values, each representing a tiling pattern to fill the shape. See Example 3 below.
{{PageDescription}}
* Graphic {{Parameter|column%}} and {{Parameter|row%}} [[INTEGER]] pixel coordinates should be inside of a fully closed "shape", whether it's a rectangle, circle or custom-drawn shape using [[DRAW]].
* If the coordinates passed to the [[PAINT]] statement are on a pixel that matches the border colors, no filling will occur.
* If the shape's border isn't continuous, the "paint" will "leak".
* If the shape is not totally closed, every color except the border color may be painted over.
* [[DRAW]] shapes can be filled using the string "P {{Parameter|fillColor}}, {{Parameter|borderColor}}". Use a "B" blind move to offset from the shape's border.
{{PageExamples}}
''Example 1:'' Painting a [[CIRCLE]] immediately after it is drawn using [[STEP]](0, 0) to paint from the circle's center point.
{{CodeStart}}
{{Cl|SCREEN (statement)|SCREEN}} 12
x = 200: y = 200
{{Cl|CIRCLE}} (x, y), 100, 10
{{Cl|PAINT}} {{Cl|STEP}}(0, 0), 2, 10
{{CodeEnd}}
:''Results:'' A circle located at x and y with a bright green border filled in dark green. The last coordinate used was the circle's center point and PAINT used it also with the [[STEP]] relative coordinates being zero.
''Example 2:'' Routine to check a [[DRAW]] string to make sure that the drawn shape is fully closed so that a PAINT does not "leak".
{{Cl|IF...THEN|IF}} (num > 47 {{Cl|AND (boolean)|AND}} num < 58) {{Cl|OR (boolean)|OR}} num = 32 {{Cl|THEN}}
snum$ = snum$ + n$
{{Cl|ELSE}}: {{Cl|EXIT}} {{Cl|FOR...NEXT|FOR}}
{{Cl|END IF}}
{{Cl|NEXT}}
vertical = vertical + (ver * {{Cl|VAL}}(snum$))
horizont = horizont + (hor * {{Cl|VAL}}(snum$))
{{Cl|END IF}}
{{Cl|PRINT}} tmp$, horizont, vertical
'{{Cl|SLEEP}}
{{Cl|NEXT}}
{{Cl|PSET}} (300, 300): {{Cl|DRAW}} drw$
{{CodeEnd}}
: ''Explanation:'' If the [[DRAW]] string is fully closed, the end values should each be 0. In the example, the proper result should be 4, 4 as there is a BF4 offset for PAINT which cannot be on a border. The result is 4, 5 because the shape is not completely closed.
''Example 3:'' Tiling using PAINT to create a red brick pattern inside a yellow border: