Revision: 14637
          http://sourceforge.net/p/skim-app/code/14637
Author:   hofman
Date:     2024-11-04 15:45:27 +0000 (Mon, 04 Nov 2024)
Log Message:
-----------
Only check for Line when we already know we may have a Line. Add some empty 
lines of code.

Modified Paths:
--------------
    trunk/SkimNotes/PDFAnnotation_SKNExtensions.m

Modified: trunk/SkimNotes/PDFAnnotation_SKNExtensions.m
===================================================================
--- trunk/SkimNotes/PDFAnnotation_SKNExtensions.m       2024-11-03 22:18:53 UTC 
(rev 14636)
+++ trunk/SkimNotes/PDFAnnotation_SKNExtensions.m       2024-11-04 15:45:27 UTC 
(rev 14637)
@@ -477,6 +477,7 @@
             [self setInteriorColor:SKNColorFromArray((NSArray *)color)];
         
         if ([type isEqualToString:SKNLineString]) {
+            
             NSString *startPoint = [dict 
objectForKey:SKNPDFAnnotationStartPointKey];
             NSString *endPoint = [dict 
objectForKey:SKNPDFAnnotationEndPointKey];
             NSNumber *startLineStyle = [dict 
objectForKey:SKNPDFAnnotationStartLineStyleKey];
@@ -489,7 +490,9 @@
                 [self setStartLineStyle:[startLineStyle integerValue]];
             if ([endLineStyle respondsToSelector:@selector(integerValue)])
                 [self setEndLineStyle:[endLineStyle integerValue]];
+            
         } else if ([type isEqualToString:SKNFreeTextString]) {
+            
             Class fontClass = [PDFKitPlatformFont class];
             PDFKitPlatformFont *font = [dict 
objectForKey:SKNPDFAnnotationFontKey];
             PDFKitPlatformColor *fontColor = [dict 
objectForKey:SKNPDFAnnotationFontColorKey];
@@ -508,7 +511,9 @@
                 [self setFontColor:SKNColorFromArray((NSArray *)fontColor)];
             if ([alignment respondsToSelector:@selector(integerValue)])
                 [self setAlignment:SKNTextAlignmentFromAlignment([alignment 
integerValue])];
+            
         } else if ([type isEqualToString:SKNHighlightString] || [type 
isEqualToString:SKNMarkUpString] || [type isEqualToString:SKNUnderlineString] 
|| [type isEqualToString:SKNStrikeOutString] || [type 
isEqualToString:SKNSquigglyString]) {
+            
             NSArray *pointStrings = [dict 
objectForKey:SKNPDFAnnotationQuadrilateralPointsKey];
             NSMutableArray *pointValues = [[NSMutableArray alloc] 
initWithCapacity:[pointStrings count]];
             NSUInteger i, iMax = [pointStrings count];
@@ -518,7 +523,9 @@
                 [pointValues addObject:val];
             }
             [self setQuadrilateralPoints:pointValues];
+            
         } else if ([type isEqualToString:SKNTextString] || [type 
isEqualToString:SKNStampString] || [type isEqualToString:SKNNoteString]) {
+            
             NSString *name = [dict objectForKey:SKNPDFAnnotationNameKey];
             NSNumber *iconType = [dict 
objectForKey:SKNPDFAnnotationIconTypeKey];
             if ([iconType respondsToSelector:@selector(integerValue)])
@@ -525,7 +532,9 @@
                 [self setIconType:[iconType integerValue]];
             if ([name isKindOfClass:stringClass])
                 [self setStampName:name];
+            
         } else if ([type isEqualToString:SKNInkString]) {
+            
             NSArray *pointLists = [dict 
objectForKey:SKNPDFAnnotationPointListsKey];
             if ([pointLists isKindOfClass:arrayClass]) {
                 NSUInteger i, iMax = [pointLists count];
@@ -538,7 +547,9 @@
                     }
                 }
             }
+            
         } else if ([type isEqualToString:SKNWidgetString]) {
+            
             SKNPDFWidgetType widgetType = [[dict 
objectForKey:SKNPDFAnnotationWidgetTypeKey] integerValue];
             NSString *fieldName = [dict 
objectForKey:SKNPDFAnnotationFieldNameKey];
             NSString *stringValue = [dict 
objectForKey:SKNPDFAnnotationStringValueKey];
@@ -561,6 +572,7 @@
             if ([state respondsToSelector:@selector(integerValue)])
                 [self setButtonWidgetState:[state integerValue]];
             [self setModificationDate:nil];
+            
         }
         
 #endif
