Index: chrome/browser/ui/gtk/gtk_chrome_button.h |
diff --git a/chrome/browser/ui/gtk/gtk_chrome_button.h b/chrome/browser/ui/gtk/gtk_chrome_button.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d1802b1b2708c9d847ef089c46f135b66109e8f3 |
--- /dev/null |
+++ b/chrome/browser/ui/gtk/gtk_chrome_button.h |
@@ -0,0 +1,61 @@ |
+// Copyright (c) 2010 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_GTK_CHROME_BUTTON_H_ |
+#define CHROME_BROWSER_UI_GTK_GTK_CHROME_BUTTON_H_ |
+#pragma once |
+ |
+#include <gdk/gdk.h> |
+#include <gtk/gtkbutton.h> |
+ |
+G_BEGIN_DECLS |
+ |
+#define GTK_TYPE_CHROME_BUTTON (gtk_chrome_button_get_type ()) |
+#define GTK_CHROME_BUTTON(obj) \ |
+ (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_CHROME_BUTTON, GtkChromeButton)) |
+#define GTK_CHROME_BUTTON_CLASS(klass) \ |
+ (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_CHROME_BUTTON, \ |
+ GtkChromeButtonClass)) |
+#define GTK_IS_CHROME_BUTTON(obj) \ |
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_CHROME_BUTTON)) |
+#define GTK_IS_CHROME_BUTTON_CLASS(klass) \ |
+ (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_CHROME_BUTTON)) |
+#define GTK_CHROME_BUTTON_GET_CLASS(obj) \ |
+ (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_CHROME_BUTTON, GtkChromeButton)) |
+ |
+typedef struct _GtkChromeButton GtkChromeButton; |
+typedef struct _GtkChromeButtonClass GtkChromeButtonClass; |
+ |
+struct _GtkChromeButton { |
+ GtkButton button; |
+}; |
+ |
+struct _GtkChromeButtonClass { |
+ GtkButtonClass parent_class; |
+}; |
+ |
+GtkWidget* gtk_chrome_button_new(); |
+ |
+GType gtk_chrome_button_get_type(); |
+ |
+// Set the paint state to |state|. This overrides the widget's current state. |
+void gtk_chrome_button_set_paint_state(GtkChromeButton* button, |
+ GtkStateType state); |
+ |
+// Revert to using the widget's current state for painting. |
+void gtk_chrome_button_unset_paint_state(GtkChromeButton* button); |
+ |
+// Whether we should use custom theme images or let GTK take care of it. |
+void gtk_chrome_button_set_use_gtk_rendering(GtkChromeButton* button, |
+ gboolean value); |
+ |
+// Sets the partial hover state of the button. The acceptable range is 0.0 to |
+// 1.0. If |state| is outside of that range, then revert the button to normal |
+// hovering. This can be overridden by gtk_chrome_button_set_paint_state. |
+void gtk_chrome_button_set_hover_state(GtkChromeButton* button, |
+ gdouble state); |
+ |
+G_END_DECLS |
+ |
+#endif // CHROME_BROWSER_UI_GTK_GTK_CHROME_BUTTON_H_ |