user: How do I use MaterialGPencilStyle(bpy_struct) in Blender? Include parameters, examples, warnings and best practices.

assistant: # MaterialGPencilStyle(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.MaterialGPencilStyle(*bpy_struct*)
:   alignment_mode
    :   Defines how align Dots and Boxes with drawing path and object rotation

        - `PATH`
          Path – Follow stroke drawing path and object rotation.
        - `OBJECT`
          Object – Follow object rotation only.
        - `FIXED`
          Fixed – Do not follow drawing path or object rotation and keeps aligned with viewport.

        Type:
        :   enum in [`'PATH'`, `'OBJECT'`, `'FIXED'`], default `'PATH'`

    alignment_rotation
    :   Additional rotation applied to dots and square texture of strokes. Only applies in texture shading mode.

        Type:
        :   float in [-1.5708, 1.5708], default 0.0

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

    fill_color
    :   Color for filling region bounded by each stroke

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

    fill_image
    :   Type:
        :   [`Image`](bpy.types.Image.html#bpy.types.Image "bpy.types.Image")

    fill_style
    :   Select style used to fill strokes

        - `SOLID`
          Solid – Fill area with solid color.
        - `GRADIENT`
          Gradient – Fill area with gradient color.
        - `TEXTURE`
          Texture – Fill area with image texture.

        Type:
        :   enum in [`'SOLID'`, `'GRADIENT'`, `'TEXTURE'`], default `'SOLID'`

    flip
    :   Flip filling colors

        Type:
        :   boolean, default False

    ghost
    :   Display strokes using this color when showing onion skins

        Type:
        :   boolean, default False

    gradient_type
    :   Select type of gradient used to fill strokes

        - `LINEAR`
          Linear – Fill area with gradient color.
        - `RADIAL`
          Radial – Fill area with radial gradient.

        Type:
        :   enum in [`'LINEAR'`, `'RADIAL'`], default `'LINEAR'`

    hide
    :   Set color Visibility

        Type:
        :   boolean, default False

    is_fill_visible
    :   True when opacity of fill is set high enough to be visible

        Type:
        :   boolean, default False, (readonly)

    is_stroke_visible
    :   True when opacity of stroke is set high enough to be visible

        Type:
        :   boolean, default False, (readonly)

    lock
    :   Protect color from further editing and/or frame changes

        Type:
        :   boolean, default False

    mix_color
    :   Color for mixing with primary filling color

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

    mix_factor
    :   Mix Factor

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

    mix_stroke_factor
    :   Mix Stroke Factor

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

    mode
    :   Select line type for strokes

        - `LINE`
          Line – Draw strokes using a continuous line.
        - `DOTS`
          Dots – Draw strokes using separated dots.
        - `BOX`
          Squares – Draw strokes using separated squares.

        Type:
        :   enum in [`'LINE'`, `'DOTS'`, `'BOX'`], default `'LINE'`

    pass_index
    :   Index number for the “Color Index” pass

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

    pixel_size
    :   Texture Pixel Size factor along the stroke

        Type:
        :   float in [1, 5000], default 0.0

    show_fill
    :   Show stroke fills of this material

        Type:
        :   boolean, default False

    show_stroke
    :   Show stroke lines of this material

        Type:
        :   boolean, default False

    stroke_image
    :   Type:
        :   [`Image`](bpy.types.Image.html#bpy.types.Image "bpy.types.Image")

    stroke_style
    :   Select style used to draw strokes

        - `SOLID`
          Solid – Draw strokes with solid color.
        - `TEXTURE`
          Texture – Draw strokes using texture.

        Type:
        :   enum in [`'SOLID'`, `'TEXTURE'`], default `'SOLID'`

    texture_angle
    :   Texture Orientation Angle

        Type:
        :   float in [-inf, inf], default 0.0

    texture_clamp
    :   Do not repeat texture and clamp to one instance only

        Type:
        :   boolean, default False

    texture_offset
    :   Shift Texture in 2d Space

        Type:
        :   [`mathutils.Vector`](mathutils.html#mathutils.Vector "mathutils.Vector") of 2 items in [-inf, inf], default (0.0, 0.0)

    texture_scale
    :   Scale Factor for Texture

        Type:
        :   [`mathutils.Vector`](mathutils.html#mathutils.Vector "mathutils.Vector") of 2 items in [-inf, inf], default (0.0, 0.0)

    use_fill_holdout
    :   Remove the color from underneath this stroke by using it as a mask

        Type:
        :   boolean, default False

    use_overlap_strokes
    :   Disable stencil and overlap self intersections with alpha materials

        Type:
        :   boolean, default False

    use_stroke_holdout
    :   Remove the color from underneath this stroke by using it as a mask

        Type:
        :   boolean, default False

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type