[Bf-blender-cvs] [ecba7db0105] greasepencil-object: Add diagonal line if fill color
Antonio Vazquez
noreply at git.blender.org
Thu Jan 11 11:56:09 CET 2018
Commit: ecba7db01057f5560f8db1b31c1c31208344ebea
Author: Antonio Vazquez
Date: Thu Jan 11 11:25:09 2018 +0100
Branches: greasepencil-object
https://developer.blender.org/rBecba7db01057f5560f8db1b31c1c31208344ebea
Add diagonal line if fill color
Add a line if the color box include stroke and fill color.
===================================================================
M source/blender/editors/gpencil/gpencil_colorpick.c
M source/blender/editors/include/ED_gpencil.h
===================================================================
diff --git a/source/blender/editors/gpencil/gpencil_colorpick.c b/source/blender/editors/gpencil/gpencil_colorpick.c
index fbf2eaeb3e8..0547b384d8f 100644
--- a/source/blender/editors/gpencil/gpencil_colorpick.c
+++ b/source/blender/editors/gpencil/gpencil_colorpick.c
@@ -78,7 +78,7 @@
#define GP_BOX_GAP (6 * U.ui_scale)
/* draw a box with lines */
-static void gp_draw_boxlines(rcti *box, float ink[4])
+static void gp_draw_boxlines(rcti *box, float ink[4], bool diagonal)
{
Gwn_VertFormat *format = immVertexFormat();
unsigned pos = GWN_vertformat_attr_add(format, "pos", GWN_COMP_F32, 2, GWN_FETCH_FLOAT);
@@ -88,7 +88,7 @@ static void gp_draw_boxlines(rcti *box, float ink[4])
/* draw stroke curve */
glLineWidth(1.0f);
- immBeginAtMost(GWN_PRIM_LINES, 8);
+ immBeginAtMost(GWN_PRIM_LINES, 10);
immAttrib4fv(color, ink);
immVertex2f(pos, box->xmin, box->ymax - 1);
@@ -114,6 +114,14 @@ static void gp_draw_boxlines(rcti *box, float ink[4])
immAttrib4fv(color, ink);
immVertex2f(pos, box->xmin, box->ymin);
+ if (diagonal == true) {
+ immAttrib4fv(color, ink);
+ immVertex2f(pos, box->xmin, box->ymin);
+
+ immAttrib4fv(color, ink);
+ immVertex2f(pos, box->xmax, box->ymax);
+ }
+
immEnd();
immUnbindProgram();
}
@@ -192,7 +200,7 @@ static void gpencil_draw_color_table(const bContext *UNUSED(C), tGPDpick *tgpk)
}
gp_draw_fill_box(&col->rect, col->rgba, col->fill, 0);
- gp_draw_boxlines(&col->rect, line);
+ gp_draw_boxlines(&col->rect, line, col->fillmode);
}
}
@@ -287,9 +295,11 @@ static tGPDpick *gp_session_init_colorpick(bContext *C, wmOperator *op)
copy_v4_v4(tcolor->rgba, palcol->rgb);
if (palcol->fill[3] > 0.0f) {
copy_v4_v4(tcolor->fill, palcol->fill);
+ tcolor->fillmode = true;
}
else {
copy_v4_v4(tcolor->fill, palcol->rgb);
+ tcolor->fillmode = false;
}
/* box position */
diff --git a/source/blender/editors/include/ED_gpencil.h b/source/blender/editors/include/ED_gpencil.h
index 3ad894c06c9..793fa0c2d05 100644
--- a/source/blender/editors/include/ED_gpencil.h
+++ b/source/blender/editors/include/ED_gpencil.h
@@ -196,6 +196,7 @@ typedef struct tGPDpickColor {
int index; /* index of color in palette */
float rgba[4]; /* color */
float fill[4]; /*fill color */
+ bool fillmode; /* flag fill is not enabled */
} tGPDpickColor;
typedef struct tGPDpick {
More information about the Bf-blender-cvs
mailing list