From 7ec9326ce00d08f9d957981f2edff6df26f24a28 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期四, 26 九月 2024 13:25:02 +0800
Subject: [PATCH] 修改

---
 web/public/SVGOrigin/Method-Draw-master/editor/src/path.js |  110 +++++++++++++++++++++++++++---------------------------
 1 files changed, 55 insertions(+), 55 deletions(-)

diff --git a/web/public/SVGOrigin/Method-Draw-master/editor/src/path.js b/web/public/SVGOrigin/Method-Draw-master/editor/src/path.js
index 5b3cd5d..15b432a 100644
--- a/web/public/SVGOrigin/Method-Draw-master/editor/src/path.js
+++ b/web/public/SVGOrigin/Method-Draw-master/editor/src/path.js
@@ -58,7 +58,7 @@
 
 svgedit.path.init = function(editorContext) {
   editorContext_ = editorContext;
-  
+
   pathFuncs = [0,'ClosePath'];
   var pathFuncsStrs = ['Moveto', 'Lineto', 'CurvetoCubic', 'CurvetoQuadratic', 'Arc',
     'LinetoHorizontal', 'LinetoVertical','CurvetoCubicSmooth','CurvetoQuadraticSmooth'];
@@ -170,7 +170,7 @@
 svgedit.path.addCtrlGrip = function(id) {
   var pointGrip = svgedit.utilities.getElem("ctrlpointgrip_"+id);
   if(pointGrip) return pointGrip;
-    
+
   pointGrip = document.createElementNS(svgns, "circle");
   svgedit.utilities.assignAttributes(pointGrip, {
     'id': "ctrlpointgrip_" + id,
@@ -222,7 +222,7 @@
   var item = seg.item;
   var index = seg.index;
   if(!item || !("x1" in item) || !("x2" in item)) return null;
-  var cpt = {};     
+  var cpt = {};
   var pointGripContainer = svgedit.path.getGripContainer();
 
   // Note that this is intentionally not seg.prev.item
@@ -287,7 +287,7 @@
       'd': 'M0,0 0,0'
     });
     pointGripContainer.appendChild(segLine);
-  } 
+  }
 
   if(update) {
     var prev = seg.prev;
@@ -314,13 +314,13 @@
 
 // Function: smoothControlPoints
 // Takes three points and creates a smoother line based on them
-// 
-// Parameters: 
+//
+// Parameters:
 // ct1 - Object with x and y values (first control point)
 // ct2 - Object with x and y values (second control point)
 // pt - Object with x and y values (third point)
 //
-// Returns: 
+// Returns:
 // Array of two "smoothed" point objects
 svgedit.path.smoothControlPoints = this.smoothControlPoints = function(ct1, ct2, pt) {
   // each point must not be the origin
@@ -328,20 +328,20 @@
     y1 = ct1.y - pt.y,
     x2 = ct2.x - pt.x,
     y2 = ct2.y - pt.y;
-    
+
   if ( (x1 != 0 || y1 != 0) && (x2 != 0 || y2 != 0) ) {
     var anglea = Math.atan2(y1,x1),
       angleb = Math.atan2(y2,x2),
       r1 = Math.sqrt(x1*x1+y1*y1),
       r2 = Math.sqrt(x2*x2+y2*y2),
       nct1 = editorContext_.getSVGRoot().createSVGPoint(),
-      nct2 = editorContext_.getSVGRoot().createSVGPoint();        
+      nct2 = editorContext_.getSVGRoot().createSVGPoint();
     if (anglea < 0) { anglea += 2*Math.PI; }
     if (angleb < 0) { angleb += 2*Math.PI; }
-    
+
     var angleBetween = Math.abs(anglea - angleb),
       angleDiff = Math.abs(Math.PI - angleBetween)/2;
-    
+
     var new_anglea, new_angleb;
     if (anglea - angleb > 0) {
       new_anglea = angleBetween < Math.PI ? (anglea + angleDiff) : (anglea - angleDiff);
@@ -351,13 +351,13 @@
       new_anglea = angleBetween < Math.PI ? (anglea - angleDiff) : (anglea + angleDiff);
       new_angleb = angleBetween < Math.PI ? (angleb + angleDiff) : (angleb - angleDiff);
     }
-    
+
     // rotate the points
     nct1.x = r1 * Math.cos(new_anglea) + pt.x;
     nct1.y = r1 * Math.sin(new_anglea) + pt.y;
     nct2.x = r2 * Math.cos(new_angleb) + pt.x;
     nct2.y = r2 * Math.sin(new_angleb) + pt.y;
-    
+
     return [nct1, nct2];
   }
   return undefined;
@@ -368,7 +368,7 @@
   this.index = index;
   this.item = item;
   this.type = item.pathSegType;
-  
+
   this.ctrlpts = [];
   this.ptgrip = null;
   this.segsel = null;
@@ -426,7 +426,7 @@
         this.type = this.item.pathSegType;
       }
       svgedit.path.getControlPoints(this);
-    } 
+    }
     // this.segsel.setAttribute("display", y?"inline":"none");
   }
 };
