[Bf-blender-cvs] [de9c7bae7b9] master: GPencil: Join Tint and Vertex Color modifier

Antonio Vazquez noreply at git.blender.org
Fri Mar 13 10:33:58 CET 2020


Commit: de9c7bae7b9e7c66584531953c5acae274c013c2
Author: Antonio  Vazquez
Date:   Fri Mar 13 10:28:30 2020 +0100
Branches: master
https://developer.blender.org/rBde9c7bae7b9e7c66584531953c5acae274c013c2

GPencil: Join Tint and Vertex Color modifier

Both are doing almost the same and can be merged. This reduce complexity for user and less code to maintain.

Reviewed By: mendio, pepeland, fclem

Differential Revision: https://developer.blender.org/D7134

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

M	release/scripts/startup/bl_ui/properties_data_modifier.py
M	source/blender/blenloader/intern/readfile.c
M	source/blender/blenloader/intern/versioning_280.c
M	source/blender/blenloader/intern/writefile.c
M	source/blender/editors/space_outliner/outliner_draw.c
M	source/blender/gpencil_modifiers/CMakeLists.txt
M	source/blender/gpencil_modifiers/MOD_gpencil_modifiertypes.h
M	source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c
M	source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c
D	source/blender/gpencil_modifiers/intern/MOD_gpencilvertexcolor.c
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 99508bf8fab..bcf1c285d2b 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -1891,16 +1891,34 @@ class DATA_PT_gpencil_modifiers(ModifierButtonsPanel, Panel):
         self.gpencil_masking(layout, ob, md, True, True)
 
     def GP_TINT(self, layout, ob, md):
-        split = layout.split()
+        layout.row().prop(md, "tint_type", expand=True)
 
-        col = split.column()
-        col.prop(md, "color")
-        col.prop(md, "factor")
+        if md.tint_type == 'UNIFORM':
+            col = layout.column()
+            col.prop(md, "color")
 
-        row = layout.row()
-        row.prop(md, "modify_color")
+            col.separator()
+            col.prop(md, "factor")
 
-        self.gpencil_masking(layout, ob, md, False, True)
+        if md.tint_type == 'GRADIENT':
+            col = layout.column()
+            col.label(text="Colors:")
+            col.template_color_ramp(md, "colors")
+
+            col.separator()
+
+            col.label(text="Object:")
+            col.prop(md, "object", text="")
+
+            col.separator()
+            row = col.row(align=True)
+            row.prop(md, "radius")
+            row.prop(md, "factor")
+
+        col.separator()
+        col.prop(md, "vertex_mode")
+
+        self.gpencil_masking(layout, ob, md, True, True)
 
     def GP_TIME(self, layout, ob, md):
         gpd = ob.data
@@ -2165,25 +2183,6 @@ class DATA_PT_gpencil_modifiers(ModifierButtonsPanel, Panel):
 
         self.gpencil_masking(layout, ob, md, False)
 
-    def GP_VERTEXCOLOR(self, layout, ob, md):
-        col = layout.column()
-        col.label(text="Object:")
-        col.prop(md, "object", text="")
-
-        col.separator()
-        row = col.row(align=True)
-        row.prop(md, "radius")
-        row.prop(md, "factor", text="Strength", slider=True)
-
-        col.separator()
-        col.label(text="Colors:")
-        col.template_color_ramp(md, "colors")
-
-        col.separator()
-        col.prop(md, "vertex_mode")
-
-        self.gpencil_masking(layout, ob, md, True, True)
-
 
 classes = (
     DATA_PT_modifiers,
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 49b51c34562..dadae3a938a 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5774,8 +5774,8 @@ static void direct_link_gpencil_modifiers(FileData *fd, ListBase *lb)
         BKE_curvemapping_initialize(gpmd->curve_thickness);
       }
     }
