summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/gtk/hover_controller_gtk.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/ui/gtk/hover_controller_gtk.h')
-rw-r--r--chrome/browser/ui/gtk/hover_controller_gtk.h67
1 files changed, 0 insertions, 67 deletions
diff --git a/chrome/browser/ui/gtk/hover_controller_gtk.h b/chrome/browser/ui/gtk/hover_controller_gtk.h
deleted file mode 100644
index 879b917..0000000
--- a/chrome/browser/ui/gtk/hover_controller_gtk.h
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (c) 2011 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_HOVER_CONTROLLER_GTK_H_
-#define CHROME_BROWSER_UI_GTK_HOVER_CONTROLLER_GTK_H_
-
-#include <gtk/gtk.h>
-
-#include "base/compiler_specific.h"
-#include "ui/base/gtk/gtk_signal.h"
-#include "ui/base/gtk/gtk_signal_registrar.h"
-#include "ui/gfx/animation/animation_delegate.h"
-#include "ui/gfx/animation/slide_animation.h"
-#include "ui/gfx/animation/throb_animation.h"
-
-// This class handles the "throbbing" of a GtkChromeButton. The visual effect
-// of throbbing is created by painting partially transparent hover effects. It
-// only works in non-gtk theme mode. This class mainly exists to glue an
-// AnimationDelegate (C++ class) to a GtkChromeButton* (GTK/c object).
-class HoverControllerGtk : public gfx::AnimationDelegate {
- public:
- virtual ~HoverControllerGtk();
-
- GtkWidget* button() { return button_; }
-
- // Throb for |cycles| cycles. This will override the current remaining
- // number of cycles. Note that a "cycle" is (somewhat unintuitively) half of
- // a complete throb revolution.
- void StartThrobbing(int cycles);
-
- // Get the HoverControllerGtk for a given GtkChromeButton*. It is an error
- // to call this on a widget that is not a GtkChromeButton*.
- static HoverControllerGtk* GetHoverControllerGtk(GtkWidget* button);
-
- // Creates a GtkChromeButton and adds a HoverControllerGtk for it.
- static GtkWidget* CreateChromeButton();
-
- // Stop throbbing and delete |this|.
- void Destroy();
-
- private:
- explicit HoverControllerGtk(GtkWidget* button);
-
- // Overridden from gfx::AnimationDelegate.
- virtual void AnimationProgressed(const gfx::Animation* animation) OVERRIDE;
- virtual void AnimationEnded(const gfx::Animation* animation) OVERRIDE;
- virtual void AnimationCanceled(const gfx::Animation* animation) OVERRIDE;
-
- CHROMEGTK_CALLBACK_1(HoverControllerGtk, gboolean, OnEnter,
- GdkEventCrossing*);
- CHROMEGTK_CALLBACK_1(HoverControllerGtk, gboolean, OnLeave,
- GdkEventCrossing*);
- CHROMEGTK_CALLBACK_1(HoverControllerGtk, void, OnHierarchyChanged,
- GtkWidget*);
- CHROMEGTK_CALLBACK_0(HoverControllerGtk, void, OnDestroy);
-
- gfx::ThrobAnimation throb_animation_;
- gfx::SlideAnimation hover_animation_;
- GtkWidget* button_;
-
- ui::GtkSignalRegistrar signals_;
-
- DISALLOW_COPY_AND_ASSIGN(HoverControllerGtk);
-};
-
-#endif // CHROME_BROWSER_UI_GTK_HOVER_CONTROLLER_GTK_H_