[Bf-blender-cvs] [8f1d640a6fa] lanpr-under-gp: LANPR: GP Lineart modifier file r/w now working.

YimingWu noreply at git.blender.org
Sat Jun 27 15:55:28 CEST 2020


Commit: 8f1d640a6fa27dd85143039cb1e3908f4f740287
Author: YimingWu
Date:   Sat Jun 27 21:54:44 2020 +0800
Branches: lanpr-under-gp
https://developer.blender.org/rB8f1d640a6fa27dd85143039cb1e3908f4f740287

LANPR: GP Lineart modifier file r/w now working.

===================================================================

M	source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c

===================================================================

diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c b/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
index 31f5d6218f6..b1c47f20f62 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
@@ -109,15 +109,19 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
 {
   LineartGpencilModifierData *lmd = (LineartGpencilModifierData *)md;
 
-  // walk(userData, ob, (ID **)&lmd->material, IDWALK_CB_USER);
+  walk(userData, ob, (ID **)&lmd->target_gp_material, IDWALK_CB_USER);
+  walk(userData, ob, (ID **)&lmd->source_object, IDWALK_CB_USER);
+  walk(userData, ob, (ID **)&lmd->source_collection, IDWALK_CB_USER);
 }
 
 static void panel_draw(const bContext *C, Panel *panel)
 {
   uiLayout *layout = panel->layout;
 
-  PointerRNA ptr;
-  gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
+  PointerRNA ptr, ob_ptr;
+  gpencil_modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
+
+  PointerRNA obj_data_ptr = RNA_pointer_get(&ob_ptr, "data");
 
   int source_type = RNA_enum_get(&ptr, "source_type");
 
@@ -138,8 +142,10 @@ static void panel_draw(const bContext *C, Panel *panel)
   uiItemR(layout, &ptr, "use_edge_mark", 0, NULL, ICON_NONE);
   uiItemR(layout, &ptr, "use_intersection", 0, NULL, ICON_NONE);
 
-  uiItemR(layout, &ptr, "target_gp_material", 0, NULL, ICON_NONE); /* How to filter??? */
-  uiItemR(layout, &ptr, "target_gp_layer", 0, NULL, ICON_NONE); /* How to do selector there??? */
+  uiItemPointerR(
+      layout, &ptr, "target_gp_layer", &obj_data_ptr, "layers", NULL, ICON_GREASEPENCIL);
+  uiItemPointerR(
+      layout, &ptr, "target_gp_material", &obj_data_ptr, "materials", NULL, ICON_SHADING_TEXTURE);
 
   gpencil_modifier_panel_end(layout, &ptr);
 }
@@ -156,9 +162,9 @@ static void occlusion_panel_draw(const bContext *C, Panel *panel)
   uiItemR(layout, &ptr, "use_multiple_levels", 0, "Multiple Levels", ICON_NONE);
 
   if (use_multiple_levels) {
-    /* How to align and stuff... */
-    uiItemR(layout, &ptr, "level_start", 0, NULL, ICON_NONE);
-    uiItemR(layout, &ptr, "level_end", 0, NULL, ICON_NONE);
+    uiLayout *col = uiLayoutColumn(layout, true);
+    uiItemR(col, &ptr, "level_start", 0, NULL, ICON_NONE);
+    uiItemR(col, &ptr, "level_end", 0, NULL, ICON_NONE);
   }
   else {
     uiItemR(layout, &ptr, "level_start", 0, "Level", ICON_NONE);



More information about the Bf-blender-cvs mailing list