-    else if (md->type == eGpencilModifierType_Vertexcolor) {
-      VertexcolorGpencilModifierData *gpmd = (VertexcolorGpencilModifierData *)md;
+    else if (md->type == eGpencilModifierType_Tint) {
+      TintGpencilModifierData *gpmd = (TintGpencilModifierData *)md;
       gpmd->colorband = newdataadr(fd, gpmd->colorband);
       gpmd->curve_intensity = newdataadr(fd, gpmd->curve_intensity);
       if (gpmd->curve_intensity) {
@@ -5799,14 +5799,6 @@ static void direct_link_gpencil_modifiers(FileData *fd, ListBase *lb)
         BKE_curvemapping_initialize(gpmd->curve_intensity);
       }
     }
-    else if (md->type == eGpencilModifierType_Tint) {
-      TintGpencilModifierData *gpmd = (TintGpencilModifierData *)md;
-      gpmd->curve_intensity = newdataadr(fd, gpmd->curve_intensity);
-      if (gpmd->curve_intensity) {
-        direct_link_curvemapping(fd, gpmd->curve_intensity);
-        BKE_curvemapping_initialize(gpmd->curve_intensity);
-      }
-    }
     else if (md->type == eGpencilModifierType_Opacity) {
       OpacityGpencilModifierData *gpmd = (OpacityGpencilModifierData *)md;
       gpmd->curve_intensity = newdataadr(fd, gpmd->curve_intensity);
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index d0659bfd34c..7d727e81882 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -1068,8 +1068,8 @@ static void do_version_curvemapping_walker(Main *bmain, void (*callback)(CurveMa
           callback(gpmd->curve_intensity);
         }
       }
-      else if (md->type == eGpencilModifierType_Vertexcolor) {
-        VertexcolorGpencilModifierData *gpmd = (VertexcolorGpencilModifierData *)md;
+      else if (md->type == eGpencilModifierType_Tint) {
+        TintGpencilModifierData *gpmd = (TintGpencilModifierData *)md;
 
         if (gpmd->curve_intensity) {
           callback(gpmd->curve_intensity);
@@ -1092,13 +1092,6 @@ static void do_version_curvemapping_walker(Main *bmain, void (*callback)(CurveMa
       else if (md->type == eGpencilModifierType_Opacity) {
         OpacityGpencilModifierData *gpmd = (OpacityGpencilModifierData *)md;
 
-        if (gpmd->curve_intensity) {
-          callback(gpmd->curve_intensity);
-        }
-      }
-      else if (md->type == eGpencilModifierType_Tint) {
-        TintGpencilModifierData *gpmd = (TintGpencilModifierData *)md;
-
         if (gpmd->curve_intensity) {
           callback(gpmd->curve_intensity);
         }
@@ -4728,16 +4721,6 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
               }
               break;
             }
-            case eGpencilModifierType_Vertexcolor: {
-              VertexcolorGpencilModifierData *mmd = (VertexcolorGpencilModifierData *)md;
-              if (mmd->curve_intensity == NULL) {
-                mmd->curve_intensity = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
-                if (mmd->curve_intensity) {
-                  BKE_curvemapping_initialize(mmd->curve_intensity);
-                }
-              }
-              break;
-            }
             default:
               break;
           }
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index a9c5008062b..a92404b2372 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -1844,8 +1844,8 @@ static void write_gpencil_modifiers(WriteData *wd, ListBase *modbase)
         write_curvemapping(wd, gpmd->curfalloff);
       }
     }
-    else if (md->type == eGpencilModifierType_Vertexcolor) {
-      VertexcolorGpencilModifierData *gpmd = (VertexcolorGpencilModifierData *)md;
+    else if (md->type == eGpencilModifierType_Tint) {
+      TintGpencilModifierData *gpmd = (TintGpencilModifierData *)md;
       if (gpmd->colorband) {
         writestruct(wd, DATA, ColorBand, 1, gpmd->colorband);
       }
@@ -1871,12 +1871,6 @@ static void write_gpencil_modifiers(WriteData *wd, ListBase *modbase)
         write_curvemapping(wd, gpmd->curve_intensity);
       }
     }
-    else if (md->type == eGpencilModifierType_Tint) {
-      TintGpencilModifierData *gpmd = (TintGpencilModifierData *)md;
-      if (gpmd->curve_intensity) {
-        write_curvemapping(wd, gpmd->curve_intensity);
-      }
-    }
   }
 }
 
diff --git a/source/blender/editors/space_outliner/outliner_draw.c b/source/blender/editors/space_outliner/outliner_draw.c
index 3e88a7a7b88..1b34f85f800 100644
--- a/source/blender/editors/space_outliner/outliner_draw.c
+++ b/source/blender/editors/space_outliner/outliner_draw.c
@@ -2252,9 +2252,6 @@ TreeElementIcon tree_element_get_icon(TreeStoreElem *tselem, TreeElement *te)
             case eGpencilModifierType_Armature:
               data.icon = ICON_MOD_ARMATURE;
               break;
-            case eGpencilModifierType_Vertexcolor:
-              data.icon = ICON_MOD_NORMALEDIT;
-              break;
 
               /* Default */
             default:
diff --git a/source/blender/gpencil_modifiers/CMakeLists.txt b/source/blender/gpencil_modifiers/CMakeLists.txt
index 709674e6b43..87743911add 100644
--- a/source/blender/gpencil_modifiers/CMakeLists.txt
+++ b/source/blender/gpencil_modifiers/CMakeLists.txt
@@ -59,7 +59,6 @@ set(SRC
   intern/MOD_gpencilthick.c
   intern/MOD_gpenciltime.c
   intern/MOD_gpenciltint.c
-  intern/MOD_gpencilvertexcolor.c
 
   MOD_gpencil_modifiertypes.h
 )
diff --git a/source/blender/gpencil_modifiers/MOD_gpencil_modifiertypes.h b/source/blender/gpencil_modifiers/MOD_gpencil_modifiertypes.h
index b8e8e8fc87f..f5c064c1c07 100644
--- a/source/blender/gpencil_modifiers/MOD_gpencil_modifiertypes.h
+++ b/source/blender/gpencil_modifiers/MOD_gpencil_modifiertypes.h
@@ -43,7 +43,6 @@ extern GpencilModifierTypeInfo modifierType_Gpencil_Offset;
 extern GpencilModifierTypeInfo modifierType_Gpencil_Armature;
 extern GpencilModifierTypeInfo modifierType_Gpencil_Time;
 extern GpencilModifierTypeInfo modifierType_Gpencil_Multiply;
-extern GpencilModifierTypeInfo modifierType_Gpencil_Vertexcolor;
 
 /* MOD_gpencil_util.c */
 void gpencil_modifier_type_init(GpencilModifierTypeInfo *types[]);
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c b/source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c
index 1462b6f72c9..6c3815d7c0e 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c
@@ -72,7 +72,6 @@ void gpencil_modifier_type_init(GpencilModifierTypeInfo *types[])
   INIT_GP_TYPE(Armature);
   INIT_GP_TYPE(Time);
   INIT_GP_TYPE(Multiply);
-  INIT_GP_TYPE(Vertexcolor);
 #undef INIT_GP_TYPE
 }
 
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c
index 96f1f004812..2b5a5192b4e 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c
@@ -25,34 +25,64 @@
 
 #include "BLI_utildefines.h"
 
-#include "BLI_blenlib.h"
-#include "BLI_math_vector.h"
+#include "BLI_math.h"
+#include "BLI_listbase.h"
 
+#include "DNA_meshdata_types.h"
 #include "DNA_scene_types.h"
 #include "DNA_object_types.h"
 #include "DNA_gpencil_types.h"
 #include "DNA_gpencil_modifier_types.h"
+#include "DNA_modifier_types.h"
 
+#include "BKE_action.h"
+#include "BKE_colorband.h"
 #include "BKE_colortools.h"
+#in

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list