Index: chrome/browser/cocoa/animatable_view.h |
=================================================================== |
--- chrome/browser/cocoa/animatable_view.h (revision 0) |
+++ chrome/browser/cocoa/animatable_view.h (revision 0) |
@@ -0,0 +1,56 @@ |
+// Copyright (c) 2009 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_COCOA_ANIMATABLE_VIEW_H_ |
+#define CHROME_BROWSER_COCOA_ANIMATABLE_VIEW_H_ |
+ |
+#import <Cocoa/Cocoa.h> |
+ |
+#include "base/scoped_nsobject.h" |
+#import "chrome/browser/cocoa/view_resizer.h" |
+ |
+// A view that provides an animatable height property. Provides methods to |
+// animate to a new height, set a new height immediately, or cancel any running |
+// animations. |
+// |
+// AnimatableView sends an |animationDidEnd:| message to its delegate when the |
+// animation ends normally and an |animationDidStop:| message when the animation |
+// was canceled (even when canceled as a result of a new animation starting). |
+ |
+@interface AnimatableView : NSView { |
+ @protected |
+ IBOutlet id delegate_; // weak, used to send animation ended messages. |
+ |
+ @private |
+ scoped_nsobject<NSAnimation> currentAnimation_; |
+ id<ViewResizer> resizeDelegate_; // weak, usually owns us |
+} |
+ |
+// Properties for bindings. |
+@property(assign) id delegate; |
+ |
+// Gets the current height of the view. If an animation is currently running, |
+// this will give the current height at the time of the call, not the target |
+// height at the end of the animation. |
+- (CGFloat)height; |
+ |
+// Sets the height of the view immediately. Cancels any running animations. |
+- (void)setHeight:(CGFloat)newHeight; |
+ |
+// Starts a new animation to the given |newHeight| for the given |duration|. |
+// Cancels any running animations. |
+- (void)animateToNewHeight:(CGFloat)newHeight |
+ duration:(NSTimeInterval)duration; |
+ |
+// Cancels any running animations, leaving the view at its current |
+// (mid-animation) height. |
+- (void)stopAnimation; |
+ |
+// Sets the delegate that gets notified when this view needs to chanage its |
+// height. |
+- (void)setResizeDelegate:(id<ViewResizer>)resizeDelegate; |
+ |
+@end |
+ |
+#endif // CHROME_BROWSER_COCOA_ANIMATABLE_VIEW_H_ |
Property changes on: chrome/browser/cocoa/animatable_view.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |