[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

The Flags member of the VSprite structure is both read and written by the
system.  Some bits are used by the application to inform the system;
others are used by the system to indicate things to the application.

The only Flags bits that are used by true VSprites are:

VSPRITE
    This may be set to indicate to the system that it should treat the
    structure as a true VSprite, not part of a Bob.  This affects the
    interpretation of the data layout and the use of various system
    variables.

VSOVERFLOW
    The system sets this bit in the true VSprites that it is unable to
    display.  This happens when there are too many in the same scan line,
    and the system has run out of Simple Sprites to assign.  It indicates
    that this VSprite has not been displayed.  If no sprites are
    reserved, this means that more than eight sprites touch one scan
    line.  This bit will not be set for Bobs and should not be changed by
    the application.

GELGONE
    If the system has set GELGONE bit in the Flags member, then the GEL
    associated with this VSprite is not on the display at all, it is
    entirely outside the GEL boundaries.  This area is defined by the
    GelsInfo members topmost, bottommost, leftmost and rightmost (see
    <graphics/rastport.h>). On the basis of that information, the
    application may decide that the object need no longer be part of the
    GEL list and may decide to remove it to speed up the consideration of
    other objects. Use RemVSprite() (or RemBob(), if it's a Bob) to do
    this. This bit should not be changed by the application.

The VSprite.Flags value should be initialized like this for a VSprite
GEL:

    myVSprite.Flags = VSPRITE;