diff options
Diffstat (limited to 'release')
-rw-r--r-- | release/datafiles/icons/ops.curve.draw.dat | bin | 2564 -> 2402 bytes | |||
-rw-r--r-- | release/datafiles/icons/ops.curve.pen.dat | bin | 0 -> 3374 bytes | |||
m--------- | release/datafiles/locale | 0 | ||||
m--------- | release/scripts/addons | 0 | ||||
-rw-r--r-- | release/scripts/modules/bl_keymap_utils/keymap_hierarchy.py | 1 | ||||
-rw-r--r-- | release/scripts/presets/keyconfig/keymap_data/blender_default.py | 42 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_toolsystem_toolbar.py | 17 |
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 Binary files differindex cf2c8e31bcb..da4c7424756 100644 --- a/release/datafiles/icons/ops.curve.draw.dat +++ b/release/datafiles/icons/ops.curve.draw.dat diff --git a/release/datafiles/icons/ops.curve.pen.dat b/release/datafiles/icons/ops.curve.pen.dat Binary files differnew file mode 100644 index 00000000000..1007f7ea604 --- /dev/null +++ b/release/datafiles/icons/ops.curve.pen.dat 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, |