# LayerMixin
Mixin providing common layer properties and methods.

{/* Do not edit this file. It is automatically generated by API Documenter. */}

## LayerMixin interface

Mixin providing common layer properties and methods.

**Signature:**

```typescript
interface LayerMixin extends BaseNodeMixin, TransformMixin
```

**Extends:** [BaseNodeMixin](/en/creator-api/nodes/base-node-mixin), [TransformMixin](/en/creator-api/nodes/transform-mixin)

## Remarks

Layers are timeline-based objects that exist within a specific frame range defined by `startFrame` and `endFrame`. They can contain shapes and have animatable transform properties. Unlike shapes, layers have their own timeline that can be offset independently from their parent scene.

## Properties

<table>
  <thead>
    <tr>
      <th>
        Property
      </th>

      <th>
        Modifiers
      </th>

      <th>
        Type
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        [blendMode](/en/creator-api/nodes/layer-mixin/blend-mode)
      </td>

      <td />

      <td>
        [BlendMode](/en/creator-api/types/blend-mode)
      </td>

      <td>
        The blend mode of this layer
      </td>
    </tr>

    <tr>
      <td>
        [endFrame](/en/creator-api/nodes/layer-mixin/end-frame)
      </td>

      <td />

      <td>
        number
      </td>

      <td>
        The frame number at which the layer stops being visible
      </td>
    </tr>

    <tr>
      <td>
        [focused](/en/creator-api/nodes/layer-mixin/focused)
      </td>

      <td />

      <td>
        boolean
      </td>

      <td>
        Whether the layer is focused
      </td>
    </tr>

    <tr>
      <td>
        [isMatte](/en/creator-api/nodes/layer-mixin/is-matte)
      </td>

      <td />

      <td>
        boolean
      </td>

      <td>
        Whether this layer acts as a matte for another layer
      </td>
    </tr>

    <tr>
      <td>
        [locked](/en/creator-api/nodes/layer-mixin/locked)
      </td>

      <td />

      <td>
        boolean
      </td>

      <td>
        Whether the layer is locked (prevents the user from editing it)
      </td>
    </tr>

    <tr>
      <td>
        [masks](/en/creator-api/nodes/layer-mixin/masks)
      </td>

      <td>
        `readonly`
      </td>

      <td>
        ReadonlyArray\<[Mask](/en/creator-api/nodes/mask)>
      </td>

      <td>
        An array of masks applied to this layer
      </td>
    </tr>

    <tr>
      <td>
        [matte?](/en/creator-api/nodes/layer-mixin/matte)
      </td>

      <td />

      <td>
        [Matte](/en/creator-api/nodes/matte) | undefined
      </td>

      <td>
        _(Optional)_ The matte applied onto this layer, if any
      </td>
    </tr>

    <tr>
      <td>
        [opacity](/en/creator-api/nodes/layer-mixin/opacity)
      </td>

      <td>
        `readonly`
      </td>

      <td>
        [Animatable](/en/creator-api/nodes/animatable)\<number>
      </td>

      <td>
        Opacity of this layer (0 to 100)
      </td>
    </tr>

    <tr>
      <td>
        [parent?](/en/creator-api/nodes/layer-mixin/parent)
      </td>

      <td>
        `readonly`
      </td>

      <td>
        [Parent](/en/creator-api/types/parent)\<[Layer](/en/creator-api/nodes/layer)> | undefined
      </td>

      <td>
        _(Optional)_ The parent of this layer
      </td>
    </tr>

    <tr>
      <td>
        [startFrame](/en/creator-api/nodes/layer-mixin/start-frame)
      </td>

      <td />

      <td>
        number
      </td>

      <td>
        The frame number at which the layer starts being visible
      </td>
    </tr>

    <tr>
      <td>
        [timelineOffset](/en/creator-api/nodes/layer-mixin/timeline-offset)
      </td>

      <td />

      <td>
        number
      </td>

      <td>
        The offset for the layer's timeline in frames
      </td>
    </tr>

    <tr>
      <td>
        [visible](/en/creator-api/nodes/layer-mixin/visible)
      </td>

      <td />

      <td>
        boolean
      </td>

      <td>
        Whether the layer is visible
      </td>
    </tr>
  </tbody>
</table>

## Methods

<table>
  <thead>
    <tr>
      <th>
        Method
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        [align(type)](/en/creator-api/nodes/layer-mixin/align)
      </td>

      <td>
        Aligns this layer within its parent
      </td>
    </tr>

    <tr>
      <td>
        [createMask(opts)](/en/creator-api/nodes/layer-mixin/create-mask)
      </td>

      <td>
        Adds a mask to this layer
      </td>
    </tr>

    <tr>
      <td>
        [flip(type)](/en/creator-api/nodes/layer-mixin/flip)
      </td>

      <td>
        Flips this layer horizontally or vertically
      </td>
    </tr>

    <tr>
      <td>
        [moveBefore(sibling)](/en/creator-api/nodes/layer-mixin/move-before)
      </td>

      <td>
        Moves this layer immediately before (visually above) the given sibling in render order. Both layers must be in the same scene.
      </td>
    </tr>

    <tr>
      <td>
        [moveAfter(sibling)](/en/creator-api/nodes/layer-mixin/move-after)
      </td>

      <td>
        Moves this layer immediately after (visually below) the given sibling in render order. Both layers must be in the same scene.
      </td>
    </tr>

    <tr>
      <td>
        [bringToFront()](/en/creator-api/nodes/layer-mixin/bring-to-front)
      </td>

      <td>
        Moves this layer to the top of the render stack (foreground).
      </td>
    </tr>

    <tr>
      <td>
        [sendToBack()](/en/creator-api/nodes/layer-mixin/send-to-back)
      </td>

      <td>
        Moves this layer to the bottom of the render stack (background).
      </td>
    </tr>

    <tr>
      <td>
        [shiftTo(frame)](/en/creator-api/nodes/layer-mixin/shift-to)
      </td>

      <td>
        Shifts the layer's timeline so it starts at the given frame, adjusting `startFrame`, `endFrame`, `timelineOffset`, and all keyframes together.
      </td>
    </tr>
  </tbody>
</table>
