RNA: use boolean array for transarency masks
There is no need to expose this as multiple properties, also use `use_` prefix for boolean properties.
This commit is contained in:
@@ -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 = (
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user