blob: 547aa7ec9d38f5049d598e9f7e7cb912decf5248 [file] [log] [blame]
// Copyright (c) 2012 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_GTK_TITLEBAR_THROB_ANIMATION_H_
#define CHROME_BROWSER_UI_GTK_TITLEBAR_THROB_ANIMATION_H_
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "ui/gfx/gtk_util.h"
// A helper class to keep track of which frame of the throbber animation
// we're showing.
class TitlebarThrobAnimation {
public:
TitlebarThrobAnimation();
// Get the next frame in the animation. The image is owned by the throbber
// so the caller doesn't need to unref. |is_waiting| is true if we're
// still waiting for a response.
GdkPixbuf* GetNextFrame(bool is_waiting);
// Reset back to the first frame.
void Reset();
private:
// Make sure the frames are loaded.
static void InitFrames();
int current_frame_;
int current_waiting_frame_;
DISALLOW_COPY_AND_ASSIGN(TitlebarThrobAnimation);
};
#endif // CHROME_BROWSER_UI_GTK_TITLEBAR_THROB_ANIMATION_H_