[Bf-blender-cvs] [a1202d3ce1f] sculpt-dev: Sculpt: Added a little brush icon tool slot interface to mask expand in "selection" mode.

Joseph Eagar noreply at git.blender.org
Thu Oct 7 15:17:11 CEST 2021


Commit: a1202d3ce1f83bc036b22159849d4d1cd2561de7
Author: Joseph Eagar
Date:   Thu Oct 7 06:14:37 2021 -0700
Branches: sculpt-dev
https://developer.blender.org/rBa1202d3ce1f83bc036b22159849d4d1cd2561de7

Sculpt: Added a little brush icon tool slot
        interface to mask expand in "selection"
	mode.

Leftclick runs normal expand.
Shfit-leftclick subtracts from mask.
Pressing CTRL inverts adding/subtracting

===================================================================

M	release/datafiles/blender_icons_geom.py
A	release/datafiles/icons/ops.sculpt.mask_select.dat
M	release/scripts/presets/keyconfig/keymap_data/blender_default.py
M	release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
M	source/blender/editors/datafiles/CMakeLists.txt
M	source/blender/editors/sculpt_paint/sculpt_expand.c
M	source/blender/editors/sculpt_paint/sculpt_intern.h

===================================================================

diff --git a/release/datafiles/blender_icons_geom.py b/release/datafiles/blender_icons_geom.py
index 82d4f813062..33bc64f942e 100644
--- a/release/datafiles/blender_icons_geom.py
+++ b/release/datafiles/blender_icons_geom.py
@@ -115,7 +115,7 @@ def object_child_map(objects):
         ob_all.sort(key=lambda ob: ob.name)
     return objects_children
 
-
+import sys
 def mesh_data_lists_from_mesh(me, material_colors):
     me_loops = me.loops[:]
     me_loops_color = me.vertex_colors.active.data[:]
diff --git a/release/datafiles/icons/ops.sculpt.mask_select.dat b/release/datafiles/icons/ops.sculpt.mask_select.dat
new file mode 100644
index 00000000000..9e25c60099b
Binary files /dev/null and b/release/datafiles/icons/ops.sculpt.mask_select.dat differ
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index 41c99de86ad..38d98a1d5c4 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -70,14 +70,16 @@ class Params:
         # (derived from other settings).
         #
         # This case needs to be checked often,
-        # Shorthand for: `(params.use_fallback_tool if params.select_mouse == 'RIGHTMOUSE' else False)`.
+        # Shorthand for: `(params.use_fallback_tool if params.select_mouse ==
+        # 'RIGHTMOUSE' else False)`.
         "use_fallback_tool_rmb",
         # Shorthand for: `('CLICK' if params.use_fallback_tool_rmb else
         # params.select_mouse_value)`.
         "select_mouse_value_fallback",
         # Shorthand for: `{"type": params.select_tweak, "value": 'ANY'}`.
         "select_tweak_event",
-        # Shorthand for: `('CLICK_DRAG' if params.use_pie_click_drag else 'PRESS')`
+        # Shorthand for: `('CLICK_DRAG' if params.use_pie_click_drag else
+        # 'PRESS')`
         "pie_value",
         # Shorthand for: `{"type": params.tool_tweak, "value": 'ANY'}`.
         "tool_tweak_event",
@@ -749,7 +751,6 @@ def km_user_interface(_params):
 
 # ------------------------------------------------------------------------------
 # Editors
-
 def km_property_editor(_params):
     items = []
     keymap = ("Property Editor",
@@ -2355,8 +2356,7 @@ def km_sequencercommon(params):
          {"properties": [("data_path", 'scene.sequence_editor.show_overlay')]}),
         ("wm.context_toggle_enum", {"type": 'TAB', "value": 'PRESS', "ctrl": True},
          {"properties": [("data_path", 'space_data.view_type'), ("value_1", 'SEQUENCER'), ("value_2", 'PREVIEW')]}),
