[Bf-blender-cvs] [56873ae4fd3] greasepencil-object: GP: Primitive: Fix merge errors

Charlie Jolly noreply at git.blender.org
Fri Dec 21 10:29:39 CET 2018


Commit: 56873ae4fd332b37a864226290b88da4b03e9032
Author: Charlie Jolly
Date:   Fri Dec 21 09:29:16 2018 +0000
Branches: greasepencil-object
https://developer.blender.org/rB56873ae4fd332b37a864226290b88da4b03e9032

GP: Primitive: Fix merge errors

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

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

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

diff --git a/source/blender/editors/gpencil/gpencil_primitive.c b/source/blender/editors/gpencil/gpencil_primitive.c
index cda00a7171d..c9cdc542bd0 100644
--- a/source/blender/editors/gpencil/gpencil_primitive.c
+++ b/source/blender/editors/gpencil/gpencil_primitive.c
@@ -906,12 +906,27 @@ static void gp_primitive_update_strokes(bContext *C, tGPDprimitive *tgpi)
 			/* exponential value */
 			const float exfactor = SQUARE(brush->gpencil_settings->draw_jitter + 2.0f);
 			const float fac = p2d->rnd[0] * exfactor * jitter;
+
+			/* vector */
+			float mvec[2], svec[2];;
+			if (i > 0) {
+				mvec[0] = (p2d->x - (p2d - 1)->x);
+				mvec[1] = (p2d->y - (p2d - 1)->y);
+				normalize_v2(mvec);
+			}
+			else {
+				zero_v2(mvec);
+			}
+			svec[0] = -mvec[1];
+			svec[1] = mvec[0];
+
 			if (p2d->rnd[0] > 0.5f) {
-				add_v2_fl(&p2d->x, -fac);
+				mul_v2_fl(svec, -fac);
 			}
 			else {
-				add_v2_fl(&p2d->x, fac);
+				mul_v2_fl(svec, fac);
 			}
+			add_v2_v2(&p2d->x, svec);
 		}
 
 		/* apply randomness to pressure */
@@ -1449,24 +1464,29 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e
 	copy_v2fl_v2i(tgpi->mval, event->mval);
 
 	if (tgpi->flag == IN_MOVE) {
+
 		switch (event->type) {
-			case MOUSEMOVE:
-				gpencil_primitive_move(tgpi, false);
-				gpencil_primitive_update(C, op, tgpi);
-				break;
-			case ESCKEY:
-			case RIGHTMOUSE:
-				zero_v2(tgpi->move);
-				tgpi->flag = IN_CURVE_EDIT;
-				break;
-			case LEFTMOUSE:
+		case MOUSEMOVE:
+			gpencil_primitive_move(tgpi, false);
+			gpencil_primitive_update(C, op, tgpi);
+			break;
+		case ESCKEY:
+		case LEFTMOUSE:
+			zero_v2(tgpi->move);
+			tgpi->flag = IN_CURVE_EDIT;
+			break;
+		case RIGHTMOUSE:
+			if (event->val == KM_RELEASE) {
 				tgpi->flag = IN_CURVE_EDIT;
-				break;
+				gpencil_primitive_move(tgpi, true);
+				gpencil_primitive_update(C, op, tgpi);
+			}
+			break;
 		}
 		copy_v2_v2(tgpi->mvalo, tgpi->mval);
 		return OPERATOR_RUNNING_MODAL;
 	}
-	if (tgpi->flag == IN_BRUSH_SIZE) {
+	else if (tgpi->flag == IN_BRUSH_SIZE) {
 		switch (event->type) {
 		case MOUSEMOVE:
 			gpencil_primitive_size(tgpi, false);



More information about the Bf-blender-cvs mailing list