[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