[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.