diff options
author | Pablo Dobarro <pablodp606> | 2020-09-26 22:59:30 +0300 |
---|---|---|
committer | Pablo Dobarro <pablodp606@gmail.com> | 2020-09-26 23:04:45 +0300 |
commit | 8c81b3fb8b9c857626c037fe0c95c5d48a3ca20f (patch) | |
tree | 8837430bbea204b3e22fbbe59f2e328f0fbe663a /release/scripts/startup/bl_ui | |
parent | 4c74980e7bd19164a715ee5141d5364bbea242bf (diff) |
Sculpt: Line gestures and Mask Line tool
This adds support for line gesture to SculptGestureContext and
implements a Mask Line tool, which affects everything to the right of a plane
defined by the straightline gesture.
For this to work, a new WM_gesture_straightline_oneshot_modal is needed
which only runs exec when the gesture is over.
Added as experimental as it does not have icon.
Reviewed By: Severin
Differential Revision: https://developer.blender.org/D8722
Diffstat (limited to 'release/scripts/startup/bl_ui')
-rw-r--r-- | release/scripts/startup/bl_ui/space_toolsystem_toolbar.py | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py index 75dfd60b1d4..3f7a3604741 100644 --- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py +++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py @@ -1259,6 +1259,21 @@ class _defs_sculpt: ) @ToolDef.from_fn + def mask_line(): + def draw_settings(_context, layout, tool): + props = tool.operator_properties("paint.mask_line_gesture") + layout.prop(props, "use_front_faces_only", expand=False) + + return dict( + idname="builtin.line_mask", + label="Line Mask", + icon="ops.sculpt.line_mask", + widget=None, + keymap=(), + draw_settings=draw_settings, + ) + + @ToolDef.from_fn def face_set_box(): def draw_settings(_context, layout, tool): props = tool.operator_properties("sculpt.face_set_box_gesture") @@ -1273,6 +1288,7 @@ class _defs_sculpt: draw_settings=draw_settings, ) + @ToolDef.from_fn def face_set_lasso(): def draw_settings(_context, layout, tool): @@ -1308,7 +1324,6 @@ class _defs_sculpt: keymap=(), ) - @ToolDef.from_fn def mesh_filter(): def draw_settings(_context, layout, tool): @@ -2653,6 +2668,13 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel): ), _defs_sculpt.hide_border, lambda context: ( + (_defs_sculpt.mask_line,) + if context is None or ( + context.preferences.view.show_developer_ui and + context.preferences.experimental.use_tools_missing_icons) + else () + ), + lambda context: ( (_defs_sculpt.face_set_box,) if context is None or ( context.preferences.view.show_developer_ui and |