qb45advr.hlp (Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
PAINT Statement Details
  QuickSCREEN      Details      Example      Contents      Index
──────────────────────────────────────────────────────────────────────────────
PAINT Statement Details
 
Syntax
  PAINT [STEP] (x,y)[,[paint] [,[bordercolor] [,background]]]
 
  Argument      Description
  STEP          Defines coordinates to be relative to the most
                recently plotted point. For example, if the last
                point plotted were (10,10), then the coordinates
                referred to by STEP (4,5) would be (4+10,5+10)
                or (14,15).
  (x,y)         The coordinates where painting begins. The point must
                be inside or outside a figure, not on the border
                itself. If this point is inside, the figure's
                interior is painted; if the point is on the outside,
                the background is painted.
  paint         A numeric or string expression. If paint is a numeric
                expression, then the number must be a valid color
                attribute. The corresponding color is used to paint
                the area. If you do not specify paint, the foreground
                color attribute is used. For information about valid
                colors, numbers, and attributes see the following:
                  COLOR statement details,
                  SCREEN statement details, and
                  PALETTE statement details.
                If the paint argument is a string expression, then
                PAINT does "tiling," a process that paints a pattern
                rather than a solid color. Tiling is similar to "line
                styling," which creates dashed lines rather than
                solid lines.
  bordercolor   A numeric expression identifying the color attribute
                to use to paint the border of the figure. When the
                border color is encountered, painting of the current
                line stops. If the bordercolor is not specified, the
                paint argument is used.
  background    A string value giving the "background tile slice" to
                skip when checking for termination of the boundary.
                Painting is terminated when adjacent points display
                the paint color. Specifying a background tile slice
                allows you to paint over an already painted area.
                When you omit background the default is CHR$ (0).
 
Painting is complete when a line is painted without changing the color
of any pixel, in other words, when the entire line is equal to the
paint color. The PAINT command permits coordinates outside the screen
or viewport.
 
"Tiling" is the design of a PAINT pattern that is eight bits wide and
up to 64 bytes long. In the tile string, each byte masks eight bits
along the x axis when putting down points. The syntax for constructing
this tile mask is
 
  PAINT (x,y), CHR$(arg1)+CHR$(arg2)+...+CHR$(argn)
 
The arguments to CHR$ are numbers between 0 and 255, represented in
binary form across the x axis of the tile. There can be up to 64 of
these CHR$ elements; each generates an image not of the assigned
character, but of the bit arrangement of the code for that character.
For example, the decimal number 85 is binary 01010101; the graphic
image line on a black-and-white screen generated by CHR$(85) is an
eight-pixel line, with even-numbered points white and odd-numbered
points black. That is, each bit equal to 1 turns the associated pixel
on and each bit equal to 0 turns the associated bit off in a black-
and-white system. The ASCII character CHR$(85), which is U, is not
displayed in this case.
 
When supplied, background defines the "background tile slice" to skip
when checking for boundary termination. You cannot specify more than
two consecutive bytes that match the tile string in the tile
background slice. Specifying more than two consecutive bytes produces
an error message that reads "Illegal function call."
 
Tiling can also be done to produce various patterns of different
colors.