@@ -435,17 +435,17 @@
   var item = this.item;
   // fix for path tool dom breakage, amending item does bad things now, so we take a copy and use that. Can probably improve to just take a shallow copy of object
   var cloneItem = $.extend({}, item);
-  var cur_pts = (this.ctrlpts) 
-    ? [cloneItem.x += dx,  cloneItem.y += dy, 
-       cloneItem.x1,       cloneItem.y1, 
+  var cur_pts = (this.ctrlpts)
+    ? [cloneItem.x += dx,  cloneItem.y += dy,
+       cloneItem.x1,       cloneItem.y1,
        cloneItem.x2 += dx, cloneItem.y2 += dy]
     : [cloneItem.x += dx, cloneItem.y += dy];
-  
+
   svgedit.path.replacePathSeg(this.type, this.index, cur_pts);
 
   if(this.next && this.next.ctrlpts) {
     var next = this.next.item;
-    var next_pts = [next.x, next.y, 
+    var next_pts = [next.x, next.y,
       next.x1 += dx, next.y1 += dy, next.x2, next.y2];
     svgedit.path.replacePathSeg(this.next.type, this.next.index, next_pts);
   }
@@ -482,7 +482,7 @@
   cloneItem['x' + anum ] = pt.x + (pt.x - this.item['x' + num]);
   cloneItem['y' + anum ] = pt.y + (pt.y - this.item['y' + num]);
 
-  var pts = [ 
+  var pts = [
               cloneItem.x, cloneItem.y,
               cloneItem.x1, cloneItem.y1,
               cloneItem.x2, cloneItem.y2
@@ -500,7 +500,7 @@
 
   var pts = [item.x,item.y,
     item.x1,item.y1, item.x2,item.y2];
-    
+
   svgedit.path.replacePathSeg(this.type, this.index, pts);
   this.update(true);
 };
@@ -536,23 +536,23 @@
   this.segs = [];
   this.selected_pts = [];
   this.first_seg = null;
-  
+
   // Set up segs array
   for(var i=0; i < len; i++) {
     var item = segList.getItem(i);
     var segment = new svgedit.path.Segment(i, item);
     segment.path = this;
     this.segs.push(segment);
-  } 
-  
+  }
+
   var segs = this.segs;
   var start_i = null;
 
   for(var i=0; i < len; i++) {
-    var seg = segs[i]; 
+    var seg = segs[i];
     var next_seg = (i+1) >= len ? null : segs[i+1];
     var prev_seg = (i-1) < 0 ? null : segs[i-1];
-    
+
     if(seg.type === 2) {
       if(prev_seg && prev_seg.type !== 1) {
         // New sub-path, last one is open,
@@ -568,7 +568,7 @@
       // This is the last real segment of a closed sub-path
       // Next is first seg after "M"
       seg.next = segs[start_i+1];
-      
+
       // First seg after "M"'s prev is this
       seg.next.prev = seg;
       seg.mate = segs[start_i];
@@ -594,7 +594,7 @@
     } else if(seg.type !== 1){
       // Regular segment, so add grip and its "next"
       seg.addGrip();
-      
+
       // Don't set its "next" if it's an "M"
       if(next_seg && next_seg.type !== 2) {
         seg.next = next_seg;
@@ -652,17 +652,17 @@
 svgedit.path.Path.prototype.deleteSeg = function(index) {
   var seg = this.segs[index];
   var list = this.elem.pathSegList;
-  
+
   seg.show(false);
   var next = seg.next;
   if(seg.mate) {
     // Make the next point be the "M" point
     var pt = [next.item.x, next.item.y];
     svgedit.path.replacePathSeg(2, next.index, pt);
-    
+
     // Reposition last node
     svgedit.path.replacePathSeg(4, seg.index, pt);
-    
+
     list.removeItem(seg.mate.index);
   } else if(!seg.prev) {
     // First node of open path, make next point the M
@@ -670,7 +670,7 @@
     var pt = [next.item.x, next.item.y];
     svgedit.path.replacePathSeg(2, seg.next.index, pt);
     list.removeItem(index);
-    
+
   } else {
     list.removeItem(index);
   }
@@ -690,7 +690,7 @@
       return false;
     }
   });
-  
+
   return closed;
 };
 
@@ -698,7 +698,7 @@
   var pos = this.selected_pts.indexOf(index);
   if(pos == -1) {
     return;
-  } 
+  }
   this.segs[index].select(false);
   this.selected_pts.splice(pos, 1);
 };
@@ -727,7 +727,7 @@
   return this;
 };
 
