[Bf-blender-cvs] [62b527581ad] greasepencil-object: GPencil : Use different color for selected point sin Vertex Paint

Antonio Vazquez noreply at git.blender.org
Tue Nov 12 16:32:43 CET 2019


Commit: 62b527581ad69f4d8346cd8a3d9c1a9cd9106a6c
Author: Antonio Vazquez
Date:   Tue Nov 12 15:02:32 2019 +0100
Branches: greasepencil-object
https://developer.blender.org/rB62b527581ad69f4d8346cd8a3d9c1a9cd9106a6c

GPencil : Use different color for selected point sin Vertex Paint

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

M	source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c

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

diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
index 005b471134b..615de34da4c 100644
--- a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
+++ b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
@@ -799,6 +799,7 @@ void gpencil_get_edit_geom(struct GpencilBatchCacheElem *be,
   Object *ob = draw_ctx->obact;
   bGPdata *gpd = ob->data;
   const bool is_weight_paint = (gpd) && (gpd->flag & GP_DATA_STROKE_WEIGHTMODE);
+  const bool is_vertex_paint = (gpd) && (gpd->flag & GP_DATA_STROKE_VERTEXMODE);
   const bool is_multiedit = (bool)GPENCIL_MULTIEDIT_SESSIONS_ON(gpd);
 
   int vgindex = ob->actdef - 1;
@@ -823,11 +824,19 @@ void gpencil_get_edit_geom(struct GpencilBatchCacheElem *be,
 
   /* for now, we assume that the base color of the points is not too close to the real color */
   float selectColor[4];
-  UI_GetThemeColor3fv(TH_GP_VERTEX_SELECT, selectColor);
-  selectColor[3] = alpha;
-
   float unselectColor[4];
-  UI_GetThemeColor3fv(TH_GP_VERTEX, unselectColor);
+  if (!is_vertex_paint) {
+    UI_GetThemeColor3fv(TH_GP_VERTEX_SELECT, selectColor);
+    UI_GetThemeColor3fv(TH_GP_VERTEX, unselectColor);
+  }
+  else {
+    UI_GetThemeColor3fv(TH_ACTIVE_VERT, selectColor);
+    UI_GetThemeColor3fv(TH_VERTEX, unselectColor);
+    /* Make smaller */
+    vsize *= 0.8f;
+    bsize *= 0.8f;
+  }
+  selectColor[3] = alpha;
   unselectColor[3] = alpha;
 
   float linecolor[4];
@@ -866,6 +875,17 @@ void gpencil_get_edit_geom(struct GpencilBatchCacheElem *be,
       copy_v4_v4(fcolor, selectColor);
       fsize = vsize;
     }
+    /* weight paint */
+    else if (is_vertex_paint) {
+      if (pt->flag & GP_SPOINT_SELECT) {
+        copy_v4_v4(fcolor, selectColor);
+        fsize = vsize;
+      }
+      else {
+        copy_v4_v4(fcolor, unselectColor);
+        fsize = bsize;
+      }
+    }
     else {
       if (show_direction_hint && i == 0) {
         /* start point in green bigger */



More information about the Bf-blender-cvs mailing list