diff options
author | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2009-11-10 15:30:27 +0000 |
---|---|---|
committer | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2009-11-10 15:30:27 +0000 |
commit | e2e723bf10e3ec694df5a44d99f405aff8417489 (patch) | |
tree | 141cee434f6e35f0b23a57e1507cda9c2cb3e501 /AppKit/GTMNSAnimation+Duration.m | |
parent | 7faafe50af3d0d3b3c1eeb40af77d57328fcc0cb (diff) |
[Author: dmaclach]
Turns out I needed to expose a bit more API to make it work with all of the
animations in Chrome nicely.
R=thomasvl
DELTA=42 (30 added, 8 deleted, 4 changed)
Diffstat (limited to 'AppKit/GTMNSAnimation+Duration.m')
-rw-r--r-- | AppKit/GTMNSAnimation+Duration.m | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/AppKit/GTMNSAnimation+Duration.m b/AppKit/GTMNSAnimation+Duration.m index 89e3f3e..327a349 100644 --- a/AppKit/GTMNSAnimation+Duration.m +++ b/AppKit/GTMNSAnimation+Duration.m @@ -18,10 +18,9 @@ #import "GTMNSAnimation+Duration.h" -static NSTimeInterval GTMCurrentDurationMultiplier(void) { +NSTimeInterval GTMModifyDurationBasedOnCurrentState(NSTimeInterval duration) { NSEvent *event = [NSApp currentEvent]; NSUInteger modifiers = [event modifierFlags]; - NSTimeInterval duration = 1.0; if (modifiers & NSShiftKeyMask) { duration *= 5.0; } @@ -34,9 +33,14 @@ static NSTimeInterval GTMCurrentDurationMultiplier(void) { @implementation NSAnimation (GTMNSAnimationDurationAdditions) +- (id)gtm_initWithDuration:(NSTimeInterval)duration + animationCurve:(NSAnimationCurve)animationCurve { + return [self initWithDuration:GTMModifyDurationBasedOnCurrentState(duration) + animationCurve:animationCurve]; +} + - (void)gtm_setDuration:(NSTimeInterval)duration { - duration = duration * GTMCurrentDurationMultiplier(); - [self setDuration:duration]; + [self setDuration:GTMModifyDurationBasedOnCurrentState(duration)]; } @end @@ -46,8 +50,7 @@ static NSTimeInterval GTMCurrentDurationMultiplier(void) { @implementation NSAnimationContext (GTMNSAnimationDurationAdditions) - (void)gtm_setDuration:(NSTimeInterval)duration { - duration = duration * GTMCurrentDurationMultiplier(); - [self setDuration:duration]; + [self setDuration:GTMModifyDurationBasedOnCurrentState(duration)]; } @end @@ -55,8 +58,7 @@ static NSTimeInterval GTMCurrentDurationMultiplier(void) { @implementation CAAnimation (GTMCAAnimationDurationAdditions) - (void)gtm_setDuration:(CFTimeInterval)duration { - duration = duration * GTMCurrentDurationMultiplier(); - [self setDuration:duration]; + [self setDuration:GTMModifyDurationBasedOnCurrentState(duration)]; } @end |