[Bf-blender-cvs] [61ccd2fa38a] soc-2019-npr: Gpencil: Duplicator stroke fading data structures.
YimingWu
noreply at git.blender.org
Fri Jul 5 07:38:16 CEST 2019
Commit: 61ccd2fa38a6387a99bfa92b9f2236308cb2fa9e
Author: YimingWu
Date: Fri Jul 5 13:37:28 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rB61ccd2fa38a6387a99bfa92b9f2236308cb2fa9e
Gpencil: Duplicator stroke fading data structures.
===================================================================
M release/scripts/startup/bl_ui/properties_data_modifier.py
M source/blender/makesdna/DNA_gpencil_modifier_types.h
M source/blender/makesrna/intern/rna_gpencil_modifier.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py
index 782850f68af..f257a89453c 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -2358,12 +2358,20 @@ class DATA_PT_gpencil_modifiers(ModifierButtonsPanel, Panel):
col.prop(md,"duplications")
col.prop(md,"distance")
col.prop(md,"offset", slider=True)
+
+ col.prop(md,"enable_fading")
+ if md.enable_fading:
+ col.prop(md, "fading_center")
+ c = col.column(align = True)
+ c.prop(md, "fading_thickness", slider=True)
+ c.prop(md, "fading_opacity", slider=True)
col = sp.column()
col.prop(md, "enable_angle_splitting")
if md.enable_angle_splitting:
col.prop(md,"split_angle")
+
diff --git a/source/blender/makesdna/DNA_gpencil_modifier_types.h b/source/blender/makesdna/DNA_gpencil_modifier_types.h
index b190d557d46..9cc9412160b 100644
--- a/source/blender/makesdna/DNA_gpencil_modifier_types.h
+++ b/source/blender/makesdna/DNA_gpencil_modifier_types.h
@@ -624,14 +624,19 @@ typedef struct MultiplyGpencilModifierData {
float distance;
float offset; /* -1:inner 0:middle 1:outer */
+ float fading_center;
+ float fading_thickness;
+ float fading_opacity;
+
float split_angle; /* in rad not deg */
- char _pad[4];
+ /* char _pad[4]; */
} MultiplyGpencilModifierData;
typedef enum eMultiplyGpencil_Flag {
GP_MULTIPLY_ENABLE_DUPLICATION = (1 << 0),
GP_MULTIPLY_ENABLE_ANGLE_SPLITTING = (1 << 1),
+ GP_MULTIPLY_ENABLE_FADING = (1<<2),
} eMultiplyGpencil_Flag;
#endif /* __DNA_GPENCIL_MODIFIER_TYPES_H__ */
diff --git a/source/blender/makesrna/intern/rna_gpencil_modifier.c b/source/blender/makesrna/intern/rna_gpencil_modifier.c
index f9284f4a992..888e22cdea4 100644
--- a/source/blender/makesrna/intern/rna_gpencil_modifier.c
+++ b/source/blender/makesrna/intern/rna_gpencil_modifier.c
@@ -1764,6 +1764,11 @@ static void rna_def_modifier_gpencilmultiply(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Angle Splitting", "Enable angle splitting");
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
+ prop = RNA_def_property(srna, "enable_fading", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flags", GP_MULTIPLY_ENABLE_FADING);
+ RNA_def_property_ui_text(prop, "Enable Fading", "Enable fading");
+ RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
+
prop = RNA_def_property(srna, "split_angle", PROP_FLOAT, PROP_NONE);
RNA_def_property_range(prop, 0, M_PI);
RNA_def_property_ui_text(prop, "Angle", "Split angle for segments");
@@ -1783,6 +1788,23 @@ static void rna_def_modifier_gpencilmultiply(BlenderRNA *brna)
RNA_def_property_ui_range(prop, -1, 1, 0.1, 3);
RNA_def_property_ui_text(prop, "Offset", "Offset of duplications. -1 to 1: inner to outer");
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
+
+ prop = RNA_def_property(srna, "fading_thickness", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_range(prop, 0, 1);
+ RNA_def_property_float_default(prop, 0.5);
+ RNA_def_property_ui_text(prop, "Thickness", "Fade influence of stroke's thickness");
+ RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
+
+ prop = RNA_def_property(srna, "fading_opacity", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_range(prop, 0, 1);
+ RNA_def_property_float_default(prop, 0.5);
+ RNA_def_property_ui_text(prop, "Opacity", "Fade influence of stroke's opacity");
+ RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
+
+ prop = RNA_def_property(srna, "fading_center", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_range(prop, 0, 1);
+ RNA_def_property_ui_text(prop, "Center", "Fade center");
+ RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
}
void RNA_def_greasepencil_modifier(BlenderRNA *brna)
More information about the Bf-blender-cvs
mailing list