From bb9c9d0eaaab836b8f20ab7b2228795f607b823a Mon Sep 17 00:00:00 2001 From: Antonioya Date: Fri, 11 Jan 2019 19:15:23 +0100 Subject: GP: New Cutter, Constraints and Segment selection This commit groups a set of new tools that were tested in grease pencil object branch before moving to master. We decide to do all the development in a separated branch because it could break master during days or weeks before the new tools were ready to deploy. The commit includes: - New Cutter tool to trim strokes and help cleaning up drawings. - New set of constraints and guides to draw different types of shapes. All the credits for this development goes to Charlie Jolly (@charlie), thanks for your help! - Segment selection mode to select strokes between intersections. - New operator to change strokes cap mode. - New option to display only keyframed frames. This option is very important when fill strokes with color. - Multiple small fixes and tweaks. Thanks to @pepeland and @mendio for their ideas, tests, reviews and support. Note: Still pending the final icons for Cutter in Toolbar and Segment Selection in Topbar. @billreynish could help us here? --- source/blender/makesdna/DNA_gpencil_types.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'source/blender/makesdna/DNA_gpencil_types.h') diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h index 0ae193752a8..17813021fdf 100644 --- a/source/blender/makesdna/DNA_gpencil_types.h +++ b/source/blender/makesdna/DNA_gpencil_types.h @@ -203,7 +203,8 @@ typedef struct bGPDstroke { /** Material index. */ int mat_nr; - char _pad1[4]; + /** Caps mode for each stroke extreme */ + short caps[2]; /** Vertex weight data. */ struct MDeformVert *dvert; @@ -232,6 +233,15 @@ typedef enum eGPDstroke_Flag { GP_STROKE_ERASER = (1 << 15) } eGPDstroke_Flag; +/* bGPDstroke->caps */ +typedef enum eGPDstroke_Caps { + /* type of extreme */ + GP_STROKE_CAP_ROUND = 0, + GP_STROKE_CAP_FLAT = 1, + + GP_STROKE_CAP_MAX +} GPDstroke_Caps; + /* ***************************************** */ /* GP Frame */ @@ -371,6 +381,8 @@ typedef enum eGPDlayer_Flag { GP_LAYER_UNLOCK_COLOR = (1 << 12), /* Mask Layer */ GP_LAYER_USE_MASK = (1 << 13), + /* Flag used to display in Paint mode only layers with keyframe */ + GP_LAYER_SOLO_MODE = (1 << 4), } eGPDlayer_Flag; /* bGPDlayer->onion_flag */ -- cgit v1.2.3