@@ -672,6 +684,7 @@
     NSMutableDictionary *dict = [self genericSkimNoteProperties];
     
     if ([self respondsToSelector:@selector(valueForAnnotationKey:)]) {
+        
         NSString *type = [self type];
         PDFRect bounds = [self bounds];
         id value = nil;
@@ -678,22 +691,15 @@
         Class arrayClass = [NSArray class];
         Class stringClass = [NSString class];
         
-        if (([type isEqualToString:SKNCircleString] || [type 
isEqualToString:SKNSquareString]) || [type isEqualToString:SKNLineString]) {
-            PDFKitPlatformColor *color = nil;
-            if ([self respondsToSelector:@selector(interiorColor)])
-                color = [(id)self interiorColor];
-            if (color == nil && (value = [self valueForAnnotationKey:@"/IC"]))
-                color = SKNColorFromAnnotationValue(value);
-            if (color)
-                [dict setValue:color forKey:SKNPDFAnnotationInteriorColorKey];
-        }
-        
         if ([type isEqualToString:SKNTextString] || [type 
isEqualToString:SKNNoteString]) {
+            
             if ([self respondsToSelector:@selector(iconType)])
                 [dict setValue:[NSNumber numberWithInteger:[(id)self 
iconType]] forKey:SKNPDFAnnotationIconTypeKey];
             else if ((value = [self valueForAnnotationKey:@"/Name"]))
                 [dict setValue:[NSNumber 
numberWithInteger:SKNIconTypeFromAnnotationValue(value)] 
forKey:SKNPDFAnnotationIconTypeKey];
+            
         } else if ([type isEqualToString:SKNStampString]) {
+            
             if ([self respondsToSelector:@selector(stampName)])
                 value = [self stampName];
             else
@@ -708,29 +714,45 @@
                 }
             }
             [dict setValue:appearanceImageForAnnotation(self) 
forKey:SKNPDFAnnotationImageKey];
-        } else if ([type isEqualToString:SKNLineString]) {
-            if ([self respondsToSelector:@selector(startLineStyle)] && [self 
respondsToSelector:@selector(endLineStyle)]) {
-                [dict setValue:[NSNumber numberWithInteger:[(id)self 
startLineStyle]] forKey:SKNPDFAnnotationStartLineStyleKey];
-                [dict setValue:[NSNumber numberWithInteger:[(id)self 
endLineStyle]] forKey:SKNPDFAnnotationStartLineStyleKey];
-            } else if ((value = [self valueForAnnotationKey:@"/LE"])) {
-                if ([value isKindOfClass:arrayClass] && [value count] == 2) {
-                    [dict setValue:[NSNumber 
numberWithInteger:SKNPDFLineStyleFromAnnotationValue([value objectAtIndex:0])] 
forKey:SKNPDFAnnotationStartLineStyleKey];
-                    [dict setValue:[NSNumber 
numberWithInteger:SKNPDFLineStyleFromAnnotationValue([value objectAtIndex:1])] 
forKey:SKNPDFAnnotationEndLineStyleKey];
+            
+        } else if (([type isEqualToString:SKNCircleString] || [type 
isEqualToString:SKNSquareString]) || [type isEqualToString:SKNLineString]) {
+            
+            PDFKitPlatformColor *color = nil;
+            if ([self respondsToSelector:@selector(interiorColor)])
+                color = [(id)self interiorColor];
+            if (color == nil && (value = [self valueForAnnotationKey:@"/IC"]))
+                color = SKNColorFromAnnotationValue(value);
+            if (color)
+                [dict setValue:color forKey:SKNPDFAnnotationInteriorColorKey];
+            
+            if ([type isEqualToString:SKNLineString]) {
+                
+                if ([self respondsToSelector:@selector(startLineStyle)] && 
[self respondsToSelector:@selector(endLineStyle)]) {
+                    [dict setValue:[NSNumber numberWithInteger:[(id)self 
startLineStyle]] forKey:SKNPDFAnnotationStartLineStyleKey];
+                    [dict setValue:[NSNumber numberWithInteger:[(id)self 
endLineStyle]] forKey:SKNPDFAnnotationStartLineStyleKey];
+                } else if ((value = [self valueForAnnotationKey:@"/LE"])) {
+                    if ([value isKindOfClass:arrayClass] && [value count] == 
2) {
+                        [dict setValue:[NSNumber 
numberWithInteger:SKNPDFLineStyleFromAnnotationValue([value objectAtIndex:0])] 
forKey:SKNPDFAnnotationStartLineStyleKey];
+                        [dict setValue:[NSNumber 
numberWithInteger:SKNPDFLineStyleFromAnnotationValue([value objectAtIndex:1])] 
forKey:SKNPDFAnnotationEndLineStyleKey];
+                    }
                 }
+                
+                if ([self respondsToSelector:@selector(startPoint)] && [self 
respondsToSelector:@selector(endPoint)]) {
+                    [dict setValue:SKNStringFromPoint([(id)self startPoint]) 
forKey:SKNPDFAnnotationStartPointKey];
+                    [dict setValue:SKNStringFromPoint([(id)self endPoint]) 
forKey:SKNPDFAnnotationEndPointKey];
+                } else if ((value = [self valueForAnnotationKey:@"/L"])) {
+                    if ([value isKindOfClass:arrayClass] && [value count] == 
4) {
+                        PDFPoint p = SKNMakePoint([[value objectAtIndex:0] 
doubleValue] - bounds.origin.x, [[value objectAtIndex:1] doubleValue] - 
bounds.origin.y);
+                        [dict setValue:SKNStringFromPoint(p) 
forKey:SKNPDFAnnotationStartPointKey];
+                        p = SKNMakePoint([[value objectAtIndex:2] doubleValue] 
- bounds.origin.x, [[value objectAtIndex:3] doubleValue] - bounds.origin.y);
+                        [dict setValue:SKNStringFromPoint(p) 
forKey:SKNPDFAnnotationEndPointKey];
+                    }
+                }
+                
             }
             
-            if ([self respondsToSelector:@selector(startPoint)] && [self 
respondsToSelector:@selector(endPoint)]) {
-                [dict setValue:SKNStringFromPoint([(id)self startPoint]) 
forKey:SKNPDFAnnotationStartPointKey];
-                [dict setValue:SKNStringFromPoint([(id)self endPoint]) 
forKey:SKNPDFAnnotationEndPointKey];
-            } else if ((value = [self valueForAnnotationKey:@"/L"])) {
-                if ([value isKindOfClass:arrayClass] && [value count] == 4) {
-                    PDFPoint p = SKNMakePoint([[value objectAtIndex:0] 
doubleValue] - bounds.origin.x, [[value objectAtIndex:1] doubleValue] - 
bounds.origin.y);
-                    [dict setValue:SKNStringFromPoint(p) 
forKey:SKNPDFAnnotationStartPointKey];
-                    p = SKNMakePoint([[value objectAtIndex:2] doubleValue] - 
bounds.origin.x, [[value objectAtIndex:3] doubleValue] - bounds.origin.y);
-                    [dict setValue:SKNStringFromPoint(p) 
forKey:SKNPDFAnnotationEndPointKey];
-                }
-            }
         } else if ([type isEqualToString:SKNHighlightString] || [type 
isEqualToString:SKNMarkUpString] || [type isEqualToString:SKNUnderlineString] 
|| [type isEqualToString:SKNStrikeOutString] || [type 
isEqualToString:SKNSquigglyString]) {
+            
             if ([self respondsToSelector:@selector(quadrilateralPoints)]) {
                 NSArray *quadPoints = [(id)self quadrilateralPoints];
                 if (quadPoints) {
@@ -762,7 +784,9 @@
                     [dict setValue:quadPoints 
forKey:SKNPDFAnnotationQuadrilateralPointsKey];
                 }
             }
+            
         } else if ([type isEqualToString:SKNInkString]) {
+            
             if ([self respondsToSelector:@selector(paths)]) {
                 NSArray *paths = [(id)self paths];
                 if (paths) {
@@ -777,7 +801,9 @@
                     }
                     [dict setValue:pointLists 
forKey:SKNPDFAnnotationPointListsKey];
                 }
+                
            } else if ((value = [self valueForAnnotationKey:@"/InkList"])) {
+               
                 if ([value isKindOfClass:arrayClass]) {
                     Class pathClass = [PDFKitPlatformBezierPath class];
                     Class numberClass = [NSNumber class];
@@ -810,7 +836,9 @@
                     [dict setValue:pointLists 
forKey:SKNPDFAnnotationPointListsKey];
                 }
             }
+            
         } else if ([type isEqualToString:SKNFreeTextString]) {
+            
             if ([self respondsToSelector:@selector(alignment)]) {
                 [dict setValue:[NSNumber 
numberWithInteger:SKNTextAlignmentFromAlignment([(id)self alignment])] 
forKey:SKNPDFAnnotationAlignmentKey];
             } else if ((value = [self valueForAnnotationKey:@"/Q"])) {
@@ -864,7 +892,9 @@
             }
             if (fontColor)
                 [dict setObject:fontColor forKey:SKNPDFAnnotationFontColorKey];
+            
         } else if ([type isEqualToString:SKNWidgetString]) {
+            
             [dict removeObjectForKey:SKNPDFAnnotationContentsKey];
             [dict removeObjectForKey:SKNPDFAnnotationColorKey];
             [dict removeObjectForKey:SKNPDFAnnotationModificationDateKey];
@@ -897,7 +927,9 @@
                 else if ((value = [self valueForAnnotationKey:@"/V"]))
                     [dict setObject:value 
forKey:SKNPDFAnnotationStringValueKey];
             }
-       }
+            
+        }
+        
     }
     
     return dict;

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

Reply via email to