diff --git a/src/quicklook.cs b/src/quicklook.cs index c0fdec953752..a2b6f42053b2 100644 --- a/src/quicklook.cs +++ b/src/quicklook.cs @@ -143,6 +143,53 @@ interface QLPreviewItem { [Export ("previewItemTitle")] string ItemTitle { get; } } + + [iOS (11,0)] + [Protocol] + interface QLPreviewingController { + [Export ("preparePreviewOfSearchableItemWithIdentifier:queryString:completionHandler:")] + void PreparePreviewOfSearchableItem (string identifier, [NullAllowed] string queryString, Action handler); + + [Export ("preparePreviewOfFileAtURL:completionHandler:")] + void PreparePreviewOfFile (NSUrl url, Action handler); + } + + [iOS (11,0)] + [BaseType (typeof (NSObject))] + interface QLThumbnailProvider { + [Export ("provideThumbnailForFileRequest:completionHandler:")] + void ProvideThumbnail (QLFileThumbnailRequest request, Action handler); + } + + [iOS (11,0)] + [BaseType (typeof (NSObject))] + [DisableDefaultCtor] + interface QLThumbnailReply { + [Static] + [Export ("replyWithContextSize:drawingBlock:")] + QLThumbnailReply CreateReply (CGSize contextSize, Func drawingBlock); + + [Static] + [Export ("replyWithContextSize:currentContextDrawingBlock:")] + QLThumbnailReply CreateReply (CGSize contextSize, Func drawingBlock); + + [Static] + [Export ("replyWithImageFileURL:")] + QLThumbnailReply CreateReply (NSUrl fileUrl); + } + + [iOS (11,0)] + [BaseType (typeof (NSObject))] + interface QLFileThumbnailRequest { + [Export ("maximumSize")] + CGSize MaximumSize { get; } + + [Export ("scale")] + nfloat Scale { get; } + + [Export ("fileURL", ArgumentSemantic.Copy)] + NSUrl FileUrl { get; } + } #else [Static] interface QLThumbnailImage {