[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