[Bf-blender-cvs] [c3e28bad8dc] greasepencil-object: Add a pattern to see alpha colors

Antonio Vazquez noreply at git.blender.org
Thu Jan 11 11:56:11 CET 2018


Commit: c3e28bad8dcb0c0405dec3db21d22287d9454daa
Author: Antonio Vazquez
Date:   Thu Jan 11 11:48:33 2018 +0100
Branches: greasepencil-object
https://developer.blender.org/rBc3e28bad8dcb0c0405dec3db21d22287d9454daa

Add a pattern to see alpha colors

If the color has alpha, need a pattern to see the transparency effect.

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

M	source/blender/editors/gpencil/gpencil_colorpick.c

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

diff --git a/source/blender/editors/gpencil/gpencil_colorpick.c b/source/blender/editors/gpencil/gpencil_colorpick.c
index 0547b384d8f..6be322b508d 100644
--- a/source/blender/editors/gpencil/gpencil_colorpick.c
+++ b/source/blender/editors/gpencil/gpencil_colorpick.c
@@ -167,6 +167,36 @@ static void gp_draw_fill_box(rcti *box, float ink[4], float fill[4], int offset)
 	immUnbindProgram();
 }
 
+/* draw a pattern for alpha display */
+static void gp_draw_pattern_box(rcti *box, int offset)
+{
+	rcti rect;
+	const int lvl = 3;
+	const int size = (box->xmax - box->xmin) / lvl;
+	float wcolor[4] = { 0.9f, 0.9f, 0.9f, 1.0f };
+	float gcolor[4] = { 0.6f, 0.6f, 0.6f, 0.9f };
+
+	/* draw a full box in white */
+	gp_draw_fill_box(box, wcolor, wcolor, offset);
+
+	/* draw a pattern of boxes */
+	int i = 1;
+	for (int a = 0; a < lvl; a++) {
+		for (int b = 0; b < lvl; b++) {
+			rect.xmin = box->xmin + (size * a);
+			rect.xmax = rect.xmin + size;
+
+			rect.ymin = box->ymin + (size * b);
+			rect.ymax = rect.ymin + size;
+
+			if (i % 2 == 0) {
+				gp_draw_fill_box(&rect, gcolor, gcolor, offset);
+			}
+			i++;
+		}
+	}
+}
+
 /* ----------------------- */
 /* Drawing                 */
 
@@ -198,7 +228,7 @@ static void gpencil_draw_color_table(const bContext *UNUSED(C), tGPDpick *tgpk)
 		if (tgpk->palette->active_color == i) {
 			gp_draw_fill_box(&col->rect, select, select, 2);
 		}
-
+		gp_draw_pattern_box(&col->rect, 0);
 		gp_draw_fill_box(&col->rect, col->rgba, col->fill, 0);
 		gp_draw_boxlines(&col->rect, line, col->fillmode);
 	}



More information about the Bf-blender-cvs mailing list