-        ("sequencer.refresh_all", {"type": 'R', "value": 'PRESS', "ctrl": True}, None),
-    ])
+        ("sequencer.refresh_all", {"type": 'R', "value": 'PRESS', "ctrl": True}, None),])
 
     if params.select_mouse == 'LEFTMOUSE' and not params.legacy:
         # Quick switch to select tool, since left select can't easily
@@ -2430,13 +2430,10 @@ def km_sequencer(params):
               {"type": NUMBERS_1[i], "value": 'PRESS'},
               {"properties": [("camera", i + 1)]})
              for i in range(10)
-             )
-        ),
-        *_template_sequencer_timeline_select(
-            type=params.select_mouse,
+             )),
+        *_template_sequencer_timeline_select(type=params.select_mouse,
             value=params.select_mouse_value_fallback,
-            legacy=params.legacy,
-        ),
+            legacy=params.legacy,),
         ("sequencer.select_more", {"type": 'NUMPAD_PLUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None),
         ("sequencer.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None),
         ("sequencer.select_linked_pick", {"type": 'L', "value": 'PRESS'}, None),
@@ -2481,13 +2478,10 @@ def km_sequencerpreview(params):
         {"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
         {"items": items},)
 
-    items.extend([
-        # Selection.
-        *_template_sequencer_preview_select(
-            type=params.select_mouse,
+    items.extend([# Selection.
+        *_template_sequencer_preview_select(type=params.select_mouse,
             value=params.select_mouse_value_fallback,
-            legacy=params.legacy,
-        ),
+            legacy=params.legacy,),
         ("sequencer.view_all_preview", {"type": 'HOME', "value": 'PRESS'}, None),
         ("sequencer.view_all_preview", {"type": 'NDOF_BUTTON_FIT', "value": 'PRESS'}, None),
         ("sequencer.view_ghost_border", {"type": 'O', "value": 'PRESS'}, None),
@@ -2506,8 +2500,7 @@ def km_sequencerpreview(params):
         ("sequencer.view_zoom_ratio", {"type": 'NUMPAD_8', "value": 'PRESS'},
          {"properties": [("ratio", 0.125)]}),
         ("transform.translate", {"type": params.select_tweak, "value": 'ANY'}, None),
-        op_tool_optional(
-            ("transform.translate", {"type": 'G', "value": 'PRESS'}, None),
+        op_tool_optional(("transform.translate", {"type": 'G', "value": 'PRESS'}, None),
             (op_tool_cycle, "builtin.move"), params),
         op_tool_optional(("transform.rotate", {"type": 'R', "value": 'PRESS'}, None),
             (op_tool_cycle, "builtin.rotate"), params),
@@ -2519,8 +2512,7 @@ def km_sequencerpreview(params):
          {"properties": [("property", 'SCALE')]}),
         ("sequencer.strip_transform_clear", {"type": 'R', "alt": True, "value": 'PRESS'},
          {"properties": [("property", 'ROTATION')]}),
-        *_template_items_context_menu("SEQUENCER_MT_preview_context_menu", params.context_menu_event),
-    ])
+        *_template_items_context_menu("SEQUENCER_MT_preview_context_menu", params.context_menu_event),])
 
     return keymap
 
@@ -2803,7 +2795,6 @@ def km_spreadsheet_generic(_params):
 
 # ------------------------------------------------------------------------------
 # Animation
-
 def km_frames(params):
     items = []
     keymap = ("Frames",
@@ -2946,7 +2937,6 @@ def km_animation_channels(params):
 
 # ------------------------------------------------------------------------------
 # Modes
-
 def km_grease_pencil(params):
     items = []
     keymap = ("Grease Pencil",
@@ -3977,7 +3967,6 @@ def radial_control_properties(paint, prop, secondary_prop, secondary_rotation=Fa
     }
 
 # Radial controls for the paint and sculpt modes.
-
 def _template_paint_radial_control(paint, rotation=False, secondary_rotation=False, color=False, zoom=False):
     items = []
 
@@ -4083,25 +4072,16 @@ def _template_uv_select_for_fallback(params, fallback):
     return []
 
 def _template_sequencer_generic_select(*, type, value, legacy):
-    return [(
-        "sequencer.select",
+    return [("sequencer.select",
         {"type": type, "value": value, **{m: True for m in mods}},
-        {"properties": [(c, True) for c in props]},
-    ) for props, mods in (
-        (("deselect_all",) if not legacy else (), ()),
-        (("toggle",), ("shift",)),
-    )]
+        {"properties": [(c, True) for c in props]},) for props, mods in ((("deselect_all",) if not legacy else (), ()),
+        (("toggle",), ("shift",)),)]
 
 
 def _template_sequencer_preview_select(*, type, value, legacy):
-    return _template_sequencer_generic_select(
-        type=type, value=value, legacy=legacy,
-    ) + [(
-        "sequencer.select",
+    return _template_sequencer_generic_select(type=type, value=value, legacy=legacy,) + [("sequencer.select",
         {"type": type, "value": value, **{m: True for m in mods}},
-        {"properties": [(c, True) for c in props]},
-    ) for props, mods in (
-        (("center",), ("ctrl",)),
+        {"properties": [(c, True) for c in props]},) for props, mods in ((("center",), ("ctrl",)),
         # TODO:
         # (("enumerate",), ("alt",)),
             (("toggle", "center"), ("shift", "ctrl")),
@@ -4112,29 +4092,22 @@ def _template_sequencer_preview_select(*, type, value, legacy):
 
 
 def _template_sequencer_timeline_select(*, type, value, legacy):
-    return _template_sequencer_generic_select(
-        type=type, value=value, legacy=legacy,
-    ) + [(
-        "sequencer.select",
+    return _template_sequencer_generic_select(type=type, value=value, legacy=legacy,) + [("sequencer.select",
         {"type": type, "value": value, **{m: True for m in mods}},
-        {"properties": [(c, True) for c in props]},
-    ) for props, mods in (
-        (("linked_handle",), ("alt",)),
+        {"properties": [(c, True) for c in props]},) for props, mods in ((("linked_handle",), ("alt",)),
         (("linked_handle", "extend"), ("shift", "alt",)),
 
         (("side_of_frame", "linked_time"), ("ctrl",)),
-        (("side_of_frame", "linked_time", "extend"), ("ctrl", "shift")),
-    )]
+        (("side_of_frame", "linked_time", "extend"), ("ctrl", "shift")),)]
 
 
 def _template_sequencer_select_for_fallback(params, fallback):
     if (not fallback) and params.use_fallback_tool_rmb:
-        # Needed so we have immediate select+tweak when the default select tool is active.
-        return _template_sequencer_generic_select(
-            type=params.select_mouse,
+        # Needed so we have immediate select+tweak when the default select tool
+        # is active.
+        return _template_sequencer_generic_select(type=params.select_mouse,
             value=params.select_mouse_value,
-            legacy=params.legacy,
-        )
+            legacy=params.legacy,)
     return []
 
 
@@ -4304,7 +4277,8 @@ def km_sculpt(params):
         ("sculpt.expand", {"type": 'W', "value": 'PRESS', "shift": True, "ctrl": True},
          {"properties": [("target", "FACE_SETS"), ("falloff_type", "POLY_LOOP"), ("invert", False), ("use_modify_active", False)]}),
         # Partial Visibility Show/hide
-        # Match keys from: `_template_items_hide_reveal_actions`, cannot use because arguments aren't compatible.
+        # Match keys from: `_template_items_hide_reveal_actions`, cannot use
+        # because arguments aren't compatible.
         ("sculpt.face_set_change_visibility", {"type": 'H', "value": 'PRESS'},
          {"properties": [("mode", 'TOGGLE')]}),
         ("sculpt.face_set_change_visibility", {"type": 'H', "value": 'PRESS', "shift": True},
@@ -4389,8 +4363,7 @@ d

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list