Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'release')
-rw-r--r--release/datafiles/icons/ops.curve.draw.datbin2564 -> 2402 bytes
-rw-r--r--release/datafiles/icons/ops.curve.pen.datbin0 -> 3374 bytes
m---------release/datafiles/locale0
m---------release/scripts/addons0
-rw-r--r--release/scripts/modules/bl_keymap_utils/keymap_hierarchy.py1
-rw-r--r--release/scripts/presets/keyconfig/keymap_data/blender_default.py42
-rw-r--r--release/scripts/startup/bl_ui/space_toolsystem_toolbar.py17
7 files changed, 60 insertions, 0 deletions
diff --git a/release/datafiles/icons/ops.curve.draw.dat b/release/datafiles/icons/ops.curve.draw.dat
index cf2c8e31bcb..da4c7424756 100644
--- a/release/datafiles/icons/ops.curve.draw.dat
+++ b/release/datafiles/icons/ops.curve.draw.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.curve.pen.dat b/release/datafiles/icons/ops.curve.pen.dat
new file mode 100644
index 00000000000..1007f7ea604
--- /dev/null
+++ b/release/datafiles/icons/ops.curve.pen.dat
Binary files differ
diff --git a/release/datafiles/locale b/release/datafiles/locale
-Subproject 2a5095eed3028e91624d27ca93e4c65f572b809
+Subproject 716dc02ec30c0810513f7b4adc4ae865ae50c4e
diff --git a/release/scripts/addons b/release/scripts/addons
-Subproject 67f1fbca1482d9d9362a4001332e785c3fd5d23
+Subproject 787ea78f7fa6f0373d80ba1247768402df93f8a
diff --git a/release/scripts/modules/bl_keymap_utils/keymap_hierarchy.py b/release/scripts/modules/bl_keymap_utils/keymap_hierarchy.py
index 938849d8e6e..6389efba049 100644
--- a/release/scripts/modules/bl_keymap_utils/keymap_hierarchy.py
+++ b/release/scripts/modules/bl_keymap_utils/keymap_hierarchy.py
@@ -100,6 +100,7 @@ _km_hierarchy = [
('Paint Stroke Modal', 'EMPTY', 'WINDOW', []),
('Sculpt Expand Modal', 'EMPTY', 'WINDOW', []),
('Paint Curve', 'EMPTY', 'WINDOW', []),
+ ('Curve Pen Modal Map', 'EMPTY', 'WINDOW', []),
('Object Non-modal', 'EMPTY', 'WINDOW', []), # mode change
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index b626f6a237a..c9a378a101f 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -6158,6 +6158,25 @@ def km_sculpt_expand_modal(_params):
return keymap
+def km_curve_pen_modal_map(_params):
+ items = []
+ keymap = (
+ "Curve Pen Modal Map",
+ {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
+ {"items": items},
+ )
+
+ items.extend([
+ ("FREE_ALIGN_TOGGLE", {"type": 'LEFT_SHIFT', "value": 'ANY', "any": True}, None),
+ ("MOVE_ADJACENT", {"type": 'LEFT_CTRL', "value": 'ANY', "any": True}, None),
+ ("MOVE_ENTIRE", {"type": 'SPACE', "value": 'ANY', "any": True}, None),
+ ("LOCK_ANGLE", {"type": 'LEFT_ALT', "value": 'ANY', "any": True}, None),
+ ("LINK_HANDLES", {"type": 'RIGHT_CTRL', "value": 'PRESS', "any": True}, None),
+ ])
+
+ return keymap
+
+
# Fallback for gizmos that don't have custom a custom key-map.
def km_generic_gizmo(_params):
keymap = (
@@ -7078,6 +7097,27 @@ def km_3d_view_tool_edit_curve_draw(params):
)
+def km_3d_view_tool_edit_curve_pen(params):
+ return (
+ "3D View Tool: Edit Curve, Curve Pen",
+ {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
+ {"items": [
+ ("curve.pen", {"type": params.tool_mouse, "value": 'PRESS'},
+ {"properties": [
+ ("extrude_point", True),
+ ("move_segment", True),
+ ("select_point", True),
+ ("move_point", True),
+ ("close_spline_method", "ON_CLICK"),
+ ]}),
+ ("curve.pen", {"type": params.tool_mouse, "value": 'PRESS', "ctrl": True},
+ {"properties": [("insert_point", True), ("delete_point", True)]}),
+ ("curve.pen", {"type": params.tool_mouse, "value": 'DOUBLE_CLICK'},
+ {"properties": [("toggle_vector", True), ("cycle_handle_type", True),]}),
+ ]},
+ )
+
+
def km_3d_view_tool_edit_curve_tilt(params):
return (
"3D View Tool: Edit Curve, Tilt",
@@ -7882,6 +7922,7 @@ def generate_keymaps(params=None):
km_view3d_dolly_modal(params),
km_paint_stroke_modal(params),
km_sculpt_expand_modal(params),
+ km_curve_pen_modal_map(params),
# Gizmos.
km_generic_gizmo(params),
@@ -7960,6 +8001,7 @@ def generate_keymaps(params=None):
km_3d_view_tool_edit_mesh_rip_region(params),
km_3d_view_tool_edit_mesh_rip_edge(params),
km_3d_view_tool_edit_curve_draw(params),
+ km_3d_view_tool_edit_curve_pen(params),
km_3d_view_tool_edit_curve_radius(params),
km_3d_view_tool_edit_curve_tilt(params),
km_3d_view_tool_edit_curve_randomize(params),
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index aec3ec63a0c..fc621c5b51e 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -1202,6 +1202,22 @@ class _defs_edit_curve:
)
@ToolDef.from_fn
+ def pen():
+ def draw_settings(_context, layout, tool):
+ props = tool.operator_properties("curve.pen")
+ layout.prop(props, "close_spline")
+ layout.prop(props, "extrude_handle")
+ return dict(
+ idname="builtin.pen",
+ label="Curve Pen",
+ cursor='CROSSHAIR',
+ icon="ops.curve.pen",
+ widget=None,
+ keymap=(),
+ draw_settings=draw_settings,
+ )
+
+ @ToolDef.from_fn
def tilt():
return dict(
idname="builtin.tilt",
@@ -2881,6 +2897,7 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
*_tools_default,
None,
_defs_edit_curve.draw,
+ _defs_edit_curve.pen,
(
_defs_edit_curve.extrude,
_defs_edit_curve.extrude_cursor,