Adds a new python operator to Grease Pencil for adding the layer above or below as a masking layers to the active layer. Creates a new file for Grease Pencil python operators in `scripts/startup/bl_operators/grease_pencil.py`. Pull Request: https://projects.blender.org/blender/blender/pulls/134401
80 lines
1.6 KiB
Python
80 lines
1.6 KiB
Python
# SPDX-FileCopyrightText: 2009-2023 Blender Authors
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
from __future__ import annotations
|
|
|
|
# support reloading sub-modules
|
|
if "bpy" in locals():
|
|
from importlib import reload
|
|
_modules_loaded[:] = [reload(val) for val in _modules_loaded]
|
|
del reload
|
|
|
|
_modules = [
|
|
"add_mesh_torus",
|
|
"anim",
|
|
"assets",
|
|
"bone_selection_sets",
|
|
"clip",
|
|
"connect_to_output",
|
|
"console",
|
|
"constraint",
|
|
"file",
|
|
"geometry_nodes",
|
|
"grease_pencil",
|
|
"image",
|
|
"image_as_planes",
|
|
"mesh",
|
|
"node",
|
|
"object",
|
|
"object_align",
|
|
"object_quick_effects",
|
|
"object_randomize_transform",
|
|
"presets",
|
|
"rigidbody",
|
|
"screen_play_rendered_anim",
|
|
"sequencer",
|
|
"spreadsheet",
|
|
"userpref",
|
|
"uvcalc_follow_active",
|
|
"uvcalc_lightmap",
|
|
"uvcalc_transform",
|
|
"vertexpaint_dirt",
|
|
"view3d",
|
|
"world",
|
|
"wm",
|
|
]
|
|
|
|
import bpy
|
|
|
|
if bpy.app.build_options.freestyle:
|
|
_modules.append("freestyle")
|
|
|
|
__import__(name=__name__, fromlist=_modules)
|
|
_namespace = globals()
|
|
_modules_loaded = [_namespace[name] for name in _modules]
|
|
del _namespace
|
|
|
|
|
|
def register():
|
|
from bpy.utils import register_class
|
|
from . import bone_selection_sets
|
|
|
|
for mod in _modules_loaded:
|
|
for cls in mod.classes:
|
|
register_class(cls)
|
|
|
|
bone_selection_sets.register()
|
|
|
|
|
|
def unregister():
|
|
from bpy.utils import unregister_class
|
|
from . import bone_selection_sets
|
|
|
|
bone_selection_sets.unregister()
|
|
|
|
for mod in reversed(_modules_loaded):
|
|
for cls in reversed(mod.classes):
|
|
if cls.is_registered:
|
|
unregister_class(cls)
|