Revision: 13477
          http://sourceforge.net/p/skim-app/code/13477
Author:   hofman
Date:     2023-06-15 16:09:16 +0000 (Thu, 15 Jun 2023)
Log Message:
-----------
Translate freetext note alignment values to consistent values, NSTextAlignment 
values are different for different architexturesor platforms

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

Modified: trunk/SkimNotes/PDFAnnotation_SKNExtensions.m
===================================================================
--- trunk/SkimNotes/PDFAnnotation_SKNExtensions.m       2023-06-15 09:44:37 UTC 
(rev 13476)
+++ trunk/SkimNotes/PDFAnnotation_SKNExtensions.m       2023-06-15 16:09:16 UTC 
(rev 13477)
@@ -163,6 +163,14 @@
     }
 }
 
+static inline NSInteger SKNAlignmentFromTextAlignment(NSTextAlignment 
alignment) {
+    return alignment == NSTextAlignmentCenter ? 2 : alignment == 
NSTextAlignmentRight ? 1 : 0;
+}
+
+static inline NSTextAlignment SKNTextAlignmentFromAlignment(NSInteger 
alignment) {
+    return alignment == 2 ? NSTextAlignmentCenter : alignment == 1 ? 
NSTextAlignmentRight : NSTextAlignmentLeft;
+}
+
 #if !defined(PDFKIT_PLATFORM_IOS)
 
 #if !defined(MAC_OS_X_VERSION_10_12) || MAC_OS_X_VERSION_MAX_ALLOWED < 
MAC_OS_X_VERSION_10_12
@@ -431,7 +439,7 @@
             else if ([fontColor isKindOfClass:arrayClass])
                 [self setFontColor:SKNColorFromArray((NSArray *)fontColor)];
             if ([alignment respondsToSelector:@selector(integerValue)])
-                [self setAlignment:[alignment integerValue]];
+                [self setAlignment:SKNTextAlignmentFromAlignment([alignment 
integerValue])];
         }
         
         if ([type isEqualToString:SKNHighlightString] || [type 
isEqualToString:SKNMarkUpString] || [type isEqualToString:SKNUnderlineString] 
|| [type isEqualToString:SKNStrikeOutString] || [type 
isEqualToString:SKNSquigglyString]) {
@@ -737,9 +745,9 @@
         
         if ([type isEqualToString:SKNFreeTextString]) {
             if ([self respondsToSelector:@selector(alignment)]) {
-                [dict setValue:[NSNumber numberWithInteger:[(id)self 
alignment]] forKey:SKNPDFAnnotationAlignmentKey];
+                [dict setValue:[NSNumber 
numberWithInteger:SKNTextAlignmentFromAlignment([(id)self alignment])] 
forKey:SKNPDFAnnotationAlignmentKey];
             } else if ((value = [self valueForAnnotationKey:@"/Q"])) {
-                [dict setValue:[NSNumber numberWithInteger:[value 
integerValue]] forKey:SKNPDFAnnotationAlignmentKey];
+                [dict setValue:[NSNumber 
numberWithInteger:SKNTextAlignmentFromAlignment([value integerValue])] 
forKey:SKNPDFAnnotationAlignmentKey];
             }
             
             PDFKitPlatformFont *font = nil;
@@ -1163,7 +1171,7 @@
         else if ([fontColor isKindOfClass:arrayClass])
             [self setFontColor:SKNColorFromArray((NSArray *)fontColor)];
         if ([alignment respondsToSelector:@selector(integerValue)])
-            [self setAlignment:[alignment integerValue]];
+            [self setAlignment:SKNTextAlignmentFromAlignment([alignment 
integerValue])];
     }
     return self;
 }
@@ -1174,7 +1182,7 @@
     [dict setValue:[self font] forKey:SKNPDFAnnotationFontKey];
     if ([[fontColor colorSpace] colorSpaceModel] != NSGrayColorSpaceModel || 
[fontColor whiteComponent] > 0.0 || [fontColor alphaComponent] < 1.0)
         [dict setValue:fontColor forKey:SKNPDFAnnotationFontColorKey];
-    [dict setValue:[NSNumber numberWithInteger:[self alignment]] 
forKey:SKNPDFAnnotationAlignmentKey];
+    [dict setValue:[NSNumber 
numberWithInteger:SKNAlignmentFromTextAlignment([self alignment])] 
forKey:SKNPDFAnnotationAlignmentKey];
     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