| // Copyright (c) 2011 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_TABS_THROBBER_VIEW_H_ |
| #define CHROME_BROWSER_UI_COCOA_TABS_THROBBER_VIEW_H_ |
| #pragma once |
| |
| #import <Cocoa/Cocoa.h> |
| |
| #include "base/memory/scoped_nsobject.h" |
| |
| @protocol ThrobberDataDelegate; |
| |
| // A class that knows how to draw an animated state to indicate progress. |
| // Creating the class starts the animation, destroying it stops it. There are |
| // two types: |
| // |
| // - Filmstrip: Draws via a sequence of frames in an image. There is no state |
| // where the class is frozen on an image and not animating. The image needs to |
| // be made of squares such that the height divides evenly into the width. |
| // |
| // - Toast: Draws an image animating down to the bottom and then another image |
| // animating up from the bottom. Stops once the animation is complete. |
| |
| @interface ThrobberView : NSView { |
| @private |
| id<ThrobberDataDelegate> dataDelegate_; |
| } |
| |
| // Creates a filmstrip view with |frame| and image |image|. |
| + (id)filmstripThrobberViewWithFrame:(NSRect)frame |
| image:(NSImage*)image; |
| |
| // Creates a toast view with |frame| and specified images. |
| + (id)toastThrobberViewWithFrame:(NSRect)frame |
| beforeImage:(NSImage*)beforeImage |
| afterImage:(NSImage*)afterImage; |
| |
| @end |
| |
| #endif // CHROME_BROWSER_UI_COCOA_TABS_THROBBER_VIEW_H_ |