// Copyright 2014 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_SPRITE_VIEW_H_
#define CHROME_BROWSER_UI_COCOA_SPRITE_VIEW_H_

#import <Cocoa/Cocoa.h>

#include "base/mac/scoped_nsobject.h"

@class CAKeyframeAnimation;

// A class that knows how to repeatedly animate sprites from an image containing
// the sprites in the form of a horizontal strip.
@interface SpriteView : NSView {
 @private
  base::scoped_nsobject<CAKeyframeAnimation> spriteAnimation_;
}

// |image| contains square sprites in a horizontal strip.
// The sprites will be animated, with each sprite shown for 30ms.
// It is OK to pass in a single sprite (a square image), in which case there
// will be no animation.
- (void)setImage:(NSImage*)image;

// Same as above, with a toast animation to transition to the new image.
// The old image will animate to the bottom, and then the new image will
// animate back up to position.
- (void)setImage:(NSImage*)image withToastAnimation:(BOOL)animate;

@end

#endif  // CHROME_BROWSER_UI_COCOA_TABS_THROBBER_VIEW_H_
