[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