Skip to content

Symbols macOS xcode16.0 b1

Rolf Bjarne Kvinge edited this page Jun 25, 2024 · 2 revisions

#Symbols.framework

Rolf

diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Symbols.framework/Headers/NSSymbolEffect.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Symbols.framework/Headers/NSSymbolEffect.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Symbols.framework/Headers/NSSymbolEffect.h	2024-04-13 13:47:11
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Symbols.framework/Headers/NSSymbolEffect.h	2024-05-30 10:14:41
@@ -14,8 +14,66 @@
 
 #pragma mark - Options
 
+/// The behavior of repetition to use when a symbol effect is animating.
+API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)) NS_REFINED_FOR_SWIFT
+@interface NSSymbolEffectOptionsRepeatBehavior: NSObject <NSCopying, NSSecureCoding>
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Creates and returns a repeat behavior that prefers to repeat indefinitely using periodic animations.
+/// Periodic animations play the effect at regular intervals starting and stopping each time.
+///
+/// - Returns: A new behavior that prefers to repeat indefinitely using periodic animations.
++ (instancetype)behaviorPeriodic;
+
+/// Creates and returns a repeat behavior with a preferred play count using periodic animations.
+/// Periodic animations play the effect at regular intervals starting and stopping each time.
+///
+/// - Parameter count: The preferred number of times to play the
+///   effect. Very
+///   large or small values may be clamped.
+///
+/// - Returns: A new behavior with the preferred
+/// play count using periodic animations.
++ (instancetype)behaviorPeriodicWithCount:(NSInteger)count;
+
+/// Creates and returns a repeat behavior with a preferred repeat delay using periodic animations.
+/// Periodic animations play the effect at regular intervals starting and stopping each time.
+///
+/// - Parameter delay: The preferred delay between repetitions,
+///   in seconds.
+///
+/// - Returns: A new behavior that prefers to repeat indefinitely
+/// with a specified delay using periodic animations.
++ (instancetype)behaviorPeriodicWithDelay:(double)delay;
+
+/// Creates and returns a repeat behavior with a preferred play count and delay using periodic animations.
+/// Periodic animations play the effect at regular intervals starting and stopping each time.
+///
+/// - Parameter count: The preferred number of times to play the
+///   effect. Very
+///   large or small values may be clamped.
+///
+/// - Parameter delay: The preferred delay between repetitions,
+///   in seconds.
+///
+/// - Returns: A new behavior with the preferred
+/// play count and delay using periodic animations.
++ (instancetype)behaviorPeriodicWithCount:(NSInteger)count delay:(double)delay;
+
+/// Creates and returns a repeat behavior that prefers to repeat indefinitely,
+/// using continuous animations if available.
+/// Continuous animations have an intro, a body that runs as long as the effect is enabled, and an outro.
+/// If available these animations provide a smoother animation when an effect repeats indefinitely.
+///
+/// - Returns: A new behavior that prefers to repeat indefinitely with continuous animations.
++ (instancetype)behaviorContinuous;
+
+@end
+
 /// Options configuring how symbol effects apply to symbol views.
-API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) NS_REFINED_FOR_SWIFT
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0)) NS_REFINED_FOR_SWIFT
 @interface NSSymbolEffectOptions : NSObject <NSCopying, NSSecureCoding>
 
 + (instancetype)new NS_UNAVAILABLE;
@@ -25,10 +83,10 @@
 + (instancetype)options;
 
 /// Convenience initializer that prefers to repeat indefinitely.
-+ (instancetype)optionsWithRepeating;
++ (instancetype)optionsWithRepeating API_DEPRECATED_WITH_REPLACEMENT("[NSSymbolEffectOptionsRepeatBehavior behaviorPeriodic]", macos(14.0, API_TO_BE_DEPRECATED), ios(17.0, API_TO_BE_DEPRECATED), tvos(17.0, API_TO_BE_DEPRECATED), watchos(10.0, API_TO_BE_DEPRECATED), visionos(1.0, API_TO_BE_DEPRECATED));
 
 /// Return a copy of the options that prefers to repeat indefinitely.
