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

LAYR (0x4C415952)       /* Define a layer */

A DR2D project is broken up into one or more layers.  Each DR2D object is
in one of these layers.  Layers provide several useful features. Any
particular layer can be ``turned off'', so that the objects in the layer
are not displayed.  This eliminates the unnecessary display of objects not
currently needed on the screen.  Also, the user can lock a layer to
protect the layer's objects from accidental changes.

        struct LAYRstruct {
            ULONG    ID;
            ULONG    Size;
            USHORT   LayerID;              /* ID of the layer */
            char     LayerName[16];        /* Null terminated and padded */
            UBYTE    Flags;                /* Flags, from LF_*, below */
            UBYTE    Pad0;                 /* Always 0 */
        };

LayerID is the number assigned to this layer.  As the field's name
indicates, LayerName[] is the NULL terminated name of the layer. Flags is
a bit field who's bits are set according to the #defines below:

        #define LF_ACTIVE       0x01    /* Active for editing */
        #define LF_DISPLAYED    0x02    /* Displayed on the screen */

If the LF_ACTIVE bit is set, this layer is unlocked.  A set LF_DISPLAYED
bit indicates that this layer is currently visible on the screen.  A
cleared LF_DISPLAYED bit implies that LF_ACTIVE is not set. The reason for
this is to keep the user from accidentally editing layers that are
invisible.