objc2_symbols/generated/
NSSymbolEffect.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10extern_class!(
11    /// The behavior of repetition to use when a symbol effect is animating.
12    ///
13    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymboleffectoptionsrepeatbehavior?language=objc)
14    #[unsafe(super(NSObject))]
15    #[derive(Debug, PartialEq, Eq, Hash)]
16    pub struct NSSymbolEffectOptionsRepeatBehavior;
17);
18
19extern_conformance!(
20    unsafe impl NSCoding for NSSymbolEffectOptionsRepeatBehavior {}
21);
22
23extern_conformance!(
24    unsafe impl NSCopying for NSSymbolEffectOptionsRepeatBehavior {}
25);
26
27unsafe impl CopyingHelper for NSSymbolEffectOptionsRepeatBehavior {
28    type Result = Self;
29}
30
31extern_conformance!(
32    unsafe impl NSObjectProtocol for NSSymbolEffectOptionsRepeatBehavior {}
33);
34
35extern_conformance!(
36    unsafe impl NSSecureCoding for NSSymbolEffectOptionsRepeatBehavior {}
37);
38
39impl NSSymbolEffectOptionsRepeatBehavior {
40    extern_methods!(
41        #[unsafe(method(new))]
42        #[unsafe(method_family = new)]
43        pub unsafe fn new() -> Retained<Self>;
44
45        #[unsafe(method(init))]
46        #[unsafe(method_family = init)]
47        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
48
49        /// Creates and returns a repeat behavior that prefers to repeat indefinitely using periodic animations.
50        /// Periodic animations play the effect at regular intervals starting and stopping each time.
51        ///
52        /// - Returns: A new behavior that prefers to repeat indefinitely using periodic animations.
53        #[unsafe(method(behaviorPeriodic))]
54        #[unsafe(method_family = none)]
55        pub unsafe fn behaviorPeriodic() -> Retained<Self>;
56
57        /// Creates and returns a repeat behavior with a preferred play count using periodic animations.
58        /// Periodic animations play the effect at regular intervals starting and stopping each time.
59        ///
60        /// - Parameter count: The preferred number of times to play the
61        /// effect. Very
62        /// large or small values may be clamped.
63        ///
64        /// - Returns: A new behavior with the preferred
65        /// play count using periodic animations.
66        #[unsafe(method(behaviorPeriodicWithCount:))]
67        #[unsafe(method_family = none)]
68        pub unsafe fn behaviorPeriodicWithCount(count: NSInteger) -> Retained<Self>;
69
70        /// Creates and returns a repeat behavior with a preferred repeat delay using periodic animations.
71        /// Periodic animations play the effect at regular intervals starting and stopping each time.
72        ///
73        /// - Parameter delay: The preferred delay between repetitions,
74        /// in seconds.
75        ///
76        /// - Returns: A new behavior that prefers to repeat indefinitely
77        /// with a specified delay using periodic animations.
78        #[unsafe(method(behaviorPeriodicWithDelay:))]
79        #[unsafe(method_family = none)]
80        pub unsafe fn behaviorPeriodicWithDelay(delay: c_double) -> Retained<Self>;
81
82        /// Creates and returns a repeat behavior with a preferred play count and delay using periodic animations.
83        /// Periodic animations play the effect at regular intervals starting and stopping each time.
84        ///
85        /// - Parameter count: The preferred number of times to play the
86        /// effect. Very
87        /// large or small values may be clamped.
88        ///
89        /// - Parameter delay: The preferred delay between repetitions,
90        /// in seconds.
91        ///
92        /// - Returns: A new behavior with the preferred
93        /// play count and delay using periodic animations.
94        #[unsafe(method(behaviorPeriodicWithCount:delay:))]
95        #[unsafe(method_family = none)]
96        pub unsafe fn behaviorPeriodicWithCount_delay(
97            count: NSInteger,
98            delay: c_double,
99        ) -> Retained<Self>;
100
101        /// Creates and returns a repeat behavior that prefers to repeat indefinitely,
102        /// using continuous animations if available.
103        /// Continuous animations have an intro, a body that runs as long as the effect is enabled, and an outro.
104        /// If available these animations provide a smoother animation when an effect repeats indefinitely.
105        ///
106        /// - Returns: A new behavior that prefers to repeat indefinitely with continuous animations.
107        #[unsafe(method(behaviorContinuous))]
108        #[unsafe(method_family = none)]
109        pub unsafe fn behaviorContinuous() -> Retained<Self>;
110    );
111}
112
113extern_class!(
114    /// Options configuring how symbol effects apply to symbol views.
115    ///
116    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymboleffectoptions?language=objc)
117    #[unsafe(super(NSObject))]
118    #[derive(Debug, PartialEq, Eq, Hash)]
119    pub struct NSSymbolEffectOptions;
120);
121
122extern_conformance!(
123    unsafe impl NSCoding for NSSymbolEffectOptions {}
124);
125
126extern_conformance!(
127    unsafe impl NSCopying for NSSymbolEffectOptions {}
128);
129
130unsafe impl CopyingHelper for NSSymbolEffectOptions {
131    type Result = Self;
132}
133
134extern_conformance!(
135    unsafe impl NSObjectProtocol for NSSymbolEffectOptions {}
136);
137
138extern_conformance!(
139    unsafe impl NSSecureCoding for NSSymbolEffectOptions {}
140);
141
142impl NSSymbolEffectOptions {
143    extern_methods!(
144        #[unsafe(method(new))]
145        #[unsafe(method_family = new)]
146        pub unsafe fn new() -> Retained<Self>;
147
148        #[unsafe(method(init))]
149        #[unsafe(method_family = init)]
150        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
151
152        /// The default options.
153        #[unsafe(method(options))]
154        #[unsafe(method_family = none)]
155        pub unsafe fn options() -> Retained<Self>;
156
157        /// Convenience initializer that prefers to repeat indefinitely.
158        #[deprecated]
159        #[unsafe(method(optionsWithRepeating))]
160        #[unsafe(method_family = none)]
161        pub unsafe fn optionsWithRepeating_class() -> Retained<Self>;
162
163        /// Return a copy of the options that prefers to repeat indefinitely.
164        #[deprecated]
165        #[unsafe(method(optionsWithRepeating))]
166        #[unsafe(method_family = none)]
167        pub unsafe fn optionsWithRepeating(&self) -> Retained<Self>;
168
169        /// Convenience initializer that prefers not to repeat.
170        #[unsafe(method(optionsWithNonRepeating))]
171        #[unsafe(method_family = none)]
172        pub unsafe fn optionsWithNonRepeating_class() -> Retained<Self>;
173
174        /// Return a copy of the options that prefers not to repeat.
175        #[unsafe(method(optionsWithNonRepeating))]
176        #[unsafe(method_family = none)]
177        pub unsafe fn optionsWithNonRepeating(&self) -> Retained<Self>;
178
179        /// Convenience initializer setting a preferred repeat count.
180        ///
181        /// - Parameter count: The preferred number of times to play the
182        /// effect. Very large or small values may be clamped.
183        ///
184        /// - Returns: A new options object with the preferred repeat count.
185        #[deprecated]
186        #[unsafe(method(optionsWithRepeatCount:))]
187        #[unsafe(method_family = none)]
188        pub unsafe fn optionsWithRepeatCount_class(count: NSInteger) -> Retained<Self>;
189
190        /// Return a copy of the options setting a preferred repeat count.
191        ///
192        /// - Parameter count: The preferred number of times to play the
193        /// effect. Very large or small values may be clamped.
194        ///
195        /// - Returns: A new options object with the preferred repeat count.
196        #[deprecated]
197        #[unsafe(method(optionsWithRepeatCount:))]
198        #[unsafe(method_family = none)]
199        pub unsafe fn optionsWithRepeatCount(&self, count: NSInteger) -> Retained<Self>;
200
201        /// Convenience initializer setting the preferred speed multiplier.
202        ///
203        /// - Parameter speed: the preferred speed multiplier to play the effect with.
204        /// The default multiplier is `1.0`. Very large or small values may
205        /// be clamped.
206        ///
207        /// - Returns: A new instance with the preferred speed multiplier.
208        #[unsafe(method(optionsWithSpeed:))]
209        #[unsafe(method_family = none)]
210        pub unsafe fn optionsWithSpeed_class(speed: c_double) -> Retained<Self>;
211
212        /// Return a copy of the options setting the preferred speed multiplier.
213        ///
214        /// - Parameter speed: The preferred speed multiplier to play the effect with.
215        /// The default multiplier is `1.0`. Very large or small values may
216        /// be clamped.
217        ///
218        /// - Returns: A new instance with the preferred speed multiplier.
219        #[unsafe(method(optionsWithSpeed:))]
220        #[unsafe(method_family = none)]
221        pub unsafe fn optionsWithSpeed(&self, speed: c_double) -> Retained<Self>;
222
223        /// Convenience initializer setting a preferred repeat behavior.
224        ///
225        /// - Parameter behavior: The preferred behavior when the effect is repeated.
226        ///
227        /// - Returns: A new options object with the preferred repeat behavior.
228        #[unsafe(method(optionsWithRepeatBehavior:))]
229        #[unsafe(method_family = none)]
230        pub unsafe fn optionsWithRepeatBehavior_class(
231            behavior: &NSSymbolEffectOptionsRepeatBehavior,
232        ) -> Retained<Self>;
233
234        /// Return a copy of the options setting a preferred repeat behavior.
235        ///
236        /// - Parameter behavior: The preferred behavior when the effect is repeated.
237        ///
238        /// - Returns: A new options object with the preferred repeat behavior.
239        #[unsafe(method(optionsWithRepeatBehavior:))]
240        #[unsafe(method_family = none)]
241        pub unsafe fn optionsWithRepeatBehavior(
242            &self,
243            behavior: &NSSymbolEffectOptionsRepeatBehavior,
244        ) -> Retained<Self>;
245    );
246}
247
248extern_class!(
249    /// An abstract base class for effects that can be applied to both NSImageViews and UIImageViews that have symbol-based images.
250    ///
251    /// Don't use this class directly, instead use any of the concrete subclasses.
252    ///
253    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymboleffect?language=objc)
254    #[unsafe(super(NSObject))]
255    #[derive(Debug, PartialEq, Eq, Hash)]
256    pub struct NSSymbolEffect;
257);
258
259extern_conformance!(
260    unsafe impl NSCoding for NSSymbolEffect {}
261);
262
263extern_conformance!(
264    unsafe impl NSCopying for NSSymbolEffect {}
265);
266
267unsafe impl CopyingHelper for NSSymbolEffect {
268    type Result = Self;
269}
270
271extern_conformance!(
272    unsafe impl NSObjectProtocol for NSSymbolEffect {}
273);
274
275extern_conformance!(
276    unsafe impl NSSecureCoding for NSSymbolEffect {}
277);
278
279impl NSSymbolEffect {
280    extern_methods!(
281        #[unsafe(method(new))]
282        #[unsafe(method_family = new)]
283        pub unsafe fn new() -> Retained<Self>;
284
285        #[unsafe(method(init))]
286        #[unsafe(method_family = init)]
287        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
288    );
289}
290
291extern_class!(
292    /// A symbol effect that applies the Pulse animation to
293    /// symbol images.
294    ///
295    /// The Pulse animation fades the opacity of either all layers in
296    /// the symbol, or of a subset of the layers in the symbol.
297    ///
298    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymbolpulseeffect?language=objc)
299    #[unsafe(super(NSSymbolEffect, NSObject))]
300    #[derive(Debug, PartialEq, Eq, Hash)]
301    pub struct NSSymbolPulseEffect;
302);
303
304extern_conformance!(
305    unsafe impl NSCoding for NSSymbolPulseEffect {}
306);
307
308extern_conformance!(
309    unsafe impl NSCopying for NSSymbolPulseEffect {}
310);
311
312unsafe impl CopyingHelper for NSSymbolPulseEffect {
313    type Result = Self;
314}
315
316extern_conformance!(
317    unsafe impl NSObjectProtocol for NSSymbolPulseEffect {}
318);
319
320extern_conformance!(
321    unsafe impl NSSecureCoding for NSSymbolPulseEffect {}
322);
323
324impl NSSymbolPulseEffect {
325    extern_methods!(
326        /// The default pulse effect, determined by the system.
327        #[unsafe(method(effect))]
328        #[unsafe(method_family = none)]
329        pub unsafe fn effect() -> Retained<Self>;
330
331        /// Returns a copy of the effect that only animates annotated pulse layers.
332        #[unsafe(method(effectWithByLayer))]
333        #[unsafe(method_family = none)]
334        pub unsafe fn effectWithByLayer(&self) -> Retained<Self>;
335
336        /// Returns a copy of the effect that animates all layers of the symbol simultaneously.
337        #[unsafe(method(effectWithWholeSymbol))]
338        #[unsafe(method_family = none)]
339        pub unsafe fn effectWithWholeSymbol(&self) -> Retained<Self>;
340    );
341}
342
343/// Methods declared on superclass `NSSymbolEffect`.
344impl NSSymbolPulseEffect {
345    extern_methods!(
346        #[unsafe(method(new))]
347        #[unsafe(method_family = new)]
348        pub unsafe fn new() -> Retained<Self>;
349
350        #[unsafe(method(init))]
351        #[unsafe(method_family = init)]
352        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
353    );
354}
355
356extern_class!(
357    /// A symbol effect that applies the Bounce animation to
358    /// symbol images.
359    ///
360    /// The Bounce animation applies a transitory scaling effect to the symbol.
361    ///
362    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymbolbounceeffect?language=objc)
363    #[unsafe(super(NSSymbolEffect, NSObject))]
364    #[derive(Debug, PartialEq, Eq, Hash)]
365    pub struct NSSymbolBounceEffect;
366);
367
368extern_conformance!(
369    unsafe impl NSCoding for NSSymbolBounceEffect {}
370);
371
372extern_conformance!(
373    unsafe impl NSCopying for NSSymbolBounceEffect {}
374);
375
376unsafe impl CopyingHelper for NSSymbolBounceEffect {
377    type Result = Self;
378}
379
380extern_conformance!(
381    unsafe impl NSObjectProtocol for NSSymbolBounceEffect {}
382);
383
384extern_conformance!(
385    unsafe impl NSSecureCoding for NSSymbolBounceEffect {}
386);
387
388impl NSSymbolBounceEffect {
389    extern_methods!(
390        /// The default bounce effect, determined by the system.
391        #[unsafe(method(effect))]
392        #[unsafe(method_family = none)]
393        pub unsafe fn effect() -> Retained<Self>;
394
395        /// Convenience initializer for a bounce effect that bounces up.
396        #[unsafe(method(bounceUpEffect))]
397        #[unsafe(method_family = none)]
398        pub unsafe fn bounceUpEffect() -> Retained<Self>;
399
400        /// Convenience initializer for a bounce effect that bounces down.
401        #[unsafe(method(bounceDownEffect))]
402        #[unsafe(method_family = none)]
403        pub unsafe fn bounceDownEffect() -> Retained<Self>;
404
405        /// Returns a copy of the effect that animates incrementally, by layer.
406        #[unsafe(method(effectWithByLayer))]
407        #[unsafe(method_family = none)]
408        pub unsafe fn effectWithByLayer(&self) -> Retained<Self>;
409
410        /// Returns a copy of the effect that animates all layers of the symbol simultaneously.
411        #[unsafe(method(effectWithWholeSymbol))]
412        #[unsafe(method_family = none)]
413        pub unsafe fn effectWithWholeSymbol(&self) -> Retained<Self>;
414    );
415}
416
417/// Methods declared on superclass `NSSymbolEffect`.
418impl NSSymbolBounceEffect {
419    extern_methods!(
420        #[unsafe(method(new))]
421        #[unsafe(method_family = new)]
422        pub unsafe fn new() -> Retained<Self>;
423
424        #[unsafe(method(init))]
425        #[unsafe(method_family = init)]
426        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
427    );
428}
429
430extern_class!(
431    /// A symbol effect that applies the Variable Color
432    /// animation to symbol images.
433    ///
434    /// The Variable Color animation replaces the opacity of variable
435    /// layers in the symbol by a possibly repeating pattern that moves
436    /// up and possibly back down the variable layers. It has no effect
437    /// for non-variable color symbol images.
438    ///
439    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymbolvariablecoloreffect?language=objc)
440    #[unsafe(super(NSSymbolEffect, NSObject))]
441    #[derive(Debug, PartialEq, Eq, Hash)]
442    pub struct NSSymbolVariableColorEffect;
443);
444
445extern_conformance!(
446    unsafe impl NSCoding for NSSymbolVariableColorEffect {}
447);
448
449extern_conformance!(
450    unsafe impl NSCopying for NSSymbolVariableColorEffect {}
451);
452
453unsafe impl CopyingHelper for NSSymbolVariableColorEffect {
454    type Result = Self;
455}
456
457extern_conformance!(
458    unsafe impl NSObjectProtocol for NSSymbolVariableColorEffect {}
459);
460
461extern_conformance!(
462    unsafe impl NSSecureCoding for NSSymbolVariableColorEffect {}
463);
464
465impl NSSymbolVariableColorEffect {
466    extern_methods!(
467        /// The default variable color effect, determined by the system.
468        #[unsafe(method(effect))]
469        #[unsafe(method_family = none)]
470        pub unsafe fn effect() -> Retained<Self>;
471
472        /// Returns a copy of the effect that activates one layer at a time. This cancels the cumulative variant.
473        #[unsafe(method(effectWithIterative))]
474        #[unsafe(method_family = none)]
475        pub unsafe fn effectWithIterative(&self) -> Retained<Self>;
476
477        /// Returns a copy of the effect that activates each layer until all layers are active. This cancels the iterative variant.
478        #[unsafe(method(effectWithCumulative))]
479        #[unsafe(method_family = none)]
480        pub unsafe fn effectWithCumulative(&self) -> Retained<Self>;
481
482        /// Returns a copy of the effect that animates in reverse after fully executing. This cancels the nonReversing variant.
483        #[unsafe(method(effectWithReversing))]
484        #[unsafe(method_family = none)]
485        pub unsafe fn effectWithReversing(&self) -> Retained<Self>;
486
487        /// Returns a copy of the effect that only animates forwards before restarting. This cancels the reversing variant.
488        #[unsafe(method(effectWithNonReversing))]
489        #[unsafe(method_family = none)]
490        pub unsafe fn effectWithNonReversing(&self) -> Retained<Self>;
491
492        /// Returns a copy of the effect that hides layers when they are inactive.
493        #[unsafe(method(effectWithHideInactiveLayers))]
494        #[unsafe(method_family = none)]
495        pub unsafe fn effectWithHideInactiveLayers(&self) -> Retained<Self>;
496
497        /// Returns a copy of the effect that draws layers with reduced (but non-zero)
498        /// opacity when they are inactive.
499        #[unsafe(method(effectWithDimInactiveLayers))]
500        #[unsafe(method_family = none)]
501        pub unsafe fn effectWithDimInactiveLayers(&self) -> Retained<Self>;
502    );
503}
504
505/// Methods declared on superclass `NSSymbolEffect`.
506impl NSSymbolVariableColorEffect {
507    extern_methods!(
508        #[unsafe(method(new))]
509        #[unsafe(method_family = new)]
510        pub unsafe fn new() -> Retained<Self>;
511
512        #[unsafe(method(init))]
513        #[unsafe(method_family = init)]
514        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
515    );
516}
517
518extern_class!(
519    /// A symbol effect that scales symbol images.
520    ///
521    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymbolscaleeffect?language=objc)
522    #[unsafe(super(NSSymbolEffect, NSObject))]
523    #[derive(Debug, PartialEq, Eq, Hash)]
524    pub struct NSSymbolScaleEffect;
525);
526
527extern_conformance!(
528    unsafe impl NSCoding for NSSymbolScaleEffect {}
529);
530
531extern_conformance!(
532    unsafe impl NSCopying for NSSymbolScaleEffect {}
533);
534
535unsafe impl CopyingHelper for NSSymbolScaleEffect {
536    type Result = Self;
537}
538
539extern_conformance!(
540    unsafe impl NSObjectProtocol for NSSymbolScaleEffect {}
541);
542
543extern_conformance!(
544    unsafe impl NSSecureCoding for NSSymbolScaleEffect {}
545);
546
547impl NSSymbolScaleEffect {
548    extern_methods!(
549        /// The default scaling effect, determined by the system.
550        #[unsafe(method(effect))]
551        #[unsafe(method_family = none)]
552        pub unsafe fn effect() -> Retained<Self>;
553
554        /// Convenience initializer to create a scale effect with a scale up level.
555        #[unsafe(method(scaleUpEffect))]
556        #[unsafe(method_family = none)]
557        pub unsafe fn scaleUpEffect() -> Retained<Self>;
558
559        /// Convenience initializer to create a scale effect with a scale down level.
560        #[unsafe(method(scaleDownEffect))]
561        #[unsafe(method_family = none)]
562        pub unsafe fn scaleDownEffect() -> Retained<Self>;
563
564        /// Returns a copy of the effect that animates incrementally, by layer.
565        #[unsafe(method(effectWithByLayer))]
566        #[unsafe(method_family = none)]
567        pub unsafe fn effectWithByLayer(&self) -> Retained<Self>;
568
569        /// Returns a copy of the effect that animates all layers of the symbol simultaneously.
570        #[unsafe(method(effectWithWholeSymbol))]
571        #[unsafe(method_family = none)]
572        pub unsafe fn effectWithWholeSymbol(&self) -> Retained<Self>;
573    );
574}
575
576/// Methods declared on superclass `NSSymbolEffect`.
577impl NSSymbolScaleEffect {
578    extern_methods!(
579        #[unsafe(method(new))]
580        #[unsafe(method_family = new)]
581        pub unsafe fn new() -> Retained<Self>;
582
583        #[unsafe(method(init))]
584        #[unsafe(method_family = init)]
585        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
586    );
587}
588
589extern_class!(
590    /// A symbol effect that applies the Appear animation to
591    /// symbol images.
592    ///
593    /// The Appear animation makes the symbol visible either as a whole,
594    /// or one motion group at a time.
595    ///
596    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymbolappeareffect?language=objc)
597    #[unsafe(super(NSSymbolEffect, NSObject))]
598    #[derive(Debug, PartialEq, Eq, Hash)]
599    pub struct NSSymbolAppearEffect;
600);
601
602extern_conformance!(
603    unsafe impl NSCoding for NSSymbolAppearEffect {}
604);
605
606extern_conformance!(
607    unsafe impl NSCopying for NSSymbolAppearEffect {}
608);
609
610unsafe impl CopyingHelper for NSSymbolAppearEffect {
611    type Result = Self;
612}
613
614extern_conformance!(
615    unsafe impl NSObjectProtocol for NSSymbolAppearEffect {}
616);
617
618extern_conformance!(
619    unsafe impl NSSecureCoding for NSSymbolAppearEffect {}
620);
621
622impl NSSymbolAppearEffect {
623    extern_methods!(
624        /// The default appear effect, determined by the system.
625        #[unsafe(method(effect))]
626        #[unsafe(method_family = none)]
627        pub unsafe fn effect() -> Retained<Self>;
628
629        /// Convenience initializer for an appear effect that appears scaling up.
630        #[unsafe(method(appearUpEffect))]
631        #[unsafe(method_family = none)]
632        pub unsafe fn appearUpEffect() -> Retained<Self>;
633
634        /// Convenience initializer for an appear effect that appears scaling down.
635        #[unsafe(method(appearDownEffect))]
636        #[unsafe(method_family = none)]
637        pub unsafe fn appearDownEffect() -> Retained<Self>;
638
639        /// Returns a copy of the effect that animates incrementally, by layer.
640        #[unsafe(method(effectWithByLayer))]
641        #[unsafe(method_family = none)]
642        pub unsafe fn effectWithByLayer(&self) -> Retained<Self>;
643
644        /// Returns a copy of the effect that animates all layers of the symbol simultaneously.
645        #[unsafe(method(effectWithWholeSymbol))]
646        #[unsafe(method_family = none)]
647        pub unsafe fn effectWithWholeSymbol(&self) -> Retained<Self>;
648    );
649}
650
651/// Methods declared on superclass `NSSymbolEffect`.
652impl NSSymbolAppearEffect {
653    extern_methods!(
654        #[unsafe(method(new))]
655        #[unsafe(method_family = new)]
656        pub unsafe fn new() -> Retained<Self>;
657
658        #[unsafe(method(init))]
659        #[unsafe(method_family = init)]
660        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
661    );
662}
663
664extern_class!(
665    /// A symbol effect that applies the Disappear animation to
666    /// symbol images.
667    ///
668    /// The Disappear animation makes the symbol visible either as a whole,
669    /// or one motion group at a time.
670    ///
671    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymboldisappeareffect?language=objc)
672    #[unsafe(super(NSSymbolEffect, NSObject))]
673    #[derive(Debug, PartialEq, Eq, Hash)]
674    pub struct NSSymbolDisappearEffect;
675);
676
677extern_conformance!(
678    unsafe impl NSCoding for NSSymbolDisappearEffect {}
679);
680
681extern_conformance!(
682    unsafe impl NSCopying for NSSymbolDisappearEffect {}
683);
684
685unsafe impl CopyingHelper for NSSymbolDisappearEffect {
686    type Result = Self;
687}
688
689extern_conformance!(
690    unsafe impl NSObjectProtocol for NSSymbolDisappearEffect {}
691);
692
693extern_conformance!(
694    unsafe impl NSSecureCoding for NSSymbolDisappearEffect {}
695);
696
697impl NSSymbolDisappearEffect {
698    extern_methods!(
699        /// The default disappear effect, determined by the system.
700        #[unsafe(method(effect))]
701        #[unsafe(method_family = none)]
702        pub unsafe fn effect() -> Retained<Self>;
703
704        /// Convenience initializer for a disappear effect that disappears scaling up.
705        #[unsafe(method(disappearUpEffect))]
706        #[unsafe(method_family = none)]
707        pub unsafe fn disappearUpEffect() -> Retained<Self>;
708
709        /// Convenience initializer for a disappear effect that disappears scaling down.
710        #[unsafe(method(disappearDownEffect))]
711        #[unsafe(method_family = none)]
712        pub unsafe fn disappearDownEffect() -> Retained<Self>;
713
714        /// Returns a copy of the effect that animates incrementally, by layer.
715        #[unsafe(method(effectWithByLayer))]
716        #[unsafe(method_family = none)]
717        pub unsafe fn effectWithByLayer(&self) -> Retained<Self>;
718
719        /// Returns a copy of the effect that animates all layers of the symbol simultaneously.
720        #[unsafe(method(effectWithWholeSymbol))]
721        #[unsafe(method_family = none)]
722        pub unsafe fn effectWithWholeSymbol(&self) -> Retained<Self>;
723    );
724}
725
726/// Methods declared on superclass `NSSymbolEffect`.
727impl NSSymbolDisappearEffect {
728    extern_methods!(
729        #[unsafe(method(new))]
730        #[unsafe(method_family = new)]
731        pub unsafe fn new() -> Retained<Self>;
732
733        #[unsafe(method(init))]
734        #[unsafe(method_family = init)]
735        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
736    );
737}
738
739extern_class!(
740    /// A symbol effect that applies the Wiggle animation to symbol images.
741    ///
742    /// The Wiggle animation applies a transitory translation or rotation effect
743    /// to the symbol.
744    ///
745    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymbolwiggleeffect?language=objc)
746    #[unsafe(super(NSSymbolEffect, NSObject))]
747    #[derive(Debug, PartialEq, Eq, Hash)]
748    pub struct NSSymbolWiggleEffect;
749);
750
751extern_conformance!(
752    unsafe impl NSCoding for NSSymbolWiggleEffect {}
753);
754
755extern_conformance!(
756    unsafe impl NSCopying for NSSymbolWiggleEffect {}
757);
758
759unsafe impl CopyingHelper for NSSymbolWiggleEffect {
760    type Result = Self;
761}
762
763extern_conformance!(
764    unsafe impl NSObjectProtocol for NSSymbolWiggleEffect {}
765);
766
767extern_conformance!(
768    unsafe impl NSSecureCoding for NSSymbolWiggleEffect {}
769);
770
771impl NSSymbolWiggleEffect {
772    extern_methods!(
773        /// The default wiggle effect, determined by the system.
774        #[unsafe(method(effect))]
775        #[unsafe(method_family = none)]
776        pub unsafe fn effect() -> Retained<Self>;
777
778        /// Convenience initializer for a wiggle effect that
779        /// rotates back and forth, starting by rotating clockwise.
780        #[unsafe(method(wiggleClockwiseEffect))]
781        #[unsafe(method_family = none)]
782        pub unsafe fn wiggleClockwiseEffect() -> Retained<Self>;
783
784        /// Convenience initializer for a wiggle effect that
785        /// rotates back and forth, starting by rotating counter-clockwise.
786        #[unsafe(method(wiggleCounterClockwiseEffect))]
787        #[unsafe(method_family = none)]
788        pub unsafe fn wiggleCounterClockwiseEffect() -> Retained<Self>;
789
790        /// Convenience initializer for a wiggle effect that
791        /// moves back and forth horizontally, starting by moving left.
792        #[unsafe(method(wiggleLeftEffect))]
793        #[unsafe(method_family = none)]
794        pub unsafe fn wiggleLeftEffect() -> Retained<Self>;
795
796        /// Convenience initializer for a wiggle effect that
797        /// moves back and forth horizontally, starting by moving right.
798        #[unsafe(method(wiggleRightEffect))]
799        #[unsafe(method_family = none)]
800        pub unsafe fn wiggleRightEffect() -> Retained<Self>;
801
802        /// Convenience initializer for a wiggle effect that
803        /// moves back and forth vertically, starting by moving up.
804        #[unsafe(method(wiggleUpEffect))]
805        #[unsafe(method_family = none)]
806        pub unsafe fn wiggleUpEffect() -> Retained<Self>;
807
808        /// Convenience initializer for a wiggle effect that
809        /// moves back and forth vertically, starting by moving down.
810        #[unsafe(method(wiggleDownEffect))]
811        #[unsafe(method_family = none)]
812        pub unsafe fn wiggleDownEffect() -> Retained<Self>;
813
814        /// Convenience initializer for a wiggle effect that moves back and forth
815        /// horizontally based on the current locale, starting by moving forward.
816        #[unsafe(method(wiggleForwardEffect))]
817        #[unsafe(method_family = none)]
818        pub unsafe fn wiggleForwardEffect() -> Retained<Self>;
819
820        /// Convenience initializer for a wiggle effect that moves back and forth
821        /// horizontally based on the current locale, starting by moving backward.
822        #[unsafe(method(wiggleBackwardEffect))]
823        #[unsafe(method_family = none)]
824        pub unsafe fn wiggleBackwardEffect() -> Retained<Self>;
825
826        /// Convenience initializer for a wiggle effect that moves back and forth
827        /// along an axis, starting by moving toward a custom angle.
828        ///
829        /// The angle is in degrees moving clockwise from the positive x-axis.
830        #[unsafe(method(wiggleCustomAngleEffect:))]
831        #[unsafe(method_family = none)]
832        pub unsafe fn wiggleCustomAngleEffect(angle: c_double) -> Retained<Self>;
833
834        /// Returns a copy of the effect that animates incrementally, by layer.
835        #[unsafe(method(effectWithByLayer))]
836        #[unsafe(method_family = none)]
837        pub unsafe fn effectWithByLayer(&self) -> Retained<Self>;
838
839        /// Returns a copy of the effect that animates all layers of the symbol simultaneously.
840        #[unsafe(method(effectWithWholeSymbol))]
841        #[unsafe(method_family = none)]
842        pub unsafe fn effectWithWholeSymbol(&self) -> Retained<Self>;
843    );
844}
845
846/// Methods declared on superclass `NSSymbolEffect`.
847impl NSSymbolWiggleEffect {
848    extern_methods!(
849        #[unsafe(method(new))]
850        #[unsafe(method_family = new)]
851        pub unsafe fn new() -> Retained<Self>;
852
853        #[unsafe(method(init))]
854        #[unsafe(method_family = init)]
855        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
856    );
857}
858
859extern_class!(
860    /// A symbol effect that applies the Rotate animation to
861    /// symbol images.
862    ///
863    /// The Rotate animation rotates parts of a symbol around a
864    /// symbol-provided anchor point.
865    ///
866    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymbolrotateeffect?language=objc)
867    #[unsafe(super(NSSymbolEffect, NSObject))]
868    #[derive(Debug, PartialEq, Eq, Hash)]
869    pub struct NSSymbolRotateEffect;
870);
871
872extern_conformance!(
873    unsafe impl NSCoding for NSSymbolRotateEffect {}
874);
875
876extern_conformance!(
877    unsafe impl NSCopying for NSSymbolRotateEffect {}
878);
879
880unsafe impl CopyingHelper for NSSymbolRotateEffect {
881    type Result = Self;
882}
883
884extern_conformance!(
885    unsafe impl NSObjectProtocol for NSSymbolRotateEffect {}
886);
887
888extern_conformance!(
889    unsafe impl NSSecureCoding for NSSymbolRotateEffect {}
890);
891
892impl NSSymbolRotateEffect {
893    extern_methods!(
894        /// The default rotate effect, determined by the system.
895        #[unsafe(method(effect))]
896        #[unsafe(method_family = none)]
897        pub unsafe fn effect() -> Retained<Self>;
898
899        /// Convenience initializer for a rotate effect that rotates clockwise.
900        #[unsafe(method(rotateClockwiseEffect))]
901        #[unsafe(method_family = none)]
902        pub unsafe fn rotateClockwiseEffect() -> Retained<Self>;
903
904        /// Convenience initializer for a rotate effect that rotates counter-clockwise.
905        #[unsafe(method(rotateCounterClockwiseEffect))]
906        #[unsafe(method_family = none)]
907        pub unsafe fn rotateCounterClockwiseEffect() -> Retained<Self>;
908
909        /// Returns a copy of the effect that animates incrementally, by layer.
910        #[unsafe(method(effectWithByLayer))]
911        #[unsafe(method_family = none)]
912        pub unsafe fn effectWithByLayer(&self) -> Retained<Self>;
913
914        /// Returns a copy of the effect that animates all layers of the symbol simultaneously.
915        #[unsafe(method(effectWithWholeSymbol))]
916        #[unsafe(method_family = none)]
917        pub unsafe fn effectWithWholeSymbol(&self) -> Retained<Self>;
918    );
919}
920
921/// Methods declared on superclass `NSSymbolEffect`.
922impl NSSymbolRotateEffect {
923    extern_methods!(
924        #[unsafe(method(new))]
925        #[unsafe(method_family = new)]
926        pub unsafe fn new() -> Retained<Self>;
927
928        #[unsafe(method(init))]
929        #[unsafe(method_family = init)]
930        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
931    );
932}
933
934extern_class!(
935    /// A symbol effect that applies the Breathe animation to
936    /// symbol images.
937    ///
938    /// The Breathe animation smoothly scales a symbol up and down.
939    ///
940    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymbolbreatheeffect?language=objc)
941    #[unsafe(super(NSSymbolEffect, NSObject))]
942    #[derive(Debug, PartialEq, Eq, Hash)]
943    pub struct NSSymbolBreatheEffect;
944);
945
946extern_conformance!(
947    unsafe impl NSCoding for NSSymbolBreatheEffect {}
948);
949
950extern_conformance!(
951    unsafe impl NSCopying for NSSymbolBreatheEffect {}
952);
953
954unsafe impl CopyingHelper for NSSymbolBreatheEffect {
955    type Result = Self;
956}
957
958extern_conformance!(
959    unsafe impl NSObjectProtocol for NSSymbolBreatheEffect {}
960);
961
962extern_conformance!(
963    unsafe impl NSSecureCoding for NSSymbolBreatheEffect {}
964);
965
966impl NSSymbolBreatheEffect {
967    extern_methods!(
968        /// The default breathe effect, determined by the system.
969        #[unsafe(method(effect))]
970        #[unsafe(method_family = none)]
971        pub unsafe fn effect() -> Retained<Self>;
972
973        /// Convenience initializer for a breathe effect that
974        /// pulses layers as they breathe.
975        #[unsafe(method(breathePulseEffect))]
976        #[unsafe(method_family = none)]
977        pub unsafe fn breathePulseEffect() -> Retained<Self>;
978
979        /// Convenience initializer for a breathe effect that makes
980        /// the symbol breathe with no other styling.
981        #[unsafe(method(breathePlainEffect))]
982        #[unsafe(method_family = none)]
983        pub unsafe fn breathePlainEffect() -> Retained<Self>;
984
985        /// Returns a copy of the effect that animates incrementally, by layer.
986        #[unsafe(method(effectWithByLayer))]
987        #[unsafe(method_family = none)]
988        pub unsafe fn effectWithByLayer(&self) -> Retained<Self>;
989
990        /// Returns a copy of the effect that animates all layers of the symbol simultaneously.
991        #[unsafe(method(effectWithWholeSymbol))]
992        #[unsafe(method_family = none)]
993        pub unsafe fn effectWithWholeSymbol(&self) -> Retained<Self>;
994    );
995}
996
997/// Methods declared on superclass `NSSymbolEffect`.
998impl NSSymbolBreatheEffect {
999    extern_methods!(
1000        #[unsafe(method(new))]
1001        #[unsafe(method_family = new)]
1002        pub unsafe fn new() -> Retained<Self>;
1003
1004        #[unsafe(method(init))]
1005        #[unsafe(method_family = init)]
1006        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1007    );
1008}
1009
1010extern_class!(
1011    /// A symbol effect that applies the DrawOn animation to symbol images.
1012    ///
1013    /// The DrawOn animation makes the symbol visible either as a whole, or
1014    /// one motion group at a time, animating parts of the symbol with draw data.
1015    ///
1016    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymboldrawoneffect?language=objc)
1017    #[unsafe(super(NSSymbolEffect, NSObject))]
1018    #[derive(Debug, PartialEq, Eq, Hash)]
1019    pub struct NSSymbolDrawOnEffect;
1020);
1021
1022extern_conformance!(
1023    unsafe impl NSCoding for NSSymbolDrawOnEffect {}
1024);
1025
1026extern_conformance!(
1027    unsafe impl NSCopying for NSSymbolDrawOnEffect {}
1028);
1029
1030unsafe impl CopyingHelper for NSSymbolDrawOnEffect {
1031    type Result = Self;
1032}
1033
1034extern_conformance!(
1035    unsafe impl NSObjectProtocol for NSSymbolDrawOnEffect {}
1036);
1037
1038extern_conformance!(
1039    unsafe impl NSSecureCoding for NSSymbolDrawOnEffect {}
1040);
1041
1042impl NSSymbolDrawOnEffect {
1043    extern_methods!(
1044        /// The default draw on effect, determined by the system.
1045        #[unsafe(method(effect))]
1046        #[unsafe(method_family = none)]
1047        pub unsafe fn effect() -> Retained<Self>;
1048
1049        /// Returns a copy of the effect requesting an animation that
1050        /// applies separately to each motion group.
1051        #[unsafe(method(effectWithByLayer))]
1052        #[unsafe(method_family = none)]
1053        pub unsafe fn effectWithByLayer(&self) -> Retained<Self>;
1054
1055        /// Returns a copy of the effect requesting an animation that
1056        /// applies to all motion groups simultaneously.
1057        #[unsafe(method(effectWithWholeSymbol))]
1058        #[unsafe(method_family = none)]
1059        pub unsafe fn effectWithWholeSymbol(&self) -> Retained<Self>;
1060
1061        /// Returns a copy of the effect requesting an animation that
1062        /// applies separately to each motion group, where only
1063        /// one motion group is active at a time.
1064        #[unsafe(method(effectWithIndividually))]
1065        #[unsafe(method_family = none)]
1066        pub unsafe fn effectWithIndividually(&self) -> Retained<Self>;
1067    );
1068}
1069
1070/// Methods declared on superclass `NSSymbolEffect`.
1071impl NSSymbolDrawOnEffect {
1072    extern_methods!(
1073        #[unsafe(method(new))]
1074        #[unsafe(method_family = new)]
1075        pub unsafe fn new() -> Retained<Self>;
1076
1077        #[unsafe(method(init))]
1078        #[unsafe(method_family = init)]
1079        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1080    );
1081}
1082
1083extern_class!(
1084    /// A symbol effect that applies the DrawOff animation to symbol images.
1085    ///
1086    /// The DrawOff animation makes the symbol hidden either as a whole, or
1087    /// one motion group at a time, animating parts of the symbol with draw data.
1088    ///
1089    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymboldrawoffeffect?language=objc)
1090    #[unsafe(super(NSSymbolEffect, NSObject))]
1091    #[derive(Debug, PartialEq, Eq, Hash)]
1092    pub struct NSSymbolDrawOffEffect;
1093);
1094
1095extern_conformance!(
1096    unsafe impl NSCoding for NSSymbolDrawOffEffect {}
1097);
1098
1099extern_conformance!(
1100    unsafe impl NSCopying for NSSymbolDrawOffEffect {}
1101);
1102
1103unsafe impl CopyingHelper for NSSymbolDrawOffEffect {
1104    type Result = Self;
1105}
1106
1107extern_conformance!(
1108    unsafe impl NSObjectProtocol for NSSymbolDrawOffEffect {}
1109);
1110
1111extern_conformance!(
1112    unsafe impl NSSecureCoding for NSSymbolDrawOffEffect {}
1113);
1114
1115impl NSSymbolDrawOffEffect {
1116    extern_methods!(
1117        /// The default draw off effect, determined by the system.
1118        #[unsafe(method(effect))]
1119        #[unsafe(method_family = none)]
1120        pub unsafe fn effect() -> Retained<Self>;
1121
1122        /// Returns a copy of the effect requesting an animation that
1123        /// applies separately to each motion group.
1124        #[unsafe(method(effectWithByLayer))]
1125        #[unsafe(method_family = none)]
1126        pub unsafe fn effectWithByLayer(&self) -> Retained<Self>;
1127
1128        /// Returns a copy of the effect requesting an animation that
1129        /// applies to all motion groups simultaneously.
1130        #[unsafe(method(effectWithWholeSymbol))]
1131        #[unsafe(method_family = none)]
1132        pub unsafe fn effectWithWholeSymbol(&self) -> Retained<Self>;
1133
1134        /// Returns a copy of the effect requesting an animation that
1135        /// applies separately to each motion group, where only
1136        /// one motion group is active at a time.
1137        #[unsafe(method(effectWithIndividually))]
1138        #[unsafe(method_family = none)]
1139        pub unsafe fn effectWithIndividually(&self) -> Retained<Self>;
1140
1141        /// Returns a copy of the effect that animates in reverse. This cancels the nonReversed variant.
1142        #[unsafe(method(effectWithReversed))]
1143        #[unsafe(method_family = none)]
1144        pub unsafe fn effectWithReversed(&self) -> Retained<Self>;
1145
1146        /// Returns a copy of the effect that only animates forwards. This cancels the reversed variant.
1147        #[unsafe(method(effectWithNonReversed))]
1148        #[unsafe(method_family = none)]
1149        pub unsafe fn effectWithNonReversed(&self) -> Retained<Self>;
1150    );
1151}
1152
1153/// Methods declared on superclass `NSSymbolEffect`.
1154impl NSSymbolDrawOffEffect {
1155    extern_methods!(
1156        #[unsafe(method(new))]
1157        #[unsafe(method_family = new)]
1158        pub unsafe fn new() -> Retained<Self>;
1159
1160        #[unsafe(method(init))]
1161        #[unsafe(method_family = init)]
1162        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1163    );
1164}
1165
1166extern_class!(
1167    /// An abstract base class for transitions that can be applied to both NSImageViews and
1168    /// UIImageViews that have symbol-based images.
1169    ///
1170    /// Don't use this class directly, instead use any of the concrete subclasses.
1171    ///
1172    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymbolcontenttransition?language=objc)
1173    #[unsafe(super(NSObject))]
1174    #[derive(Debug, PartialEq, Eq, Hash)]
1175    pub struct NSSymbolContentTransition;
1176);
1177
1178extern_conformance!(
1179    unsafe impl NSCoding for NSSymbolContentTransition {}
1180);
1181
1182extern_conformance!(
1183    unsafe impl NSCopying for NSSymbolContentTransition {}
1184);
1185
1186unsafe impl CopyingHelper for NSSymbolContentTransition {
1187    type Result = Self;
1188}
1189
1190extern_conformance!(
1191    unsafe impl NSObjectProtocol for NSSymbolContentTransition {}
1192);
1193
1194extern_conformance!(
1195    unsafe impl NSSecureCoding for NSSymbolContentTransition {}
1196);
1197
1198impl NSSymbolContentTransition {
1199    extern_methods!(
1200        #[unsafe(method(new))]
1201        #[unsafe(method_family = new)]
1202        pub unsafe fn new() -> Retained<Self>;
1203
1204        #[unsafe(method(init))]
1205        #[unsafe(method_family = init)]
1206        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1207    );
1208}
1209
1210extern_class!(
1211    /// A symbol effect applies the MagicReplace animation to
1212    /// symbol images.
1213    ///
1214    /// The MagicReplace effect animates common elements across
1215    /// symbol images.
1216    ///
1217    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymbolmagicreplacecontenttransition?language=objc)
1218    #[unsafe(super(NSSymbolContentTransition, NSObject))]
1219    #[derive(Debug, PartialEq, Eq, Hash)]
1220    pub struct NSSymbolMagicReplaceContentTransition;
1221);
1222
1223extern_conformance!(
1224    unsafe impl NSCoding for NSSymbolMagicReplaceContentTransition {}
1225);
1226
1227extern_conformance!(
1228    unsafe impl NSCopying for NSSymbolMagicReplaceContentTransition {}
1229);
1230
1231unsafe impl CopyingHelper for NSSymbolMagicReplaceContentTransition {
1232    type Result = Self;
1233}
1234
1235extern_conformance!(
1236    unsafe impl NSObjectProtocol for NSSymbolMagicReplaceContentTransition {}
1237);
1238
1239extern_conformance!(
1240    unsafe impl NSSecureCoding for NSSymbolMagicReplaceContentTransition {}
1241);
1242
1243impl NSSymbolMagicReplaceContentTransition {
1244    extern_methods!();
1245}
1246
1247/// Methods declared on superclass `NSSymbolContentTransition`.
1248impl NSSymbolMagicReplaceContentTransition {
1249    extern_methods!(
1250        #[unsafe(method(new))]
1251        #[unsafe(method_family = new)]
1252        pub unsafe fn new() -> Retained<Self>;
1253
1254        #[unsafe(method(init))]
1255        #[unsafe(method_family = init)]
1256        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1257    );
1258}
1259
1260extern_class!(
1261    /// A symbol effect that animates the replacement of one symbol image
1262    /// with another.
1263    ///
1264    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymbolreplacecontenttransition?language=objc)
1265    #[unsafe(super(NSSymbolContentTransition, NSObject))]
1266    #[derive(Debug, PartialEq, Eq, Hash)]
1267    pub struct NSSymbolReplaceContentTransition;
1268);
1269
1270extern_conformance!(
1271    unsafe impl NSCoding for NSSymbolReplaceContentTransition {}
1272);
1273
1274extern_conformance!(
1275    unsafe impl NSCopying for NSSymbolReplaceContentTransition {}
1276);
1277
1278unsafe impl CopyingHelper for NSSymbolReplaceContentTransition {
1279    type Result = Self;
1280}
1281
1282extern_conformance!(
1283    unsafe impl NSObjectProtocol for NSSymbolReplaceContentTransition {}
1284);
1285
1286extern_conformance!(
1287    unsafe impl NSSecureCoding for NSSymbolReplaceContentTransition {}
1288);
1289
1290impl NSSymbolReplaceContentTransition {
1291    extern_methods!(
1292        /// The default replace transition, determined by the system.
1293        #[unsafe(method(transition))]
1294        #[unsafe(method_family = none)]
1295        pub unsafe fn transition() -> Retained<Self>;
1296
1297        /// Convenience initializer for a replace content transition where the initial symbol
1298        /// scales down as it is removed, and the new symbol scales up as it is added.
1299        #[unsafe(method(replaceDownUpTransition))]
1300        #[unsafe(method_family = none)]
1301        pub unsafe fn replaceDownUpTransition() -> Retained<Self>;
1302
1303        /// Convenience initializer for a replace content transition where the initial symbol
1304        /// scales up as it is removed, and the new symbol scales up as it is added.
1305        #[unsafe(method(replaceUpUpTransition))]
1306        #[unsafe(method_family = none)]
1307        pub unsafe fn replaceUpUpTransition() -> Retained<Self>;
1308
1309        /// Convenience initializer for a replace content transition where the initial symbol
1310        /// is removed with no animation, and the new symbol scales up as it is added.
1311        #[unsafe(method(replaceOffUpTransition))]
1312        #[unsafe(method_family = none)]
1313        pub unsafe fn replaceOffUpTransition() -> Retained<Self>;
1314
1315        /// Returns a copy of the content transition that animates incrementally, by layer.
1316        #[unsafe(method(transitionWithByLayer))]
1317        #[unsafe(method_family = none)]
1318        pub unsafe fn transitionWithByLayer(&self) -> Retained<Self>;
1319
1320        /// Returns a copy of the content transition that animates all layers of the symbol simultaneously.
1321        #[unsafe(method(transitionWithWholeSymbol))]
1322        #[unsafe(method_family = none)]
1323        pub unsafe fn transitionWithWholeSymbol(&self) -> Retained<Self>;
1324
1325        /// Convenience initializer for a MagicReplace content transition with a configured Replace fallback.
1326        #[unsafe(method(magicTransitionWithFallback:))]
1327        #[unsafe(method_family = none)]
1328        pub unsafe fn magicTransitionWithFallback(
1329            fallback: &NSSymbolReplaceContentTransition,
1330        ) -> Retained<NSSymbolMagicReplaceContentTransition>;
1331    );
1332}
1333
1334/// Methods declared on superclass `NSSymbolContentTransition`.
1335impl NSSymbolReplaceContentTransition {
1336    extern_methods!(
1337        #[unsafe(method(new))]
1338        #[unsafe(method_family = new)]
1339        pub unsafe fn new() -> Retained<Self>;
1340
1341        #[unsafe(method(init))]
1342        #[unsafe(method_family = init)]
1343        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1344    );
1345}
1346
1347extern_class!(
1348    /// The default symbol transition, resolves to a particular transition in a
1349    /// context-sensitive manner.
1350    ///
1351    /// See also [Apple's documentation](https://developer.apple.com/documentation/symbols/nssymbolautomaticcontenttransition?language=objc)
1352    #[unsafe(super(NSSymbolContentTransition, NSObject))]
1353    #[derive(Debug, PartialEq, Eq, Hash)]
1354    pub struct NSSymbolAutomaticContentTransition;
1355);
1356
1357extern_conformance!(
1358    unsafe impl NSCoding for NSSymbolAutomaticContentTransition {}
1359);
1360
1361extern_conformance!(
1362    unsafe impl NSCopying for NSSymbolAutomaticContentTransition {}
1363);
1364
1365unsafe impl CopyingHelper for NSSymbolAutomaticContentTransition {
1366    type Result = Self;
1367}
1368
1369extern_conformance!(
1370    unsafe impl NSObjectProtocol for NSSymbolAutomaticContentTransition {}
1371);
1372
1373extern_conformance!(
1374    unsafe impl NSSecureCoding for NSSymbolAutomaticContentTransition {}
1375);
1376
1377impl NSSymbolAutomaticContentTransition {
1378    extern_methods!(
1379        /// The default automatic transition, determined by the system.
1380        #[unsafe(method(transition))]
1381        #[unsafe(method_family = none)]
1382        pub unsafe fn transition() -> Retained<Self>;
1383    );
1384}
1385
1386/// Methods declared on superclass `NSSymbolContentTransition`.
1387impl NSSymbolAutomaticContentTransition {
1388    extern_methods!(
1389        #[unsafe(method(new))]
1390        #[unsafe(method_family = new)]
1391        pub unsafe fn new() -> Retained<Self>;
1392
1393        #[unsafe(method(init))]
1394        #[unsafe(method_family = init)]
1395        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1396    );
1397}