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

Unified Diff: chrome/browser/cocoa/animatable_view.h

Issue 350002: [Mac] Adds a new view that will allow us to animate the height property of vi... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/cocoa/animatable_view.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « no previous file | chrome/browser/cocoa/animatable_view.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698