Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2021-03-22 09:58:24 +0300
committerCampbell Barton <ideasman42@gmail.com>2021-03-22 10:04:12 +0300
commit958e3a8cc12032343f4ffd18cf1ffcf7d7fd9bd2 (patch)
tree782609c22187e452fbce6e8fcb301fa6fe0eaadc
parentcb521bd37b26d069cfefec9683312e27c4caae90 (diff)
RNA: use boolean array for transarency masks
There is no need to expose this as multiple properties, also use `use_` prefix for boolean properties.
-rw-r--r--release/scripts/startup/bl_ui/properties_material.py10
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c16
-rw-r--r--source/blender/makesrna/intern/rna_gpencil_modifier.c44
-rw-r--r--source/blender/makesrna/intern/rna_material.c49
4 files changed, 18 insertions, 101 deletions
diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py
index ebd91143239..d85078d4ec2 100644
--- a/release/scripts/startup/bl_ui/properties_material.py
+++ b/release/scripts/startup/bl_ui/properties_material.py
@@ -296,14 +296,8 @@ class MATERIAL_PT_lineart(MaterialButtonsPanel, Panel):
layout.label(text="Transparency Masks:")
row = layout.row(align=True)
- row.prop(lineart, "transparency_mask_0", text="0", toggle=True)
- row.prop(lineart, "transparency_mask_1", text="1", toggle=True)
- row.prop(lineart, "transparency_mask_2", text="2", toggle=True)
- row.prop(lineart, "transparency_mask_3", text="3", toggle=True)
- row.prop(lineart, "transparency_mask_4", text="4", toggle=True)
- row.prop(lineart, "transparency_mask_5", text="5", toggle=True)
- row.prop(lineart, "transparency_mask_6", text="6", toggle=True)
- row.prop(lineart, "transparency_mask_7", text="7", toggle=True)
+ for i in range(8):
+ row.prop(lineart, "use_transparency_mask", text=str(i), index=i, toggle=True)
classes = (
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c b/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
index 26af78e682f..6054111cfbf 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
@@ -357,18 +357,16 @@ static void transparency_panel_draw(const bContext *UNUSED(C), Panel *panel)
uiLayout *row = uiLayoutRow(layout, true);
uiLayoutSetPropDecorate(row, false);
uiLayout *sub = uiLayoutRow(row, true);
- uiItemR(sub, ptr, "transparency_mask_0", UI_ITEM_R_TOGGLE, IFACE_("0"), ICON_NONE);
- uiItemR(sub, ptr, "transparency_mask_1", UI_ITEM_R_TOGGLE, IFACE_("1"), ICON_NONE);
- uiItemR(sub, ptr, "transparency_mask_2", UI_ITEM_R_TOGGLE, IFACE_("2"), ICON_NONE);
- uiItemR(sub, ptr, "transparency_mask_3", UI_ITEM_R_TOGGLE, IFACE_("3"), ICON_NONE);
- uiItemR(sub, ptr, "transparency_mask_4", UI_ITEM_R_TOGGLE, IFACE_("4"), ICON_NONE);
- uiItemR(sub, ptr, "transparency_mask_5", UI_ITEM_R_TOGGLE, IFACE_("5"), ICON_NONE);
- uiItemR(sub, ptr, "transparency_mask_6", UI_ITEM_R_TOGGLE, IFACE_("6"), ICON_NONE);
- uiItemR(sub, ptr, "transparency_mask_7", UI_ITEM_R_TOGGLE, IFACE_("7"), ICON_NONE);
+ char text[2] = "0";
+
+ PropertyRNA *prop = RNA_struct_find_property(ptr, "use_transparency_mask");
+ for (int i = 0; i < 8; i++, text[0]++) {
+ uiItemFullR(sub, ptr, prop, i, 0, UI_ITEM_R_TOGGLE, text, ICON_NONE);
+ }
uiItemL(row, "", ICON_BLANK1); /* Space for decorator. */
uiLayout *col = uiLayoutColumn(layout, true);
- uiItemR(col, ptr, "transparency_match", 0, IFACE_("Match All Masks"), ICON_NONE);
+ uiItemR(col, ptr, "use_transparency_match", 0, IFACE_("Match All Masks"), ICON_NONE);
}
static void chaining_panel_draw(const bContext *UNUSED(C), Panel *panel)
diff --git a/source/blender/makesrna/intern/rna_gpencil_modifier.c b/source/blender/makesrna/intern/rna_gpencil_modifier.c
index c0b082684e6..bb3dc5fd427 100644
--- a/source/blender/makesrna/intern/rna_gpencil_modifier.c
+++ b/source/blender/makesrna/intern/rna_gpencil_modifier.c
@@ -2538,50 +2538,16 @@ static void rna_def_modifier_gpencillineart(BlenderRNA *brna)
prop, "Use Transparency", "Use transparency mask from this material in line art");
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
- prop = RNA_def_property(srna, "transparency_match", PROP_BOOLEAN, PROP_NONE);
+ prop = RNA_def_property(srna, "use_transparency_match", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "transparency_flags", LRT_GPENCIL_TRANSPARENCY_MATCH);
RNA_def_property_ui_text(
prop, "Match Transparency", "Require matching all transparency masks instead of just one");
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
- prop = RNA_def_property(srna, "transparency_mask_0", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 0);
- RNA_def_property_ui_text(prop, "Mask 0", "");
- RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
-
- prop = RNA_def_property(srna, "transparency_mask_1", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 1);
- RNA_def_property_ui_text(prop, "Mask 1", "");
- RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
-
- prop = RNA_def_property(srna, "transparency_mask_2", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 2);
- RNA_def_property_ui_text(prop, "Mask 2", "");
- RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
-
- prop = RNA_def_property(srna, "transparency_mask_3", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 3);
- RNA_def_property_ui_text(prop, "Mask 3", "");
- RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
-
- prop = RNA_def_property(srna, "transparency_mask_4", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 4);
- RNA_def_property_ui_text(prop, "Mask 4", "");
- RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
-
- prop = RNA_def_property(srna, "transparency_mask_5", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 5);
- RNA_def_property_ui_text(prop, "Mask 5", "");
- RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
-
- prop = RNA_def_property(srna, "transparency_mask_6", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 6);
- RNA_def_property_ui_text(prop, "Mask 6", "");
- RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
-
- prop = RNA_def_property(srna, "transparency_mask_7", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 7);
- RNA_def_property_ui_text(prop, "Mask 7", "");
+ prop = RNA_def_property(srna, "use_transparency_mask", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1);
+ RNA_def_property_array(prop, 8);
+ RNA_def_property_ui_text(prop, "Mask", "");
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
}
diff --git a/source/blender/makesrna/intern/rna_material.c b/source/blender/makesrna/intern/rna_material.c
index 99673f31eb9..7ef1904fc34 100644
--- a/source/blender/makesrna/intern/rna_material.c
+++ b/source/blender/makesrna/intern/rna_material.c
@@ -695,52 +695,11 @@ static void rna_def_material_lineart(BlenderRNA *brna)
prop, "Use Transparency", "Use transparency mask from this material in line art");
RNA_def_property_update(prop, NC_GPENCIL | ND_SHADING, "rna_MaterialLineArt_update");
- prop = RNA_def_property(srna, "transparency_mask_0", PROP_BOOLEAN, PROP_NONE);
+ prop = RNA_def_property(srna, "use_transparency_mask", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_default(prop, 0);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 0);
- RNA_def_property_ui_text(prop, "Mask 0", "");
- RNA_def_property_update(prop, NC_GPENCIL | ND_SHADING, "rna_MaterialLineArt_update");
-
- prop = RNA_def_property(srna, "transparency_mask_1", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_default(prop, 0);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 1);
- RNA_def_property_ui_text(prop, "Mask 1", "");
- RNA_def_property_update(prop, NC_GPENCIL | ND_SHADING, "rna_MaterialLineArt_update");
-
- prop = RNA_def_property(srna, "transparency_mask_2", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_default(prop, 0);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 2);
- RNA_def_property_ui_text(prop, "Mask 2", "");
- RNA_def_property_update(prop, NC_GPENCIL | ND_SHADING, "rna_MaterialLineArt_update");
-
- prop = RNA_def_property(srna, "transparency_mask_3", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_default(prop, 0);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 3);
- RNA_def_property_ui_text(prop, "Mask 3", "");
- RNA_def_property_update(prop, NC_GPENCIL | ND_SHADING, "rna_MaterialLineArt_update");
-
- prop = RNA_def_property(srna, "transparency_mask_4", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_default(prop, 0);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 4);
- RNA_def_property_ui_text(prop, "Mask 4", "");
- RNA_def_property_update(prop, NC_GPENCIL | ND_SHADING, "rna_MaterialLineArt_update");
-
- prop = RNA_def_property(srna, "transparency_mask_5", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_default(prop, 0);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 5);
- RNA_def_property_ui_text(prop, "Mask 5", "");
- RNA_def_property_update(prop, NC_GPENCIL | ND_SHADING, "rna_MaterialLineArt_update");
-
- prop = RNA_def_property(srna, "transparency_mask_6", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_default(prop, 0);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 6);
- RNA_def_property_ui_text(prop, "mask 6", "");
- RNA_def_property_update(prop, NC_GPENCIL | ND_SHADING, "rna_MaterialLineArt_update");
-
- prop = RNA_def_property(srna, "transparency_mask_7", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_default(prop, 0);
- RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1 << 7);
- RNA_def_property_ui_text(prop, "Mask 7", "");
+ RNA_def_property_boolean_sdna(prop, NULL, "transparency_mask", 1);
+ RNA_def_property_array(prop, 8);
+ RNA_def_property_ui_text(prop, "Mask", "");
RNA_def_property_update(prop, NC_GPENCIL | ND_SHADING, "rna_MaterialLineArt_update");
}