text: // 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_UI_COCOA_FAST_RESIZE_VIEW_H_
  #define CHROME_BROWSER_UI_COCOA_FAST_RESIZE_VIEW_H_
  
  #import <Cocoa/Cocoa.h>
  
  // A Cocoa view that supports an alternate resizing mode, normally used when
  // animations are in progress.  In normal resizing mode, subviews are sized to
  // completely fill this view's bounds.  In fast resizing mode, the subviews'
  // size is not changed and the subview is clipped to fit, if necessary.  Fast
  // resize mode is useful when animating a view that normally takes a significant
  // amount of time to relayout and redraw when its size is changed.
  @interface FastResizeView : NSView {
   @private
    BOOL fastResizeMode_;
  
    // Offset from the top of the view where the view's content starts. This is
    // used to prevent this view from drawing white on non-content area.
    CGFloat contentOffset_;
  }
  
  @property(assign, nonatomic) CGFloat contentOffset;
  
  // Turns fast resizing mode on or off, which determines how this view resizes
  // its subviews.  Turning fast resizing mode off has the effect of immediately
  // resizing subviews to fit; callers do not need to explictly call |setFrame:|
  // to trigger a resize.
  - (void)setFastResizeMode:(BOOL)fastResizeMode;
  @end
  
  #endif  // CHROME_BROWSER_UI_COCOA_FAST_RESIZE_VIEW_H_
  