Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

PDFKit tvOS xcode16.2 b2

Rolf Bjarne Kvinge edited this pageDec 2, 2024 ·2 revisions

#PDFKit.frameworkhttps://github.com/xamarin/xamarin-macios/pull/21739

diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAction.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAction.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAction.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAction.h2024-10-25 21:20:39@@ -0,0 +1,33 @@+//+//  PDFAction.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  PDFAction is an abstract class, representing an event a user can trigger through+//  interaction with the owning annotation. These events are PDFActionGoTo, PDFActionNamed,+//  PDFActionRemoveGoTo, PDFActionResetForm, and PDFActionURL. Typically these events+//  are for moving the PDFView view-portal, open a web browser, clear out forms, etc.+//++#import <PDFKit/PDFKitPlatform.h>++NS_ASSUME_NONNULL_BEGIN++@class PDFActionPrivate;++PDFKIT_CLASS_AVAILABLE(10_5, 11_0)+@interface PDFAction : NSObject <NSCopying>+{+@private+    PDFActionPrivate *_private;+}++// Type of action.  These won't always correspond to the PDFAction subclass in the way you might expect.  For example,+// a PDFActionURL may return "URI" or "Launch" depending upon the original action (as defined in the PDF spec. - for+// the PDFKit API we decided to handle the two actions within the same class and also use the more familiar 'URL' term+// rather than 'URI').+// Type based on the Adobe PDF Specification (1.7), Table 8.48: Action types.+@property (nonatomic, readonly) NSString *type;++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionGoTo.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionGoTo.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionGoTo.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionGoTo.h2024-10-25 21:20:39@@ -0,0 +1,31 @@+//+//  PDFActionGoto.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  PDFActionGoTo is an interaction event tied with an annotation. This action+//  allows the user to jump to a PDFDestination, which is typically a position+//  on a page paired with a zoom factor.+//++#import <PDFKit/PDFKitPlatform.h>++#import <PDFKit/PDFAction.h>++NS_ASSUME_NONNULL_BEGIN++@class PDFDestination, PDFActionGoToPrivateVars;++PDFKIT_CLASS_AVAILABLE(10_5, 11_0)+@interface PDFActionGoTo : PDFAction <NSCopying>+{+@private+    PDFActionGoToPrivateVars *_private2;+}++- (instancetype)initWithDestination:(PDFDestination *)destination NS_DESIGNATED_INITIALIZER;++@property (nonatomic, strong) PDFDestination *destination;++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionNamed.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionNamed.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionNamed.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionNamed.h2024-10-25 21:20:40@@ -0,0 +1,51 @@+//+//  PDFActionNamed.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  PDFActionNamed is an interaction event tied with an annotation. This action+//  allows the user to change their navigation stack or their current view. This+//  can manipulate the user's navigation stack (move to the previous page, next page etc.),+//  trigger some other forms of interactions (string search, printing, etc.), and+//  manipulate the current view (change zoom factors).+//++#import <PDFKit/PDFKitPlatform.h>++#import <PDFKit/PDFAction.h>++NS_ASSUME_NONNULL_BEGIN++@class PDFActionNamedPrivateVars;++// Action names.+PDFKIT_ENUM_AVAILABLE(10_5, 11_0)+typedef NS_ENUM(NSInteger, PDFActionNamedName)+{+    kPDFActionNamedNone = 0,+    kPDFActionNamedNextPage = 1,+    kPDFActionNamedPreviousPage = 2,+    kPDFActionNamedFirstPage = 3,+    kPDFActionNamedLastPage = 4,+    kPDFActionNamedGoBack = 5,+    kPDFActionNamedGoForward = 6,+    kPDFActionNamedGoToPage = 7,+    kPDFActionNamedFind = 8,+    kPDFActionNamedPrint = 9,+    kPDFActionNamedZoomIn = 10,+    kPDFActionNamedZoomOut = 11+};++PDFKIT_CLASS_AVAILABLE(10_5, 11_0)+@interface PDFActionNamed : PDFAction <NSCopying>+{+@private+    PDFActionNamedPrivateVars *_private2;+}++- (instancetype)initWithName:(PDFActionNamedName)name NS_DESIGNATED_INITIALIZER;++@property (nonatomic) PDFActionNamedName name;++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionRemoteGoTo.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionRemoteGoTo.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionRemoteGoTo.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionRemoteGoTo.h2024-10-25 21:20:39@@ -0,0 +1,41 @@+//+//  PDFActionRemoteGoTo.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  PDFActionRemoteGoTo is an interaction event tied with an annotation. This action+//  is the same action type as PDFActionGoTo, but references another document, allowing+//  you to jump to specific pages or positions in other PDF files.+//++#import <PDFKit/PDFKitPlatform.h>++#import <PDFKit/PDFAction.h>++NS_ASSUME_NONNULL_BEGIN++@class PDFActionRemoteGoToPrivateVars;++PDFKIT_CLASS_AVAILABLE(10_5, 11_0)+@interface PDFActionRemoteGoTo : PDFAction <NSCopying>+{+@private+    PDFActionRemoteGoToPrivateVars *_private2;+}++// As with the calls below, note that PDFActionRemoteGoTo uses a zero-based page index and not a PDFPage object.+// This simplifies dealing with remote destinations for documents that may not be instantiated.+- (instancetype)initWithPageIndex:(NSUInteger)pageIndex atPoint:(PDFPoint)point fileURL:(NSURL *)url NS_DESIGNATED_INITIALIZER;++// Get and set the page index (zero-based) referenced by the action.+@property (nonatomic) NSUInteger pageIndex;++// Get and set the point on the above page referenced by the action.  Just like PDFDestination a value of+// kPDFDestinationUnspecifiedValue for the x or the y of the point indicates that no position is specified.+@property (nonatomic) PDFPoint point;++// Get and set the URL of the document referenced from the action.+@property (nonatomic, copy) NSURL *URL;++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionResetForm.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionResetForm.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionResetForm.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionResetForm.h2024-10-25 21:20:40@@ -0,0 +1,41 @@+//+//  PDFActionResetForm.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  PDFActionResetForm is an interaction event tied with an annotation. This action+//  allows a user to reset all form fields (associated by their fieldNames) annotations.+//  Form field annotations are typically widget-type annotations.+//++#import <PDFKit/PDFKitPlatform.h>++#import <PDFKit/PDFAction.h>++NS_ASSUME_NONNULL_BEGIN++@class PDFActionResetFormPrivateVars;++PDFKIT_CLASS_AVAILABLE(10_5, 11_0)+@interface PDFActionResetForm : PDFAction <NSCopying>+{+@private+    PDFActionResetFormPrivateVars *_private2;+}++// Initially there will be no fields, and -[fieldsIncludedAreCleared] will be YES.+- (instancetype)init NS_DESIGNATED_INITIALIZER;++// Fields are an array of NSString objects corresponding to the fieldNames of Widget annotations on the page.+// May return nil.+@property (nonatomic, copy, nullable) NSArray<NSString*> *fields;++// If -[fieldsIncludedAreCleared] is YES, then the widget annotations associated with the fieldNames in the fields+// array above are to be cleared, i.e. uncheck checkboxes, clear text fields, reset radio buttons, etc.+// If -[fieldsIncludedAreCleared] is NO, then every widget annotation associated with the fields array is not to be+// cleared, meaning that every widget annotation in the document whose field name is not listed is to be cleared.+// Both situations above only occur when this reset-form action is performed.+@property (nonatomic) BOOL fieldsIncludedAreCleared;++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionURL.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionURL.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionURL.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFActionURL.h2024-10-25 21:20:40@@ -0,0 +1,28 @@+//+//  PDFActionURL.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  PDFActionURL is an interaction event tied with an annotation. This action allows+//  the user to open a URL, either being a local file or web URL.+//++#import <PDFKit/PDFAction.h>++NS_ASSUME_NONNULL_BEGIN++@class PDFActionURLPrivateVars;++PDFKIT_CLASS_AVAILABLE(10_5, 11_0)+@interface PDFActionURL : PDFAction <NSCopying>+{+@private+    PDFActionURLPrivateVars *_private2;+}++- (instancetype)initWithURL:(NSURL *)url NS_DESIGNATED_INITIALIZER;++@property (nonatomic, copy, nullable) NSURL *URL;++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAnnotation.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAnnotation.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAnnotation.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAnnotation.h2024-10-26 02:52:48@@ -0,0 +1,307 @@+//+//  PDFAnnotation.h+//  Copyright � 2019 Apple. All rights reserved.+//+//  PDFAnnotation is a wrapper class of all annotation types for a PDF document.+//  It is a container of key-value pairs that map directly to the PDF file format, defined+//  in the Adobe PDF Specification (file format version 1.7). You can manipulate+//  properties of an annotation by either assigning key-value pairs, where keys are always+//  strings defined in the specification and listed below (example: PDFAnnotationKeyFlags).+//  You can also replace existing key-values in the PDFAnnotation dictionary, or remove them.+//  Value types vary based on what the key is. For example, the value for a color key can either+//  be an array of numbers (0 for no color, 1 for gray, 3 for RGB, 4 for CMYK) or can be an+//  NSColor or UIColor instance. Some keys require complex values, typically as an array or+//  dictionaries of objects. PDFKit provides some classes as a convenience for these complex+//  type: PDFBorder, PDFAction (its subclasses), PDFDestination. Note that there are also+//  helper category functions that are specialized for many of the legacy PDFAnnotation+//  subclasses. You can find this in PDFAnnotationUtilities.h+//+//  Note that the preferred constructor for PDFAnnotation is -[initWithBounds:forType:withProperties:],+//  and at a minimum you must set bounds and type for the annotation. Calling -[init] will raise an+//  exception. To add an annotation to a page, you must do so via -[PDFPage addAnnotation:] on your+//  desired page. You may not change annotation subtype at runtime. If you want to change annotation+//  subtype, remove the annotation and add a new instance. If you use the deprecated constructor+//  -[initWithBounds:], you may set the annotation subtype only once. Any future assignments of subtype+//  will be ignored and produce a warning.+//+//  Note that PDFAnnotation can render any annotation with a content-stream entry in the annotation's+//  dictionary, though some are supported natively based on their annotation dictionary. Supported+//  annotations have their subtype declared via NSString defined in PDFAnnotationUtilities.h+//  using the naming convention "PDFAnnotationSubtypeX", where X is the subtype. Those not in+//  this list will only draw if there is an appearance stream.+//+//  Adobe PDF Specification (1.7) defines in Table 8.15 "Entries common to all annotation+//  dictionaries" 14 common properties among all annotations. 2-4 are required, the rest are+//  optional. PDFKit supports 13 of these annotations. For all common properties and each+//  annotation's specific properties, we define them as enumerations and enum-mapped strings at+//  the top of this file.+//+//  You can activate logging of any annotation key-value assignments that fails by setting the+//  environment variable "PDFKIT_LOG_ANNOTATIONS" to any value.+//++#import <PDFKit/PDFKitPlatform.h>+#import <PDFKit/PDFPage.h>+#import <PDFKit/PDFAction.h>++NS_ASSUME_NONNULL_BEGIN++// All PDF annotation subtypes that PDFKit can render: based on Adobe PDF specification, Table 8.20: Annotation types.+// Annotation subtypes not supported: Polygon, PolyLine, Squiggly, Caret, Caret, FileAttachment,+// Sound, Movie, Screen, PrinterMark, TrapNet, Watermark, 3D, Rect.+typedef NSString* const PDFAnnotationSubtype NS_STRING_ENUM;++// Common keys used for all annotations+// Adobe PDF Specification (1.7), Table 8.15: Entries common to all annotation dictionaries+typedef NSString* const PDFAnnotationKey NS_STRING_ENUM;++PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyAppearanceDictionary PDFKIT_AVAILABLE(10_13, 11_0);              // "/AP": Dictionary+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyAppearanceState PDFKIT_AVAILABLE(10_13, 11_0);                   // "/AS": Name+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyBorder PDFKIT_AVAILABLE(10_13, 11_0);                            // "/Border": Array of Integers; or a PDFBorder object+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyColor PDFKIT_AVAILABLE(10_13, 11_0);                             // "/C": Array of Floats; or a PDFKitPlatformColor object+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyContents PDFKIT_AVAILABLE(10_13, 11_0);                          // "/Contents": String+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyFlags PDFKIT_AVAILABLE(10_13, 11_0);                             // "/F": Integer+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyDate PDFKIT_AVAILABLE(10_13, 11_0);                              // "/M": Date or String+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyName PDFKIT_AVAILABLE(10_13, 11_0);                              // "/NM": String+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyPage PDFKIT_AVAILABLE(10_13, 11_0);                              // "/P": Dictionary; or a PDFPage object.+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyRect PDFKIT_AVAILABLE(10_13, 11_0);                              // "/Rect": CGRect+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeySubtype PDFKIT_AVAILABLE(10_13, 11_0);                           // "/Subtype": Name (See Table 8.20: Annotation types)++// Additional annotation extensions...+// Adobe PDF Specification (1.7), Table 8.23: Additional entries specific to a text annotation+// Adobe PDF Specification (1.7), Table 8.24: Additional entries specific to a link annotation+// Adobe PDF Specification (1.7), Table 8.25: Additional entries specific to a free text annotation+// Adobe PDF Specification (1.7), Table 8.26: Additional entries specific to a line annotation+// Adobe PDF Specification (1.7), Table 8.28: Additional entries specific to a square or circle annotation+// Adobe PDF Specification (1.7), Table 8.30: Additional entries specific to text markup annotations (highlight, underline, strikeout)+// Adobe PDF Specification (1.7), Table 8.32: Additional entries specific to a rubber stamp annotation+// Adobe PDF Specification (1.7), Table 8.33: Additional entries specific to an ink annotation+// Adobe PDF Specification (1.7), Table 8.34: Additional entries specific to a pop-up annotation+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyAction PDFKIT_AVAILABLE(10_13, 11_0);                            // "/A": Dictionary; or a PDFAction object+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyAdditionalActions PDFKIT_AVAILABLE(10_13, 11_0);                 // "/AA": Dictionary; or a PDFAction object+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyBorderStyle PDFKIT_AVAILABLE(10_13, 11_0);                       // "/BS": Dictionary+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyDefaultAppearance PDFKIT_AVAILABLE(10_13, 11_0);                 // "/DA": String+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyDestination PDFKIT_AVAILABLE(10_13, 11_0);                       // "/Dest": Array, Name, or String+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyHighlightingMode PDFKIT_AVAILABLE(10_13, 11_0);                  // "/H": Name+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyInklist PDFKIT_AVAILABLE(10_13, 11_0);                           // "/Inklist": Array of Arrays (each array representing a stroked path)+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyInteriorColor PDFKIT_AVAILABLE(10_13, 11_0);                     // "/IC": Array of Floats; or a PDFKitPlatformColor object+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyLinePoints PDFKIT_AVAILABLE(10_13, 11_0);                        // "/L": Array of Floats+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyLineEndingStyles PDFKIT_AVAILABLE(10_13, 11_0);                  // "/LE": Array of Strings+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyIconName PDFKIT_AVAILABLE(10_13, 11_0);                          // "/Name": Name+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyOpen PDFKIT_AVAILABLE(10_13, 11_0);                              // "/Open": Boolean+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyParent PDFKIT_AVAILABLE(10_13, 11_0);                            // "/Parent": Dictionary; or a PDFAnnotation object+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyPopup PDFKIT_AVAILABLE(10_13, 11_0);                             // "/Popup": Dictionary; or a PDFAnnotation object of type "Popup"+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyQuadding PDFKIT_AVAILABLE(10_13, 11_0);                          // "/Q": Integer+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyQuadPoints PDFKIT_AVAILABLE(10_13, 11_0);                        // "/QuadPoints": Array of Floats+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyTextLabel PDFKIT_AVAILABLE(10_13, 11_0);                         // "/T": String++// Widget annotation extensions+// Adobe PDF Specification (1.7), Table 8.39: Additional entries specific to a widget annotation+// Adobe PDF Specification (1.7), Table 8.40: Entries in an appearance characteristics dictionary+// Adobe PDF Specification (1.7), Table 8.69: Entries common to all field dictionaries+// Adobe PDF Specification (1.7), Table 8.76: Additional entry specific to check box and radio button fields+// Adobe PDF Specification (1.7), Table 8.78: Additional entry specific to a text field+// Adobe PDF Specification (1.7), Table 8.80: Additional entries specific to a choice field+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyWidgetDownCaption PDFKIT_AVAILABLE(10_13, 11_0);                 // "/AC": String+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyWidgetBorderColor PDFKIT_AVAILABLE(10_13, 11_0);                 // "/BC": Array of Floats; or a PDFKitPlatformColor object+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyWidgetBackgroundColor PDFKIT_AVAILABLE(10_13, 11_0);             // "/BG": Array of Floats; or a PDFKitPlatformColor object+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyWidgetCaption PDFKIT_AVAILABLE(10_13, 11_0);                     // "/CA": String+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyWidgetDefaultValue PDFKIT_AVAILABLE(10_13, 11_0);                // "/DV": (various)+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyWidgetFieldFlags PDFKIT_AVAILABLE(10_13, 11_0);                  // "/Ff": Integer+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyWidgetFieldType PDFKIT_AVAILABLE(10_13, 11_0);                   // "/FT": Name+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyWidgetAppearanceDictionary PDFKIT_AVAILABLE(10_13, 11_0);        // "/MK": Dictionary; or PDFAppearanceCharacteristics object+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyWidgetMaxLen PDFKIT_AVAILABLE(10_13, 11_0);                      // "/MaxLen": Integer+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyWidgetOptions PDFKIT_AVAILABLE(10_13, 11_0);                     // "/Opt": Array (each element is either a string, or an array of two strings)+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyWidgetRotation PDFKIT_AVAILABLE(10_13, 11_0);                    // "/R": Integer+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyWidgetRolloverCaption PDFKIT_AVAILABLE(10_13, 11_0);             // "/RC": String+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyWidgetTextLabelUI PDFKIT_AVAILABLE(10_13, 11_0);                 // "/TU": String+PDFKIT_EXTERN PDFAnnotationKey PDFAnnotationKeyWidgetValue PDFKIT_AVAILABLE(10_13, 11_0);                       // "/V": (various)++@class PDFAction, PDFBorder, PDFPage, PDFAnnotationPopup;++PDFKIT_CLASS_AVAILABLE(10_4, 11_0)+@interface PDFAnnotation : NSObject <NSCopying, NSCoding>+{+}++// This is the base class for all annotations. A PDFAnnotation object by itself is not useful, only subclasses (like+// PDFAnnotationCircle, PDFAnnotationText) are interesting. In parsing a PDF however, any unknown or unsupported+// annotations will be represented as this base class.++// -------- initializer++// Create a custom annotation with bounds, a type (PDFAnnotationSubtype), and an (optional) dictionary of annotation properties.+- (instancetype)initWithBounds:(PDFRect)bounds forType:(PDFAnnotationSubtype)annotationType withProperties:(nullable NSDictionary*)properties PDFKIT_AVAILABLE(10_13, 11_0) NS_DESIGNATED_INITIALIZER;++// -------- accessors++// Returns the page the annotation is associated with (may return nil if annotation not associated with a page).+@property (nonatomic, weak, nullable) PDFPage *page;++// Returns the annotation type (called "Subtype" in the PDF specification since "Annot" is the type). Examples include:+// "Text", "Link", "Line", etc. Required. Note that you are only allowed to set the type of an annotation once.+@property (nonatomic, copy, nullable) NSString *type;++// Required for all annotations. The bounding box in page-space of the annotation.+@property (nonatomic) PDFRect bounds;++// Indicates whether the annotation should be displayed on screen (depending upon -[shouldPrint] it may still print).+@property (nonatomic) BOOL shouldDisplay;++// Indicates whether the annotation should be printed or not.+@property (nonatomic) BOOL shouldPrint;++// Optional (-[modificationDate] may return nil). Modification date of the annotation.+@property (nonatomic, copy, nullable) NSDate *modificationDate PDFKIT_AVAILABLE(10_5, 11_0);++// Optional (-[userName] may return nil). Name of the user who created the annotation.+@property (nonatomic, copy, nullable) NSString *userName PDFKIT_AVAILABLE(10_5, 11_0);++// Optional (-[popup] may return nil). Not used with links or widgets, a popup annotation associated with this+// annotation. The bounds and open state of the popup indicate the placement and open state of the popup window.+@property (nonatomic, strong, nullable) PDFAnnotation *popup PDFKIT_AVAILABLE(10_5, 11_0);++// Optional border or border style that describes how to draw the annotation border (if any). For the "geometry"+// annotations (Circle, Ink, Line, Square), the border indicates the line width and whether to draw with a dash pattern+// or solid pattern. PDFAnnotation markup types (Highlight, Strikethrough, Underline) ignores the border.+@property (nonatomic, strong, nullable) PDFBorder *border PDFKIT_AVAILABLE(10_4, 11_0);++// For many annotations ("Circle", "Square") the stroke color. Used for other annotations as well.+@property (nonatomic, copy) PDFKitPlatformColor *color PDFKIT_AVAILABLE(10_4, 11_0);++// A string of text associated with an annotation. Often displayed in a window when the annotation is clicked on+// ("FreeText" and "Text" especially).+@property (nonatomic, copy, nullable) NSString *contents PDFKIT_AVAILABLE(10_5, 11_0);++// Optional action performed when a user clicks / taps an annotation. PDF readers ignore actions except+// for those associated with Link or button Widget annotations.+@property (nonatomic, strong, nullable) PDFAction *action PDFKIT_AVAILABLE(10_5, 11_0);++// Returns YES if the annotation has an appearance stream. Annotations with appearance streams are drawn using their+// stream. As a result setting many parameters (like -[setColor:] above) will have no visible effect.+@property (nonatomic, readonly) BOOL hasAppearanceStream;++// The highlight state dictates how the annotation is drawn. For example, if a user has clicked on a+// "Link" annotation, you should set highlighted to YES and redraw it. When the user lets up, set highlighted to+// NO and redraw again.+@property (nonatomic, getter=isHighlighted) BOOL highlighted PDFKIT_AVAILABLE(10_13, 11_0);++// -------- drawing++// Draw method. Draws in page-space relative to origin of "box" passed in and to the given context+- (void)drawWithBox:(PDFDisplayBox)box inContext:(CGContextRef)context PDFKIT_AVAILABLE(10_12, 11_0);++// -------- attribute mutations++// Allows you to set a key-value pair in this annotation's dictionary. Returns true on successful+// assignment, false on error. Key must be valid for a PDF annotation's object type, and must have+// a value that is acceptable for the key type. These values can either be an NSString, NSNumber,+// NSArray of strings or numbers, or an NSDictionary of the previously listed types. Some keys expect+// a complex type, for example the key "/C" expects a color in the format of an array of 0, 1, 3,+// or 4 elements, with each element being a floating-point number in the range of 0.0 - 1.0 ). As+// a convenience, these kind of keys will directly accept NSColor / UIColor values. Other convenience+// functions provide similar support can be found in PDFAnnotationUtilities header file. Note that you+// can set the environment variable "PDFKIT_LOG_ANNOTATIONS" to log any key-value assignment failures.+- (BOOL)setValue:(id)value forAnnotationKey:(PDFAnnotationKey)key PDFKIT_AVAILABLE(10_12, 11_0);+- (BOOL)setBoolean:(BOOL)value forAnnotationKey:(PDFAnnotationKey)key PDFKIT_AVAILABLE(10_12, 11_0);+- (BOOL)setRect:(PDFRect)value forAnnotationKey:(PDFAnnotationKey)key PDFKIT_AVAILABLE(10_12, 11_0);++// List all key-value pairs for this annotation; returns a deep copy of all pairs.+// Note that this method will not include a copy of the value for /Parent. This is by design as to avoid+// introduing a memory cycle. If you would like to get the /Parent propery, use -[PDFAnnotation valueForAnnotationKey:]+// with key PDFAnnotationKeyParent.+@property (nonatomic, readonly, copy) NSDictionary *annotationKeyValues PDFKIT_AVAILABLE(10_13, 11_0);++// Retrieves a deep copy of the key-value pair based on the given key; key can either be+// from the keys PDFAnnotationKey, or an appropriate string from the PDF specification.+- (nullable id)valueForAnnotationKey:(PDFAnnotationKey)key PDFKIT_AVAILABLE(10_12, 11_0);++// Remove the key-value pair from the annotation dictionary. Returns true on successful removal.+- (void)removeValueForAnnotationKey:(PDFAnnotationKey)key PDFKIT_AVAILABLE(10_12, 11_0);++@end++#if defined( PDFKIT_PLATFORM_OSX )++@interface PDFAnnotation (PDFAnnotationDeprecated)++// -------- initializer++// Create a custom annotation using a given annotation dictionary, self-assigning it to the (optional) page.+// Use -[initWithBounds:type:properties] instead.+- (instancetype)initWithDictionary:(NSDictionary *)dictionary forPage:(nullable PDFPage *)page PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);++// You should only call this method for the subclasses, otherwise you will get a type of nil � which is not a legal annotation.+// Use -[initWithBounds:type:properties] instead.+- (instancetype)initWithBounds:(PDFRect)bounds PDFKIT_DEPRECATED(10_4, 10_12, NA, NA);++// -------- accessors++// String used for tooltips. The base class returns [self contents], sub-classes may override as appropriate.+@property (nonatomic, readonly, nullable) NSString *toolTip PDFKIT_DEPRECATED(10_5, 10_12, NA, NA);++// Optional action performed when a user releases the mouse within an annotation. PDF readers ignore actions except+// for those associated with Link or button Widget annotations. This has been replaced by -[PDFAnnotation action] and+// -[PDFAnnotation setAction:] methods, which do the same behavior for both mouse-up driven actions and tap-gestures.+@property (nonatomic, strong, nullable) PDFAction *mouseUpAction PDFKIT_DEPRECATED(10_5, 10_13, NA, NA);++// All appearance streams for the target annotation are removed. Without an appearance stream, annotations are drawn+// strictly according to their parameters (color, border, font, etc.). When a PDF is saved, PDFKit will always+// write out an appearance stream(s) for each annotation. If the PDF is reloaded, you will need to remove the+// appearance streams in order to continue to edit the annotations parameters.+- (void)removeAllAppearanceStreams PDFKIT_DEPRECATED(10_5, 10_12, NA, NA);++// -------- drawing++// This method is deprecated in favor of the of the context aware -[PDFAnnotation drawWithBox:inContext:]. If you subclass+// PDFAnnotation, rendering code will first call -[PDFAnnotation drawWithBox:inContext:]. If your subclass does not override+// the context-aware function, this original -[PDFAnnotation drawWithBox:] method will be called.+// Draw method. Draws in page-space relative to origin of "box" passed in.+- (void)drawWithBox:(PDFDisplayBox)box PDFKIT_DEPRECATED(10_4, 10_12, NA, NA);++@end++// These keys are deprecated in favor of the annotation keys as defined by type PDFAnnotationKey at the top of this header file.+// Common keys used for all annotations.++PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_AppearanceDictionary PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);              // "/AP": Dictionary+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_AppearanceState PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                   // "/AS": Name+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Border PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                            // "/Border": Array of Integers; or a PDFBorder object+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Color PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                             // "/C": Array of Floats; or a PDFKitPlatformColor object+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Contents PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                          // "/Contents": String+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Flags PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                             // "/F": Integer+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Date PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                              // "/M": Date or String+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Name PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                              // "/NM": String+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Page PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                              // "/P": Dictionary; or a PDFPage object.+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Rect PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                              // "/Rect": CGRect+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Subtype PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                           // "/Subtype": Name (See Table 8.20: Annotation types)+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Action PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                            // "/A": Dictionary; or a PDFAction object+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_AdditionalActions PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                 // "/AA": Dictionary; or a PDFAction object+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_BorderStyle PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                       // "/BS": Dictionary+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_DefaultAppearance PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                 // "/DA": String+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Destination PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                       // "/Dest": Array, Name, or String+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_HighlightingMode PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                  // "/H": Name+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Inklist PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                           // "/Inklist": Array of Arrays (each array representing a stroked path)+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_InteriorColor PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                     // "/IC": Array of Floats; or a PDFKitPlatformColor object+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_LinePoints PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                        // "/L": Array of Floats+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_LineEndingStyles PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                  // "/LE": Array of Strings+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_IconName PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                          // "/Name": Name+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Open PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                              // "/Open": Boolean+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Parent PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                            // "/Parent": Dictionary; or a PDFAnnotation object+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Popup PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                             // "/Popup": Dictionary; or a PDFAnnotation object of type "Popup"+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_Quadding PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                          // "/Q": Integer+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_QuadPoints PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                        // "/QuadPoints": Array of Floats+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_TextLabel PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                         // "/T": String+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_WidgetDefaultValue PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                // "/DV": (various)+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_WidgetFieldFlags PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                  // "/Ff": Integer+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_WidgetFieldType PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                   // "/FT": Name+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_WidgetAppearanceDictionary PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);        // "/MK": Dictionary; or PDFAppearanceCharacteristics object+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_WidgetMaxLen PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                      // "/MaxLen": Integer+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_WidgetOptions PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                     // "/Opt": Array (each element is either a string, or an array of two strings)+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_WidgetTextLabelUI PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                 // "/TU": String+PDFKIT_EXTERN PDFAnnotationKey kPDFAnnotationKey_WidgetValue PDFKIT_DEPRECATED(10_12, 10_13, NA, NA);                       // "/V": (various)++#endif+++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAnnotationUtilities.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAnnotationUtilities.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAnnotationUtilities.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAnnotationUtilities.h2024-10-21 19:28:56@@ -0,0 +1,289 @@+//+//  PDFAnnotationUtilities.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  This file includes several helper functions that match legacy PDFAnnotation+//  subclass functions, helping simplify creating properties for common annotations.+//++#import <PDFKit/PDFKitPlatform.h>+#import <PDFKit/PDFAnnotation.h>++NS_ASSUME_NONNULL_BEGIN++// Style used for line end caps.+typedef NS_ENUM(NSInteger, PDFLineStyle)+{+    kPDFLineStyleNone = 0,+    kPDFLineStyleSquare = 1,+    kPDFLineStyleCircle = 2,+    kPDFLineStyleDiamond = 3,+    kPDFLineStyleOpenArrow = 4,+    kPDFLineStyleClosedArrow = 5+};++// Icon that appears indicating text annotation pop-up.+typedef NS_ENUM(NSInteger, PDFTextAnnotationIconType)+{+    kPDFTextAnnotationIconComment = 0,+    kPDFTextAnnotationIconKey = 1,+    kPDFTextAnnotationIconNote = 2,+    kPDFTextAnnotationIconHelp = 3,+    kPDFTextAnnotationIconNewParagraph = 4,+    kPDFTextAnnotationIconParagraph = 5,+    kPDFTextAnnotationIconInsert = 6+};++// Types of markup annotations.+typedef NS_ENUM(NSInteger, PDFMarkupType)+{+    kPDFMarkupTypeHighlight = 0,+    kPDFMarkupTypeStrikeOut = 1,+    kPDFMarkupTypeUnderline = 2,+    kPDFMarkupTypeRedact    = 3+};++// Type of control.+typedef NS_ENUM(NSInteger, PDFWidgetControlType)+{+    kPDFWidgetUnknownControl = -1,+    kPDFWidgetPushButtonControl = 0,+    kPDFWidgetRadioButtonControl = 1,+    kPDFWidgetCheckBoxControl = 2+};++// Cell state.+typedef NS_ENUM(NSInteger, PDFWidgetCellState)+{+    kPDFWidgetMixedState = -1,+    kPDFWidgetOffState = 0,+    kPDFWidgetOnState = 1,+};++// All PDF annotation subtypes that PDFKit can render: based on Adobe PDF specification, Table 8.20: Annotation types.+// Annotation subtypes not supported: Polygon, PolyLine, Squiggly, Caret, Caret, FileAttachment,+// Sound, Movie, Screen, PrinterMark, TrapNet, Watermark, 3D, Rect.+PDFKIT_EXTERN PDFAnnotationSubtype PDFAnnotationSubtypeText PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationSubtype PDFAnnotationSubtypeLink PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationSubtype PDFAnnotationSubtypeFreeText PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationSubtype PDFAnnotationSubtypeLine PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationSubtype PDFAnnotationSubtypeSquare PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationSubtype PDFAnnotationSubtypeCircle PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationSubtype PDFAnnotationSubtypeHighlight PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationSubtype PDFAnnotationSubtypeUnderline PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationSubtype PDFAnnotationSubtypeStrikeOut PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationSubtype PDFAnnotationSubtypeInk PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationSubtype PDFAnnotationSubtypeStamp PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationSubtype PDFAnnotationSubtypePopup PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationSubtype PDFAnnotationSubtypeWidget PDFKIT_AVAILABLE(10_13, 11_0);++// Widget annotations have the following possible subtypes: Button, Choice, Signature, and Text+typedef NSString* const PDFAnnotationWidgetSubtype NS_STRING_ENUM;++PDFKIT_EXTERN PDFAnnotationWidgetSubtype PDFAnnotationWidgetSubtypeButton PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationWidgetSubtype PDFAnnotationWidgetSubtypeChoice PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationWidgetSubtype PDFAnnotationWidgetSubtypeSignature PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationWidgetSubtype PDFAnnotationWidgetSubtypeText PDFKIT_AVAILABLE(10_13, 11_0);++// Line annotation have the following line ending types (this maps directly to PDFLineStyle)+typedef NSString* const PDFAnnotationLineEndingStyle NS_STRING_ENUM;++PDFKIT_EXTERN PDFAnnotationLineEndingStyle PDFAnnotationLineEndingStyleNone PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationLineEndingStyle PDFAnnotationLineEndingStyleSquare PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationLineEndingStyle PDFAnnotationLineEndingStyleCircle PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationLineEndingStyle PDFAnnotationLineEndingStyleDiamond PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationLineEndingStyle PDFAnnotationLineEndingStyleOpenArrow PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationLineEndingStyle PDFAnnotationLineEndingStyleClosedArrow PDFKIT_AVAILABLE(10_13, 11_0);++// Text annotations have the following icon types:+typedef NSString* const PDFAnnotationTextIconType NS_STRING_ENUM;++PDFKIT_EXTERN PDFAnnotationTextIconType PDFAnnotationTextIconTypeComment PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationTextIconType PDFAnnotationTextIconTypeKey PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationTextIconType PDFAnnotationTextIconTypeNote PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationTextIconType PDFAnnotationTextIconTypeHelp PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationTextIconType PDFAnnotationTextIconTypeNewParagraph PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationTextIconType PDFAnnotationTextIconTypeParagraph PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationTextIconType PDFAnnotationTextIconTypeInsert PDFKIT_AVAILABLE(10_13, 11_0);++// Highlighting styles+typedef NSString* const PDFAnnotationHighlightingMode NS_STRING_ENUM;++PDFKIT_EXTERN PDFAnnotationHighlightingMode PDFAnnotationHighlightingModeNone PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationHighlightingMode PDFAnnotationHighlightingModeInvert PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationHighlightingMode PDFAnnotationHighlightingModeOutline PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAnnotationHighlightingMode PDFAnnotationHighlightingModePush PDFKIT_AVAILABLE(10_13, 11_0);++@class PDFDestination;++// Helper functions for directly manipulating annotation dictionaries+@interface PDFAnnotation (PDFAnnotationUtilities)++// Font and font color associated with the text field.+// Used by annotations type(s): /FreeText, /Popup, /Widget (field type(s): /Btn, /Ch, and /Tx).+@property (nonatomic, copy, nullable) PDFKitPlatformFont *font;++// Width of line used to stroke border.+// Used by annotations type(s): /FreeText, /Widget (field type(s): /Btn, /Ch, and /Tx).+@property (nonatomic, copy, nullable) PDFKitPlatformColor *fontColor;++// Interior color of the annotation.+// Used by annotations type(s): /Circle, /Line, /Square.+@property (nonatomic, copy, nullable) PDFKitPlatformColor *interiorColor;++// Alignment of text within annotation bounds.  Supported: NSLeftTextAlignment, NSRightTextAlignment and+// NSCenterTextAlignment.+// Used by annotations type(s): /FreeText, /Widget (field type(s): /Tx).+@property (nonatomic) NSTextAlignment alignment;++// Points specifying start and end points for line annotation (required).+// Points are specified in annotation space.+// Used by annotations type(s): /Line.+@property (nonatomic) PDFPoint startPoint;+@property (nonatomic) PDFPoint endPoint;++// Style used for ornaments at the lines start and end (optional, PDF 1.4).+// Used by annotations type(s): /Line.+@property (nonatomic) PDFLineStyle startLineStyle;+@property (nonatomic) PDFLineStyle endLineStyle;++// Class methods to help with mapping PDFLineStyle to the associated name based on PDF specification+// Used by annotations type(s): /Line.++ (PDFLineStyle) lineStyleFromName:(NSString *)name;++ (NSString *) nameForLineStyle:(PDFLineStyle)style;++// The type of icon displayed in the PDF.  Supported icons: "Comment", "Key", "Note", "Help", "NewParagraph",+// "Paragraph" and "Insert".+// Used by annotations type(s): /Text.+@property (nonatomic) PDFTextAnnotationIconType iconType;++// Array of n * 4 points, packed as NSValue pointValue / CGPointValue, defining n quadrilaterals in page space where n is the number of quad points.+// The points for each quad are ordered in a 'Z' pattern. That is, the first point should represent the upper left+// point representing the start of the marked-up text, the next point will be the upper right, the third point will+// represent the lower left of the text and the last point the lower right.+// Points are specified relative to the annotation's bound's origin.+@property (nonatomic, copy, nullable) NSArray<NSValue *> *quadrilateralPoints;++// Type of mark-up (highlight, strike-out or underline). Changing the markup type also changes the annotations type.+// Used by annotations type(s): /Highlight, /StrikeOut, /Underline.+@property (nonatomic) PDFMarkupType markupType;++// The specific field type of a widget annotation (button, choice, or text).+// Used by annotations type(s): /Widget (field type(s): /Btn, /Ch, /Tx).+@property (nonatomic, copy) PDFAnnotationWidgetSubtype widgetFieldType;++// The type of button widget control type (radio button, push button, or checkbox).+// Used by annotations type(s): /Widget (field type(s): /Btn).+@property (nonatomic) PDFWidgetControlType widgetControlType;++// Used to configure multiline PDF text fields.+// Used by annotations type(s): /Widget (field type(s): /Tx).+@property (nonatomic, getter=isMultiline) BOOL multiline;++// Returns whether an annotation is a /FreeText or a /Widget with field type /Tx+// and the annotation is not hidden or read-only.+@property (readonly, getter=isActivatableTextField) BOOL activatableTextField;++// Used to determine if a PDF text field is a password field.+// Used by annotations type(s): /Widget (field type(s): /Tx).+@property (nonatomic, readonly) BOOL isPasswordField;++// Used to configure combing for PDF text fields.+// If set, the field is automatically divided into as many equally spaced positions, or combs, as the value of the+// maximum length of the field. To get the maximum length, use annotaiton key: PDFAnnotationKeyWidgetMaxLen.+// Used by annotations type(s): /Widget (field type(s): /Tx).+@property (nonatomic, getter=hasComb) BOOL comb;++// Maximum characters allowed (optional, zero indicates no specified maximum).+// Used by annotations type(s): /Widget (field type(s): /Tx).+@property (nonatomic) NSInteger maximumLength;++// The string value for a widget annotation.+// Used by annotations type(s): /Widget (field type(s): /Btn, /Ch, /Tx).+@property (nonatomic, copy, nullable) NSString *widgetStringValue;++// The string value for a widget annotation.+// Used by annotations type(s): /Widget (field type(s): /Btn, /Ch, /Tx).+@property (nonatomic, copy, nullable) NSString *widgetDefaultStringValue;++// For radio buttons, indicates whether clicking on widget whose state is already On toggles it Off.+// Used by annotations type(s): /Widget (field type(s): /Btn).+@property (nonatomic) BOOL allowsToggleToOff;++// For radio buttons, indicates whether a group of radio buttons will turn on and off in+// unison; that is if one is checked, they are all checked. If clear, the buttons are mutually exclusive.+// Used by annotations type(s): /Widget (field type(s): /Btn).+@property (nonatomic) BOOL radiosInUnison;++// Determines if a text field should be editable or not.+// Used by annotations type(s): /Widget (field type(s): /Btn, /Ch, /Tx).+@property (nonatomic, getter=isReadOnly) BOOL readOnly;++// There are two flavors of Choice widget annotations, lists and pop-up menus. This method allow you to differentiate.+// Used by annotations type(s): /Widget (field type(s): /Ch).+@property (nonatomic, getter=isListChoice) BOOL listChoice;++// The choices are an array of strings indicating the options (items) in either a list or pop-up menu.+// Used by annotations type(s): /Widget (field type(s): /Ch).+@property (nonatomic, copy, nullable) NSArray<NSString *> *choices;++// The choices are an array of strings indicating the  option’s export values in either a list or pop-up menu.+// Used by annotations type(s): /Widget (field type(s): /Ch).+@property (nonatomic, copy, nullable) NSArray<NSString *> *values;++// The current state of a button widget annotation.+// Used by annotations type(s): /Widget (field type(s): /Btn).+@property (nonatomic) PDFWidgetCellState buttonWidgetState;++// The string that represents the ON state of a button widget annotation.+// This should be set when trying to, for example, group together a set of radio buttons with the same field name.+// When buttons share the same field name, their individual state strings set them apart from one another.+// Used by annotations type(s): /Widget (field type(s): /Btn).+@property (nonatomic, copy) NSString *buttonWidgetStateString;++// Used to tell if an annotation is open or closed.+// Used by annotations type(s): /Popup.+@property (nonatomic, getter=isOpen) BOOL open;++// Array of NSBezierPaths / UIBezierPaths that comprise the annotation.+// Paths are specified in annotation space.+// Used by annotations type(s): /Ink.+@property (nonatomic, readonly, nullable) NSArray<PDFKitPlatformBezierPath *> *paths;++// Add or remove paths from the annotation.+// Path points are specified in annotation space.+// Used by annotations type(s): /Ink.+- (void)addBezierPath:(PDFKitPlatformBezierPath *)path;+- (void)removeBezierPath:(PDFKitPlatformBezierPath *)path;++// Destination for the link. May be nil if no destination associated with link; in this case the -[URL] may be valid.+// The preferred way though is to call -[PDFAnnotation action] and -[PDFAnnotation setAction:].+// Used by annotations type(s): /Link.+@property (nonatomic, strong, nullable) PDFDestination *destination;++// URL for the link. May be nil if no URL action associated with link; in this case the -[destination] may be valid.+// The preferred way though is to call -[PDFAnnotation action] and -[PDFAnnotation setAction:].+// Used by annotations type(s): /Link.+@property (nonatomic, copy, nullable) NSURL *URL;++// Widget annotations backed by form data have (internal) field names with which to associate a value or data.+// Can also be used for ResetForm actions.+// Used by annotations type(s): /Widget (field type(s): /Btn, /Ch, /Tx).+@property (nonatomic, copy, nullable) NSString *fieldName;++// Label for the button. Applies to kPDFWidgetPushButtonControl only.+// Used by annotations type(s): /Widget (field type(s): /Btn).+@property (nonatomic, copy, nullable) NSString *caption;++// Background color characteristics.+// Used by annotations type(s): /Widget (field type(s): /Btn, /Ch, /Tx).+@property (nonatomic, copy, nullable) PDFKitPlatformColor *backgroundColor;++// Name of stamp annotation. Standard stamps include names like, "Approved", "Draft", "TopSecret", etc.+// The name must be representable as ASCII. Very little is rendered if the annotation has no appearance stream.+// Used by annotations type(s): /Stamp+@property (nonatomic, copy, nullable) NSString *stampName;++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAppearanceCharacteristics.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAppearanceCharacteristics.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAppearanceCharacteristics.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFAppearanceCharacteristics.h2024-10-25 21:20:39@@ -0,0 +1,74 @@+//+//  PDFAppearanceCharacteristics.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  PDFAppearanceCharacteristics represents a dictionary that is specific to widget annotation types,+//  containing additional information for constructing the annotation’s appearance.+//  It is designed to be a representation of the /MK appearance characteristics entry in+//  the annotation dictionary. Because the /MK entry is optional, all properties of+//  PDFAppearanceCharacteristics are optional as well.+//+//  Properties are based on the Adobe PDF Specification (1.7),+//  Table 8.40: Entries in an appearance characteristics dictionary+//++#import <PDFKit/PDFKitPlatform.h>+#import <PDFKit/PDFAnnotationUtilities.h>++NS_ASSUME_NONNULL_BEGIN++// Widget appearance characteristics keys.+typedef NSString* const PDFAppearanceCharacteristicsKey NS_STRING_ENUM;++PDFKIT_EXTERN PDFAppearanceCharacteristicsKey PDFAppearanceCharacteristicsKeyBackgroundColor PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAppearanceCharacteristicsKey PDFAppearanceCharacteristicsKeyBorderColor PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAppearanceCharacteristicsKey PDFAppearanceCharacteristicsKeyRotation PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAppearanceCharacteristicsKey PDFAppearanceCharacteristicsKeyCaption PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAppearanceCharacteristicsKey PDFAppearanceCharacteristicsKeyRolloverCaption PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFAppearanceCharacteristicsKey PDFAppearanceCharacteristicsKeyDownCaption PDFKIT_AVAILABLE(10_13, 11_0);++@class PDFAppearanceCharacteristicsPrivate;++PDFKIT_CLASS_AVAILABLE(10_13, 11_0)+@interface PDFAppearanceCharacteristics : NSObject <NSCopying>+{+@private+    PDFAppearanceCharacteristicsPrivate *_private;+}++// -------- accessors++// For button widget annotations, need to specify the control type for PDFAppearanceCharacteristics+// as certain attributes, i.e. captions, are only available for certain flavors.+// Control type does not need to be set for text or choice widget annotations.+@property (nonatomic) PDFWidgetControlType controlType;++// The background color of the widget annotation.+@property (nonatomic, copy, nullable) PDFKitPlatformColor *backgroundColor;++// The border color of the widget annotation.+@property (nonatomic, copy, nullable) PDFKitPlatformColor *borderColor;++// The number of *degrees* by which the widget annotation is rotated counterclockwise relative to the page.+// The value must be a multiple of 90. Default value: 0.+@property (nonatomic) NSInteger rotation;++// The widget annotation’s normal caption, displayed when it is not interacting with the user.+@property (nonatomic, copy, nullable) NSString *caption;++// The widget's caption displayed when the user moves the mouse over the annotation.+// Applies only to kPDFWidgetPushButtonControl.+@property (nonatomic, copy, nullable) NSString *rolloverCaption;++// The widget's caption displayed when the user holds the mouse button while over the annotation.+// Applies only to kPDFWidgetPushButtonControl.+@property (nonatomic, copy, nullable) NSString *downCaption;++// List all appearance characteristics properties as key-value pairs; returns a deep copy of all pairs.+// Helpful for debugging.+@property (nonatomic, readonly, copy) NSDictionary *appearanceCharacteristicsKeyValues;+++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFBorder.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFBorder.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFBorder.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFBorder.h2024-10-25 21:20:39@@ -0,0 +1,66 @@+//+//  PDFBorder.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  PDFBorder represents an array structure that is common for graphical annotations,+//  defining properties like line-stroke width, color, and dashed patterns.+//  It is designed to be a representation of the /BS entry in the annotation dictionary.+//+//  Properties are based on the Adobe PDF Specification (1.7)+//  Table 8.17: Entries in a border style dictionary.+//++#import <PDFKit/PDFKitPlatform.h>++NS_ASSUME_NONNULL_BEGIN++@class PDFBorderPrivateVars;++// Style in which PDFBorder is displayed.+PDFKIT_ENUM_AVAILABLE(10_4, 11_0)+typedef NS_ENUM(NSInteger, PDFBorderStyle)+{+    kPDFBorderStyleSolid = 0,+    kPDFBorderStyleDashed = 1,+    kPDFBorderStyleBeveled = 2,+    kPDFBorderStyleInset = 3,+    kPDFBorderStyleUnderline = 4+};++// Border style dictionary keys.+typedef NSString* const PDFBorderKey NS_STRING_ENUM;++PDFKIT_EXTERN PDFBorderKey PDFBorderKeyLineWidth PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFBorderKey PDFBorderKeyStyle PDFKIT_AVAILABLE(10_13, 11_0);+PDFKIT_EXTERN PDFBorderKey PDFBorderKeyDashPattern PDFKIT_AVAILABLE(10_13, 11_0);++// PDFBorder is not directly an annotation, but instead is a supportive structure common to a few annotations.+PDFKIT_CLASS_AVAILABLE(10_4, 11_0)+@interface PDFBorder : NSObject <NSCopying, NSCoding>+{+@private+PDFBorderPrivateVars *_private;+}++// -------- accessors++// See styles above. Whether border is drawn solid, dashed etc.+@property (nonatomic) PDFBorderStyle style;++// Width of line used to stroke border.+@property (nonatomic) CGFloat lineWidth;++// Array of floats specifying the dash pattern (see NSBezierPath for more detail).+@property (nonatomic, copy, nullable) NSArray *dashPattern;++// List all border properties as key-value pairs; returns a deep copy of all pairs. Helpful for debugging.+@property (nonatomic, readonly, copy) NSDictionary *borderKeyValues;++// Draw method. Not generally needed since the annotations themselves call this method when they are drawn.+// Call -[NSColor set] before calling (the various annotations do this often calling -[PDFAnnotation color] or whatever+// is appropriate for their class.+- (void)drawInRect:(PDFRect)rect;++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFDestination.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFDestination.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFDestination.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFDestination.h2024-10-25 21:20:39@@ -0,0 +1,54 @@+//+//  PDFDestination.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  PDFDestination represents a dictionary used in annotations, typically as+//  a property for an action. Destinations are a coordinate and zoom factor+//  for a specific page in a document.+//++#import <PDFKit/PDFKitPlatform.h>++NS_ASSUME_NONNULL_BEGIN++@class PDFPage, PDFDestinationPrivate;++// To specify a destination point where you don't care about the x or y value (or either), use this value.+PDFKIT_EXTERN const CGFloat kPDFDestinationUnspecifiedValue PDFKIT_AVAILABLE(10_4, 11_0);++PDFKIT_CLASS_AVAILABLE(10_4, 11_0)+@interface PDFDestination : NSObject <NSCopying>+{+@private+    PDFDestinationPrivate *_private;+}++// -------- initializer++// Initializer. You do not often create PDFDestinations, but usually get them from link annotations or PDFOutline items.+- (instancetype)initWithPage:(PDFPage *)page atPoint:(PDFPoint)point NS_DESIGNATED_INITIALIZER;++// -------- accessors++// The page that the destination refers to (destination page).+@property (nonatomic, weak, readonly) PDFPage *page;++// The destination point on the page above (in page space).+@property (nonatomic, readonly) PDFPoint point;++// Get / set the scale factor the PDF viewer should assume for this destination.+// kPDFDestinationUnspecifiedValue indicates the scale factor is unaffected.+@property (nonatomic) CGFloat zoom PDFKIT_AVAILABLE(10_7, 11_0);++// If the destination passed in is further along in the document than the receiver, we return NSOrderedAscending. If+// the destination passed in precedes the receiver, we return NSOrderedDescending. Otherwise if the destination passed in+// matches the receiver, we return NSOrderedSame. For purposes of comparison, the horizontal component on the point is+// ignored. Also for purposes of comparison, having kPDFDestinationUnspecifiedValue for the vertical component of the+// destination point will be treated as the top point on the destination page.+// An exception will be raised if either destination does not have a page associated with it or if the pages of the two+// destinations are associated with different documents.+- (NSComparisonResult)compare:(PDFDestination *)destination PDFKIT_AVAILABLE(10_5, 11_0);++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFDocument.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFDocument.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFDocument.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFDocument.h2024-10-21 19:54:49@@ -0,0 +1,346 @@+//+//  PDFDocument.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  PDFDocument is the logical representation of a PDF file. It is a container of PDFPages,+//  giving you the ability to load, modify, and save a set of PDF pages. It also gives you the+//  ability to unlock, search, and interact with the document's structure. You can instantiate+//  a PDFDocument with either the init method, initWithURL:, or initWithData:. Documents+//  that are locked or encrypted must be unlocked before reading or mutating any properties.+//  This is done via "unlockWithPassword:", and on success will return YES and post a+//  PDFDocumentDidUnlockNotification notification. You may search synchronously or asynchronously+//  via the set of "findString:" functions. When searching asynchronously, you will receive+//  periodic updates via search related notifications (See below).+//+//  Note that if you want your instance of a PDFDocument to be backed by a custom PDFPage+//  class, you can do so by register a delegate that overloads the method "classForPage".+//  In doing so, PDFDocument will instantiate your class via the init method.+//++#import <PDFKit/PDFKitPlatform.h>++NS_ASSUME_NONNULL_BEGIN++@class PDFDestination, PDFOutline, PDFPage, PDFSelection;+@protocol PDFDocumentDelegate;+typedef NS_ENUM(NSUInteger, PDFSelectionGranularity);++#if defined(PDFKIT_PLATFORM_OSX)++// Printing page-scaling modes (see PDFView).+PDFKIT_ENUM_AVAILABLE(10_4, 11_0)+typedef NS_ENUM(NSInteger, PDFPrintScalingMode)+{+    kPDFPrintPageScaleNone = 0,+    kPDFPrintPageScaleToFit = 1,+    kPDFPrintPageScaleDownToFit = 2+};++#endif++// Document permissions status. For encrypted PDF's, supplying the owner password will enable owner permission status.+PDFKIT_ENUM_AVAILABLE(10_4, 11_0)+typedef NS_ENUM(NSInteger, PDFDocumentPermissions)+{+kPDFDocumentPermissionsNone = 0,+kPDFDocumentPermissionsUser = 1,+kPDFDocumentPermissionsOwner = 2+};++// Notifications.+PDFKIT_EXTERN NSNotificationName const PDFDocumentDidUnlockNotification PDFKIT_AVAILABLE(10_4, 11_0);           // The notification object is self.+PDFKIT_EXTERN NSNotificationName const PDFDocumentDidBeginFindNotification PDFKIT_AVAILABLE(10_4, 11_0);        // The notification object is self, no userInfo dictionary.+PDFKIT_EXTERN NSNotificationName const PDFDocumentDidEndFindNotification PDFKIT_AVAILABLE(10_4, 11_0);          // The notification object is self, no userInfo dictionary.+PDFKIT_EXTERN NSNotificationName const PDFDocumentDidBeginPageFindNotification PDFKIT_AVAILABLE(10_4, 11_0);    // The notification object is self, the userInfo dictionary+                                                                                                                //     contains the page index as an NSNumber for the key+                                                                                                                //     PDFDocumentPageIndexKey.+PDFKIT_EXTERN NSNotificationName const PDFDocumentDidEndPageFindNotification PDFKIT_AVAILABLE(10_4, 11_0);      // The notification object is self, the userInfo dictionary+                                                                                                                //     contains the page index as an NSNumber for the key+                                                                                                                //     PDFDocumentPageIndexKey.+PDFKIT_EXTERN NSNotificationName const PDFDocumentDidFindMatchNotification PDFKIT_AVAILABLE(10_4, 11_0);        // The notification object is self, the userInfo dictionary+                                                                                                                //     contains a PDFSelection (found instance) for the key+                                                                                                                //     @"PDFDocumentFoundSelection".+PDFKIT_EXTERN NSNotificationName const PDFDocumentDidBeginWriteNotification PDFKIT_AVAILABLE(10_4, 11_0);       // The notification object is self, no userInfo dictionary.+PDFKIT_EXTERN NSNotificationName const PDFDocumentDidEndWriteNotification PDFKIT_AVAILABLE(10_4, 11_0);         // The notification object is self, no userInfo dictionary.+PDFKIT_EXTERN NSNotificationName const PDFDocumentDidBeginPageWriteNotification PDFKIT_AVAILABLE(10_4, 11_0);   // The notification object is self, the userInfo dictionary+                                                                                                                //     contains the page index as an NSNumber for the key+                                                                                                                //     PDFDocumentPageIndexKey.+PDFKIT_EXTERN NSNotificationName const PDFDocumentDidEndPageWriteNotification PDFKIT_AVAILABLE(10_4, 11_0);     // The notification object is self, the userInfo dictionary+                                                                                                                //     contains the page index as an NSNumber for the key+                                                                                                                //     PDFDocumentPageIndexKey.++// Notification keys+PDFKIT_EXTERN NSString* const PDFDocumentFoundSelectionKey PDFKIT_AVAILABLE(11_1, 15_0);                        // User info dictionary key to get PDFSelection from some+                                                                                                                // notifications described above+PDFKIT_EXTERN NSString* const PDFDocumentPageIndexKey PDFKIT_AVAILABLE(11_1, 15_0);                             // User info dictionary key to get page index from some+                                                                                                                // notifications described above++// Document attributes (see -[documentAttributes] below).+typedef NSString *PDFDocumentAttribute NS_STRING_ENUM;++PDFKIT_EXTERN PDFDocumentAttribute const PDFDocumentTitleAttribute PDFKIT_AVAILABLE(10_4, 11_0);                // NSString containing document title.+PDFKIT_EXTERN PDFDocumentAttribute const PDFDocumentAuthorAttribute PDFKIT_AVAILABLE(10_4, 11_0);               // NSString containing document author.+PDFKIT_EXTERN PDFDocumentAttribute const PDFDocumentSubjectAttribute PDFKIT_AVAILABLE(10_4, 11_0);              // NSString containing document title.+PDFKIT_EXTERN PDFDocumentAttribute const PDFDocumentCreatorAttribute PDFKIT_AVAILABLE(10_4, 11_0);              // NSString containing name of app that created document.+PDFKIT_EXTERN PDFDocumentAttribute const PDFDocumentProducerAttribute PDFKIT_AVAILABLE(10_4, 11_0);             // NSString containing name of app that produced PDF data.+PDFKIT_EXTERN PDFDocumentAttribute const PDFDocumentCreationDateAttribute PDFKIT_AVAILABLE(10_4, 11_0);         // NSDate representing document creation date.+PDFKIT_EXTERN PDFDocumentAttribute const PDFDocumentModificationDateAttribute PDFKIT_AVAILABLE(10_4, 11_0);     // NSDate representing last document modification date.+PDFKIT_EXTERN PDFDocumentAttribute const PDFDocumentKeywordsAttribute PDFKIT_AVAILABLE(10_4, 11_0);             // NSArray of NSStrings containing document keywords.++// File writing options (see -[writeToFile:withOptions:] or -[writeToURL:withOptions:options] below).+typedef NSString *PDFDocumentWriteOption NS_STRING_ENUM;++PDFKIT_EXTERN PDFDocumentWriteOption const PDFDocumentOwnerPasswordOption PDFKIT_AVAILABLE(10_4, 11_0);         // NSString for the owner's password. Required for encryption.+                                                                                                                // Owners have full privilege over the document.+PDFKIT_EXTERN PDFDocumentWriteOption const PDFDocumentUserPasswordOption PDFKIT_AVAILABLE(10_4, 11_0);          // NSString for the user's password. Optional for encryption.+                                                                                                                // Users can have limited access to modify, print, or write the file.+PDFKIT_EXTERN PDFDocumentWriteOption const PDFDocumentAccessPermissionsOption PDFKIT_AVAILABLE(12_0, 15_0);     // NSNumber containing a PDFAccessPermissions++PDFKIT_EXTERN PDFDocumentWriteOption const PDFDocumentBurnInAnnotationsOption PDFKIT_AVAILABLE(13_0, 16_0);     // @YES to enable, disabled by default+                                                                                                                // If enabled, annotations will be rendered into the content stream and NOT saved as annotations+PDFKIT_EXTERN PDFDocumentWriteOption const PDFDocumentSaveTextFromOCROption PDFKIT_AVAILABLE(13_0, 16_0);       // @YES to enable, disabled by default+                                                                                                                // If enabled, OCR will be performed on all pages on which it has not been done already and saved as invisible, but selectable, text+PDFKIT_EXTERN PDFDocumentWriteOption const PDFDocumentSaveImagesAsJPEGOption PDFKIT_AVAILABLE(13_4, 16_4);      // @YES to enable, disabled by default+                                                                                                                // If enabled, images will be saved using JPEG encoding.+PDFKIT_EXTERN PDFDocumentWriteOption const PDFDocumentOptimizeImagesForScreenOption PDFKIT_AVAILABLE(13_4, 16_4);   // @YES to enable, disabled by default+                                                                                                                    // If enabled, the resolution of images will be limited to a resolution appropriate for screen display.+++// Some PDF access permissions are non-strict supersets of other permissions. Granting access to a superset+// permission also grants access to permission(s) it is a superset of. These permissions are as follows:+//+// * Granting PDFAllowsHighQualityPrinting also grants PDFAllowsLowQualityPrinting+// * Granting PDFAllowsDocumentChanges also grants PDFAllowsCommenting and PDFAllowsFormFieldEntry+// * Granting PDFAllowsContentCopying also grants PDFAllowsContentAccessibility+// * Granting PDFAllowsCommenting also grants PDFAllowsFormFieldEntry++typedef NS_ENUM(NSUInteger, PDFAccessPermissions) {+    PDFAllowsLowQualityPrinting    = (1 << 0),   // Print at up to 150 DPI+    PDFAllowsHighQualityPrinting   = (1 << 1),   // Print at any DPI+    PDFAllowsDocumentChanges       = (1 << 2),   // Modify the document contents except for page management+    PDFAllowsDocumentAssembly      = (1 << 3),   // Page management: insert, delete, and rotate pages+    PDFAllowsContentCopying        = (1 << 4),   // Extract content (text, images, etc.)+    PDFAllowsContentAccessibility  = (1 << 5),   // Extract content, but only for the purpose of accessibility+    PDFAllowsCommenting            = (1 << 6),   // Create or modify annotations, including form field entries+    PDFAllowsFormFieldEntry        = (1 << 7)    // Modify form field entries+};+++PDFKIT_CLASS_AVAILABLE(10_4, 11_0)+@interface PDFDocument : NSObject <NSCopying>+{+}++// -------- init++// Initializers.+- (instancetype)init NS_DESIGNATED_INITIALIZER;+- (nullable instancetype)initWithURL:(NSURL *)url NS_DESIGNATED_INITIALIZER;+- (nullable instancetype)initWithData:(NSData *)data NS_DESIGNATED_INITIALIZER;++// -------- accessors++// May return NULL if the document was created from NSData.+@property (nonatomic, readonly, nullable) NSURL *documentURL;++// This is the CGPDFDocument associated with the PDFDocument object.  With this object you can call many CoreGraphics+// API. May return NULL if the document was not created from an existing PDF file or data.+@property (nonatomic, readonly, nullable) CGPDFDocumentRef documentRef;++// Returns a dictionary with PDF metadata. Metadata is optional for PDF's and so some of the keys may be missing or the+// entire dictionary may be empty.  See attributes above for keys.+@property (nonatomic, copy, nullable) NSDictionary *documentAttributes;++// PDF version of the PDF file (example: major version = 1, minor = 4; PDF v1.4).+@property (nonatomic, readonly) NSInteger majorVersion;+@property (nonatomic, readonly) NSInteger minorVersion;++// Whether the PDF is encrypted. With the right password, a PDF can be unlocked - nonetheless, the PDF still indicates+// that it is encrypted - just no longer locked. Some PDF's may be encrypted but can be unlocked with the empty string.+// These are unlocked automatically.+@property (nonatomic, readonly) BOOL isEncrypted;++// See comments above.+@property (nonatomic, readonly) BOOL isLocked;++// Means of passing in a password to unlock encrypted PDF's.  Calling -[unlockWithPassword:] will attempt to unlock the+// PDF. If successful, a PDFDocumentDidUnlockNotification notification is sent. You cannot "re-lock" a PDF by passing+// in a bogus password.  Returns YES if the document is now unlocked, NO otherwise ([self isLocked] == NO).+- (BOOL)unlockWithPassword:(NSString *)password;++// Even unlocked, encrypted PDF's may have certain restrictions regarding printing, copying, etc. placed upon them. These+// indicate the current state.+// Based on Adobe PDF Specification (1.7) Table 3.20: User access permissions+@property (nonatomic, readonly) BOOL allowsPrinting PDFKIT_AVAILABLE(10_4, 11_0);                 // Printing the document+@property (nonatomic, readonly) BOOL allowsCopying PDFKIT_AVAILABLE(10_4, 11_0);                  // Extract content (text, images, etc.)+@property (nonatomic, readonly) BOOL allowsDocumentChanges PDFKIT_AVAILABLE(10_13, 11_0);         // Modify the document contents except for page management (document attrubutes)+@property (nonatomic, readonly) BOOL allowsDocumentAssembly PDFKIT_AVAILABLE(10_13, 11_0);        // Page management: insert, delete, and rotate pages+@property (nonatomic, readonly) BOOL allowsContentAccessibility PDFKIT_AVAILABLE(10_13, 11_0);    // Extract content, but only for the purpose of accessibility+@property (nonatomic, readonly) BOOL allowsCommenting PDFKIT_AVAILABLE(10_13, 11_0);              // Create or modify annotations, including form field entries+@property (nonatomic, readonly) BOOL allowsFormFieldEntry PDFKIT_AVAILABLE(10_13, 11_0);          // Modify form field entries, even if allowsCommenting is NO++// Returns all 7 properties above as a PDFAccessPermissions value.+@property (nonatomic, readonly) PDFAccessPermissions accessPermissions;++// Returns the permissions status of the PDF document. You have kPDFDocumentPermissionsNone status for an encrypted+// document that you have not supplied either a valid user or owner password. For a document with no encryption, you+// automatically have kPDFDocumentPermissionsOwner status.+@property (nonatomic, readonly) PDFDocumentPermissions permissionsStatus PDFKIT_AVAILABLE(10_6, 11_0);++// Convenience method. Returns a string representing the entire document (each page's string concatenated with line+// feeds between pages).+@property (nonatomic, readonly, nullable) NSString *string;++// If a PDFDocument has a delegate, delegate methods may be called.  See: NSNotificationNames and+// PDFDocumentDelegate below.+@property (nonatomic, weak, nullable) id<PDFDocumentDelegate> delegate;++// Methods to record the current state of the PDFDocument as data or a file.  Passing a QuartzFilter object in the+// options dictionary with the key @"QuartzFilter" will allow you to have the filter applied when saving the PDF.+// NOTE: Versions of PDFKit before SnowLeopard did not return autorelease data for -[dataRepresentation]. You had to+// release the data yourself.  Beginning with apps compiled on SnowLeopard the data returned is autoreleased.+- (nullable NSData *)dataRepresentation;+- (nullable NSData *)dataRepresentationWithOptions:(NSDictionary *)options PDFKIT_AVAILABLE(10_6, 11_0);++// -[writeToFile:withOptions:] and -[writeToURL:withOptions:] methods may take any CoreGraphics options that are typically+// passed into CGPDFContextCreate(...) and CGPDFContextCreateWithURL(...)'s auxiliaryInfo dictionary. For encryption, you+// may provide an owner and user password via the keys PDFDocumentWriteOption, where the values should be non-zero length+// strings.+- (BOOL)writeToFile:(NSString *)path;+- (BOOL)writeToFile:(NSString *)path withOptions:(nullable NSDictionary<PDFDocumentWriteOption, id> *)options;+- (BOOL)writeToURL:(NSURL *)url;+- (BOOL)writeToURL:(NSURL *)url withOptions:(nullable NSDictionary<PDFDocumentWriteOption, id> *)options;++// -------- outline++// Allows you specify a PDFOutline as the root outline item for this document.  When the PDF is saved the outline tree+// structure is written out to the destination PDF file. Passing NULL is a way to strip any outline from a document.+// Returns the root outline object for the PDF (or NULL if none).+@property (nonatomic, strong, nullable) PDFOutline *outlineRoot PDFKIT_AVAILABLE(10_6, 11_0);++// Given a PDFSelection, this method returns the child outline item the selection most closely falls beneath. Since a+// selection may span multiple outline items, only the point representing the first character of the PDFSelection is+// considered. Typically, outlines indicate things like chapters for the PDF. Therefore, this method would help you+// identify the chapter the selection falls within.+- (nullable PDFOutline *)outlineItemForSelection:(PDFSelection *)selection;++// -------- pages++// The number of pages in the document.+@property (nonatomic, readonly) NSUInteger pageCount;++// Returns a PDFPage object representing the page at index. Will raise an exception if index is out of bounds. Indices+// are zero-based.+- (nullable PDFPage *)pageAtIndex:(NSUInteger)index;++// Given a PDFPage, returns the pages index within the document. Indices are zero-based.+- (NSUInteger)indexForPage:(PDFPage *)page;++// Methods allowing pages to be inserted, removed, and re-ordered. Can throw range exceptions.+// Note: when inserting a PDFPage, you have to be careful if that page came from another PDFDocument. PDFPage's have a+// notion of a single document that owns them and when you call the methods below the PDFPage passed in is assigned a+// new owning document.  You'll want to call -[PDFPage copy] first then and pass this copy to the blow methods. This+// allows the orignal PDFPage to maintain its original document.+- (void)insertPage:(PDFPage *)page atIndex:(NSUInteger)index;+- (void)removePageAtIndex:(NSUInteger)index;+- (void)exchangePageAtIndex:(NSUInteger)indexA withPageAtIndex:(NSUInteger)indexB;++// This is the class that will be allocated and initialized when page objects are created for the document.  The+// default implementation returns [PDFPage class] but if you want PDFDocument to use your own custom class you can+// subclass PDFDocument and implement this method to return your own custom class.  Your class should be a subclass of+// PDFPage (otherwise the behavior is undefined).+@property (nonatomic, readonly) Class pageClass;++// -------- find++// Searches entire document for string and returns an array of PDFSelections representing all instances found. May+// return an empty array (if not found). Supported options are: NSCaseInsensitiveSearch, NSLiteralSearch, and+// NSBackwardsSearch.+- (NSArray<PDFSelection*>*)findString:(NSString *)string withOptions:(NSStringCompareOptions)options;++// Begins a find, searching the document for string.  Search results are handled via a+// PDFDocumentDidFindMatchNotification or if the delegate implements -[didMatchString:]. Supported options are:+// NSCaseInsensitiveSearch, NSLiteralSearch, and NSBackwardsSearch.+- (void)beginFindString:(NSString *)string withOptions:(NSStringCompareOptions)options;++// Like -[beginFindString:withOptions:] above but it accepts an array of strings to search for.+// All other comments for -[beginFindString:withOptions:] above apply.+- (void)beginFindStrings:(NSArray<NSString*>*)strings withOptions:(NSStringCompareOptions)options PDFKIT_AVAILABLE(10_5, 11_0);++// Searches for only the next instance of string beginning after the last character of selection with options (or+// preceding the first character of the selection if NSBackwardsSearch is specified as a search option).+// Returns next instance as a PDFSelection or NULL if the end of the document is reached. Supported options are:+// NSCaseInsensitiveSearch, NSLiteralSearch, and NSBackwardsSearch. Passing in NULL for selection will start the+// search from the beginning of the document (or end if NSBackwardsSearch is specified).+- (nullable PDFSelection *)findString:(NSString *)string fromSelection:(nullable PDFSelection *)selection withOptions:(NSStringCompareOptions)options;++// Returns YES if document is currently searching for a string.+@property (nonatomic, readonly) BOOL isFinding;++// Method to cancel a search.  Can be called from a user method being serviced by a find notification.+- (void)cancelFindString;++#if defined(PDFKIT_PLATFORM_OSX)++// -------- printing++// Returns a print operation suitable for printing the PDF document. Specify scaling mode and autorotate behaviors desired.+- (nullable NSPrintOperation *)printOperationForPrintInfo:(nullable NSPrintInfo *)printInfo scalingMode:(PDFPrintScalingMode)scaleMode autoRotate:(BOOL)doRotate PDFKIT_AVAILABLE(10_7, NA);++#endif++// -------- selections++// Returns a selection representing text for the entire document.+@property (nonatomic, readonly, nullable) PDFSelection *selectionForEntireDocument;++// Returns a selection representing text from page startPage and point startPt to page endPage and to point endPt on+// that page. Points are in page-space and relative to their respective pages.  Start and end page can be the same+// (and are then equivalent to calling -[PDFPage selectionFromPoint: toPoint:]).+- (nullable PDFSelection *)selectionFromPage:(PDFPage *)startPage atPoint:(PDFPoint)startPoint toPage:(PDFPage *)endPage atPoint:(PDFPoint)endPoint;++- (nullable PDFSelection *)selectionFromPage:(PDFPage *)startPage atPoint:(PDFPoint)startPoint toPage:(PDFPage *)endPage atPoint:(PDFPoint)endPoint withGranularity:(PDFSelectionGranularity)granularity PDFKIT_AVAILABLE(15_0, 18_0);++// Similar to the above method but allows you to specify a character index for the start and end pages.+- (nullable PDFSelection *)selectionFromPage:(PDFPage *)startPage atCharacterIndex:(NSUInteger)startCharacter toPage:(PDFPage *)endPage atCharacterIndex:(NSUInteger)endCharacter;++@end++// Document delegate+@protocol PDFDocumentDelegate< NSObject >+@optional++// Notification delegate methods. If implemented by the delegate, these are called. See notification comments above.+- (void)documentDidUnlock:(NSNotification *)notification;+- (void)documentDidBeginDocumentFind:(NSNotification *)notification;+- (void)documentDidEndDocumentFind:(NSNotification *)notification;+- (void)documentDidBeginPageFind:(NSNotification *)notification;+- (void)documentDidEndPageFind:(NSNotification *)notification;+- (void)documentDidFindMatch:(NSNotification *)notification;++// If implemented by the delegate, called for every search instance found during a find. PDFDocument's implementation+// accumulates each PDFSelection (instance) in an NSArray.+- (void)didMatchString:(PDFSelection *)instance;++// If implemented by the delegate, will be called when a PDFPage is instantiated. PDFDocument's implementation calls+// -[PDFDocument pageClass] (see above).+- (Class)classForPage PDFKIT_AVAILABLE(10_6, 11_0);++// If implemented by the delegate, will be called when a PDFAnnotation is instantiated by a page. PDFPage by default+// will instantiate object of class. This allows you to instead return your own PDFAnnotation subclass.+// Return nil for annotation types you do not subclass.+- (Class)classForAnnotationType:(NSString*)annotationType PDFKIT_AVAILABLE(10_13, 11_0);++#if defined(PDFKIT_PLATFORM_OSX)++// If implemented by the delegate, will be called when a PDFAnnotation is instantiated by a page. PDFPage by default+// will instantiate object of class. This allows you to instead return your own PDFAnnotationXxxx subclass.+// If you would like to return your own PDFAnnotation subclass, use PDFDocument's delegate method+// -[classForAnnotationType:] instead.+- (Class)classForAnnotationClass:(Class)annotationClass PDFKIT_DEPRECATED(10_6, 10_12, NA, NA);++#endif++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFKit.apinotes /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFKit.apinotes--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFKit.apinotes1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFKit.apinotes2024-10-25 21:09:44@@ -0,0 +1,32 @@+Name: PDFKit+Classes:+  - Name: PDFDocument+    Methods:+      - Selector:        "findString:withOptions:"+        MethodKind:      Instance+        SwiftName:       "findString(_:withOptions:)"+      - Selector:        "beginFindString:withOptions:"+        MethodKind:      Instance+        SwiftName:       "beginFindString(_:withOptions:)"+      - Selector:        "beginFindStrings:withOptions:"+        MethodKind:      Instance+        SwiftName:       "beginFindStrings(_:withOptions:)"+      - Selector:        "findString:fromSelection:withOptions:"+        MethodKind:      Instance+        SwiftName:       "findString(_:fromSelection:withOptions:)"+Enumerators:+    - Name: PDFDocumentOwnerPasswordOption+      SwiftName: PDFDocumentWriteOption.ownerPassword+    - Name: PDFDocumentUserPasswordOption+      SwiftName: PDFDocumentWriteOption.userPassword+    - Name: PDFDocumentAccessPermissionsOption+      SwiftName: PDFDocumentWriteOption.accessPermissions+    - Name: PDFDocumentBurnInAnnotationsOption+      SwiftName: PDFDocumentWriteOption.burnInAnnotations+    - Name: PDFDocumentSaveTextFromOCROption+      SwiftName: PDFDocumentWriteOption.saveTextFromOCR+    - Name: PDFDocumentSaveImagesAsJPEGOption+      SwiftName: PDFDocumentWriteOption.saveImagesAsJPEG+    - Name: PDFDocumentOptimizeImagesForScreenOption+      SwiftName: PDFDocumentWriteOption.optimizeImagesForScreen+diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFKit.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFKit.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFKit.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFKit.h2024-10-25 21:20:38@@ -0,0 +1,28 @@+//+//  PDFKit.h+//  Copyright © 2019 Apple. All rights reserved.+//++// Cross-platform support+#import <PDFKit/PDFKitPlatform.h>++// All public headers+#import <PDFKit/PDFAction.h>+#import <PDFKit/PDFActionGoTo.h>+#import <PDFKit/PDFActionNamed.h>+#import <PDFKit/PDFActionResetForm.h>+#import <PDFKit/PDFActionRemoteGoTo.h>+#import <PDFKit/PDFActionURL.h>+#import <PDFKit/PDFAnnotation.h>+#import <PDFKit/PDFAnnotationUtilities.h>+#import <PDFKit/PDFAppearanceCharacteristics.h>+#import <PDFKit/PDFBorder.h>+#import <PDFKit/PDFDestination.h>+#import <PDFKit/PDFDocument.h>+#import <PDFKit/PDFOutline.h>+#import <PDFKit/PDFPage.h>+#import <PDFKit/PDFSelection.h>+#import <PDFKit/PDFThumbnailView.h>+#import <PDFKit/PDFView.h>+#import <PDFKit/PDFPageOverlayViewProvider.h>+diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFKitPlatform.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFKitPlatform.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFKitPlatform.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFKitPlatform.h2024-10-21 19:54:49@@ -0,0 +1,142 @@+//+//  PDFKitPlatform.h+//  Copyright © 2019 Apple. All rights reserved.+//++#import <TargetConditionals.h>++#ifndef PDFKIT_EXTERN+    #ifdef __cplusplus+        #define PDFKIT_EXTERN extern "C" __attribute__((visibility ("default")))+    #else+        #define PDFKIT_EXTERN extern __attribute__((visibility ("default")))+    #endif+#endif++// Deprecation &  macros++#define PDFKIT_AVAILABLE(_macIntro, _iosIntro) \+    NS_AVAILABLE(_macIntro, _iosIntro)++#define PDFKIT_DEPRECATED(_macIntro, _macDep, _iosIntro, _iosDep) \+    NS_DEPRECATED(_macIntro, _macDep, _iosIntro, _iosDep)++#define PDFKIT_CLASS_AVAILABLE(_macIntro, _iosIntro) \+    NS_CLASS_AVAILABLE(_macIntro, _iosIntro)++#define PDFKIT_CLASS_DEPRECATED(_macIntro, _macDep, _iosIntro, _iosDep) \+    NS_CLASS_DEPRECATED(_macIntro, _macDep, _iosIntro, _iosDep)++#define PDFKIT_ENUM_AVAILABLE(_macIntro, _iosIntro) \+    NS_ENUM_AVAILABLE(_macIntro, _iosIntro)++#define PDFKIT_ENUM_DEPRECATED(_macIntro, _macDep, _iosIntro, _iosDep) \+    NS_ENUM_DEPRECATED(_macIntro, _macDep, _iosIntro, _iosDep)+++#if (TARGET_OS_MAC && !(TARGET_OS_SIMULATOR || TARGET_OS_IPHONE || TARGET_OS_MACCATALYST))++// OSX Headers+#import <Cocoa/Cocoa.h>+#import <AppKit/NSAccessibilityProtocols.h>++#define PDFKIT_PLATFORM_OSX++// AppKit types+#define PDFKitPlatformView                                      NSView+#define PDFKitPlatformViewController                            NSViewController+#define PDFKitPlatformScrollView                                NSScrollView+#define PDFKitPlatformColor                                     NSColor+#define PDFKitPlatformBezierPath                                NSBezierPath+#define PDFKitPlatformBezierPathElement                         NSBezierPathElement+#define PDFKitPlatformImage                                     NSImage+#define PDFKitPlatformImageView                                 NSImageView+#define PDFKitPlatformEvent                                     NSEvent+#define PDFKitPlatformFont                                      NSFont+#define PDFKitPlatformColor                                     NSColor+#define PDFKitPlatformControl                                   NSControl+#define PDFKitPlatformTextField                                 NSTextField+#define PDFKitPlatformTextView                                  NSTextView+#define PDFKitPlatformTextViewDelegate                          NSTextViewDelegate+#define PDFKitPlatformChoiceWidgetComboBoxView                  NSPopUpButton+#define PDFKitPlatformChoiceWidgetListView                      NSTableView+#define PDFKitPlatformButton                                    NSButton+#define PDFKitPlatformButtonCell                                NSButtonCell+#define PDFKitPlatformAccessibilityElement                      NSAccessibilityElement+#define PDFKitResponder                                         NSResponder+#define PDFKitPlatformTextContentType                           NSTextContentType++// Geometry types+#define PDFPoint                                                NSPoint+#define PDFRect                                                 NSRect+#define PDFSize                                                 NSSize+#define PDFEdgeInsets                                           NSEdgeInsets++// Constants+#define PDFPointZero                                            NSZeroPoint+#define PDFSizeZero                                             NSZeroSize+#define PDFRectZero                                             NSZeroRect+#define PDFEdgeInsetsZero                                       NSEdgeInsetsZero+#define PDFTrackingRunLoopMode                                  NSEventTrackingRunLoopMode++// Font Weights+#define PDFKitPlatformFontWeightRegular                         NSFontWeightRegular++#elif (TARGET_OS_SIMULATOR || TARGET_OS_IPHONE || TARGET_OS_MACCATALYST)++// iOS Headers+#import <Foundation/Foundation.h>+#import <UIKit/UIKit.h>++#define PDFKIT_PLATFORM_IOS++#if TARGET_OS_MACCATALYST+    #define PDFKIT_PLATFORM_MACCATALYST+#endif++// UIKit types+#define PDFKitPlatformView                                      UIView+#define PDFKitPlatformViewController                            UIViewController+#define PDFKitPlatformScrollView                                UIScrollView+#define PDFKitPlatformColor                                     UIColor+#define PDFKitPlatformBezierPath                                UIBezierPath+#define PDFKitPlatformBezierPathElement                         UIBezierPathElement+#define PDFKitPlatformImage                                     UIImage+#define PDFKitPlatformImageView                                 UIImageView+#define PDFKitPlatformEvent                                     UIEvent+#define PDFKitPlatformFont                                      UIFont+#define PDFKitPlatformColor                                     UIColor+#define PDFKitPlatformControl                                   UIControl+#define PDFKitPlatformTextField                                 UITextField+#define PDFKitPlatformTextView                                  UITextView+#define PDFKitPlatformTextViewDelegate                          UITextViewDelegate+#define PDFKitPlatformChoiceWidgetComboBoxView                  UIPickerView+#define PDFKitPlatformChoiceWidgetListView                      UITableView+#define PDFKitPlatformButton                                    UIButton+#define PDFKitPlatformButtonCell                                UICollectionViewCell+#define PDFKitPlatformAccessibilityElement                      UIAccessibilityElement+#define PDFKitResponder                                         UIResponder+#define PDFKitPlatformTextContentType                           UITextContentType++// Geometry types+#define PDFPoint                                                CGPoint+#define PDFRect                                                 CGRect+#define PDFSize                                                 CGSize+#define PDFEdgeInsets                                           UIEdgeInsets++// Constants+#define PDFPointZero                                            CGPointZero+#define PDFSizeZero                                             CGSizeZero+#define PDFRectZero                                             CGRectZero+#define PDFEdgeInsetsZero                                       UIEdgeInsetsZero+#define PDFTrackingRunLoopMode                             UITrackingRunLoopMode++// Font Weights+#define PDFKitPlatformFontWeightRegular                         UIFontWeightRegular++#else++#error "Failure: PDFKit unsupported platform"++#endif+diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFOutline.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFOutline.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFOutline.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFOutline.h2024-10-21 16:06:38@@ -0,0 +1,87 @@+//+//  PDFOutline.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  PDFOutline represents a node in an outline hierarchy, which is always constructed+//  of these node types. A root PDFOutline node can have any number of children,+//  added via the below -[insertChild:atIndex:] method. These children can also have+//  any number of their own child node objects. The relationship between parent and+//  child nodes should never introduce any cycles: the resulting tree should always be+//  a directed acyclic graph.+//++#import <PDFKit/PDFKitPlatform.h>++NS_ASSUME_NONNULL_BEGIN++@class PDFAction, PDFDocument, PDFDestination, PDFOutlinePrivate;++PDFKIT_CLASS_AVAILABLE(10_4, 11_0)+@interface PDFOutline : NSObject // < NSCopying >+{+@private+    PDFOutlinePrivate *_private;+}++// -------- initializer++// Returns a PDFOutline object. If this object is to be the outline root, you will need to add additional PDFOutline+// objects to form the outline hierarchy you desire. You will then need to add it to a PDFDocument by passing it to+// -[PDFDocument setOutlineRoot:]. If this is to be a child (non-root) outline you will need to set a label for it and+// either a destination or action for it. Also, you will need to add it as a child of another PDFOutline object.+- (instancetype)init NS_DESIGNATED_INITIALIZER;++// -------- accessors++// The PDFDocument the outline is associated with.+@property (nonatomic, readonly, weak, nullable) PDFDocument *document;++// Returns the parent outline (the root outline will return nil).+@property (nonatomic, readonly, nullable) PDFOutline *parent PDFKIT_AVAILABLE(10_5, 11_0);++// Number of PDFOutline children this PDFOutline has.+@property (nonatomic, readonly) NSUInteger numberOfChildren;++// Returns the index of the outline item - that is, relative to its siblings (and from the perspective of the parent).+// The root outline item (or any item with no parent) is always index 0.+@property (nonatomic, readonly) NSUInteger index PDFKIT_AVAILABLE(10_5, 11_0);++// PDFOutline child at index. Will throw exception if index is out of range.+- (nullable PDFOutline *)childAtIndex:(NSUInteger)index;++// To build up a PDFOutline hierarchy, you call this method to add children outline items. For the simplest of outlines+// you would, at the very least, have to add items to the outline root item.+// NOTE: Be careful when calling this for a PDFOutline item which already has a parent (for example when moving items+// around within an outline hierarchy) - you should retain the item and call -[removeFromParent] first.+- (void)insertChild:(PDFOutline *)child atIndex:(NSUInteger)index PDFKIT_AVAILABLE(10_5, 11_0);++// Removes self from parent (for root outline, does nothing since the root has no parent).+- (void)removeFromParent PDFKIT_AVAILABLE(10_5, 11_0);++// The label for the outline. The root PDFOutline has no label and is only a container for children PDFOutlines.+@property (nonatomic, copy, nullable) NSString *label;++// Indicates whether PDFOutline item is initially disclosed or not. If the outline item has no children, -[isOpen] is+// always NO and calling -[setIsOpen] has no effect. The root item always returns YES for -[isOpen] and calling+// -[setIsOpen] also has no effect.+@property (nonatomic) BOOL isOpen PDFKIT_AVAILABLE(10_5, 11_0);++// Get: The destination associated with the outline item. The root PDFOutline has no destination. May return nil if the+// outline item has an associated action instead. If however the associated action is a PDFActionGoTo type this method+// will return the destination from the PDFActionGoTo action. The preferred way though is to call -[action] below.++// Set: Has no effect on the root PDFOutline item. If the item previously had an action associated with it, the action is+// released (PDFOutline items cannot have both an action and a destination, they are mutually exclusive).+// The preferred way though is to call -[setAction] below.+@property (nonatomic, strong, nullable) PDFDestination *destination;++// Action performed when a user clicks on the PDFOutline. Equivalent to calling -[destination] above when the outline+// has a destination (-[action] will return a PDFActionGoTo object). Some outlines do not have destinations however and+// you must therefore call this method. The root outline item will never return either an action or a destination.+// Calling -[setAction] on the root item has no effect.++@property (nonatomic, strong, nullable) PDFAction *action PDFKIT_AVAILABLE(10_5, 11_0);++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFPage.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFPage.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFPage.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFPage.h2024-10-21 19:28:56@@ -0,0 +1,220 @@+//+//  PDFPage.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  PDFPage is a logical representation of a PDF document's page. Typically pages are+//  retrieved from a PDFDocument, though they can be constructed from scratch via either+//  init method or initWithImage:. Pages can have their drawing methods overridden to allow+//  custom drawing. Pages own a set of annotations, and have the ability to add, mutate, or+//  remove them. Pages also expose text-selection methods, driven in page-space positions.+//++#import <PDFKit/PDFKitPlatform.h>++NS_ASSUME_NONNULL_BEGIN++@class PDFDocument, PDFAnnotation, PDFSelection, PDFAccessibilityNode;++// PDF areas of interest (bitfield, multiple bits below may be set).+PDFKIT_AVAILABLE(10_4, 11_0)+typedef NS_OPTIONS(NSInteger, PDFAreaOfInterest)+{+    kPDFNoArea =            0,+    kPDFPageArea =          (1UL << 0),+    kPDFTextArea =          (1UL << 1),+    kPDFAnnotationArea =    (1UL << 2),+    kPDFLinkArea =          (1UL << 3),+    kPDFControlArea =       (1UL << 4),+    kPDFTextFieldArea =     (1UL << 5),+    kPDFIconArea =          (1UL << 6),+    kPDFPopupArea =         (1UL << 7),+    kPDFImageArea =         (1UL << 8),++    kPDFAnyArea =           NSIntegerMax+};++// Page boxes.+PDFKIT_ENUM_AVAILABLE(10_4, 11_0)+typedef NS_ENUM(NSInteger, PDFDisplayBox)+{+    kPDFDisplayBoxMediaBox = 0,+    kPDFDisplayBoxCropBox = 1,+    kPDFDisplayBoxBleedBox = 2,+    kPDFDisplayBoxTrimBox = 3,+    kPDFDisplayBoxArtBox = 4+};++typedef NSString * PDFPageImageInitializationOption NS_SWIFT_NAME(PDFPage.ImageInitializationOption) NS_TYPED_ENUM;++PDFKIT_CLASS_AVAILABLE(10_4, 11_0)+@interface PDFPage : NSObject <NSCopying>+{+}++// -------- initializer++// For subclassers, just call the standard -(id) init.+// Note: -[PDFPage init] creates a new empty page with a media box set to (0.0, 0.0), [612.0, 792.0].+- (instancetype)init NS_DESIGNATED_INITIALIZER;++// Returns a PDFPage for the given image, using the given options+- (nullable instancetype)initWithImage:(PDFKitPlatformImage *)image options:(NSDictionary<PDFPageImageInitializationOption, id>*)options+    API_AVAILABLE(macos(13.0), ios(16.0)) NS_DESIGNATED_INITIALIZER;++// Returns a PDFPage for the given image. Equivalent to initWithImage:options: with empty options+- (nullable instancetype)initWithImage:(PDFKitPlatformImage *)image PDFKIT_AVAILABLE(10_5, 11_0);++// -------- accessors++// The PDFDocument the page is associated with.+@property (nonatomic, readonly, weak, nullable) PDFDocument *document;++// This is the CGPDFPage associated with the PDFPage object. With this object you can call many CoreGraphics API methods.+// May return NULL if the owning document was not created from an existing PDF file or data or if the page itself was+// created independently.+@property (nonatomic, readonly, nullable) CGPDFPageRef pageRef;++// The page label. Usually "1" for the first page, "2" for the second, etc.+@property (nonatomic, readonly, nullable) NSString *label;++// The bounds for the specified box (see defines above). Only the media box is required for a PDF. If the crop box is+// requested and not present in the PDF, the media box is returned. If other boxes are requested and not present, the+// value for the crop box is returned. Throws a range exception if box is not in range. Coordinates for the box are in+// page space - you may need to transform the points if the page has a rotation on it. Also, note that the bounds+// returned are intersected with the page's media box.+- (PDFRect)boundsForBox:(PDFDisplayBox)box;++// Set bounds for the specified box. If the specified box did not previously exist, it will now. To remove a box pass+// NSZeroRect for the bounds (you cannot however remove the media box). Throws a range exception if box is not in range.+- (void)setBounds:(PDFRect)bounds forBox:(PDFDisplayBox)box;++// Rotation on a page. Must be 0, 90, 180 or 270 (negative rotations will be "normalized" to one of 0, 90, 180 or 270).+// Some PDF's have an inherent rotation and so -[rotation] may be non-zero when a PDF is first opened.+@property (nonatomic) NSInteger rotation;++// -------- annotations++// Array of all PDFAnnotation objects on this page.+@property (nonatomic, readonly) NSArray<PDFAnnotation*> *annotations;++// Method to turn on or off the display of annotations when the page is drawn.+@property (nonatomic) BOOL displaysAnnotations;++// Methods allowing annotations to be added or removed.+- (void)addAnnotation:(PDFAnnotation *)annotation;+- (void)removeAnnotation:(PDFAnnotation *)annotation;++// Hit-testing method returns the annotation at point (or NULL if none). The point is in page-space.+- (nullable PDFAnnotation *)annotationAtPoint:(PDFPoint)point;++// -------- rendering++// This transform correctly rotates and offsets based on the given page's rotation property and the display box type.+- (CGAffineTransform)transformForBox:(PDFDisplayBox)box PDFKIT_AVAILABLE(10_12, 11_0);++// Context aware rendering:++// Drawing method takes into account page rotation, draws in page space relative to and clipped to the box bounds. If+// -[displaysAnnotations] is true, also draws any page annotations. Does not clear the background (page white).+- (void)drawWithBox:(PDFDisplayBox)box toContext:(CGContextRef)context PDFKIT_AVAILABLE(10_12, 11_0);++// Given a display box, will transform the given context to take into account the rotation of the page as well as+// the origin of the box with respect to the page's base coordinates system. This is a convenience method to call+// from within -[PDFView drawPage:toContext:] or -[PDFAnnotation drawWithBox:inContext:].+- (void)transformContext:(CGContextRef)context forBox:(PDFDisplayBox)box PDFKIT_AVAILABLE(10_12, 11_0);++// Convenience function that returns an image of this page, with annotations, that fits the given size.+// Note that the produced image is "size to fit": it retains the original page aspect-ratio. The size you give+// may not match the size of the returned image, but the returned image is guaranteed to be equal or less.+- (PDFKitPlatformImage *)thumbnailOfSize:(PDFSize)size forBox:(PDFDisplayBox)box PDFKIT_AVAILABLE(10_13, 11_0);++// -------- text++// Number of characters on the page (including linefeeds and spaces inserted).+@property (nonatomic, readonly) NSUInteger numberOfCharacters;++// String (with linefeeds and in some cases spaces inserted) representing the text on the page.+@property (nonatomic, readonly, nullable) NSString *string;+@property (nonatomic, readonly, nullable) NSAttributedString *attributedString;++// Returns the bounds in page-space, of the character at index.+- (PDFRect)characterBoundsAtIndex:(NSInteger)index;++// Returns the index of the character at point (in page space). Returns the index of the first character if multiple characters are at this point.+// Returns NSNotFound if no character at point. Earlier version of PDFKit (prior to Lion) returned -1 if no character at point.+- (NSInteger)characterIndexAtPoint:(PDFPoint)point;++// -------- selections++// Given a rect in page-space, returns a selection representing enclosed text on page.+- (nullable PDFSelection *)selectionForRect:(PDFRect)rect;++// Given a point in page-space, returns a selection representing a whole word at that point. May return NULL if no+// character (and by extension no word) under point. If data dectors are enabled (-[PDFDocument enableDataDetectors]),+// this return the smart-selection for the content at the given point.+- (nullable PDFSelection *)selectionForWordAtPoint:(PDFPoint)point;++// Given a point in page-space, returns a selection representing a whole line at that point. May return NULL if no+// character (and by extension no line) under point.+- (nullable PDFSelection *)selectionForLineAtPoint:(PDFPoint)point;++// Returns a selection representing text between startPt and endPt. Points are sorted first top to bottom, left to right.+- (nullable PDFSelection *)selectionFromPoint:(PDFPoint)startPoint toPoint:(PDFPoint)endPoint;++// Given a range, returns a selection representing text within that range. Will clamp any range that goes out of bounds.+// Will return NULL for an empty selection.+- (nullable PDFSelection *)selectionForRange:(NSRange)range;++// -------- misc++// Returns PDF data (a proper PDF document) consisting of a single page (this page).+// NOTE: External page links are not preserved.+// NOTE: Versions of PDFKit before SnowLeopard did not return autorelease data for -[dataRepresentation]. You had to+// release the data yourself. Beginning with apps compiled on SnowLeopard the data returned is autoreleased.+@property (nonatomic, readonly, nullable) NSData *dataRepresentation;+@end++#if defined( PDFKIT_PLATFORM_OSX )++@interface PDFPage (PDFPageDeprecated)++// -------- rendering++// This method is deprecated in favor of the of the context aware -[PDFPage drawWithBox:toContext:]. If you subclass+// PDFPage, rendering code will first call -[PDFPage drawWithBox:toContext:]. If your subclass does not override the+// context-aware function, this original -[PDFPage drawWithBox:] method will be called.+// Drawing method takes into account page rotation, draws in page space relative to and clipped to the box bounds. If+// -[displaysAnnotations] is true, also draws any page annotations. Does not clear the background (page white).+- (void)drawWithBox:(PDFDisplayBox)box PDFKIT_DEPRECATED(10_4, 10_12, NA, NA);++// This method is deprecated in favor of the of the context aware -[PDFPage transformContext:forBox:]. If you subclass+// PDFPage, rendering code will first call -[PDFPage transformContext:forBox:]. If your subclass does not override the+// context-aware function, this original -[PDFPage transformContextForBox:] method will be called.+// Given a display box, will transform the current context to take into account the rotation of the page as well as+// the origin of the box with respect to the page's base coordinates system.  This is a convenient method to call from+// within -[PDFView drawPage] or from within the draw method a PDFAnnotation subclass.+- (void)transformContextForBox:(PDFDisplayBox)box PDFKIT_DEPRECATED(10_5, 10_12, NA, NA);++@end++#endif++// PDFPageImageInitializationOption values.++// Value: CGRect as NSValue. If present, the page will have the given media box. Otherwise, the media box will be [0, 0, imageWidth, imageHeight].+PDFKIT_EXTERN PDFPageImageInitializationOption const PDFPageImageInitializationOptionMediaBox NS_SWIFT_NAME(mediaBox)+    API_AVAILABLE(macos(13.0), ios(16.0));++// Value: int as NSNumber. If present, the image will be drawn on the page with the given rotation (in degrees counterclockwise). The value must be a multiple of 90 or an exception will be thrown.+PDFKIT_EXTERN PDFPageImageInitializationOption const PDFPageImageInitializationOptionRotation NS_SWIFT_NAME(rotation)+    API_AVAILABLE(macos(13.0), ios(16.0));++// Value: BOOL as NSNumber. If true, and the image is smaller then the media box, the image will be upscaled to fit the media box, while maintaining aspect ratio.+PDFKIT_EXTERN PDFPageImageInitializationOption const PDFPageImageInitializationOptionUpscaleIfSmaller NS_SWIFT_NAME(upscaleIfSmaller)+    API_AVAILABLE(macos(13.0), ios(16.0));++// Value double as NSNumber. The value must be in the range 0.0 to 1.0 or an exception will be thrown. A value of 0.0 implies that maximum compression is desired. A value of 1.0 implies that maximum quality is desired.+PDFKIT_EXTERN PDFPageImageInitializationOption const PDFPageImageInitializationOptionCompressionQuality NS_SWIFT_NAME(compressionQuality)+    API_AVAILABLE(macos(13.0), ios(16.0));++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFPageOverlayViewProvider.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFPageOverlayViewProvider.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFPageOverlayViewProvider.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFPageOverlayViewProvider.h2024-10-25 21:20:39@@ -0,0 +1,35 @@+//+//  PDFPageOverlayViewProvider.h+//  PDFKit+//+//  Copyright © 2022 Apple. All rights reserved.+//++#import <PDFKit/PDFKitPlatform.h>++NS_ASSUME_NONNULL_BEGIN++@class PDFPage, PDFView;++API_AVAILABLE(macos(13.0), ios(16.0))+@protocol PDFPageOverlayViewProvider <NSObject>++@required++// Asks the provider for a view to be displayed on top of the specified page.+- (nullable PDFKitPlatformView*)pdfView:(PDFView*)view overlayViewForPage:(PDFPage*)page;++@optional++// Tells the provider that a view returned from `overlayViewForPage` has been added+// to the view hierarchy and constraints have been set up. At this point, gesture failure+// handlers may be set up with those of `pdfView`.+- (void)pdfView:(PDFView*)pdfView willDisplayOverlayView:(PDFKitPlatformView*)overlayView forPage:(PDFPage*)page;++// Tells the provider that a view returned from `overlayViewForPage` will be removed.+// This can be used to restore whatever was done in `overlayView:wasAddedForPage`.+- (void)pdfView:(PDFView*)pdfView willEndDisplayingOverlayView:(PDFKitPlatformView*)overlayView forPage:(PDFPage*)page;++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFSelection.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFSelection.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFSelection.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFSelection.h2024-10-21 16:29:29@@ -0,0 +1,107 @@+//+//  PDFSelection.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  PDFSelection tracks a range of text on one or many pages, from a starting+//  to end position. From a selection over a range of text, you have the ability+//  to extract the plain-text string or decorated string. PDFSelections can be+//  combined together, combining as needed or keeping the several discrete and+//  non-overlapping selections apart. Selections can also grow and shrink as+//  needed.+//++#import <PDFKit/PDFKitPlatform.h>+#import <PDFKit/PDFPage.h>++NS_ASSUME_NONNULL_BEGIN++@class PDFPage;++// Enum used to determine the granularity at which text selections are created. Mirrors CGPDFSelectionType.+PDFKIT_ENUM_AVAILABLE(15_0, 18_0)+typedef NS_ENUM(NSUInteger, PDFSelectionGranularity) {+    PDFSelectionGranularityCharacter,+    PDFSelectionGranularityWord,+    PDFSelectionGranularityLine,+};++PDFKIT_CLASS_AVAILABLE(10_4, 11_0)+@interface PDFSelection : NSObject <NSCopying>+{+}+++// -------- initialization++// Returns and empty PDFSelection. Generally this is not useful but you can use this empty PDFSelection as a container+// into which you -[addSelection] or -[addSelections] below.+- (instancetype)initWithDocument:(PDFDocument *)document PDFKIT_AVAILABLE(10_5, 11_0) NS_DESIGNATED_INITIALIZER;+++// -------- accessors++// Array of pages covered by the selection. These are sorted by page index.+@property (nonatomic, readonly) NSArray<PDFPage*> *pages;++// If no color is ever specified, PDFSelections will draw using [NSColor selectedTextBackgroundColor] when active and+// [NSColor secondarySelectedControlColor] when not active. Calling -[setColor] will force the specified color to be+// used for both active and inactive drawing.+@property (nonatomic, copy, nullable) PDFKitPlatformColor *color PDFKIT_AVAILABLE(10_5, 11_0);++// String representing the text covered by the selection. May contain line-feeds.+@property (nonatomic, readonly, nullable) NSString *string;+@property (nonatomic, readonly, nullable) NSAttributedString *attributedString;++// Given a PDFPage, returns the bounds in page-space of the text covered by the selection on that page.+// Note that the bounds are relative to the origin of the page content, not the origin of any particular PDFDisplayBox.+- (PDFRect)boundsForPage:(PDFPage *)page;++// Returns the number of contiguous ranges of text on the specified page. Returns zero if page is not in selection.+// A typical, simple selection will contain a single range of text.+- (NSUInteger)numberOfTextRangesOnPage:(PDFPage *)page PDFKIT_AVAILABLE(10_7, 11_0);++// Returns a range of contiguous text at index on the specified page.+// A typical, simple selection will contain a single range of text.+- (NSRange)rangeAtIndex:(NSUInteger)index onPage:(PDFPage *)page PDFKIT_AVAILABLE(10_7, 11_0);++// Returns an array of PDFSelection objects - one for each line of text covered by the receiver. For example if the+// receiver PDFSelection represents a selected paragraph, calling this method would return several PDFSelections - one+// for each line of text in the paragraph.+- (NSArray<PDFSelection*>*)selectionsByLine PDFKIT_AVAILABLE(10_5, 11_0);++// -------- modifying++// Add a selection to this selection. Selections don't have to be contiguous. If the selection added overlaps with this+// selection, overlaps are removed.+- (void)addSelection:(PDFSelection *)selection;++// For adding several selections, you can get better performance calling -[addSelections:] and passing in an array of+// PDFSelections than calling -[addSelection] above inside a loop. It is the "normalization" (removing the overlaps)+// that can be slow when adding a selection to another. This function adds all the selections first and then+// normalizes just once at the end.+- (void)addSelections:(NSArray<PDFSelection*> *)selections PDFKIT_AVAILABLE(10_5, 11_0);++// Extends the selection at either end. Selections can be extended right off onto neighboring pages even to include the+// entire PDF document.+- (void)extendSelectionAtEnd:(NSInteger)succeed;+- (void)extendSelectionAtStart:(NSInteger)precede;++// Extend to the selection to the beginning and end of the currently selected lines of text. If the current selection is on a single+// line, then this will extend it to the entire line width. If the selection is across multiple lines, then the first and last+// lines are expected to wholly contain their respective rows of text.+- (void)extendSelectionForLineBoundaries PDFKIT_AVAILABLE(10_13, 11_0);++// -------- rendering++// Calls the below method passing kPDFDisplayBoxCropBox for box.+- (void)drawForPage:(PDFPage *)page active: (BOOL) active;++// Draws the selection in page space relative to the origin of box. Box can be kPDFDisplayBoxMediaBox,+// kPDFDisplayBoxCropBox, kPDFDisplayBoxBleedBox, kPDFDisplayBoxTrimBox or kPDFDisplayBoxArtBox. If active is true, it+// is drawn using -[NSColor selectedTextBackgroundColor], otherwise it is drawn using+// -[NSColor secondarySelectedControlColor].+- (void)drawForPage:(PDFPage *)page withBox:(PDFDisplayBox)box active:(BOOL)active;++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFThumbnailView.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFThumbnailView.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFThumbnailView.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFThumbnailView.h2024-10-25 21:20:40@@ -0,0 +1,75 @@+//+//  PDFThumbnailView.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  PDFThumbnailView is a custom view that contains a set of PDFPage thumbnails+//  that a user can scroll over, interact with, and have these interactions drive+//  view changes on PDFView.+//++#import <PDFKit/PDFKitPlatform.h>++NS_ASSUME_NONNULL_BEGIN++#if defined(PDFKIT_PLATFORM_IOS)++// Layout mode for thumbnail view.+PDFKIT_ENUM_AVAILABLE(NA, 11_0)+typedef NS_ENUM(NSInteger, PDFThumbnailLayoutMode)+{+    PDFThumbnailLayoutModeVertical = 0,+    PDFThumbnailLayoutModeHorizontal = 1+};++#endif++@class PDFView, PDFPage;++// Notification when PDFDocument is modified.+PDFKIT_EXTERN NSString* const PDFThumbnailViewDocumentEditedNotification PDFKIT_AVAILABLE(10_4, 11_0);++PDFKIT_CLASS_AVAILABLE(10_5, 11_0)+@interface PDFThumbnailView : PDFKitPlatformView <NSCoding>++// PDFView associated with the thumbnail view.+@property (nonatomic, weak, nullable) PDFView *PDFView;++// Background color of view.+@property (nonatomic, copy, nullable) PDFKitPlatformColor *backgroundColor;++// This will return only a single page unless allowsMultipleSelection is set to YES.+@property (nonatomic, readonly, strong, nullable) NSArray<PDFPage*> *selectedPages;++// The maximum thumbnail size.+@property (nonatomic) PDFSize thumbnailSize;++#if defined(PDFKIT_PLATFORM_OSX)++// Maximum number of columns (0 indicates no limit - as many columns as will fit).+@property (nonatomic) NSUInteger maximumNumberOfColumns;++// Font used for the page labels.+@property (nonatomic, copy, nullable) PDFKitPlatformFont *labelFont;++// Dragging. Allows a user to move icons within the PDFThumbnailView, changing page order. Default is false.+@property (nonatomic) BOOL allowsDragging;++// Multiple selections. By default, PDFThumbnailView allows only a single page to be selected at once - the selected+// thumbnail always corresponds to -[PDFView currentPage]. When you enable multiple selections, the user is allowed to+// select more than one thumbnail.+@property (nonatomic) BOOL allowsMultipleSelection;++#elif defined(PDFKIT_PLATFORM_IOS)++// Defines if the thumbnail view is to be displayed vertically or horizontally.+// Default PDFThumbnailLayoutModeVertical.+@property (nonatomic) PDFThumbnailLayoutMode layoutMode PDFKIT_AVAILABLE(NA, 11_0);++// Inset for the placement of icons within the thumbnail view. Default UIEdgeInsetsZero.+@property (nonatomic) UIEdgeInsets contentInset PDFKIT_AVAILABLE(NA, 11_0);++#endif //PDFKIT_PLATFORM_IOS++@end++NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFView.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFView.h--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFView.h1969-12-31 19:00:00+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/PDFKit.framework/Headers/PDFView.h2024-10-21 19:28:56@@ -0,0 +1,461 @@+//+//  PDFView.h+//  Copyright © 2019 Apple. All rights reserved.+//+//  This class is the main view of PDFKit: you can instantiate a PDFView or create one+//  in Interface Builder that will host the contents of a PDFDocument. Note that you can+//  layout the pages of a PDFDocument in a few different ways, mostly as a function of+//  PDFDisplayMode, combined with a few options like "displayDirection" and "displaysRTL".+//  Note the delegate PDFViewDelegate and associated notifications, both of which can be+//  used as a way to listen for search, print, and user-interaction events.+//++#import <PDFKit/PDFKitPlatform.h>++#import <PDFKit/PDFDocument.h>+#import <PDFKit/PDFPage.h>++NS_ASSUME_NONNULL_BEGIN++@class PDFAction, PDFActionRemoteGoTo, PDFDestination, PDFSelection, PDFViewPrivate;+@protocol PDFViewDelegate, PDFPageOverlayViewProvider;++// Display modes.+PDFKIT_ENUM_AVAILABLE(10_4, 11_0)+typedef NS_ENUM(NSInteger, PDFDisplayMode)+{+    kPDFDisplaySinglePage = 0,+    kPDFDisplaySinglePageContinuous = 1,+    kPDFDisplayTwoUp = 2,+    kPDFDisplayTwoUpContinuous = 3+};++// Display direction.+PDFKIT_ENUM_AVAILABLE(10_13, 11_0)+typedef NS_ENUM(NSInteger, PDFDisplayDirection)+{+    kPDFDisplayDirectionVertical = 0,+    kPDFDisplayDirectionHorizontal = 1,+};++// Interpolation quality.+PDFKIT_ENUM_AVAILABLE(10_7, 11_0)+typedef NS_ENUM(NSInteger, PDFInterpolationQuality)+{+    kPDFInterpolationQualityNone = 0,+    kPDFInterpolationQualityLow = 1,+    kPDFInterpolationQualityHigh = 2+};++// Notifications.+PDFKIT_EXTERN NSNotificationName const PDFViewDocumentChangedNotification PDFKIT_AVAILABLE(10_4, 11_0);       // Notification when a new document is associated with view.+PDFKIT_EXTERN NSNotificationName const PDFViewChangedHistoryNotification PDFKIT_AVAILABLE(10_4, 11_0);        // Notification when the page history changes.+PDFKIT_EXTERN NSNotificationName const PDFViewPageChangedNotification PDFKIT_AVAILABLE(10_4, 11_0);           // Notification when a new page becomes current.+PDFKIT_EXTERN NSNotificationName const PDFViewScaleChangedNotification PDFKIT_AVAILABLE(10_4, 11_0);          // Notification when the scale changes.+PDFKIT_EXTERN NSNotificationName const PDFViewAnnotationHitNotification PDFKIT_AVAILABLE(10_4, 11_0);         // Notification when the user clicks on an annotation.+PDFKIT_EXTERN NSNotificationName const PDFViewCopyPermissionNotification PDFKIT_AVAILABLE(10_4, 11_0);        // Notification when the user is denied copy (permissions).+PDFKIT_EXTERN NSNotificationName const PDFViewPrintPermissionNotification PDFKIT_AVAILABLE(10_4, 11_0);       // Notification when the user is denied print (permissions).+PDFKIT_EXTERN NSNotificationName const PDFViewAnnotationWillHitNotification PDFKIT_AVAILABLE(10_4, 11_0);     // Notification before user clicks on an annotation.+PDFKIT_EXTERN NSNotificationName const PDFViewSelectionChangedNotification PDFKIT_AVAILABLE(10_4, 11_0);      // Notification when the current selection has changed.+PDFKIT_EXTERN NSNotificationName const PDFViewDisplayModeChangedNotification PDFKIT_AVAILABLE(10_4, 11_0);    // Notification when the display mode has changed.+PDFKIT_EXTERN NSNotificationName const PDFViewDisplayBoxChangedNotification PDFKIT_AVAILABLE(10_4, 11_0);     // Notification when the display box has changed.+PDFKIT_EXTERN NSNotificationName const PDFViewVisiblePagesChangedNotification PDFKIT_AVAILABLE(10_4, 11_0);   // Notification when the scroll view has scrolled into the bounds of a new page.++PDFKIT_CLASS_AVAILABLE(10_4, 11_0)+@interface PDFView : PDFKitPlatformView+#if TARGET_OS_OSX+    < NSAnimationDelegate, NSMenuDelegate >+#elif (TARGET_OS_IOS || TARGET_OS_VISION)+    < UIGestureRecognizerDelegate, UIFindInteractionDelegate >+#endif+{+@private+    PDFViewPrivate *_private;+}++// -------- document++// Methods for associating a PDFDocument with a PDFView.+@property (nonatomic, retain, nullable) PDFDocument *document;++// -------- page navigation++// Simple page navigation methods.+@property (nonatomic, readonly) BOOL canGoToFirstPage;+- (IBAction)goToFirstPage:(nullable id)sender;++@property (nonatomic, readonly) BOOL canGoToLastPage;+- (IBAction)goToLastPage:(nullable id)sender;++@property (nonatomic, readonly) BOOL canGoToNextPage;+- (IBAction)goToNextPage:(nullable id)sender;++@property (nonatomic, readonly) BOOL canGoToPreviousPage;+- (IBAction)goToPreviousPage:(nullable id)sender;++// Page visitations done via goToFirstPage:, goToLastPage:, goToPage:, etc. methods are recorded with visitation history+// and can be revisited by executing goBack: or goForward:, much like a web browser. Note that visitiation history+// also includes all rect, destination, and selection goTo*: methods.+@property (nonatomic, readonly) BOOL canGoBack;+- (IBAction)goBack:(nullable id)sender;++@property (nonatomic, readonly) BOOL canGoForward;+- (IBAction)goForward:(nullable id)sender;++// Returns the current page you are on. For two-up modes, it is the left page (if there are two). For continuous modes,+// it finds the page crossing a horizontal line halfway between the views top and bottom bounds.+@property (nonatomic, readonly, nullable) PDFPage *currentPage;++// Scrolls to page.+- (void)goToPage:(PDFPage *)page;++// Returns a PDFDestination representing the current page and point displayed (see -[currentPage] for more comments).+@property (nonatomic, readonly, nullable) PDFDestination *currentDestination;++// Goes to the specified destination.+- (void)goToDestination:(PDFDestination *)destination;++// Goes to the specified selection (since selections can be large, goes to the first character of the selection).+- (void)goToSelection:(PDFSelection *)selection;++// Goes to the specified rectangle on the specified page. If already visible, does nothing. This allows you to scroll+// the PDFView to a specific PDFAnnotation or PDFSelection (since both object have bounds methods).+// Note: rect is specified in page coordinates. Example: You might use this function when tabbing through a form to keep+// focus on the active element.+- (void)goToRect:(PDFRect)rect onPage:(PDFPage *)page;++// -------- display mode++// See PDFDisplayMode constants above. Default is kPDFDisplaySinglePageContinuous.+@property (nonatomic) PDFDisplayMode displayMode;++// Set the layout direction, either vertical or horizontal, for the given display mode+// Defaults to vertical layout (kPDFDisplayDirectionVertical).+@property (nonatomic) PDFDisplayDirection displayDirection PDFKIT_AVAILABLE(10_13, 11_0);++// Toggle displaying or not displaying page breaks (spacing) between pages. This spacing value+// is defined by the pageBreakMargins property. If displaysPageBreaks is NO, then pageBreakMargins+// will always return { 0.0, 0.0, 0.0, 0.0 }. Default is YES.+@property (nonatomic) BOOL displaysPageBreaks;++// If displaysPageBreaks is enabled, you may customize the spacing between pages by defining margins for+// the top, bottom, left, and right of each page. Note that pageBreakMargins only allows positive values+// and will clamp any negative value to 0.0. By default, if displaysPageBreaks is enabled, pageBreakMargins+// is { 4.75, 4.0, 4.75, 4.0 } (with respect to top, left, bottom, right), otherwise it is { 0.0, 0.0, 0.0, 0.0 }+@property (nonatomic) PDFEdgeInsets pageBreakMargins PDFKIT_AVAILABLE(10_13, 11_0);++// Specifies the box to display/clip to. Default is kPDFDisplayBoxCropBox.+@property (nonatomic) PDFDisplayBox displayBox;++// Specifies whether the first page is to be treated as a cover and (for two-up modes) displayed by itself.+@property (nonatomic) BOOL displaysAsBook;++// Specifies presentation of pages from right-to-left. Defaults to NO.+@property (nonatomic) BOOL displaysRTL PDFKIT_AVAILABLE(10_13, 11_0);++// Default is a 50% gray.+@property (nonatomic, strong) PDFKitPlatformColor *backgroundColor;++// Allows setting the interpolation quality for images drawn into the PDFView context.+@property (nonatomic) PDFInterpolationQuality interpolationQuality PDFKIT_AVAILABLE(10_7, 11_0);++// Specifies if shadows should be drawn around page borders in a PDFView. Defaults to YES.+@property (nonatomic, setter=enablePageShadows:) BOOL pageShadowsEnabled PDFKIT_AVAILABLE(10_14, 12_0);++#if defined(PDFKIT_PLATFORM_IOS)++// Changes the underlying scroll view to use a UIPageViewController as a way to layout and navigate+// pages. Note that you can change the orientation via -[PDFView setDisplayDirection:], and that+// the property -[PDFView displayMode] is ignored: layout is always assumed single page continuous.+// The viewOptions argument is given to the UIPageViewController initializer, as a way to pass in page spacing, etc.+- (void)usePageViewController:(BOOL)enable withViewOptions:(nullable NSDictionary*)viewOptions PDFKIT_AVAILABLE(NA, 11_0);+@property (nonatomic, readonly) BOOL isUsingPageViewController PDFKIT_AVAILABLE(NA, 11_0);++#endif++// -------- delegate++@property (nonatomic, weak, nullable) id< PDFViewDelegate > delegate;++@property (nonatomic, weak, nullable) id<PDFPageOverlayViewProvider> pageOverlayViewProvider PDFKIT_AVAILABLE(13_0, 16_0);+++// -------- scaling++// Method to get / set the current scaling on the displayed PDF document. Default is 1.0 (actual size).+// Note that the given scaleFactor is clamped by the current min / max scale factors.+// When using a page view controller layout on iOS, this only affects the currently visible page and+// is ignored for any future loaded pages. You can observe the PDFViewPageChangedNotification notification+// to see when new pages are visible to apply new scale factors to them.+@property (nonatomic) CGFloat scaleFactor;++// Set the minimum and maximum scaling factors for the PDF document. Assigning these values will implicitly turn+// off autoScales, and allows scaleFactor to vary between these min / max scale factors+@property (nonatomic) CGFloat minScaleFactor PDFKIT_AVAILABLE(10_13, 11_0);+@property (nonatomic) CGFloat maxScaleFactor PDFKIT_AVAILABLE(10_13, 11_0);++// Toggles mode whereby the scale factor is automatically changed as the view is resized, or rotated, to maximize the+// PDF displayed. For continuous modes this is a "fit width" behavior, for non-continuous modes it is a "best fit" behavior.+@property (nonatomic) BOOL autoScales;++// Regardless of current autoScales mode, this returns the "size to fit" scale factor that autoScales would use+// for scaling the current document and layout. For continuous modes this is a "fit width" scale, for+// non-continuous modes it is a "best fit" scale.+@property (nonatomic, readonly) CGFloat scaleFactorForSizeToFit PDFKIT_AVAILABLE(10_13, 11_0);++// Zooming changes the scaling by root-2.+- (IBAction)zoomIn:(nullable id)sender;+@property (nonatomic, readonly) BOOL canZoomIn;++- (IBAction)zoomOut:(nullable id)sender;+@property (nonatomic, readonly) BOOL canZoomOut;++// -------- events++// Returns type of area (see defines above) mouse is over. This method is useful for subclasses.+- (PDFAreaOfInterest)areaOfInterestForMouse:(PDFKitPlatformEvent *)event;+- (PDFAreaOfInterest)areaOfInterestForPoint:(PDFPoint)cursorLocation;++#if defined(PDFKIT_PLATFORM_OSX)++// Sets the appropriate cursor for a given area of interest. This method is useful for subclasses.+- (void)setCursorForAreaOfInterest:(PDFAreaOfInterest)area;++#endif++// Performs the action specified by action.+- (void)performAction:(PDFAction *)action PDFKIT_AVAILABLE(10_5, 11_0);++// -------- selection++// Getter: Returns actual instance of the current PDFSelection object. If you wish to modify this, you should make a copy of+// the selection returned and modify that instead. Method may return nil if there is no selection.+// Setter: Set current selection to selection. The view will redraw as necessary. The view will not scroll.+// Call -[scrollSelectionToVisible:] to scroll to the current selection.+@property (nonatomic, strong, nullable) PDFSelection *currentSelection;++// Like -[setCurrentSelection:] above but with the additional parameter that specifies whether setting the selection+// should be animated. The animation draws the user's attention to the new selection. Useful when searching.+- (void)setCurrentSelection:(nullable PDFSelection *)selection animate:(BOOL)animate PDFKIT_AVAILABLE(10_5, 11_0);++// Equivalent to -[PDFView setCurrentSelection: nil].+- (void)clearSelection;++// Select all text for the entire document, unless in in page view controller mode for iOS,+// where only the current page is selected.+- (IBAction)selectAll:(nullable id)sender;++// If the selection is not visible, scrolls view so that it is.+- (IBAction)scrollSelectionToVisible:(nullable id)sender;++// The following calls allow you to associate an array of PDFSelections with a PDFView. Unlike the user selection+// (above), these selections do not go away when the user clicks in the PDFView, etc. You must explicitly remove them+// by passing nil to -[setHighlightedSelections:]. These methods allow you to highlight text perhaps to indicate+// matches from a text search. To avoid confusion you should probably make sure the PDFSelections passed in are a+// different color from the user's default text selection color. Commonly used for highlighting search results.+@property (nonatomic, copy, nullable) NSArray<PDFSelection*> *highlightedSelections PDFKIT_AVAILABLE(10_5, 11_0);++// -------- rendering++// Context-aware subclassing functions++// For subclasses. This method is called for each visible page requiring rendering. By subclassing you can draw on top+// of the PDF page or draw the page entirely yourself. Default implementation erases page to white and calls:+// [page drawWithBox: [self displayBox] toContext: context]. Note that this may be called multiple times for+// the same page due to tiling of renderable content.+- (void)drawPage:(PDFPage *)page toContext:(CGContextRef)context PDFKIT_AVAILABLE(10_12, 11_0);++// Also a handy method for sub-classing. Called for post-page rendering. In this method however no scaling/rotating is+// applied to the current context to map to page-space. The context is in "view-space" coordinates.+- (void)drawPagePost:(PDFPage *)page toContext:(CGContextRef)context PDFKIT_AVAILABLE(10_12, 11_0);+++// -------- pasteboard++// Copy the selection (if any) to the pasteboard.+- (IBAction)copy:(nullable id)sender;++#if defined(PDFKIT_PLATFORM_OSX)++// -------- printing++// Print the PDF document. If autoRotate is YES, will ignore the orientation attribute in printInfo and rather choose+// the orientation on a page by page basis that best fits the page to the paper size.+- (void)printWithInfo:(NSPrintInfo *)printInfo autoRotate:(BOOL)doRotate;++// Like the above method but allows an additional parameter to describe page scaling (see PDFDocument.h for types).+// If pageScaling is equal to kPDFPrintPageScaleToFit each page is scaled up or down in order to best fit the paper+// size. Specifying kPDFPrintPageScaleDownToFit for pageScaling will only scale large pages down to fit the paper,+// smaller pages will not be scaled up. Passing pageScaling equal to kPDFPrintPageScaleNone is the equivalent of+// calling -[printWithInfo: autoRotate] above.+- (void)printWithInfo:(NSPrintInfo *)printInfo autoRotate:(BOOL)doRotate pageScaling:(PDFPrintScalingMode)scale PDFKIT_AVAILABLE(10_5, 11_0);++#endif++// -------- conversion++// Given a point in view coordinates, returns the page at that point. May return nil if no page at point and nearest is NO.+- (nullable PDFPage *)pageForPoint:(PDFPoint)point nearest:(BOOL)nearest;++// Converts a point from view coordinates to page coordinates.+- (PDFPoint)convertPoint:(PDFPoint)point toPage:(PDFPage *)page;++// Converts a rect from view coordinates to page coordinates.+- (PDFRect)convertRect:(PDFRect)rect toPage:(PDFPage *)page;++// Converts a point from page coordinates to view coordinates.+- (PDFPoint)convertPoint:(PDFPoint)point fromPage:(PDFPage *)page;++// Converts a rect from page coordinates to view coordinates.+- (PDFRect)convertRect:(PDFRect)rect fromPage:(PDFPage *)page;++// -------- misc++// Returns the innermost view used by PDFView. This is the view representing the displayed document pages.+@property (nonatomic, readonly, nullable) PDFKitPlatformView *documentView;++// Tells PDFView to calculate (layout) the inner views. Called automatically when -[setDocument] and -[setDisplayBox]+// are called. You'll need to call this if you add or remove a page on the document, rotate a page etc.+- (void)layoutDocumentView;++// Tells PDFView that an annotation has changed on the specified page. PDFView re-scans then for tooltips, popups,+// and informs PDFThumbnailViews so the thumbnail can be redrawn.+- (void)annotationsChangedOnPage:(PDFPage *)page PDFKIT_AVAILABLE(10_5, 11_0);++// Handy for initially sizing PDFView. Returns the size needed to display the 'row' of the view's current document+// containing the specified page at the current scale factor and with the current display attributes.+- (PDFSize)rowSizeForPage:(PDFPage *)page;++#if defined(PDFKIT_PLATFORM_OSX)++// Indicate whether dragging a file into PDFView is allowed. If NO (default), dragging events are not supported.+// If YES, a user can drag and drop a PDF file into the view and have it loaded & set as the visible document (the old document is released).+@property (nonatomic) BOOL acceptsDraggedFiles PDFKIT_AVAILABLE(10_13, NA);++#endif++// Returns an array of PDFPage objects representing the currently visible pages. May return empty array if no document is assigned.+@property (nonatomic, readonly) NSArray<PDFPage *> *visiblePages PDFKIT_AVAILABLE(10_5, 11_0);++// Turns on or off data detection. If enabled, page text will be scanned for results such as URL's, addresses, phone numbers,+// times/dates, etc., as the page becomes visible. Where URL's are found, Link annotations are created in place. These are+// temporary annotations and are not saved. It is deprecated in favor of -[PDFDocument enableDataDetectors].+@property (nonatomic) BOOL enableDataDetectors PDFKIT_DEPRECATED(10_6, 15_0, 11_0, 18_0);++// If YES, page overlay views will be hit tested and therefore receive gestures. If NO, PDFView will receive gestures,+// namely those for text selection.+@property (nonatomic, getter=isInMarkupMode) BOOL inMarkupMode PDFKIT_AVAILABLE(13_0, 16_0);+++// -------- find interaction++#if defined(PDFKIT_PLATFORM_IOS)++/// If `findInteractionEnabled` is set to true, returns the receiver's built-in find interaction. Otherwise, nil.+@property (nonatomic, readonly) UIFindInteraction *findInteraction API_AVAILABLE(ios(16.0), visionos(1.0)) API_UNAVAILABLE(watchos, tvos);++/// Enables the built-in find interaction.+@property (nonatomic, readwrite, getter=isFindInteractionEnabled) BOOL findInteractionEnabled PDFKIT_AVAILABLE(NA, 16_0);++#endif++@end++@protocol PDFViewDelegate< NSObject >+@optional++// Delegates implementing the following method will be called to handle clicks on URL links within the PDFView. The+// default implementation calls [[NSWorkspace sharedWorkspace] openURL: url].+- (void)PDFViewWillClickOnLink:(PDFView *)sender withURL:(NSURL *)url PDFKIT_AVAILABLE(10_5, 11_0);++#if defined( PDFKIT_PLATFORM_OSX )++// Delegate method allowing a delegate to override changes to the scale factor. The default implementation pins scaling+// between 0.1 and 10.0.+- (CGFloat)PDFViewWillChangeScaleFactor:(PDFView *)sender toScale:(CGFloat)scaler PDFKIT_AVAILABLE(10_5, NA);++// A delegate providing this method can override the job title when PDFView is printed. The default implementation+// uses the string, if any, associated with the "Title" key from the view's PDFDocument attribute dictionary. Failing+// that, it uses the last path component if the PDFDocument is URL-based.+- (NSString *)PDFViewPrintJobTitle:(PDFView *)sender PDFKIT_AVAILABLE(10_5, NA);++// Certain PDFAction's may request that the PDF viewer application Print the current document. Delegates responding to+// the below method will be called when the user clicks on an annotation with such an action.+- (void)PDFViewPerformPrint:(PDFView *)sender PDFKIT_AVAILABLE(10_5, NA);++#elif defined( PDFKIT_PLATFORM_IOS )++// A delegate that should return the main view controller the PDFView resides in. This is to add additional+// support to one's view such as 'Lookup' from the text selection menu, along with support of entering text for notes.+- (PDFKitPlatformViewController*) PDFViewParentViewController PDFKIT_AVAILABLE(10_15, 13_0);++#endif++// Certain PDFAction's may request that the PDF viewer application perform a Find. Delegates responding to the below+// method will be called when the user clicks on an annotation with such an action.+- (void)PDFViewPerformFind:(PDFView *)sender PDFKIT_AVAILABLE(10_5, 11_0);++// Certain PDFAction's may request that the PDF viewer application bring up a panel allowing the user to enter a+// specific page number. Delegates responding to the below method will be called when the user clicks on an annotation+// with such an action.+- (void)PDFViewPerformGoToPage:(PDFView *)sender PDFKIT_AVAILABLE(10_5, 11_0);++// Delegates implementing the following method will be called to handle clicks on annotations containing a+// PDFActionRemoteGoTo action. The action contains a URL and a page index and point. The delegate should open the PDF+// indicated by the URL and go to the page and point indicated. The easiest way to do the latter is to create a+// PDFDestination with the page index and point once a PDFDocument from the URL is created - then you can call:+// -[PDFView goToDestination:]. The default implementation simply beeps.+- (void)PDFViewOpenPDF:(PDFView *)sender forRemoteGoToAction:(PDFActionRemoteGoTo *)action PDFKIT_AVAILABLE(10_5, 11_0);++@end++#if defined( PDFKIT_PLATFORM_OSX )++// Deprecated macOS PDFView methods+@interface PDFView (PDFViewDeprecated)++// -------- password++// Convenience method. Calls -[[self document] unlockWithPassword:] with the password from sender.+- (IBAction)takePasswordFrom:(id)sender PDFKIT_DEPRECATED(10_4, 10_12, NA, NA);++// -------- rendering++// This method is deprecated in favor of the of the context aware -[PDFView drawPage:toContext:]. If you subclass+// PDFView, rendering code will first call -[PDFView drawPage:toContext:]. If your subclass does not override the+// context-aware function, this original -[PDFView drawPage:] method will be called.+// For subclasses. This method is called for each visible page requiring rendering.  By subclassing you can draw on top+// of the PDF page or draw the page entirely yourself. Default implementation erases page to white and calls:+// [page drawWithBox: [self displayBox]], then draws the selection if any.+- (void)drawPage:(PDFPage *)page PDFKIT_DEPRECATED(10_4, 10_12, NA, NA);++// This method is deprecated in favor of the of the context aware -[PDFView drawPagePost:toContext:]. If you subclass+// PDFView, rendering code will first call -[PDFView drawPagePost:toContext:]. If your subclass does not override the+// context-aware function, this original -[PDFView drawPagePost:] method will be called.+// Also a handy method for sub-classing.  Called for post-page rendering. In this method however no scaling/rotating is+// applied to the current context to map to page-space.  The context is in "view-space" coordinates.  The default+// implementation of this method draws the text highlighting (if any) for page.+- (void)drawPagePost:(PDFPage *)page PDFKIT_DEPRECATED(10_5, 10_12, NA, NA);++// State of anti-aliasing when drawing. Default is YES.+@property (nonatomic) BOOL shouldAntiAlias PDFKIT_DEPRECATED(10_4, 10_12, NA, NA);++// Greeking threshold to apply to text displayed. Default is 0.0.+@property (nonatomic) CGFloat greekingThreshold PDFKIT_DEPRECATED(10_4, 10_12, NA, NA);++// The background color is the color of the space behind the PDF pages (and between them if page breaks is enabled).+// Default is a 50% gray.+- (IBAction)takeBackgroundColorFrom:(id)sender PDFKIT_DEPRECATED(10_4, 10_12, NA, NA);++// -------- misc++// Indicate whether dragging is allowed. If NO (default), dragging events are not supported. If YES, a user can drag+// a PDF file to the view and a new document is associated with the view (the old document is released).+// Method renamed to "acceptsDraggedFiles", has same behavior.+@property (nonatomic) BOOL allowsDragging PDFKIT_DEPRECATED(10_4, 10_13, NA, NA);++@end++#endif++NS_ASSUME_NONNULL_END

Clone this wiki locally


[8]ページ先頭

©2009-2025 Movatter.jp