[Bf-blender-cvs] [2fb62893f2d] temp-T96708-brush-texture-refactoring: Use mask texture slot in toolbar.
Jeroen Bakker
noreply at git.blender.org
Tue Apr 5 08:14:09 CEST 2022
Commit: 2fb62893f2d672fe8f1dea17b51142a131c2c74f
Author: Jeroen Bakker
Date: Tue Apr 5 08:12:59 2022 +0200
Branches: temp-T96708-brush-texture-refactoring
https://developer.blender.org/rB2fb62893f2d672fe8f1dea17b51142a131c2c74f
Use mask texture slot in toolbar.
===================================================================
M release/scripts/startup/bl_ui/properties_paint_common.py
M release/scripts/startup/bl_ui/space_view3d.py
M release/scripts/startup/bl_ui/space_view3d_toolbar.py
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_paint_common.py b/release/scripts/startup/bl_ui/properties_paint_common.py
index 0e89b726461..be420ba290c 100644
--- a/release/scripts/startup/bl_ui/properties_paint_common.py
+++ b/release/scripts/startup/bl_ui/properties_paint_common.py
@@ -1012,8 +1012,9 @@ def draw_color_settings(context, layout, brush, color_type=False):
# Used in both the View3D toolbar and texture properties
-def brush_texture_settings(layout, brush, sculpt):
- tex_slot = brush.texture_slot
+def brush_texture_settings(layout, brush, sculpt, tex_slot=None):
+ if tex_slot is None:
+ tex_slot = brush.texture_slot
layout.use_property_split = True
layout.use_property_decorate = False
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 6a12829b732..c666a16c541 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -60,9 +60,9 @@ class VIEW3D_HT_tool_header(Header):
def draw_3d_brush_settings(layout, tool_mode):
layout.popover("VIEW3D_PT_tools_brush_settings_advanced", text="Brush")
- if tool_mode in ('PAINT_TEXTURE'):
- layout.popover("VIEW3D_PT_tools_brush_texture")
if tool_mode in ('PAINT_TEXTURE', 'SCULPT', 'PAINT_VERTEX'):
+ layout.popover("VIEW3D_PT_tools_brush_texture")
+ if tool_mode in ('PAINT_TEXTURE',):
layout.popover("VIEW3D_PT_tools_mask_texture")
layout.popover("VIEW3D_PT_tools_brush_stroke")
layout.popover("VIEW3D_PT_tools_brush_falloff")
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index 1a3b7b0a76d..98a2ddf45b5 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -613,22 +613,27 @@ class VIEW3D_PT_tools_brush_texture(Panel, View3DPaintPanel):
(brush := settings.brush)
):
if context.sculpt_object or context.vertex_paint_object:
- return False
+ return True
elif context.image_paint_object:
return (brush.image_tool == 'DRAW')
return False
+ def get_texture_slot(self, context, brush):
+ if context.sculpt_object or contex.vertex_paint_object:
+ return brush.mask_texture_slot
+ return brush.texture_slot
+
def draw(self, context):
layout = self.layout
settings = self.paint_settings(context)
brush = settings.brush
- tex_slot = brush.texture_slot
+ tex_slot = self.get_texture_slot(context, brush)
col = layout.column()
col.template_ID_preview(tex_slot, "texture", new="texture.new", rows=3, cols=8)
- brush_texture_settings(col, brush, context.sculpt_object)
+ brush_texture_settings(col, brush, context.sculpt_object, tex_slot=tex_slot)
# TODO, move to space_view3d.py
@@ -642,14 +647,12 @@ class VIEW3D_PT_tools_mask_texture(Panel, View3DPaintPanel, TextureMaskPanel):
@classmethod
def poll(cls, context):
settings = cls.paint_settings(context)
- return settings and settings.brush and (
- context.image_paint_object or context.sculpt_object or context.vertex_paint_object)
+ return (settings and settings.brush and context.image_paint_object)
def draw(self, context):
layout = self.layout
- settings = self.paint_settings(context)
- brush = settings.brush
+ brush = context.tool_settings.image_paint.brush
col = layout.column()
mask_tex_slot = brush.mask_texture_slot
More information about the Bf-blender-cvs
mailing list