[Bf-blender-cvs] [477fe55785a] temp-lineart-contained: LineArt: Use enum for stroke_depth_order.
YimingWu
noreply at git.blender.org
Sat May 8 03:48:12 CEST 2021
Commit: 477fe55785a8adaad669e468ea12c78b3854a3bf
Author: YimingWu
Date: Sat May 8 09:47:55 2021 +0800
Branches: temp-lineart-contained
https://developer.blender.org/rB477fe55785a8adaad669e468ea12c78b3854a3bf
LineArt: Use enum for stroke_depth_order.
This is for gpencil object adding.
===================================================================
M release/datafiles/locale
M release/scripts/addons
M release/scripts/addons_contrib
M source/blender/editors/object/object_add.c
===================================================================
diff --git a/release/datafiles/locale b/release/datafiles/locale
index 2cef4877edc..f7b706dd643 160000
--- a/release/datafiles/locale
+++ b/release/datafiles/locale
@@ -1 +1 @@
-Subproject commit 2cef4877edc40875978c4e95322bb5193f5815bf
+Subproject commit f7b706dd6434db2d752f47c4b8c3148b2990fd73
diff --git a/release/scripts/addons b/release/scripts/addons
index bcd08a9506d..4cb833e84ac 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit bcd08a9506d33bdd7358201031b04d041ef22d94
+Subproject commit 4cb833e84acfd2be5fa08ce75118ce9cb60643b8
diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
index f948f658ba3..8970953d4a8 160000
--- a/release/scripts/addons_contrib
+++ b/release/scripts/addons_contrib
@@ -1 +1 @@
-Subproject commit f948f658ba33eb670a65e0bba058d43138abea7e
+Subproject commit 8970953d4a8a4ea3bf77c66370c817ed0cf1308a
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index 39e4ae8ce10..580ee0ba30c 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -1312,7 +1312,7 @@ static int object_gpencil_add_exec(bContext *C, wmOperator *op)
const int type = RNA_enum_get(op->ptr, "type");
const bool use_in_front = RNA_boolean_get(op->ptr, "use_in_front");
- const bool use_3d_strokes = RNA_boolean_get(op->ptr, "use_3d_strokes");
+ const int stroke_depth_order = RNA_enum_get(op->ptr, "stroke_depth_order");
ushort local_view_bits;
float loc[3], rot[3];
@@ -1435,8 +1435,10 @@ static int object_gpencil_add_exec(bContext *C, wmOperator *op)
if (use_in_front) {
ob->dtx |= OB_DRAW_IN_FRONT;
}
- if (use_3d_strokes) {
- gpd->draw_mode = GP_DRAWMODE_3D;
+ else {
+ if (stroke_depth_order == GP_DRAWMODE_3D) {
+ gpd->draw_mode = GP_DRAWMODE_3D;
+ }
}
break;
@@ -1472,10 +1474,23 @@ static void object_add_ui(bContext *UNUSED(C), wmOperator *op)
int type = RNA_enum_get(op->ptr, "type");
if (type == GP_LRT_COLLECTION || type == GP_LRT_OBJECT || type == GP_LRT_SCENE) {
uiItemR(layout, op->ptr, "use_in_front", 0, NULL, ICON_NONE);
- uiItemR(layout, op->ptr, "use_3d_strokes", 0, NULL, ICON_NONE);
+ bool in_front = RNA_boolean_get(op->ptr, "use_in_front");
+ uiLayout *row = uiLayoutRow(layout, false);
+ uiLayoutSetActive(row, !in_front);
+ uiItemR(row, op->ptr, "stroke_depth_order", 0, NULL, ICON_NONE);
}
}
+static EnumPropertyItem rna_enum_gpencil_add_stroke_depth_order_items[] = {
+ {GP_DRAWMODE_2D,
+ "2D",
+ 0,
+ "2D Layers",
+ "Display strokes using grease pencil layers to define order"},
+ {GP_DRAWMODE_3D, "3D", 0, "3D Location", "Display strokes using real 3D position in 3D space"},
+ {0, NULL, 0, NULL, NULL},
+};
+
void OBJECT_OT_gpencil_add(wmOperatorType *ot)
{
/* identifiers */
@@ -1504,11 +1519,13 @@ void OBJECT_OT_gpencil_add(wmOperatorType *ot)
false,
"Show In Front",
"Show line art grease pencil in front of everything");
- RNA_def_boolean(ot->srna,
- "use_3d_strokes",
- true,
- "Order Strokes By Depth",
- "Order strokes by depth instead of by layer order");
+ RNA_def_enum(
+ ot->srna,
+ "stroke_depth_order",
+ rna_enum_gpencil_add_stroke_depth_order_items,
+ GP_DRAWMODE_3D,
+ "Stroke Depth Order",
+ "Defines how the strokes are ordered in 3D space for objects not displayed 'In Front')");
}
/** \} */
More information about the Bf-blender-cvs
mailing list