# Layers

Layers may be viewed as containers or as groups. They represent a way to structure both the address space and the graphic space.

From graphic viewpoint, a layer is a scene inside a scene. All the properties of 'rect' components are available to layers: position, scale, color, transparency, etc.). By default, a layer is not visible: it has no brush and no pen, but changing the brush style (see section brush) - e.g. to solid - makes it visible.

From time viewpoint, a layer has the common time attributes i.e. a date, a duration.

A layer may be synchronized to other objects, including other layers. It includes a sync node and supports synhcronization of the enclosed objects. However, synchronization is restricted to objects from the same layer and cannot cross the border of a layer.

Example Creating a layer and its content:

/ITL/scene/layer1 set layer;
/ITL/scene/layer1/score set gmnf 'myscore.gmn';
/ITL/scene/layer1/cursor set rect 0.01 0.1;


Synchronizing 2 components of a layer :

#'score' and 'cursor' must be enclosed in layer1
/ITL/scene/layer1/sync cursor score;


Making a layer visible :

/ITL/scene/layer1 brushStyle solid;
/ITL/scene/layer1 color 120 120 120;


## Layers generalization

The idea of layer is generalized to all the type of objects: any INScore object can be a container without depth limitation.

Layers but also any object respond to the count and rcount queries described in section scenequery.