Initial commit
This commit is contained in:
+137
@@ -0,0 +1,137 @@
|
||||
/*
|
||||
* This file is part of the SDWebImage package.
|
||||
* (c) Olivier Poitrey <rs@dailymotion.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
#import "SDWebImageTransition.h"
|
||||
|
||||
#if SD_UIKIT || SD_MAC
|
||||
|
||||
#if SD_MAC
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
#endif
|
||||
|
||||
@implementation SDWebImageTransition
|
||||
|
||||
- (instancetype)init {
|
||||
self = [super init];
|
||||
if (self) {
|
||||
self.duration = 0.5;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation SDWebImageTransition (Conveniences)
|
||||
|
||||
+ (SDWebImageTransition *)fadeTransition {
|
||||
SDWebImageTransition *transition = [SDWebImageTransition new];
|
||||
#if SD_UIKIT
|
||||
transition.animationOptions = UIViewAnimationOptionTransitionCrossDissolve | UIViewAnimationOptionAllowUserInteraction;
|
||||
#else
|
||||
transition.animations = ^(__kindof NSView * _Nonnull view, NSImage * _Nullable image) {
|
||||
CATransition *trans = [CATransition animation];
|
||||
trans.type = kCATransitionFade;
|
||||
[view.layer addAnimation:trans forKey:kCATransition];
|
||||
};
|
||||
#endif
|
||||
return transition;
|
||||
}
|
||||
|
||||
+ (SDWebImageTransition *)flipFromLeftTransition {
|
||||
SDWebImageTransition *transition = [SDWebImageTransition new];
|
||||
#if SD_UIKIT
|
||||
transition.animationOptions = UIViewAnimationOptionTransitionFlipFromLeft | UIViewAnimationOptionAllowUserInteraction;
|
||||
#else
|
||||
transition.animations = ^(__kindof NSView * _Nonnull view, NSImage * _Nullable image) {
|
||||
CATransition *trans = [CATransition animation];
|
||||
trans.type = kCATransitionPush;
|
||||
trans.subtype = kCATransitionFromLeft;
|
||||
[view.layer addAnimation:trans forKey:kCATransition];
|
||||
};
|
||||
#endif
|
||||
return transition;
|
||||
}
|
||||
|
||||
+ (SDWebImageTransition *)flipFromRightTransition {
|
||||
SDWebImageTransition *transition = [SDWebImageTransition new];
|
||||
#if SD_UIKIT
|
||||
transition.animationOptions = UIViewAnimationOptionTransitionFlipFromRight | UIViewAnimationOptionAllowUserInteraction;
|
||||
#else
|
||||
transition.animations = ^(__kindof NSView * _Nonnull view, NSImage * _Nullable image) {
|
||||
CATransition *trans = [CATransition animation];
|
||||
trans.type = kCATransitionPush;
|
||||
trans.subtype = kCATransitionFromRight;
|
||||
[view.layer addAnimation:trans forKey:kCATransition];
|
||||
};
|
||||
#endif
|
||||
return transition;
|
||||
}
|
||||
|
||||
+ (SDWebImageTransition *)flipFromTopTransition {
|
||||
SDWebImageTransition *transition = [SDWebImageTransition new];
|
||||
#if SD_UIKIT
|
||||
transition.animationOptions = UIViewAnimationOptionTransitionFlipFromTop | UIViewAnimationOptionAllowUserInteraction;
|
||||
#else
|
||||
transition.animations = ^(__kindof NSView * _Nonnull view, NSImage * _Nullable image) {
|
||||
CATransition *trans = [CATransition animation];
|
||||
trans.type = kCATransitionPush;
|
||||
trans.subtype = kCATransitionFromTop;
|
||||
[view.layer addAnimation:trans forKey:kCATransition];
|
||||
};
|
||||
#endif
|
||||
return transition;
|
||||
}
|
||||
|
||||
+ (SDWebImageTransition *)flipFromBottomTransition {
|
||||
SDWebImageTransition *transition = [SDWebImageTransition new];
|
||||
#if SD_UIKIT
|
||||
transition.animationOptions = UIViewAnimationOptionTransitionFlipFromBottom | UIViewAnimationOptionAllowUserInteraction;
|
||||
#else
|
||||
transition.animations = ^(__kindof NSView * _Nonnull view, NSImage * _Nullable image) {
|
||||
CATransition *trans = [CATransition animation];
|
||||
trans.type = kCATransitionPush;
|
||||
trans.subtype = kCATransitionFromBottom;
|
||||
[view.layer addAnimation:trans forKey:kCATransition];
|
||||
};
|
||||
#endif
|
||||
return transition;
|
||||
}
|
||||
|
||||
+ (SDWebImageTransition *)curlUpTransition {
|
||||
SDWebImageTransition *transition = [SDWebImageTransition new];
|
||||
#if SD_UIKIT
|
||||
transition.animationOptions = UIViewAnimationOptionTransitionCurlUp | UIViewAnimationOptionAllowUserInteraction;
|
||||
#else
|
||||
transition.animations = ^(__kindof NSView * _Nonnull view, NSImage * _Nullable image) {
|
||||
CATransition *trans = [CATransition animation];
|
||||
trans.type = kCATransitionReveal;
|
||||
trans.subtype = kCATransitionFromTop;
|
||||
[view.layer addAnimation:trans forKey:kCATransition];
|
||||
};
|
||||
#endif
|
||||
return transition;
|
||||
}
|
||||
|
||||
+ (SDWebImageTransition *)curlDownTransition {
|
||||
SDWebImageTransition *transition = [SDWebImageTransition new];
|
||||
#if SD_UIKIT
|
||||
transition.animationOptions = UIViewAnimationOptionTransitionCurlDown | UIViewAnimationOptionAllowUserInteraction;
|
||||
#else
|
||||
transition.animations = ^(__kindof NSView * _Nonnull view, NSImage * _Nullable image) {
|
||||
CATransition *trans = [CATransition animation];
|
||||
trans.type = kCATransitionReveal;
|
||||
trans.subtype = kCATransitionFromBottom;
|
||||
[view.layer addAnimation:trans forKey:kCATransition];
|
||||
};
|
||||
#endif
|
||||
return transition;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user