[Bf-blender-cvs] [f9a8662938b] greasepencil-object: Merge branch 'blender2.8' into greasepencil-object
Antonioya
noreply at git.blender.org
Thu Dec 20 13:37:00 CET 2018
Commit: f9a8662938bc1c776edfa9d1624ce78415d8e330
Author: Antonioya
Date: Thu Dec 20 13:36:41 2018 +0100
Branches: greasepencil-object
https://developer.blender.org/rBf9a8662938bc1c776edfa9d1624ce78415d8e330
Merge branch 'blender2.8' into greasepencil-object
Conflicts:
source/blender/editors/gpencil/gpencil_primitive.c
===================================================================
===================================================================
diff --cc source/blender/editors/gpencil/gpencil_primitive.c
index 3c3dd5aa622,a6c6c31a9ad..8cfcfe26355
--- a/source/blender/editors/gpencil/gpencil_primitive.c
+++ b/source/blender/editors/gpencil/gpencil_primitive.c
@@@ -904,12 -828,27 +906,22 @@@ static void gp_primitive_update_strokes
/* 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);
+ if (p2d->rnd[0] > 0.5f) {
+ add_v2_fl(&p2d->x, -fac);
}
else {
- add_v2_fl(&p2d->x, fac);
+ zero_v2(mvec);
}
+ svec[0] = -mvec[1];
+ svec[1] = mvec[0];
+
+ if (p2d->rnd[0] > 0.5f) {
+ mul_v2_fl(svec, -fac);
+ }
+ else {
+ mul_v2_fl(svec, fac);
+ }
+ add_v2_v2(&p2d->x, svec);
}
/* apply randomness to pressure */
@@@ -1374,34 -1323,20 +1396,43 @@@ static void gpencil_primitive_edit_even
}
}
+/* brush size */
+static void gpencil_primitive_size(tGPDprimitive *tgpi, bool reset)
+{
+ Brush *brush = tgpi->brush;
+ if (brush) {
+ if (reset) {
+ brush->size = tgpi->brush_size;
+ tgpi->brush_size = 0;
+ }
+ else {
+ if (tgpi->brush_size == 0) {
+ tgpi->brush_size = brush->size;
+ }
+ float move[2];
+ sub_v2_v2v2(move, tgpi->mval, tgpi->mvalo);
+ int adjust = (move[1] > 0.0f) ? 1 : -1;
+ brush->size += adjust * (int)fabsf(len_manhattan_v2(move));
+ }
+ CLAMP_MIN(brush->size, 1);
+ }
+
+}
+
/* move */
- static void gpencil_primitive_move(tGPDprimitive *tgpi)
+ static void gpencil_primitive_move(tGPDprimitive *tgpi, bool reset)
{
float move[2];
- sub_v2_v2v2(move, tgpi->mval, tgpi->mvalo);
+ zero_v2(move);
+
+ if (reset) {
+ sub_v2_v2(move, tgpi->move);
+ zero_v2(tgpi->move);
+ }
+ else {
+ sub_v2_v2v2(move, tgpi->mval, tgpi->mvalo);
+ add_v2_v2(tgpi->move, move);
+ }
bGPDstroke *gps = tgpi->gpf->strokes.first;
tGPspoint *points2D = tgpi->points;
@@@ -1428,15 -1363,23 +1459,19 @@@ static int gpencil_primitive_modal(bCon
copy_v2fl_v2i(tgpi->mval, event->mval);
if (tgpi->flag == IN_MOVE) {
-
switch (event->type) {
case MOUSEMOVE:
- gpencil_primitive_move(tgpi);
+ 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;
- gpencil_primitive_move(tgpi, true);
- gpencil_primitive_update(C, op, tgpi);
- }
+ case LEFTMOUSE:
+ tgpi->flag = IN_CURVE_EDIT;
break;
}
copy_v2_v2(tgpi->mvalo, tgpi->mval);
More information about the Bf-blender-cvs
mailing list