From 9496d941fdf73da1477d8edb921f486045abef71 Mon Sep 17 00:00:00 2001 From: Casey Bianco-Davis Date: Sun, 12 Oct 2025 01:45:13 +0200 Subject: [PATCH] Grease Pencil: Add `Sample Color` operator to Vertex Color Mode This PR adds the `sample_color` operator to Grease Pencil Vertex Paint Mode. Pull Request: https://projects.blender.org/blender/blender/pulls/146951 --- scripts/presets/keyconfig/keymap_data/blender_default.py | 1 + scripts/startup/bl_ui/space_view3d.py | 2 ++ source/blender/editors/sculpt_paint/paint_sample_color.cc | 3 ++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/presets/keyconfig/keymap_data/blender_default.py b/scripts/presets/keyconfig/keymap_data/blender_default.py index 78159c85bf0..886d207e475 100644 --- a/scripts/presets/keyconfig/keymap_data/blender_default.py +++ b/scripts/presets/keyconfig/keymap_data/blender_default.py @@ -4331,6 +4331,7 @@ def km_grease_pencil_vertex_paint(params): {"properties": [("data_path", "scene.tool_settings.use_gpencil_vertex_select_mask_segment")]}), # Flip primary and secondary color ("paint.brush_colors_flip", {"type": 'X', "value": 'PRESS'}, None), + ("paint.sample_color", {"type": 'X', "value": 'PRESS', "shift": True}, {"properties": [("merged", False)]}), # Edit Lines overlay ("wm.context_toggle", {"type": 'Q', "value": 'PRESS', "shift": True}, diff --git a/scripts/startup/bl_ui/space_view3d.py b/scripts/startup/bl_ui/space_view3d.py index f6c51cd330a..d526371baee 100644 --- a/scripts/startup/bl_ui/space_view3d.py +++ b/scripts/startup/bl_ui/space_view3d.py @@ -2239,6 +2239,8 @@ class VIEW3D_MT_paint_vertex_grease_pencil(Menu): layout.operator("grease_pencil.vertex_color_levels", text="Levels") layout.operator("grease_pencil.vertex_color_hsv", text="Hue/Saturation/Value") layout.operator("grease_pencil.vertex_color_brightness_contrast", text="Brightness/Contrast") + layout.separator() + layout.operator("paint.sample_color").merged = False class VIEW3D_MT_select_paint_mask(Menu): diff --git a/source/blender/editors/sculpt_paint/paint_sample_color.cc b/source/blender/editors/sculpt_paint/paint_sample_color.cc index 00db20dd0f7..86230ca5f28 100644 --- a/source/blender/editors/sculpt_paint/paint_sample_color.cc +++ b/source/blender/editors/sculpt_paint/paint_sample_color.cc @@ -483,7 +483,8 @@ static wmOperatorStatus sample_color_modal(bContext *C, wmOperator *op, const wm static bool sample_color_poll(bContext *C) { return (image_paint_poll_ignore_tool(C) || vertex_paint_poll_ignore_tool(C) || - blender::ed::greasepencil::grease_pencil_painting_poll(C)); + blender::ed::greasepencil::grease_pencil_painting_poll(C) || + blender::ed::greasepencil::grease_pencil_vertex_painting_poll(C)); } void PAINT_OT_sample_color(wmOperatorType *ot)