# GPencilLayer(bpy_struct)

base class — `bpy_struct`

class `bpy.types.``GPencilLayer`(bpy_struct)

  Collection of related sketches

  `active_frame`

    Frame currently being displayed for this layer

    Type: | `GPencilFrame`, (readonly)

  `annotation_hide`

    Set annotation Visibility

    Type: | boolean, default False

  `annotation_onion_after_color`

    Base color for ghosts after the active frame

    Type: | float array of 3 items in [0, 1], default (0.25, 0.1, 1.0)

  `annotation_onion_after_range`

    Maximum number of frames to show after current frame

    Type: | int in [-1, 120], default 0

  `annotation_onion_before_color`

    Base color for ghosts before the active frame

    Type: | float array of 3 items in [0, 1], default (0.302, 0.851, 0.302)

  `annotation_onion_before_range`

    Maximum number of frames to show before current frame

    Type: | int in [-1, 120], default 0

  `blend_mode`

    Blend mode

    Type: | enum in [‘REGULAR’, ‘OVERLAY’, ‘ADD’, ‘SUBTRACT’, ‘MULTIPLY’, ‘DIVIDE’], default ‘REGULAR’

  `channel_color`

    Custom color for animation channel in Dopesheet

    Type: | float array of 3 items in [0, 1], default (0.0, 0.0, 0.0)

  `color`

    Color for all strokes in this layer

    Type: | float array of 3 items in [0, 1], default (0.0, 0.0, 0.0)

  `frames`

    Sketches for this layer on different frames

    Type: | `GPencilFrames` `bpy_prop_collection` of `GPencilFrame`, (readonly)

  `hide`

    Set layer Visibility

    Type: | boolean, default False

  `info`

    Layer name

    Type: | string, default “”, (never None)

  `is_parented`

    True when the layer parent object is set

    Type: | boolean, default False, (readonly)

  `is_ruler`

    This is a special ruler layer

    Type: | boolean, default False, (readonly)

  `line_change`

    Thickness change to apply to current strokes (in pixels)

    Type: | int in [-300, 300], default 0

  `lock`

    Protect layer from further editing and/or frame changes

    Type: | boolean, default False

  `lock_frame`

    Lock current frame displayed by layer

    Type: | boolean, default False

  `lock_material`

    Avoids editing locked materials in the layer

    Type: | boolean, default False

  `mask_layer`

    Remove any pixel outside underlying layers drawing

    Type: | boolean, default False

  `matrix_inverse`

    Parent inverse transformation matrix

    Type: | float multi-dimensional array of 4 * 4 items in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))

  `opacity`

    Layer Opacity

    Type: | float in [0, 1], default 0.0

  `parent`

    Parent Object

    Type: | `Object`

  `parent_bone`

    Name of parent bone in case of a bone parenting relation

    Type: | string, default “”, (never None)

  `parent_type`

    Type of parent relation

    - `OBJECT` Object, The layer is parented to an object.
    - `ARMATURE` Armature.
    - `BONE` Bone, The layer is parented to a bone.

    Type: | enum in [‘OBJECT’, ‘ARMATURE’, ‘BONE’], default ‘OBJECT’

  `pass_index`

    Index number for the “Layer Index” pass

    Type: | int in [0, 32767], default 0

  `select`

    Layer is selected for editing in the Dope Sheet

    Type: | boolean, default False

  `show_in_front`

    Make the layer draw in front of objects

    Type: | boolean, default False

  `show_points`

    Draw the points which make up the strokes (for debugging purposes)

    Type: | boolean, default False

  `thickness`

    Thickness of annotation strokes

    Type: | int in [1, 10], default 0

  `tint_color`

    Color for tinting stroke colors

    Type: | float array of 3 items in [0, 1], default (0.0, 0.0, 0.0)

  `tint_factor`

    Factor of tinting color

    Type: | float in [0, 1], default 0.0

  `use_annotation_onion_skinning`

    Display annotation onion skins before and after the current frame

    Type: | boolean, default False

  `use_onion_skinning`

    Display onion skins before and after the current frame

    Type: | boolean, default False

  `use_solo_mode`

    In Paint mode display only layers with keyframe in current frame

    Type: | boolean, default False

  `viewlayer_render`

    Only include Layer in this View Layer render output (leave blank to include always)

    Type: | string, default “”, (never None)

  `clear`()

    Remove all the grease pencil layer data

  classmethod `bl_rna_get_subclass`(id, default=None)

    Parameters: | id (string) – The RNA type identifier.
    Returns: | The RNA type or default when not found.
    Return type: | `bpy.types.Struct` subclass

  classmethod `bl_rna_get_subclass_py`(id, default=None)

    Parameters: | id (string) – The RNA type identifier.
    Returns: | The class or default when not found.
    Return type: | type

Inherited Properties

`bpy_struct.id_data` |

Inherited Functions

`bpy_struct.as_pointer` `bpy_struct.driver_add` `bpy_struct.driver_remove` `bpy_struct.get` `bpy_struct.is_property_hidden` `bpy_struct.is_property_overridable_library` `bpy_struct.is_property_readonly` `bpy_struct.is_property_set` `bpy_struct.items` `bpy_struct.keyframe_delete` | `bpy_struct.keyframe_insert` `bpy_struct.keys` `bpy_struct.path_from_id` `bpy_struct.path_resolve` `bpy_struct.pop` `bpy_struct.property_overridable_library_set` `bpy_struct.property_unset` `bpy_struct.type_recast` `bpy_struct.values`

References

`bpy.context.active_annotation_layer` `bpy.context.active_gpencil_layer` `bpy.context.editable_gpencil_layers` `bpy.context.visible_gpencil_layers` `GreasePencil.layers` | `GreasePencilLayers.active` `GreasePencilLayers.move` `GreasePencilLayers.new` `GreasePencilLayers.remove`