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