Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(346)

Side by Side Diff: ios/chrome/browser/ui/animation_util.mm

Issue 2567203002: Revert of [ObjC ARC] Converts ios/chrome/browser/ui:ui to ARC. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ios/chrome/browser/ui/animation_util.h" 5 #include "ios/chrome/browser/ui/animation_util.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "ios/chrome/browser/ui/reversed_animation.h" 10 #include "ios/chrome/browser/ui/reversed_animation.h"
11 11
12 #if !defined(__has_feature) || !__has_feature(objc_arc)
13 #error "This file requires ARC support."
14 #endif
15
16 CAAnimation* FrameAnimationMake(CALayer* layer, 12 CAAnimation* FrameAnimationMake(CALayer* layer,
17 CGRect beginFrame, 13 CGRect beginFrame,
18 CGRect endFrame) { 14 CGRect endFrame) {
19 CGRect beginBounds = {CGPointZero, beginFrame.size}; 15 CGRect beginBounds = {CGPointZero, beginFrame.size};
20 CGRect endBounds = {CGPointZero, endFrame.size}; 16 CGRect endBounds = {CGPointZero, endFrame.size};
21 CABasicAnimation* boundsAnimation = 17 CABasicAnimation* boundsAnimation =
22 [CABasicAnimation animationWithKeyPath:@"bounds"]; 18 [CABasicAnimation animationWithKeyPath:@"bounds"];
23 boundsAnimation.fromValue = [NSValue valueWithCGRect:beginBounds]; 19 boundsAnimation.fromValue = [NSValue valueWithCGRect:beginBounds];
24 boundsAnimation.toValue = [NSValue valueWithCGRect:endBounds]; 20 boundsAnimation.toValue = [NSValue valueWithCGRect:endBounds];
25 boundsAnimation.removedOnCompletion = NO; 21 boundsAnimation.removedOnCompletion = NO;
(...skipping 30 matching lines...) Expand all
56 for (CAAnimation* animation in animations) 52 for (CAAnimation* animation in animations)
57 duration = std::max(duration, animation.beginTime + animation.duration); 53 duration = std::max(duration, animation.beginTime + animation.duration);
58 animationGroup.duration = duration; 54 animationGroup.duration = duration;
59 animationGroup.fillMode = kCAFillModeBoth; 55 animationGroup.fillMode = kCAFillModeBoth;
60 animationGroup.removedOnCompletion = NO; 56 animationGroup.removedOnCompletion = NO;
61 return animationGroup; 57 return animationGroup;
62 } 58 }
63 59
64 CAAnimation* DelayedAnimationMake(CAAnimation* animation, 60 CAAnimation* DelayedAnimationMake(CAAnimation* animation,
65 CFTimeInterval delay) { 61 CFTimeInterval delay) {
66 CAAnimation* delayedAnimation = [animation copy]; 62 CAAnimation* delayedAnimation = [[animation copy] autorelease];
67 if (delayedAnimation) { 63 if (delayedAnimation) {
68 delayedAnimation.beginTime = delay; 64 delayedAnimation.beginTime = delay;
69 delayedAnimation = AnimationGroupMake(@[ delayedAnimation ]); 65 delayedAnimation = AnimationGroupMake(@[ delayedAnimation ]);
70 } 66 }
71 return delayedAnimation; 67 return delayedAnimation;
72 } 68 }
73 69
74 CABasicAnimation* FindAnimationForKeyPath(NSString* keyPath, 70 CABasicAnimation* FindAnimationForKeyPath(NSString* keyPath,
75 CAAnimation* animation) { 71 CAAnimation* animation) {
76 __block CABasicAnimation* animationForKeyPath = nil; 72 __block CABasicAnimation* animationForKeyPath = nil;
(...skipping 12 matching lines...) Expand all
89 *stop = animationForKeyPath != nil; 85 *stop = animationForKeyPath != nil;
90 }]; 86 }];
91 } 87 }
92 return animationForKeyPath; 88 return animationForKeyPath;
93 } 89 }
94 90
95 void RemoveAnimationForKeyFromLayers(NSString* key, NSArray* layers) { 91 void RemoveAnimationForKeyFromLayers(NSString* key, NSArray* layers) {
96 for (CALayer* layer in layers) 92 for (CALayer* layer in layers)
97 [layer removeAnimationForKey:key]; 93 [layer removeAnimationForKey:key];
98 } 94 }
OLDNEW
« no previous file with comments | « ios/chrome/browser/ui/UIView+SizeClassSupport.mm ('k') | ios/chrome/browser/ui/background_generator.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698