fixed: SVGString

This commit is contained in:
daboe01
2025-09-02 17:38:10 +03:00
parent 8950c4f0e3
commit 92b7583f9f
2 changed files with 24 additions and 19 deletions
+21 -16
View File
@@ -384,35 +384,40 @@ var DefaultLineWidth = 1.0;
- (CPString)SVGString
{
var pathString = "",
points = _points,
i = 0,
count = [self elementCount];
var pathString = "";
var elements = _path.elements;
var count = _path.count;
for (var elementIndex = 0; elementIndex < count; ++elementIndex)
for (var i = 0; i < count; i++)
{
var type = [self elementAtIndex:elementIndex associatedPoints:points];
var element = elements[i];
switch (type)
// Use the kCGPathElement* constants defined in CGPath.j
switch (element.type)
{
case CPMoveToBezierPathElement:
pathString += "M" + points[0].x + " " + points[0].y + " ";
case kCGPathElementMoveToPoint:
pathString += "M " + element.x + " " + element.y + " ";
break;
case CPLineToBezierPathElement:
pathString += "L" + points[0].x + " " + points[0].y + " ";
case kCGPathElementAddLineToPoint:
pathString += "L " + element.x + " " + element.y + " ";
break;
case CPCurveToBezierPathElement:
pathString += "C" + points[0].x + " " + points[0].y + " " + points[1].x + " " + points[1].y + " " + points[2].x + " " + points[2].y + " ";
case kCGPathElementAddQuadCurveToPoint:
pathString += "Q " + element.cpx + " " + element.cpy + " " + element.x + " " + element.y + " ";
break;
case CPClosePathBezierPathElement:
pathString += "Z";
case kCGPathElementAddCurveToPoint:
pathString += "C " + element.cp1x + " " + element.cp1y + " " + element.cp2x + " " + element.cp2y + " " + element.x + " " + element.y + " ";
break;
case kCGPathElementCloseSubpath:
pathString += "Z ";
break;
}
}
return pathString;
return pathString.trim();
}
@end
@@ -115,7 +115,7 @@
[CPAnimationContext beginGrouping];
var context = [CPAnimationContext currentContext];
[context setDuration:2.0];
var self = this;
[context setCompletionHandler:function()
{
var finalOrigin = [_testView frame].origin;
@@ -145,7 +145,7 @@
[CPAnimationContext beginGrouping];
var context = [CPAnimationContext currentContext];
[context setDuration:2.0];
var self = this;
[context setCompletionHandler:function()
{
var finalOrigin = [_testView frame].origin;
@@ -175,7 +175,7 @@
[CPAnimationContext beginGrouping];
var context = [CPAnimationContext currentContext];
[context setDuration:2.0];
var self = this;
[context setCompletionHandler:function()
{
var finalOrigin = [_testView frame].origin;