Upstream version 7.35.144.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / gtk / titlebar_throb_animation.h
1 // Copyright (c) 2012 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_GTK_TITLEBAR_THROB_ANIMATION_H_
6 #define CHROME_BROWSER_UI_GTK_TITLEBAR_THROB_ANIMATION_H_
7
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "ui/gfx/gtk_util.h"
11
12 // A helper class to keep track of which frame of the throbber animation
13 // we're showing.
14 class TitlebarThrobAnimation {
15  public:
16   TitlebarThrobAnimation();
17
18   // Get the next frame in the animation. The image is owned by the throbber
19   // so the caller doesn't need to unref. |is_waiting| is true if we're
20   // still waiting for a response.
21   GdkPixbuf* GetNextFrame(bool is_waiting);
22
23   // Reset back to the first frame.
24   void Reset();
25
26  private:
27   // Make sure the frames are loaded.
28   static void InitFrames();
29
30   int current_frame_;
31   int current_waiting_frame_;
32
33   DISALLOW_COPY_AND_ASSIGN(TitlebarThrobAnimation);
34 };
35
36 #endif  // CHROME_BROWSER_UI_GTK_TITLEBAR_THROB_ANIMATION_H_