Revision: 16624
http://sourceforge.net/p/skim-app/code/16624
Author: hofman
Date: 2026-10-06 22:14:42 +0000 (Tue, 06 Oct 2026)
Log Message:
-----------
draw straight path elements as lines rather than curves
Modified Paths:
--------------
trunk/SKPDFView.m
trunk/SKPresentationView.m
trunk/SkimNotes/PDFAnnotation_SKNExtensions.m
Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m 2026-10-06 21:56:43 UTC (rev 16623)
+++ trunk/SKPDFView.m 2026-10-06 22:14:42 UTC (rev 16624)
@@ -4320,13 +4320,14 @@
if (NSCurveToBezierPathElement == [bezierPath
elementAtIndex:eltCount - 1])
points[0] = prevPoint;
[bezierPath setAssociatedPoints:points atIndex:eltCount - 1];
+ } else if (bezierPath == nil) {
+ bezierPath = [NSBezierPath bezierPath];
+ [bezierPath moveToPoint:prevPoint];
+ [bezierPath lineToPoint:point];
+ } else if (wantsBreak && NO == NSEqualPoints(prevPoint,
oldPrevPoint)) {
+ [bezierPath lineToPoint:prevPoint];
+ [bezierPath lineToPoint:point];
} else {
- if (bezierPath == nil) {
- bezierPath = [NSBezierPath bezierPath];
- [bezierPath moveToPoint:prevPoint];
- } else if (wantsBreak && NO == NSEqualPoints(prevPoint,
oldPrevPoint)) {
- [PDFAnnotation addPoint:prevPoint
toSkimNotesPath:bezierPath];
- }
[PDFAnnotation addPoint:point toSkimNotesPath:bezierPath];
}
Modified: trunk/SKPresentationView.m
===================================================================
--- trunk/SKPresentationView.m 2026-10-06 21:56:43 UTC (rev 16623)
+++ trunk/SKPresentationView.m 2026-10-06 22:14:42 UTC (rev 16624)
@@ -1013,13 +1013,14 @@
if (NSCurveToBezierPathElement == [bezierPath
elementAtIndex:eltCount - 1])
points[0] = prevPoint;
[bezierPath setAssociatedPoints:points atIndex:eltCount - 1];
+ } else if (bezierPath == nil) {
+ bezierPath = [NSBezierPath bezierPath];
+ [bezierPath moveToPoint:prevPoint];
+ [bezierPath lineToPoint:point];
+ } else if (wantsBreak && NO == NSEqualPoints(prevPoint,
oldPrevPoint)) {
+ [bezierPath lineToPoint:prevPoint];
+ [bezierPath lineToPoint:point];
} else {
- if (bezierPath == nil) {
- bezierPath = [NSBezierPath bezierPath];
- [bezierPath moveToPoint:prevPoint];
- } else if (wantsBreak && NO == NSEqualPoints(prevPoint,
oldPrevPoint)) {
- [PDFAnnotation addPoint:prevPoint
toSkimNotesPath:bezierPath];
- }
[PDFAnnotation addPoint:point toSkimNotesPath:bezierPath];
}
Modified: trunk/SkimNotes/PDFAnnotation_SKNExtensions.m
===================================================================
--- trunk/SkimNotes/PDFAnnotation_SKNExtensions.m 2026-10-06 21:56:43 UTC
(rev 16623)
+++ trunk/SkimNotes/PDFAnnotation_SKNExtensions.m 2026-10-06 22:14:42 UTC
(rev 16624)
@@ -1036,6 +1036,7 @@
NSUInteger i, iMax = [points count];
PDFPoint point, controlPoint1, diff;
CGFloat d2;
+ BOOL wasEdge = YES;
for (i = 0; i < iMax; i++) {
id pointValue = [points objectAtIndex:i];
@@ -1071,15 +1072,15 @@
}
#ifdef PDFKIT_PLATFORM_IOS
- if (d1 > 0.0)
+ if (d1 <= 0.0 || (d2 <= 0 && wasEdge))
+ [path addLineToPoint:prevPoint];
+ else
[path addCurveToPoint:prevPoint controlPoint1:controlPoint1
controlPoint2:controlPoint2];
+#else
+ if (d1 <= 0.0 || (d2 <= 0 && wasEdge))
+ [path lineToPoint:prevPoint];
else
- [path addLineToPoint:prevPoint];
-#else
- if (d1 > 0.0)
[path curveToPoint:prevPoint controlPoint1:controlPoint1
controlPoint2:controlPoint2];
- else
- [path lineToPoint:prevPoint];
#endif
controlPoint1 = prevPoint;
@@ -1087,16 +1088,18 @@
controlPoint1.x += diff1.x / (3.0 * (d0 + d1));
controlPoint1.y += diff1.y / (3.0 * (d0 + d1));
}
+
+ wasEdge = d1 <= 0.0;
}
}
#ifdef PDFKIT_PLATFORM_IOS
- if (iMax == 2 || d2 <= 0.0)
+ if (iMax == 2 || d2 <= 0.0 || wasEdge)
[path addLineToPoint:point];
else if (iMax > 2)
[path addCurveToPoint:point controlPoint1:controlPoint1
controlPoint2:point];
#else
- if (iMax == 2 || d2 <= 0.0)
+ if (iMax == 2 || d2 <= 0.0 || wasEdge)
[path lineToPoint:point];
else if (iMax > 2)
[path curveToPoint:point controlPoint1:controlPoint1
controlPoint2:point];
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit