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);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to