Fix #20926: 2d image paint was missing clone image, clone alpha, and wrap
option in the UI, also fixes missing refresh when changing these and wrong order in keymap for clone grabbing operator.
This commit is contained in:
@@ -491,10 +491,10 @@ class IMAGE_PT_paint(bpy.types.Panel):
|
|||||||
sub = layout.row(align=True)
|
sub = layout.row(align=True)
|
||||||
else:
|
else:
|
||||||
sub = layout.column(align=True)
|
sub = layout.column(align=True)
|
||||||
sub.prop_enum(toolsettings, "tool", 'DRAW')
|
sub.prop_enum(brush, "imagepaint_tool", 'DRAW')
|
||||||
sub.prop_enum(toolsettings, "tool", 'SOFTEN')
|
sub.prop_enum(brush, "imagepaint_tool", 'SOFTEN')
|
||||||
sub.prop_enum(toolsettings, "tool", 'CLONE')
|
sub.prop_enum(brush, "imagepaint_tool", 'CLONE')
|
||||||
sub.prop_enum(toolsettings, "tool", 'SMEAR')
|
sub.prop_enum(brush, "imagepaint_tool", 'SMEAR')
|
||||||
|
|
||||||
if brush:
|
if brush:
|
||||||
col = layout.column()
|
col = layout.column()
|
||||||
@@ -515,6 +515,10 @@ class IMAGE_PT_paint(bpy.types.Panel):
|
|||||||
|
|
||||||
col.prop(brush, "blend", text="Blend")
|
col.prop(brush, "blend", text="Blend")
|
||||||
|
|
||||||
|
if brush.imagepaint_tool == 'CLONE':
|
||||||
|
col.separator()
|
||||||
|
col.prop(brush, "clone_image", text="Image")
|
||||||
|
col.prop(brush, "clone_alpha", text="Alpha")
|
||||||
|
|
||||||
class IMAGE_PT_paint_stroke(bpy.types.Panel):
|
class IMAGE_PT_paint_stroke(bpy.types.Panel):
|
||||||
bl_space_type = 'IMAGE_EDITOR'
|
bl_space_type = 'IMAGE_EDITOR'
|
||||||
@@ -544,6 +548,7 @@ class IMAGE_PT_paint_stroke(bpy.types.Panel):
|
|||||||
row.prop(brush, "spacing", text="Distance", slider=True)
|
row.prop(brush, "spacing", text="Distance", slider=True)
|
||||||
row.prop(brush, "use_spacing_pressure", toggle=True, text="")
|
row.prop(brush, "use_spacing_pressure", toggle=True, text="")
|
||||||
|
|
||||||
|
layout.prop(brush, "use_wrap")
|
||||||
|
|
||||||
class IMAGE_PT_paint_curve(bpy.types.Panel):
|
class IMAGE_PT_paint_curve(bpy.types.Panel):
|
||||||
bl_space_type = 'IMAGE_EDITOR'
|
bl_space_type = 'IMAGE_EDITOR'
|
||||||
|
|||||||
@@ -308,6 +308,7 @@ void ED_keymap_paint(wmKeyConfig *keyconf)
|
|||||||
RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_texture_paint_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", WM_RADIALCONTROL_STRENGTH);
|
RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_texture_paint_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", WM_RADIALCONTROL_STRENGTH);
|
||||||
|
|
||||||
WM_keymap_add_item(keymap, "PAINT_OT_image_paint", LEFTMOUSE, KM_PRESS, 0, 0);
|
WM_keymap_add_item(keymap, "PAINT_OT_image_paint", LEFTMOUSE, KM_PRESS, 0, 0);
|
||||||
|
WM_keymap_add_item(keymap, "PAINT_OT_grab_clone", RIGHTMOUSE, KM_PRESS, 0, 0);
|
||||||
WM_keymap_add_item(keymap, "PAINT_OT_sample_color", RIGHTMOUSE, KM_PRESS, 0, 0);
|
WM_keymap_add_item(keymap, "PAINT_OT_sample_color", RIGHTMOUSE, KM_PRESS, 0, 0);
|
||||||
WM_keymap_add_item(keymap, "PAINT_OT_clone_cursor_set", LEFTMOUSE, KM_PRESS, KM_CTRL, 0);
|
WM_keymap_add_item(keymap, "PAINT_OT_clone_cursor_set", LEFTMOUSE, KM_PRESS, KM_CTRL, 0);
|
||||||
|
|
||||||
|
|||||||
@@ -516,8 +516,6 @@ void image_keymap(struct wmKeyConfig *keyconf)
|
|||||||
RNA_float_set(WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_ratio", PAD4, KM_PRESS, 0, 0)->ptr, "ratio", 0.25f);
|
RNA_float_set(WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_ratio", PAD4, KM_PRESS, 0, 0)->ptr, "ratio", 0.25f);
|
||||||
RNA_float_set(WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_ratio", PAD8, KM_PRESS, 0, 0)->ptr, "ratio", 0.125f);
|
RNA_float_set(WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_ratio", PAD8, KM_PRESS, 0, 0)->ptr, "ratio", 0.125f);
|
||||||
|
|
||||||
WM_keymap_add_item(keymap, "PAINT_OT_grab_clone", RIGHTMOUSE, KM_PRESS, 0, 0);
|
|
||||||
|
|
||||||
WM_keymap_add_item(keymap, "IMAGE_OT_sample", ACTIONMOUSE, KM_PRESS, 0, 0);
|
WM_keymap_add_item(keymap, "IMAGE_OT_sample", ACTIONMOUSE, KM_PRESS, 0, 0);
|
||||||
RNA_enum_set(WM_keymap_add_item(keymap, "IMAGE_OT_curves_point_set", ACTIONMOUSE, KM_PRESS, KM_CTRL, 0)->ptr, "point", 0);
|
RNA_enum_set(WM_keymap_add_item(keymap, "IMAGE_OT_curves_point_set", ACTIONMOUSE, KM_PRESS, KM_CTRL, 0)->ptr, "point", 0);
|
||||||
RNA_enum_set(WM_keymap_add_item(keymap, "IMAGE_OT_curves_point_set", ACTIONMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "point", 1);
|
RNA_enum_set(WM_keymap_add_item(keymap, "IMAGE_OT_curves_point_set", ACTIONMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "point", 1);
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ static void rna_def_brush(BlenderRNA *brna)
|
|||||||
prop= RNA_def_property(srna, "imagepaint_tool", PROP_ENUM, PROP_NONE);
|
prop= RNA_def_property(srna, "imagepaint_tool", PROP_ENUM, PROP_NONE);
|
||||||
RNA_def_property_enum_items(prop, brush_imagepaint_tool_items);
|
RNA_def_property_enum_items(prop, brush_imagepaint_tool_items);
|
||||||
RNA_def_property_ui_text(prop, "Image Paint Tool", "");
|
RNA_def_property_ui_text(prop, "Image Paint Tool", "");
|
||||||
RNA_def_property_update(prop, 0, "rna_Brush_update");
|
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_IMAGE, "rna_Brush_update");
|
||||||
|
|
||||||
prop= RNA_def_property(srna, "direction", PROP_ENUM, PROP_NONE);
|
prop= RNA_def_property(srna, "direction", PROP_ENUM, PROP_NONE);
|
||||||
RNA_def_property_enum_bitflag_sdna(prop, NULL, "flag");
|
RNA_def_property_enum_bitflag_sdna(prop, NULL, "flag");
|
||||||
@@ -302,19 +302,19 @@ static void rna_def_brush(BlenderRNA *brna)
|
|||||||
RNA_def_property_pointer_sdna(prop, NULL, "clone.image");
|
RNA_def_property_pointer_sdna(prop, NULL, "clone.image");
|
||||||
RNA_def_property_flag(prop, PROP_EDITABLE);
|
RNA_def_property_flag(prop, PROP_EDITABLE);
|
||||||
RNA_def_property_ui_text(prop, "Clone Image", "Image for clone tool.");
|
RNA_def_property_ui_text(prop, "Clone Image", "Image for clone tool.");
|
||||||
RNA_def_property_update(prop, 0, "rna_Brush_update");
|
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_IMAGE, "rna_Brush_update");
|
||||||
|
|
||||||
prop= RNA_def_property(srna, "clone_opacity", PROP_FLOAT, PROP_NONE);
|
prop= RNA_def_property(srna, "clone_alpha", PROP_FLOAT, PROP_NONE);
|
||||||
RNA_def_property_float_sdna(prop, NULL, "clone.alpha");
|
RNA_def_property_float_sdna(prop, NULL, "clone.alpha");
|
||||||
RNA_def_property_range(prop, 0.0f, 1.0f);
|
RNA_def_property_range(prop, 0.0f, 1.0f);
|
||||||
RNA_def_property_ui_text(prop, "Clone Opacity", "Opacity of clone image display.");
|
RNA_def_property_ui_text(prop, "Clone Alpha", "Opacity of clone image display.");
|
||||||
RNA_def_property_update(prop, 0, "rna_Brush_update");
|
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_IMAGE, "rna_Brush_update");
|
||||||
|
|
||||||
prop= RNA_def_property(srna, "clone_offset", PROP_FLOAT, PROP_XYZ);
|
prop= RNA_def_property(srna, "clone_offset", PROP_FLOAT, PROP_XYZ);
|
||||||
RNA_def_property_float_sdna(prop, NULL, "clone.offset");
|
RNA_def_property_float_sdna(prop, NULL, "clone.offset");
|
||||||
RNA_def_property_ui_text(prop, "Clone Offset", "");
|
RNA_def_property_ui_text(prop, "Clone Offset", "");
|
||||||
RNA_def_property_ui_range(prop, -1.0f , 1.0f, 10.0f, 3);
|
RNA_def_property_ui_range(prop, -1.0f , 1.0f, 10.0f, 3);
|
||||||
RNA_def_property_update(prop, 0, "rna_Brush_update");
|
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_IMAGE, "rna_Brush_update");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user