-// Move selected points 
+// Move selected points
 svgedit.path.Path.prototype.movePts = function(d_x, d_y) {
   var i = this.selected_pts.length;
   while(i--) {
@@ -750,23 +750,23 @@
   var text;
   while(i--) {
     var sel_pt = this.selected_pts[i];
-    
+
     // Selected seg
     var cur = this.segs[sel_pt];
     var prev = cur.prev;
     if(!prev) continue;
-    
+
     if(!new_type) { // double-click, so just toggle
       text = "Toggle Path Segment Type";
 
       // Toggle segment to curve/straight line
       var old_type = cur.type;
-      
+
       new_type = (old_type == 6) ? 4 : 6;
-    } 
-    
+    }
+
     new_type = new_type-0;
-    
+
     var cur_x = cur.item.x;
     var cur_y = cur.item.y;
     var prev_x = prev.item.x;
@@ -797,12 +797,12 @@
       break;
     case 4:
       points = [cur_x,cur_y];
-      
+
       // Store original prevve segment nums
       cur.olditem = cur.item;
       break;
     }
-    
+
     cur.setType(new_type, points);
   }
   svgedit.path.path.endChanges(text);
@@ -821,7 +821,7 @@
   this.addPtsToSelection(pt);
   if(ctrl_num) {
     this.dragctrl = ctrl_num;
-    
+
     if(link_control_pts) {
       this.segs[pt].setLinked(ctrl_num);
     }
@@ -860,20 +860,20 @@
 var getRotVals = function(x, y, oldcx, oldcy, newcx, newcy, angle) {
   dx = x - oldcx;
   dy = y - oldcy;
-  
+
   // rotate the point around the old center
   r = Math.sqrt(dx*dx + dy*dy);
   theta = Math.atan2(dy,dx) + angle;
   dx = r * Math.cos(theta) + oldcx;
   dy = r * Math.sin(theta) + oldcy;
-  
+
   // dx,dy should now hold the actual coordinates of each
   // point after being rotated
 
   // now we want to rotate them around the new center in the reverse direction
   dx -= newcx;
   dy -= newcy;
-  
+
   r = Math.sqrt(dx*dx + dy*dy);
   theta = Math.atan2(dy,dx) - angle;
   return {'x':(r * Math.cos(theta) + newcx)/1,
@@ -881,7 +881,7 @@
 };
 
 // If the path was rotated, we must now pay the piper:
-// Every path point must be rotated into the rotated coordinate system of 
+// Every path point must be rotated into the rotated coordinate system of
 // its old center, then determine the new center, then rotate it back
 // This is because we want the path to remember its rotation
 
@@ -898,16 +898,16 @@
     oldcy = oldbox.y + oldbox.height/2,
     newcx = box.x + box.width/2,
     newcy = box.y + box.height/2,
-    
+
   // un-rotate the new center to the proper position
     dx = newcx - oldcx,
     dy = newcy - oldcy,
     r = Math.sqrt(dx*dx + dy*dy),
     theta = Math.atan2(dy,dx) + angle;
-    
+
   newcx = r * Math.cos(theta) + oldcx;
   newcy = r * Math.sin(theta) + oldcy;
-  
+
   var list = current_path.pathSegList,
     i = list.numberOfItems;
   while (i) {
@@ -915,7 +915,7 @@
     var seg = list.getItem(i),
       type = seg.pathSegType;
     if(type == 1) continue;
-    
+
     var rvals = getRotVals(seg.x,seg.y, oldcx, oldcy, newcx, newcy, angle),
       points = [rvals.x, rvals.y];
     if(seg.x1 != null && seg.x2 != null) {
@@ -926,10 +926,10 @@
     svgedit.path.replacePathSeg(type, i, points);
   } // loop for each point
 
-  box = svgedit.utilities.getBBox(current_path);            
+  box = svgedit.utilities.getBBox(current_path);
 //  selectedBBoxes[0].x = box.x; selectedBBoxes[0].y = box.y;
 //  selectedBBoxes[0].width = box.width; selectedBBoxes[0].height = box.height;
-  
+
   // now we must set the new transform to be rotated around the new center
   var R_nc = svgroot.createSVGTransform(),
     tlist = svgedit.transformlist.getTransformList(current_path);

--
Gitblit v1.9.1