[photos] Update up to beta 3 (#2290)
Also enable the PHLivePhotoEditingOption strong dictionary overload now that b3 provides the required key
This commit is contained in:
Родитель
44d03dae46
Коммит
cedb13a1ef
|
@ -18,7 +18,7 @@ namespace XamCore.Photos
|
|||
// NSInteger -> PHImageManager.h
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[Native]
|
||||
public enum PHImageRequestOptionsVersion : nint {
|
||||
Current = 0,
|
||||
|
@ -29,7 +29,7 @@ namespace XamCore.Photos
|
|||
// NSInteger -> PHImageManager.h
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[Native]
|
||||
public enum PHImageRequestOptionsDeliveryMode : nint {
|
||||
Opportunistic = 0,
|
||||
|
@ -40,7 +40,7 @@ namespace XamCore.Photos
|
|||
// NSInteger -> PHImageManager.h
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[Native]
|
||||
public enum PHImageRequestOptionsResizeMode : nint {
|
||||
None = 0,
|
||||
|
@ -146,6 +146,7 @@ namespace XamCore.Photos
|
|||
AlbumSyncedFaces = 4,
|
||||
AlbumSyncedAlbum = 5,
|
||||
AlbumImported = 6,
|
||||
AlbumImportHistory = AlbumImported, // renamed only on macOS
|
||||
AlbumMyPhotoStream = 100,
|
||||
AlbumCloudShared = 101,
|
||||
SmartAlbumGeneric = 200,
|
||||
|
@ -231,7 +232,7 @@ namespace XamCore.Photos
|
|||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[Native]
|
||||
public enum PHAuthorizationStatus : nint {
|
||||
NotDetermined, Restricted, Denied, Authorized
|
||||
|
@ -274,4 +275,53 @@ namespace XamCore.Photos
|
|||
Photo,
|
||||
Video
|
||||
}
|
||||
|
||||
[TV (11,0), iOS (11,0)]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[Native]
|
||||
public enum PHAssetPlaybackStyle : nint {
|
||||
Unsupported = 0,
|
||||
Image = 1,
|
||||
ImageAnimated = 2,
|
||||
LivePhoto = 3,
|
||||
Video = 4,
|
||||
VideoLooping = 5,
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[Native]
|
||||
public enum PHProjectTextElementType : nint {
|
||||
Body = 0,
|
||||
Title,
|
||||
Subtitle,
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[Native]
|
||||
public enum PHProjectCreationSource : nint {
|
||||
Undefined = 0,
|
||||
UserSelection = 1,
|
||||
Album = 2,
|
||||
Memory = 3,
|
||||
Moment = 4,
|
||||
Project = 20,
|
||||
ProjectBook = 21,
|
||||
ProjectCalendar = 22,
|
||||
ProjectCard = 23,
|
||||
ProjectPrintOrder = 24,
|
||||
ProjectSlideshow = 25,
|
||||
ProjectExtension = 26,
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[Native]
|
||||
public enum PHProjectSectionType : nint {
|
||||
Undefined = 0,
|
||||
Cover = 1,
|
||||
Content = 2,
|
||||
Auxiliary = 3,
|
||||
}
|
||||
}
|
||||
|
|
407
src/photos.cs
407
src/photos.cs
|
@ -10,6 +10,9 @@ using XamCore.ImageIO;
|
|||
using System;
|
||||
#if !MONOMAC
|
||||
using XamCore.UIKit;
|
||||
using NSImage = XamCore.Foundation.NSObject; // help [NoiOS] and [NoTV]
|
||||
#else
|
||||
using XamCore.AppKit;
|
||||
#endif
|
||||
|
||||
namespace XamCore.Photos
|
||||
|
@ -35,7 +38,7 @@ namespace XamCore.Photos
|
|||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[BaseType (typeof (PHObject))]
|
||||
interface PHAsset {
|
||||
|
||||
|
@ -66,6 +69,10 @@ namespace XamCore.Photos
|
|||
[Export ("hidden")]
|
||||
bool Hidden { [Bind ("isHidden")] get; }
|
||||
|
||||
[NoTV][NoiOS]
|
||||
[Export ("syncFailureHidden")]
|
||||
bool SyncFailureHidden { [Bind ("isSyncFailureHidden")] get; }
|
||||
|
||||
[Export ("favorite")]
|
||||
bool Favorite { [Bind ("isFavorite")] get; }
|
||||
|
||||
|
@ -105,6 +112,9 @@ namespace XamCore.Photos
|
|||
[Export ("fetchAssetsWithOptions:")]
|
||||
PHFetchResult FetchAssets ([NullAllowed] PHFetchOptions options);
|
||||
|
||||
[Deprecated (PlatformName.TvOS, 11,0)]
|
||||
[Deprecated (PlatformName.iOS, 11,0)]
|
||||
[NoMac]
|
||||
[Static]
|
||||
[Export ("fetchAssetsWithALAssetURLs:options:")]
|
||||
PHFetchResult FetchAssets (NSUrl[] assetUrls, [NullAllowed] PHFetchOptions options);
|
||||
|
@ -112,6 +122,14 @@ namespace XamCore.Photos
|
|||
[iOS (9,0)]
|
||||
[Export ("sourceType", ArgumentSemantic.Assign)]
|
||||
PHAssetSourceType SourceType { get; }
|
||||
|
||||
[TV (11,0), iOS (11,0)]
|
||||
[Export ("playbackStyle", ArgumentSemantic.Assign)]
|
||||
PHAssetPlaybackStyle PlaybackStyle { get; }
|
||||
|
||||
[NoTV][NoiOS]
|
||||
[Field ("PHLocalIdentifierNotFound")]
|
||||
NSString LocalIdentifierNotFound { get; }
|
||||
}
|
||||
|
||||
[iOS (8,0)]
|
||||
|
@ -365,7 +383,7 @@ namespace XamCore.Photos
|
|||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface PHChange {
|
||||
|
||||
|
@ -378,7 +396,7 @@ namespace XamCore.Photos
|
|||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface PHObjectChangeDetails {
|
||||
|
||||
|
@ -395,12 +413,12 @@ namespace XamCore.Photos
|
|||
bool ObjectWasDeleted { get; }
|
||||
}
|
||||
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
delegate void PHChangeDetailEnumerator (nuint fromIndex, nuint toIndex);
|
||||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface PHFetchResultChangeDetails {
|
||||
|
||||
|
@ -444,7 +462,7 @@ namespace XamCore.Photos
|
|||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[BaseType (typeof (PHObject))]
|
||||
[DisableDefaultCtor] // not user createable (calling description fails, see below) must be fetched by API
|
||||
// NSInternalInconsistencyException Reason: PHCollection has no identifier
|
||||
|
@ -476,7 +494,7 @@ namespace XamCore.Photos
|
|||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[BaseType (typeof (PHCollection))]
|
||||
interface PHAssetCollection {
|
||||
|
||||
|
@ -536,7 +554,7 @@ namespace XamCore.Photos
|
|||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[BaseType (typeof (PHCollection))]
|
||||
interface PHCollectionList {
|
||||
|
||||
|
@ -659,8 +677,10 @@ namespace XamCore.Photos
|
|||
[Export ("adjustmentData", ArgumentSemantic.Strong)]
|
||||
PHAdjustmentData AdjustmentData { get; }
|
||||
|
||||
#if !MONOMAC
|
||||
[Export ("displaySizeImage", ArgumentSemantic.Strong)]
|
||||
#if MONOMAC
|
||||
NSImage DisplaySizeImage { get; }
|
||||
#else
|
||||
UIImage DisplaySizeImage { get; }
|
||||
#endif
|
||||
|
||||
|
@ -681,6 +701,11 @@ namespace XamCore.Photos
|
|||
[iOS (10,0)]
|
||||
[NullAllowed, Export ("livePhoto", ArgumentSemantic.Strong)]
|
||||
PHLivePhoto LivePhoto { get; }
|
||||
|
||||
[TV (11,0), iOS (11,0)]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[Export ("playbackStyle", ArgumentSemantic.Assign)]
|
||||
PHAssetPlaybackStyle PlaybackStyle { get; }
|
||||
}
|
||||
|
||||
[iOS (8,0)]
|
||||
|
@ -706,7 +731,7 @@ namespace XamCore.Photos
|
|||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface PHFetchOptions : NSCopying {
|
||||
|
||||
|
@ -736,12 +761,12 @@ namespace XamCore.Photos
|
|||
nuint FetchLimit { get; set; }
|
||||
}
|
||||
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
delegate void PHFetchResultEnumerator (NSObject element, nuint elementIndex, out bool stop);
|
||||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor] // crash when calling 'description' and seems to be only returned from iOS (not user created)
|
||||
interface PHFetchResult : NSCopying {
|
||||
|
@ -791,7 +816,7 @@ namespace XamCore.Photos
|
|||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface PHImageRequestOptions : NSCopying {
|
||||
|
||||
|
@ -842,7 +867,7 @@ namespace XamCore.Photos
|
|||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[Static]
|
||||
interface PHImageKeys {
|
||||
|
||||
|
@ -862,7 +887,9 @@ namespace XamCore.Photos
|
|||
NSString ResultRequestID { get; }
|
||||
}
|
||||
|
||||
#if !MONOMAC
|
||||
#if MONOMAC
|
||||
delegate void PHImageResultHandler (NSImage result, NSDictionary info);
|
||||
#else
|
||||
delegate void PHImageResultHandler (UIImage result, NSDictionary info);
|
||||
#endif
|
||||
|
||||
|
@ -877,7 +904,7 @@ namespace XamCore.Photos
|
|||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface PHImageManager {
|
||||
|
||||
|
@ -885,25 +912,24 @@ namespace XamCore.Photos
|
|||
[Export ("defaultManager")]
|
||||
PHImageManager DefaultManager { get; }
|
||||
|
||||
#if !MONOMAC
|
||||
[Export ("requestImageForAsset:targetSize:contentMode:options:resultHandler:")]
|
||||
int /* PHImageRequestID = int32_t */ RequestImageForAsset (PHAsset asset, CGSize targetSize, PHImageContentMode contentMode, [NullAllowed] PHImageRequestOptions options, PHImageResultHandler resultHandler);
|
||||
#endif
|
||||
|
||||
[Export ("cancelImageRequest:")]
|
||||
void CancelImageRequest (int /* PHImageRequestID = int32_t */ requestID);
|
||||
|
||||
#if !MONOMAC
|
||||
[Export ("requestImageDataForAsset:options:resultHandler:")]
|
||||
int /* PHImageRequestID = int32_t */ RequestImageData (PHAsset asset, [NullAllowed] PHImageRequestOptions options, PHImageDataHandler handler);
|
||||
#endif
|
||||
|
||||
[NoMac]
|
||||
[Export ("requestPlayerItemForVideo:options:resultHandler:")]
|
||||
int /* PHImageRequestID = int32_t */ RequestPlayerItem (PHAsset asset, [NullAllowed] PHVideoRequestOptions options, PHImageManagerRequestPlayerHandler resultHandler);
|
||||
|
||||
[NoMac]
|
||||
[Export ("requestExportSessionForVideo:options:exportPreset:resultHandler:")]
|
||||
int /* PHImageRequestID = int32_t */ RequestExportSession (PHAsset asset, [NullAllowed] PHVideoRequestOptions options, string exportPreset, PHImageManagerRequestExportHandler resultHandler);
|
||||
|
||||
[NoMac]
|
||||
[Export ("requestAVAssetForVideo:options:resultHandler:")]
|
||||
#if XAMCORE_4_0
|
||||
int /* PHImageRequestID = int32_t */ RequestAVAsset (PHAsset asset, [NullAllowed] PHVideoRequestOptions options, PHImageManagerRequestAVAssetHandler resultHandler);
|
||||
|
@ -915,11 +941,14 @@ namespace XamCore.Photos
|
|||
CGSize MaximumSize { get; }
|
||||
|
||||
[iOS (9,1)]
|
||||
[NoMac]
|
||||
[Export ("requestLivePhotoForAsset:targetSize:contentMode:options:resultHandler:")]
|
||||
int /* PHImageRequestID = int32_t */ RequestLivePhoto (PHAsset asset, CGSize targetSize, PHImageContentMode contentMode, [NullAllowed] PHLivePhotoRequestOptions options, PHImageManagerRequestLivePhoto resultHandler);
|
||||
}
|
||||
|
||||
#if !MONOMAC
|
||||
#if MONOMAC
|
||||
delegate void PHImageDataHandler (NSData data, NSString dataUti, CGImagePropertyOrientation orientation, NSDictionary info);
|
||||
#else
|
||||
delegate void PHImageDataHandler (NSData data, NSString dataUti, UIImageOrientation orientation, NSDictionary info);
|
||||
#endif
|
||||
|
||||
|
@ -944,7 +973,7 @@ namespace XamCore.Photos
|
|||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor] // doc -> "abstract base class"
|
||||
// throws "NSInternalInconsistencyException Reason: PHObject has no identifier"
|
||||
|
@ -967,7 +996,7 @@ namespace XamCore.Photos
|
|||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[Protocol]
|
||||
[Model]
|
||||
[BaseType (typeof (NSObject))]
|
||||
|
@ -984,7 +1013,7 @@ namespace XamCore.Photos
|
|||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
[NoMac]
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor] // NSInternalInconsistencyException Reason: -[PHPhotoLibrary init] unsupported
|
||||
interface PHPhotoLibrary {
|
||||
|
@ -1014,6 +1043,19 @@ namespace XamCore.Photos
|
|||
void UnregisterChangeObserver ([Protocolize] PHPhotoLibraryChangeObserver observer);
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoTV][NoiOS]
|
||||
[Category]
|
||||
[BaseType (typeof (PHPhotoLibrary))]
|
||||
interface PHPhotoLibrary_CloudIdentifiers {
|
||||
|
||||
[Export ("localIdentifiersForCloudIdentifiers:")]
|
||||
string[] GetLocalIdentifiers (PHCloudIdentifier[] cloudIdentifiers);
|
||||
|
||||
[Export ("cloudIdentifiersForLocalIdentifiers:")]
|
||||
PHCloudIdentifier[] GetCloudIdentifiers (string[] localIdentifiers);
|
||||
}
|
||||
|
||||
[iOS (9,1)]
|
||||
[TV (10,0)]
|
||||
#if MONOMAC
|
||||
|
@ -1104,14 +1146,38 @@ namespace XamCore.Photos
|
|||
[Export ("orientation")]
|
||||
CGImagePropertyOrientation Orientation { get; }
|
||||
|
||||
[Async]
|
||||
[Internal]
|
||||
[Export ("prepareLivePhotoForPlaybackWithTargetSize:options:completionHandler:")]
|
||||
void PrepareLivePhotoForPlayback (CGSize targetSize, [NullAllowed] NSDictionary<NSString, NSObject> options, Action<PHLivePhoto, NSError> handler);
|
||||
void _PrepareLivePhotoForPlayback (CGSize targetSize, [NullAllowed] NSDictionary options, Action<PHLivePhoto, NSError> handler);
|
||||
|
||||
[Async]
|
||||
[Wrap ("_PrepareLivePhotoForPlayback (targetSize, (NSDictionary)options, handler)", IsVirtual = true)]
|
||||
void PrepareLivePhotoForPlayback (CGSize targetSize, [NullAllowed] NSDictionary<NSString, NSObject> options, Action<PHLivePhoto, NSError> handler);
|
||||
|
||||
#if XAMCORE_2_0
|
||||
// the API existed earlier but the key needed to create the strong dictionary did not work
|
||||
[iOS (11,0)][TV (11,0)][Mac (10,12, onlyOn64 : true)]
|
||||
[Async]
|
||||
[Wrap ("_PrepareLivePhotoForPlayback (targetSize, options?.Dictionary, handler)")]
|
||||
void PrepareLivePhotoForPlayback (CGSize targetSize, [NullAllowed] PHLivePhotoEditingOption options, Action<PHLivePhoto, NSError> handler);
|
||||
#endif
|
||||
|
||||
[Internal]
|
||||
[Export ("saveLivePhotoToOutput:options:completionHandler:")]
|
||||
void _SaveLivePhoto (PHContentEditingOutput output, [NullAllowed] NSDictionary options, Action<bool, NSError> handler);
|
||||
|
||||
[Async]
|
||||
[Wrap ("_SaveLivePhoto (output, options, handler)", IsVirtual = true)]
|
||||
void SaveLivePhoto (PHContentEditingOutput output, [NullAllowed] NSDictionary<NSString, NSObject> options, Action<bool, NSError> handler);
|
||||
|
||||
#if XAMCORE_2_0
|
||||
// the API existed earlier but the key needed to create the strong dictionary did not work
|
||||
[iOS (11,0)][TV (11,0)][Mac (10,12, onlyOn64 : true)]
|
||||
[Async]
|
||||
[Wrap ("_SaveLivePhoto (output, options?.Dictionary, handler)")]
|
||||
void SaveLivePhoto (PHContentEditingOutput output, [NullAllowed] PHLivePhotoEditingOption options, Action<bool, NSError> handler);
|
||||
#endif
|
||||
|
||||
[Export ("cancel")]
|
||||
void Cancel ();
|
||||
}
|
||||
|
@ -1140,16 +1206,289 @@ namespace XamCore.Photos
|
|||
nfloat RenderScale { get; }
|
||||
}
|
||||
|
||||
// TODO returns null on Xcode 8 beta 1-6, rdar #28169810 https://trello.com/c/RwXK6YRX
|
||||
// PHLivePhotoEditingContext.PrepareLivePhotoForPlayback and SaveLivePhoto could use a strong dictionary once it's available
|
||||
#if false
|
||||
[iOS (10,0)]
|
||||
[TV (10,0)]
|
||||
#if XAMCORE_2_0 // fails to build with mac/classic
|
||||
[iOS (11,0)]
|
||||
[TV (11,0)]
|
||||
[Mac (10,12, onlyOn64 : true)]
|
||||
[Static]
|
||||
interface PHLivePhotoEditingOption {
|
||||
[Static][Internal]
|
||||
interface PHLivePhotoEditingOptionKeys {
|
||||
[Field ("PHLivePhotoShouldRenderAtPlaybackTime")]
|
||||
NSString ShouldRenderAtPlaybackTime { get; }
|
||||
NSString ShouldRenderAtPlaybackTimeKey { get; }
|
||||
}
|
||||
|
||||
[iOS (11,0)]
|
||||
[TV (11,0)]
|
||||
[Mac (10,12, onlyOn64 : true)]
|
||||
[StrongDictionary ("PHLivePhotoEditingOptionKeys")]
|
||||
interface PHLivePhotoEditingOption {
|
||||
bool ShouldRenderAtPlaybackTime { get; }
|
||||
}
|
||||
#endif
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[BaseType (typeof (PHAssetCollection))]
|
||||
interface PHProject {
|
||||
|
||||
[Export ("projectExtensionData")]
|
||||
NSData ProjectExtensionData { get; }
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[Static]
|
||||
interface PHProjectType {
|
||||
[Field ("PHProjectTypeUndefined")]
|
||||
NSString Undefined { get; }
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface PHProjectChangeRequest {
|
||||
|
||||
[Export ("initWithProject:")]
|
||||
IntPtr Constructor (PHProject project);
|
||||
|
||||
[Export ("title")]
|
||||
string Title { get; set; }
|
||||
|
||||
[Export ("projectExtensionData", ArgumentSemantic.Copy)]
|
||||
NSData ProjectExtensionData { get; set; }
|
||||
|
||||
[Export ("setKeyAsset:")]
|
||||
void SetKeyAsset ([NullAllowed] PHAsset keyAsset);
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[BaseType (typeof (PHProjectElement))]
|
||||
interface PHProjectTextElement : NSSecureCoding {
|
||||
|
||||
[Export ("text")]
|
||||
string Text { get; }
|
||||
|
||||
[NullAllowed, Export ("attributedText")]
|
||||
NSAttributedString AttributedText { get; }
|
||||
|
||||
[Export ("textElementType")]
|
||||
PHProjectTextElementType TextElementType { get; }
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[BaseType (typeof (PHProjectElement))]
|
||||
interface PHProjectJournalEntryElement : NSSecureCoding {
|
||||
|
||||
[Export ("date")]
|
||||
NSDate Date { get; }
|
||||
|
||||
[NullAllowed, Export ("assetElement")]
|
||||
PHProjectAssetElement AssetElement { get; }
|
||||
|
||||
[NullAllowed, Export ("textElement")]
|
||||
PHProjectTextElement TextElement { get; }
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface PHProjectTypeDescription : NSSecureCoding {
|
||||
|
||||
[Export ("projectType")]
|
||||
NSString ProjectType { get; }
|
||||
|
||||
[Export ("localizedTitle")]
|
||||
string LocalizedTitle { get; }
|
||||
|
||||
[NullAllowed, Export ("localizedDescription")]
|
||||
string LocalizedDescription { get; }
|
||||
|
||||
[NullAllowed, Export ("image", ArgumentSemantic.Copy)]
|
||||
NSImage Image { get; }
|
||||
|
||||
[Export ("subtypeDescriptions", ArgumentSemantic.Copy)]
|
||||
PHProjectTypeDescription[] SubtypeDescriptions { get; }
|
||||
|
||||
[Export ("initWithProjectType:title:description:image:subtypeDescriptions:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (NSString projectType, string localizedTitle, [NullAllowed] string localizedDescription, [NullAllowed] NSImage image, PHProjectTypeDescription[] subtypeDescriptions);
|
||||
|
||||
[Export ("initWithProjectType:title:description:image:")]
|
||||
IntPtr Constructor (NSString projectType, string localizedTitle, [NullAllowed] string localizedDescription, [NullAllowed] NSImage image);
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface PHProjectRegionOfInterest : NSSecureCoding {
|
||||
|
||||
[Export ("rect")]
|
||||
CGRect Rect { get; }
|
||||
|
||||
[Export ("weight")]
|
||||
double Weight { get; }
|
||||
|
||||
[Export ("identifier")]
|
||||
string Identifier { get; }
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface PHProjectElement : NSSecureCoding {
|
||||
|
||||
[Export ("weight")]
|
||||
double Weight { get; }
|
||||
|
||||
[Export ("placement")]
|
||||
CGRect Placement { get; }
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[BaseType (typeof (PHProjectElement))]
|
||||
interface PHProjectAssetElement : NSSecureCoding {
|
||||
|
||||
[Export ("cloudAssetIdentifier")]
|
||||
PHCloudIdentifier CloudAssetIdentifier { get; }
|
||||
|
||||
[Export ("annotation")]
|
||||
string Annotation { get; }
|
||||
|
||||
[Export ("cropRect")]
|
||||
CGRect CropRect { get; }
|
||||
|
||||
[Export ("regionsOfInterest")]
|
||||
PHProjectRegionOfInterest[] RegionsOfInterest { get; }
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[BaseType (typeof (NSExtensionContext))]
|
||||
interface PHProjectExtensionContext {
|
||||
|
||||
[Export ("photoLibrary")]
|
||||
PHPhotoLibrary PhotoLibrary { get; }
|
||||
|
||||
[Export ("project")]
|
||||
PHProject Project { get; }
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface PHProjectInfo : NSSecureCoding {
|
||||
|
||||
[Export ("creationSource")]
|
||||
PHProjectCreationSource CreationSource { get; }
|
||||
|
||||
[Export ("projectType")]
|
||||
NSString ProjectType { get; }
|
||||
|
||||
[Export ("sections")]
|
||||
PHProjectSection[] Sections { get; }
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface PHProjectSection : NSSecureCoding {
|
||||
|
||||
[Export ("sectionContents")]
|
||||
PHProjectSectionContent[] SectionContents { get; }
|
||||
|
||||
[Export ("sectionType")]
|
||||
PHProjectSectionType SectionType { get; }
|
||||
|
||||
[Export ("title")]
|
||||
string Title { get; }
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface PHProjectSectionContent : NSSecureCoding {
|
||||
|
||||
[Export ("elements")]
|
||||
PHProjectElement[] Elements { get; }
|
||||
|
||||
[Export ("numberOfColumns")]
|
||||
nint NumberOfColumns { get; }
|
||||
|
||||
[Export ("aspectRatio")]
|
||||
double AspectRatio { get; }
|
||||
|
||||
[Export ("cloudAssetIdentifiers")]
|
||||
PHCloudIdentifier[] CloudAssetIdentifiers { get; }
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[Protocol]
|
||||
interface PHProjectExtensionController {
|
||||
|
||||
[Export ("supportedProjectTypes", ArgumentSemantic.Copy)]
|
||||
PHProjectTypeDescription[] SupportedProjectTypes { get; }
|
||||
|
||||
[Abstract]
|
||||
[Export ("beginProjectWithExtensionContext:projectInfo:completion:")]
|
||||
void BeginProject (PHProjectExtensionContext extensionContext, PHProjectInfo projectInfo, Action<NSError> completion);
|
||||
|
||||
[Abstract]
|
||||
[Export ("resumeProjectWithExtensionContext:completion:")]
|
||||
void ResumeProject (PHProjectExtensionContext extensionContext, Action<NSError> completion);
|
||||
|
||||
[Abstract]
|
||||
[Export ("finishProjectWithCompletionHandler:")]
|
||||
void FinishProject (Action completion);
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[Protocol]
|
||||
interface PHContentEditingController {
|
||||
|
||||
[Abstract]
|
||||
[Export ("canHandleAdjustmentData:")]
|
||||
bool CanHandleAdjustmentData (PHAdjustmentData adjustmentData);
|
||||
|
||||
[Abstract]
|
||||
[Export ("startContentEditingWithInput:placeholderImage:")]
|
||||
void StartContentEditing (PHContentEditingInput contentEditingInput, NSImage placeholderImage);
|
||||
|
||||
[Abstract]
|
||||
[Export ("finishContentEditingWithCompletionHandler:")]
|
||||
void FinishContentEditing (Action<PHContentEditingOutput> completionHandler);
|
||||
|
||||
[Abstract]
|
||||
[Export ("cancelContentEditing")]
|
||||
void CancelContentEditing ();
|
||||
|
||||
[Abstract]
|
||||
[Export ("shouldShowCancelConfirmation")]
|
||||
bool ShouldShowCancelConfirmation { get; }
|
||||
}
|
||||
|
||||
[Mac (10,13, onlyOn64 : true)]
|
||||
[NoiOS][NoTV]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface PHCloudIdentifier : NSSecureCoding {
|
||||
|
||||
[Static]
|
||||
[Export ("notFoundIdentifier")]
|
||||
PHCloudIdentifier NotFoundIdentifier { get; }
|
||||
|
||||
[Export ("stringValue")]
|
||||
string StringValue { get; }
|
||||
|
||||
[Export ("initWithStringValue:")]
|
||||
IntPtr Constructor (string stringValue);
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче