[Bf-blender-cvs] [6a06dac6c31] greasepencil-object: Merge branch 'master' into greasepencil-object

Antonio Vazquez noreply at git.blender.org
Sat Oct 19 17:02:54 CEST 2019


Commit: 6a06dac6c3102e6e7b0dfa5f46ab965ab5c855a7
Author: Antonio Vazquez
Date:   Sat Oct 19 17:02:09 2019 +0200
Branches: greasepencil-object
https://developer.blender.org/rB6a06dac6c3102e6e7b0dfa5f46ab965ab5c855a7

Merge branch 'master' into greasepencil-object

 Conflicts:
	release/scripts/presets/keyconfig/keymap_data/blender_default.py
	source/blender/editors/gpencil/gpencil_primitive.c

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



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

diff --cc source/blender/editors/gpencil/gpencil_primitive.c
index 795cf8ba15d,bf7b2edb025..ea63340a5d0
--- a/source/blender/editors/gpencil/gpencil_primitive.c
+++ b/source/blender/editors/gpencil/gpencil_primitive.c
@@@ -1384,7 -1386,7 +1388,7 @@@ static void gpencil_primitive_edit_even
            copy_v2_v2(tgpi->start, tgpi->end);
            copy_v2_v2(tgpi->origin, tgpi->start);
            gp_primitive_update_cps(tgpi);
--          
++
            tgpi->flag = IN_POLYLINE;
            WM_cursor_modal_set(win, WM_CURSOR_CROSS);
          }
@@@ -1393,7 -1395,7 +1397,7 @@@
            gp_primitive_update_cps(tgpi);
            gpencil_primitive_update(C, op, tgpi);
          }
--      }      
++      }
        else if ((event->val == KM_PRESS) && !ELEM(tgpi->type, GP_STROKE_POLYLINE)) {
          /* find nearest cp based on stroke end points */
          if (move == MOVE_ENDS) {
@@@ -1580,15 -1580,25 +1584,70 @@@ static int gpencil_primitive_modal(bCon
      return OPERATOR_RUNNING_MODAL;
    }
    else if (tgpi->flag == IN_POLYLINE) {
--    
++
      switch (event->type) {
--      
++
 +      case ESCKEY:
 +      case LEFTMOUSE: {
 +        if (event->val == KM_PRESS) {
 +          WM_cursor_modal_set(win, WM_CURSOR_CROSS);
 +          gpencil_primitive_add_segment(tgpi);
-           
++
++          gpencil_primitive_update(C, op, tgpi);
++          copy_v2_v2(tgpi->start, tgpi->end);
++          copy_v2_v2(tgpi->origin, tgpi->end);
++        }
++        break;
++      }
++      case SPACEKEY: /* confirm */
++      case MIDDLEMOUSE:
++      case RETKEY:
++      case RIGHTMOUSE: {
++        if (event->val == KM_PRESS) {
++          tgpi->flag = IDLE;
++          tgpi->tot_edges = tgpi->tot_stored_edges ? 1 : 0;
++          gp_primitive_update_strokes(C, tgpi);
++          gpencil_primitive_interaction_end(C, op, win, tgpi);
++          return OPERATOR_FINISHED;
++        }
++        break;
++      }
++      case MOUSEMOVE: {
++        WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
++        copy_v2_v2(tgpi->end, tgpi->mval);
++
++        if (event->shift) {
++          gpencil_primitive_constrain(tgpi, true);
++        }
++
++        gpencil_primitive_update(C, op, tgpi);
++        break;
++      }
++    }
++
++    copy_v2_v2(tgpi->mvalo, tgpi->mval);
++    return OPERATOR_RUNNING_MODAL;
++  }
++  else if (tgpi->flag == IN_POLYLINE) {
++
++    switch (event->type) {
++
+       case ESCKEY: {
+         /* return to normal cursor and header status */
+         ED_workspace_status_text(C, NULL);
+         WM_cursor_modal_restore(win);
+ 
+         /* clean up temp data */
+         gpencil_primitive_exit(C, op);
+ 
+         /* canceled! */
+         return OPERATOR_CANCELLED;
+       }
+       case LEFTMOUSE: {
+         if (event->val == KM_PRESS) {
+           WM_cursor_modal_set(win, WM_CURSOR_CROSS);
+           gpencil_primitive_add_segment(tgpi);
 -          
++
            gpencil_primitive_update(C, op, tgpi);
            copy_v2_v2(tgpi->start, tgpi->end);
            copy_v2_v2(tgpi->origin, tgpi->end);
@@@ -1597,7 -1607,7 +1656,7 @@@
        }
        case SPACEKEY: /* confirm */
        case MIDDLEMOUSE:
--      case RETKEY: 
++      case RETKEY:
        case RIGHTMOUSE: {
          if (event->val == KM_PRESS) {
            tgpi->flag = IDLE;
@@@ -1619,8 -1629,43 +1678,43 @@@
          gpencil_primitive_update(C, op, tgpi);
          break;
        }
+       case PADPLUSKEY:
+       case WHEELUPMOUSE: {
+         if ((event->val != KM_RELEASE)) {
+           tgpi->tot_edges = tgpi->tot_edges + 1;
+           CLAMP(tgpi->tot_edges, MIN_EDGES, MAX_EDGES);
+           RNA_int_set(op->ptr, "edges", tgpi->tot_edges);
+           gpencil_primitive_update(C, op, tgpi);
+         }
+         break;
+       }
+       case PADMINUS:
+       case WHEELDOWNMOUSE: {
+         if ((event->val != KM_RELEASE)) {
+           tgpi->tot_edges = tgpi->tot_edges - 1;
+           CLAMP(tgpi->tot_edges, MIN_EDGES, MAX_EDGES);
+           RNA_int_set(op->ptr, "edges", tgpi->tot_edges);
+           gpencil_primitive_update(C, op, tgpi);
+         }
+         break;
+       }
+       case FKEY: /* brush thickness/ brush strength */
+       {
+         if ((event->val == KM_PRESS)) {
+           if (event->shift) {
+             tgpi->prev_flag = tgpi->flag;
+             tgpi->flag = IN_BRUSH_STRENGTH;
+           }
+           else {
+             tgpi->prev_flag = tgpi->flag;
+             tgpi->flag = IN_BRUSH_SIZE;
+           }
+           WM_cursor_modal_set(win, WM_CURSOR_NS_SCROLL);
+         }
+         break;
+       }
      }
--    
++
      copy_v2_v2(tgpi->mvalo, tgpi->mval);
      return OPERATOR_RUNNING_MODAL;
    }



More information about the Bf-blender-cvs mailing list