[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