1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_UI_COCOA_SPRITE_VIEW_H_ 6 #define CHROME_BROWSER_UI_COCOA_SPRITE_VIEW_H_ 7 8 #import <Cocoa/Cocoa.h> 9 10 #include "base/mac/scoped_nsobject.h" 11 12 @class CAKeyframeAnimation; 13 14 // A class that knows how to repeatedly animate sprites from an image containing 15 // the sprites in the form of a horizontal strip. 16 @interface SpriteView : NSView { 17 @private 18 base::scoped_nsobject<CAKeyframeAnimation> spriteAnimation_; 19 } 20 21 // |image| contains square sprites in a horizontal strip. 22 // The sprites will be animated, with each sprite shown for 30ms. 23 // It is OK to pass in a single sprite (a square image), in which case there 24 // will be no animation. 25 - (void)setImage:(NSImage*)image; 26 27 // Same as above, with a toast animation to transition to the new image. 28 // The old image will animate to the bottom, and then the new image will 29 // animate back up to position. 30 - (void)setImage:(NSImage*)image withToastAnimation:(BOOL)animate; 31 32 @end 33 34 #endif // CHROME_BROWSER_UI_COCOA_TABS_THROBBER_VIEW_H_ 35