Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Side by Side Diff: chrome/browser/gtk/hover_controller_gtk.h

Issue 6154001: Move animation code to new ui/base/animation directory.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_GTK_HOVER_CONTROLLER_GTK_H_ 5 #ifndef CHROME_BROWSER_GTK_HOVER_CONTROLLER_GTK_H_
6 #define CHROME_BROWSER_GTK_HOVER_CONTROLLER_GTK_H_ 6 #define CHROME_BROWSER_GTK_HOVER_CONTROLLER_GTK_H_
7 #pragma once 7 #pragma once
8 8
9 #include <gtk/gtk.h> 9 #include <gtk/gtk.h>
10 10
11 #include "app/animation_delegate.h"
12 #include "app/gtk_signal.h" 11 #include "app/gtk_signal.h"
13 #include "app/gtk_signal_registrar.h" 12 #include "app/gtk_signal_registrar.h"
14 #include "app/slide_animation.h" 13 #include "ui/base/animation/animation_delegate.h"
15 #include "app/throb_animation.h" 14 #include "ui/base/animation/slide_animation.h"
15 #include "ui/base/animation/throb_animation.h"
16 16
17 // This class handles the "throbbing" of a GtkChromeButton. The visual effect 17 // This class handles the "throbbing" of a GtkChromeButton. The visual effect
18 // of throbbing is created by painting partially transparent hover effects. It 18 // of throbbing is created by painting partially transparent hover effects. It
19 // only works in non-gtk theme mode. This class mainly exists to glue an 19 // only works in non-gtk theme mode. This class mainly exists to glue an
20 // AnimationDelegate (C++ class) to a GtkChromeButton* (GTK/c object). 20 // AnimationDelegate (C++ class) to a GtkChromeButton* (GTK/c object).
21 class HoverControllerGtk : public AnimationDelegate { 21 class HoverControllerGtk : public ui::AnimationDelegate {
22 public: 22 public:
23 virtual ~HoverControllerGtk(); 23 virtual ~HoverControllerGtk();
24 24
25 GtkWidget* button() { return button_; } 25 GtkWidget* button() { return button_; }
26 26
27 // Throb for |cycles| cycles. This will override the current remaining 27 // Throb for |cycles| cycles. This will override the current remaining
28 // number of cycles. Note that a "cycle" is (somewhat unintuitively) half of 28 // number of cycles. Note that a "cycle" is (somewhat unintuitively) half of
29 // a complete throb revolution. 29 // a complete throb revolution.
30 void StartThrobbing(int cycles); 30 void StartThrobbing(int cycles);
31 31
32 // Get the HoverControllerGtk for a given GtkChromeButton*. It is an error 32 // Get the HoverControllerGtk for a given GtkChromeButton*. It is an error
33 // to call this on a widget that is not a GtkChromeButton*. 33 // to call this on a widget that is not a GtkChromeButton*.
34 static HoverControllerGtk* GetHoverControllerGtk(GtkWidget* button); 34 static HoverControllerGtk* GetHoverControllerGtk(GtkWidget* button);
35 35
36 // Creates a GtkChromeButton and adds a HoverControllerGtk for it. 36 // Creates a GtkChromeButton and adds a HoverControllerGtk for it.
37 static GtkWidget* CreateChromeButton(); 37 static GtkWidget* CreateChromeButton();
38 38
39 // Stop throbbing and delete |this|. 39 // Stop throbbing and delete |this|.
40 void Destroy(); 40 void Destroy();
41 41
42 private: 42 private:
43 explicit HoverControllerGtk(GtkWidget* button); 43 explicit HoverControllerGtk(GtkWidget* button);
44 44
45 // Overridden from AnimationDelegate. 45 // Overridden from ui::AnimationDelegate.
46 virtual void AnimationProgressed(const Animation* animation); 46 virtual void AnimationProgressed(const ui::Animation* animation);
47 virtual void AnimationEnded(const Animation* animation); 47 virtual void AnimationEnded(const ui::Animation* animation);
48 virtual void AnimationCanceled(const Animation* animation); 48 virtual void AnimationCanceled(const ui::Animation* animation);
49 49
50 CHROMEGTK_CALLBACK_1(HoverControllerGtk, gboolean, OnEnter, 50 CHROMEGTK_CALLBACK_1(HoverControllerGtk, gboolean, OnEnter,
51 GdkEventCrossing*); 51 GdkEventCrossing*);
52 CHROMEGTK_CALLBACK_1(HoverControllerGtk, gboolean, OnLeave, 52 CHROMEGTK_CALLBACK_1(HoverControllerGtk, gboolean, OnLeave,
53 GdkEventCrossing*); 53 GdkEventCrossing*);
54 CHROMEGTK_CALLBACK_1(HoverControllerGtk, void, OnHierarchyChanged, 54 CHROMEGTK_CALLBACK_1(HoverControllerGtk, void, OnHierarchyChanged,
55 GtkWidget*); 55 GtkWidget*);
56 CHROMEGTK_CALLBACK_0(HoverControllerGtk, void, OnDestroy); 56 CHROMEGTK_CALLBACK_0(HoverControllerGtk, void, OnDestroy);
57 57
58 ThrobAnimation throb_animation_; 58 ui::ThrobAnimation throb_animation_;
59 SlideAnimation hover_animation_; 59 ui::SlideAnimation hover_animation_;
60 GtkWidget* button_; 60 GtkWidget* button_;
61 61
62 GtkSignalRegistrar signals_; 62 GtkSignalRegistrar signals_;
63 63
64 DISALLOW_COPY_AND_ASSIGN(HoverControllerGtk); 64 DISALLOW_COPY_AND_ASSIGN(HoverControllerGtk);
65 }; 65 };
66 66
67 #endif // CHROME_BROWSER_GTK_HOVER_CONTROLLER_GTK_H_ 67 #endif // CHROME_BROWSER_GTK_HOVER_CONTROLLER_GTK_H_
OLDNEW
« no previous file with comments | « chrome/browser/gtk/download_started_animation_gtk.cc ('k') | chrome/browser/gtk/hover_controller_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698