-- (instancetype)optionsWithRepeating;
+- (instancetype)optionsWithRepeating API_DEPRECATED_WITH_REPLACEMENT("[NSSymbolEffectOptionsRepeatBehavior behaviorPeriodic]", macos(14.0, API_TO_BE_DEPRECATED), ios(17.0, API_TO_BE_DEPRECATED), tvos(17.0, API_TO_BE_DEPRECATED), watchos(10.0, API_TO_BE_DEPRECATED), visionos(1.0, API_TO_BE_DEPRECATED));
 
 /// Convenience initializer that prefers not to repeat.
 + (instancetype)optionsWithNonRepeating;
@@ -42,7 +100,7 @@
 ///   effect. Very large or small values may be clamped.
 ///
 /// - Returns: A new options object with the preferred repeat count.
-+ (instancetype)optionsWithRepeatCount:(NSInteger)count;
++ (instancetype)optionsWithRepeatCount:(NSInteger)count API_DEPRECATED_WITH_REPLACEMENT("[NSSymbolEffectOptionsRepeatBehavior behaviorPeriodicWithCount:]", macos(14.0, API_TO_BE_DEPRECATED), ios(17.0, API_TO_BE_DEPRECATED), tvos(17.0, API_TO_BE_DEPRECATED), watchos(10.0, API_TO_BE_DEPRECATED), visionos(1.0, API_TO_BE_DEPRECATED));
 
 /// Return a copy of the options setting a preferred repeat count.
 ///
@@ -50,7 +108,7 @@
 ///   effect. Very large or small values may be clamped.
 ///
 /// - Returns: A new options object with the preferred repeat count.
-- (instancetype)optionsWithRepeatCount:(NSInteger)count;
+- (instancetype)optionsWithRepeatCount:(NSInteger)count API_DEPRECATED_WITH_REPLACEMENT("[NSSymbolEffectOptionsRepeatBehavior behaviorPeriodicWithCount:]", macos(14.0, API_TO_BE_DEPRECATED), ios(17.0, API_TO_BE_DEPRECATED), tvos(17.0, API_TO_BE_DEPRECATED), watchos(10.0, API_TO_BE_DEPRECATED), visionos(1.0, API_TO_BE_DEPRECATED));
 
 /// Convenience initializer setting the preferred speed multiplier.
 ///
@@ -70,6 +128,20 @@
 /// - Returns: A new instance with the preferred speed multiplier.
 - (instancetype)optionsWithSpeed:(double)speed;
 
+/// Convenience initializer setting a preferred repeat behavior.
+///
+/// - Parameter behavior: The preferred behavior when the effect is repeated.
+///
+/// - Returns: A new options object with the preferred repeat behavior.
++ (instancetype)optionsWithRepeatBehavior:(NSSymbolEffectOptionsRepeatBehavior *)behavior API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+
+/// Return a copy of the options setting a preferred repeat behavior.
+///
+/// - Parameter behavior: The preferred behavior when the effect is repeated.
+///
+/// - Returns: A new options object with the preferred repeat behavior.
+- (instancetype)optionsWithRepeatBehavior:(NSSymbolEffectOptionsRepeatBehavior *)behavior API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+
 @end
 
 #pragma mark - Base Effect
@@ -77,7 +149,7 @@
 /// An abstract base class for effects that can be applied to both NSImageViews and UIImageViews that have symbol-based images.
 ///
 /// Don't use this class directly, instead use any of the concrete subclasses.
-API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) NS_REFINED_FOR_SWIFT
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0)) NS_REFINED_FOR_SWIFT
 @interface NSSymbolEffect : NSObject <NSCopying, NSSecureCoding>
 
 + (instancetype)new NS_UNAVAILABLE;
@@ -92,7 +164,7 @@
 ///
 /// The Pulse animation fades the opacity of either all layers in
 /// the symbol, or of a subset of the layers in the symbol.
-API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) NS_REFINED_FOR_SWIFT
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0)) NS_REFINED_FOR_SWIFT
 @interface NSSymbolPulseEffect : NSSymbolEffect
 
 /// The default pulse effect, determined by the system.
@@ -112,7 +184,7 @@
 /// symbol images.
 ///
 /// The Bounce animation applies a transitory scaling effect to the symbol.
