[Bf-blender-cvs] [c4f2654edb0] soc-2019-bevel-profiles: Cleanup/Comments: Small changes, new variable names, and changed/added comments

Hans Goudey noreply at git.blender.org
Wed Jun 26 05:10:31 CEST 2019


Commit: c4f2654edb008e0d15a92851a60176af9cd430cc
Author: Hans Goudey
Date:   Tue Jun 25 23:10:14 2019 -0400
Branches: soc-2019-bevel-profiles
https://developer.blender.org/rBc4f2654edb008e0d15a92851a60176af9cd430cc

Cleanup/Comments:
Small changes, new variable names, and changed/added comments

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

M	source/blender/editors/interface/interface_handlers.c

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

diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index d7e3d20979a..3b3314bcd31 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -3727,7 +3727,7 @@ static void ui_do_but_textedit_select(
 
 static void ui_numedit_begin(uiBut *but, uiHandleButtonData *data)
 {
-  if (but->type == UI_BTYPE_CURVE) { /* HANS-TODO: Can I reuse this? */
+  if (but->type == UI_BTYPE_CURVE) {
     but->editcumap = (CurveMapping *)but->poin;
   }
   if (but->type == UI_BTYPE_PROFILE) {
@@ -6754,18 +6754,20 @@ static bool ui_numedit_but_PROFILE(uiBlock *block,
     }
   }
 
+  fx = (mx - dragx) / zoomx;
+  fy = (my - dragy) / zoomy;
+
   if (data->dragsel != -1) {
     ProfilePoint *point_last = NULL;
     const float mval_factor = ui_mouse_scale_warp_factor(shift);
     bool moved_point = false; /* for ctrl grid, can't use orig coords because of sorting */
-
-    fx = (mx - dragx) / zoomx;
-    fy = (my - dragy) / zoomy;
+    /* HANS-TODO: Well enable using original coords then? */
 
     fx *= mval_factor;
     fy *= mval_factor;
 
-    for (a = 0; a < prpath->totpoint; a++) {
+    /* Move all the points that aren't the last or the first */
+    for (a = 1; a < prpath->totpoint - 1; a++) {
       if (pts[a].flag & PROF_SELECT) {
         float origx = pts[a].x, origy = pts[a].y;
         pts[a].x += fx;
@@ -6774,7 +6776,7 @@ static bool ui_numedit_but_PROFILE(uiBlock *block,
           pts[a].x = 0.125f * roundf(8.0f * pts[a].x);
           pts[a].y = 0.125f * roundf(8.0f * pts[a].y);
         }
-        if (pts[a].x != origx || pts[a].y != origy) {
+        if (!moved_point && (pts[a].x != origx || pts[a].y != origy)) {
           moved_point = true;
         }
 
@@ -6788,7 +6790,6 @@ static bool ui_numedit_but_PROFILE(uiBlock *block,
       data->draglastx = evtx;
       data->draglasty = evty;
       changed = true;
-
 #ifdef USE_CONT_MOUSE_CORRECT
       /* note: using 'cmp_last' is weak since there may be multiple points selected,
        * but in practice this isnt really an issue */
@@ -6800,13 +6801,9 @@ static bool ui_numedit_but_PROFILE(uiBlock *block,
       }
 #endif
     }
-
     data->dragchange = true; /* mark for selection */
   }
   else {
-    fx = (mx - dragx) / zoomx;
-    fy = (my - dragy) / zoomy;
-
     /* clamp for clip */
     if (prwidget->flag & PROF_DO_CLIP) {
       if (prwidget->curr.xmin - fx < prwidget->clipr.xmin) {
@@ -6843,7 +6840,7 @@ static int ui_do_but_PROFILE(bContext *C,
                              uiHandleButtonData *data,
                              const wmEvent *event)
 {
-  int mx, my, a;
+  int mx, my, i;
   bool changed = false;
 
   mx = event->x;
@@ -6854,10 +6851,10 @@ static int ui_do_but_PROFILE(bContext *C,
     if (event->type == LEFTMOUSE && event->val == KM_PRESS) {
       ProfileWidget *prwidget = (ProfileWidget *)but->poin;
       ProfilePath *prpath = prwidget->profile;
-      ProfilePoint *pts;
+      ProfilePoint *pts; /* Path or table */
       const float m_xy[2] = {mx, my};
       float dist_min_sq = SQUARE(U.dpi_fac * 14.0f); /* 14 pixels radius */
-      int sel = -1;
+      int i_selected = -1;
 
       if (event->ctrl) {
         float f_xy[2];
@@ -6870,20 +6867,17 @@ static int ui_do_but_PROFILE(bContext *C,
 
       /* check for selecting of a point */
       pts = prpath->path; /* ctrl adds point, new malloc */
-      for (a = 0; a < prpath->totpoint; a++) {
+      for (i = 0; i < prpath->totpoint; i++) {
         float f_xy[2];
-        BLI_rctf_transform_pt_v(&but->rect, &prwidget->curr, f_xy, &pts[a].x);
+        BLI_rctf_transform_pt_v(&but->rect, &prwidget->curr, f_xy, &pts[i].x);
         const float dist_sq = len_squared_v2v2(m_xy, f_xy);
         if (dist_sq < dist_min_sq) {
-          sel = a;
+          i_selected = i;
           dist_min_sq = dist_sq;
         }
       }
-      /* HANS-QUESTION: Why do we continue execution after deciding that it was an insert
-       * operation? */
 
-      if (sel == -1) {
-        int i;
+      if (i_selected == -1) {
         float f_xy[2], f_xy_prev[2];
 
         /* if the click didn't select anything, check if it's clicked on the
@@ -6896,14 +6890,14 @@ static int ui_do_but_PROFILE(bContext *C,
         dist_min_sq = SQUARE(U.dpi_fac * 8.0f);
 
         /* loop through the curve segment table and find what's near the mouse. */
-        for (i = 1; i <= CM_TABLE; i++) {
+        for (i = 1; i <= PROF_TABLE_SIZE; i++) {
           copy_v2_v2(f_xy_prev, f_xy);
           BLI_rctf_transform_pt_v(&but->rect, &prwidget->curr, f_xy, &pts[i].x);
 
           if (dist_squared_to_line_segment_v2(m_xy, f_xy_prev, f_xy) < dist_min_sq) {
             BLI_rctf_transform_pt_v(&prwidget->curr, &but->rect, f_xy, m_xy);
 
-            profilepath_insert(prpath, f_xy[0], f_xy[1]);
+            ProfilePoint *new_pt = profilepath_insert(prpath, f_xy[0], f_xy[1]);
             profilewidget_changed(prwidget, false);
 
             changed = true;
@@ -6912,10 +6906,9 @@ static int ui_do_but_PROFILE(bContext *C,
             pts = prpath->path;
 
             /* find newly added point and make it 'sel' */
-            /* HANS-TODO: This might need to be changed to not just use X */
-            for (a = 0; a < prpath->totpoint; a++) {
-              if (pts[a].x == f_xy[0]) {
-                sel = a;
+            for (i = 0; i < prpath->totpoint; i++) {
+              if (&pts[i] == new_pt) {
+                i_selected = i;
               }
             }
             break;
@@ -6923,25 +6916,25 @@ static int ui_do_but_PROFILE(bContext *C,
         }
       }
 
-      if (sel != -1) {
+      if (i_selected != -1) {
         /* ok, we move a point */
         /* deselect all if this one is deselect. except if we hold shift */
         if (!event->shift) {
-          for (a = 0; a < prpath->totpoint; a++) {
-            pts[a].flag &= ~PROF_SELECT;
+          for (i = 0; i < prpath->totpoint; i++) {
+            pts[i].flag &= ~PROF_SELECT;
           }
-          pts[sel].flag |= PROF_SELECT;
+          pts[i_selected].flag |= PROF_SELECT;
         }
         else {
-          pts[sel].flag ^= PROF_SELECT;
+          pts[i_selected].flag ^= PROF_SELECT;
         }
       }
       else {
-        /* move the view */
+        /* move the view */ /* HANS-QUESTION: Where is this done? */
         data->cancel = true;
       }
 
-      data->dragsel = sel;
+      data->dragsel = i_selected;
 
       data->dragstartx = event->x;
       data->dragstarty = event->y;
@@ -6970,8 +6963,8 @@ static int ui_do_but_PROFILE(bContext *C,
         if (data->dragchange == false) {
           /* deselect all, select one */
           if (!event->shift) {
-            for (a = 0; a < prpath->totpoint; a++) {
-              pts[a].flag &= ~PROF_SELECT;
+            for (i = 0; i < prpath->totpoint; i++) {
+              pts[i].flag &= ~PROF_SELECT;
             }
             pts[data->dragsel].flag |= PROF_SELECT;
           }
@@ -7777,7 +7770,6 @@ static void button_activate_init(bContext *C, ARegion *ar, uiBut *but, uiButtonA
   copy_v2_fl(data->ungrab_mval, FLT_MAX);
 #endif
 
-  /* HANS-TODO: Whaat? */
   if (ELEM(but->type, UI_BTYPE_CURVE, UI_BTYPE_PROFILE, UI_BTYPE_SEARCH_MENU)) {
     /* XXX curve is temp */
   }



More information about the Bf-blender-cvs mailing list