-API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) NS_REFINED_FOR_SWIFT
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0)) NS_REFINED_FOR_SWIFT
 @interface NSSymbolBounceEffect : NSSymbolEffect
 
 /// The default bounce effect, determined by the system.
@@ -141,7 +213,7 @@
 /// layers in the symbol by a possibly repeating pattern that moves
 /// up and possibly back down the variable layers. It has no effect
 /// for non-variable color symbol images.
-API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) NS_REFINED_FOR_SWIFT
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0)) NS_REFINED_FOR_SWIFT
 @interface NSSymbolVariableColorEffect : NSSymbolEffect
 
 /// The default variable color effect, determined by the system.
@@ -171,7 +243,7 @@
 #pragma mark - Scale Effect
 
 /// A symbol effect that scales symbol images.
-API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) NS_REFINED_FOR_SWIFT
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0)) NS_REFINED_FOR_SWIFT
 @interface NSSymbolScaleEffect : NSSymbolEffect
 
 /// The default scaling effect, determined by the system.
@@ -198,7 +270,7 @@
 ///
 /// The Appear animation makes the symbol visible either as a whole,
 /// or one motion group at a time.
-API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) NS_REFINED_FOR_SWIFT
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0)) NS_REFINED_FOR_SWIFT
 @interface NSSymbolAppearEffect : NSSymbolEffect
 
 /// The default appear effect, determined by the system.
@@ -225,7 +297,7 @@
 ///
 /// The Disappear animation makes the symbol visible either as a whole,
 /// or one motion group at a time.
-API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) NS_REFINED_FOR_SWIFT
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0)) NS_REFINED_FOR_SWIFT
 @interface NSSymbolDisappearEffect : NSSymbolEffect
 
 /// The default disappear effect, determined by the system.
@@ -245,13 +317,126 @@
 
 @end
 
+#pragma mark - Wiggle Effect
+
+/// A symbol effect that applies the Wiggle animation to symbol images.
+///
+/// The Wiggle animation applies a transitory translation or rotation effect
+/// to the symbol.
+API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)) NS_REFINED_FOR_SWIFT
+@interface NSSymbolWiggleEffect : NSSymbolEffect
+
+/// The default wiggle effect, determined by the system.
++ (instancetype)effect;
+
+/// Convenience initializer for a wiggle effect that
+/// rotates back and forth, starting by rotating clockwise.
++ (instancetype)wiggleClockwiseEffect;
+
+/// Convenience initializer for a wiggle effect that
+/// rotates back and forth, starting by rotating counter-clockwise.
++ (instancetype)wiggleCounterClockwiseEffect;
+
+/// Convenience initializer for a wiggle effect that
+/// moves back and forth horizontally, starting by moving left.
++ (instancetype)wiggleLeftEffect;
+
+/// Convenience initializer for a wiggle effect that
+/// moves back and forth horizontally, starting by moving right.
++ (instancetype)wiggleRightEffect;
+
+/// Convenience initializer for a wiggle effect that
+/// moves back and forth vertically, starting by moving up.
++ (instancetype)wiggleUpEffect;
+
+/// Convenience initializer for a wiggle effect that
+/// moves back and forth vertically, starting by moving down.
++ (instancetype)wiggleDownEffect;
+
+/// Convenience initializer for a wiggle effect that moves back and forth
+/// horizontally based on the current locale, starting by moving forward.
++ (instancetype)wiggleForwardEffect;
+
+/// Convenience initializer for a wiggle effect that moves back and forth
+/// horizontally based on the current locale, starting by moving backward.
++ (instancetype)wiggleBackwardEffect;
+
+/// Convenience initializer for a wiggle effect that moves back and forth
+/// along an axis, starting by moving toward a custom angle.
+///
+/// The angle is in degrees moving clockwise from the positive x-axis.
++ (instancetype)wiggleCustomAngleEffect:(double)angle;
+
+/// Returns a copy of the effect that animates incrementally, by layer.
+- (instancetype)effectWithByLayer;
+
+/// Returns a copy of the effect that animates all layers of the symbol simultaneously.
+- (instancetype)effectWithWholeSymbol;
+
+@end
+
+#pragma mark - Rotate Effect
+
+/// A symbol effect that applies the Rotate animation to
+/// symbol images.
+///
+/// The Rotate animation rotates parts of a symbol around a
+/// symbol-provided anchor point.
+API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)) NS_REFINED_FOR_SWIFT
+@interface NSSymbolRotateEffect : NSSymbolEffect
+
+/// The default rotate effect, determined by the system.
++ (instancetype)effect;
+
+/// Convenience initializer for a rotate effect that rotates clockwise.
++ (instancetype)rotateClockwiseEffect;
+    
+/// Convenience initializer for a rotate effect that rotates counter-clockwise.
++ (instancetype)rotateCounterClockwiseEffect;
+
+/// Returns a copy of the effect that animates incrementally, by layer.
+- (instancetype)effectWithByLayer;
+
+/// Returns a copy of the effect that animates all layers of the symbol simultaneously.
+- (instancetype)effectWithWholeSymbol;
+
+@end
+
+#pragma mark - Breathe Effect
+
+/// A symbol effect that applies the Breathe animation to
+/// symbol images.
+///
+/// The Breathe animation smoothly scales a symbol up and down.
+API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)) NS_REFINED_FOR_SWIFT
+@interface NSSymbolBreatheEffect : NSSymbolEffect
+
+/// The default breathe effect, determined by the system.
++ (instancetype)effect;
+
+/// Convenience initializer for a breathe effect that
+/// pulses layers as they breathe.
++ (instancetype)breathePulseEffect;
+
+/// Convenience initializer for a breathe effect that makes
+/// the symbol breathe with no other styling.
++ (instancetype)breathePlainEffect;
+
+/// Returns a copy of the effect that animates incrementally, by layer.
+- (instancetype)effectWithByLayer;
+
+/// Returns a copy of the effect that animates all layers of the symbol simultaneously.
+- (instancetype)effectWithWholeSymbol;
+
+@end
+
 #pragma mark - Base Content Transitions
 
 /// An abstract base class for transitions that can be applied to both NSImageViews and
 /// UIImageViews that have symbol-based images.
 ///
 /// Don't use this class directly, instead use any of the concrete subclasses.
-API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) NS_REFINED_FOR_SWIFT
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0)) NS_REFINED_FOR_SWIFT
 @interface NSSymbolContentTransition : NSObject <NSCopying, NSSecureCoding>
 
 + (instancetype)new NS_UNAVAILABLE;
@@ -261,9 +446,20 @@
 
 #pragma mark - Replace Content Transition
 
+#pragma mark - MagicReplace Content Transition
+
+/// A symbol effect applies the MagicReplace animation to
+/// symbol images.
+///
+/// The MagicReplace effect animates common elements across
+/// symbol images.
+API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0)) NS_REFINED_FOR_SWIFT
+@interface NSSymbolMagicReplaceContentTransition : NSSymbolContentTransition
+@end
+
 /// A symbol effect that animates the replacement of one symbol image
 /// with another.
-API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) NS_REFINED_FOR_SWIFT
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0)) NS_REFINED_FOR_SWIFT
 @interface NSSymbolReplaceContentTransition : NSSymbolContentTransition
 
 /// The default replace transition, determined by the system.
@@ -287,13 +483,16 @@
 /// Returns a copy of the content transition that animates all layers of the symbol simultaneously.
 - (instancetype)transitionWithWholeSymbol;
 
+/// Convenience initializer for a MagicReplace content transition with a configured Replace fallback.
++ (NSSymbolMagicReplaceContentTransition *)magicTransitionWithFallback:(NSSymbolReplaceContentTransition *)fallback API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
+
 @end
 
 #pragma mark - Automatic Content Transition
 
 /// The default symbol transition, resolves to a particular transition in a
 /// context-sensitive manner.
-API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) NS_REFINED_FOR_SWIFT
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0), visionos(1.0)) NS_REFINED_FOR_SWIFT
 @interface NSSymbolAutomaticContentTransition : NSSymbolContentTransition
 
 /// The default automatic transition, determined by the system.
Clone this wiki locally