| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 #include "chrome/browser/gtk/gtk_chrome_button.h" | 5 #include "chrome/browser/gtk/gtk_chrome_button.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/gfx/gtk_util.h" | 8 #include "base/gfx/gtk_util.h" |
| 9 #include "chrome/browser/gtk/nine_box.h" | 9 #include "chrome/browser/gtk/nine_box.h" |
| 10 | 10 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 G_DEFINE_TYPE(GtkChromeButton, gtk_chrome_button, GTK_TYPE_BUTTON) | 37 G_DEFINE_TYPE(GtkChromeButton, gtk_chrome_button, GTK_TYPE_BUTTON) |
| 38 static gboolean gtk_chrome_button_expose(GtkWidget* widget, | 38 static gboolean gtk_chrome_button_expose(GtkWidget* widget, |
| 39 GdkEventExpose* event); | 39 GdkEventExpose* event); |
| 40 | 40 |
| 41 static void gtk_chrome_button_class_init(GtkChromeButtonClass* button_class) { | 41 static void gtk_chrome_button_class_init(GtkChromeButtonClass* button_class) { |
| 42 gtk_rc_parse_string( | 42 gtk_rc_parse_string( |
| 43 "style \"chrome-button\" {" | 43 "style \"chrome-button\" {" |
| 44 " GtkButton::child-displacement-x = 0" | 44 " GtkButton::child-displacement-x = 0" |
| 45 " GtkButton::child-displacement-y = 0" | 45 " GtkButton::child-displacement-y = 0" |
| 46 "}" | 46 "}" |
| 47 "widget \"*chrome-button\" style \"chrome-button\""); | 47 "widget_class \"*.<GtkChromeButton>\" style \"chrome-button\""); |
| 48 | 48 |
| 49 GObjectClass* gobject_class = G_OBJECT_CLASS(button_class); | 49 GObjectClass* gobject_class = G_OBJECT_CLASS(button_class); |
| 50 GtkWidgetClass* widget_class = reinterpret_cast<GtkWidgetClass*>( | 50 GtkWidgetClass* widget_class = reinterpret_cast<GtkWidgetClass*>( |
| 51 button_class); | 51 button_class); |
| 52 widget_class->expose_event = gtk_chrome_button_expose; | 52 widget_class->expose_event = gtk_chrome_button_expose; |
| 53 | 53 |
| 54 g_nine_box_prelight = new NineBox( | 54 g_nine_box_prelight = new NineBox( |
| 55 IDR_TEXTBUTTON_TOP_LEFT_H, | 55 IDR_TEXTBUTTON_TOP_LEFT_H, |
| 56 IDR_TEXTBUTTON_TOP_H, | 56 IDR_TEXTBUTTON_TOP_H, |
| 57 IDR_TEXTBUTTON_TOP_RIGHT_H, | 57 IDR_TEXTBUTTON_TOP_RIGHT_H, |
| (...skipping 16 matching lines...) Expand all Loading... |
| 74 IDR_TEXTBUTTON_BOTTOM_RIGHT_P); | 74 IDR_TEXTBUTTON_BOTTOM_RIGHT_P); |
| 75 | 75 |
| 76 g_type_class_add_private(gobject_class, sizeof(GtkChromeButtonPrivate)); | 76 g_type_class_add_private(gobject_class, sizeof(GtkChromeButtonPrivate)); |
| 77 } | 77 } |
| 78 | 78 |
| 79 static void gtk_chrome_button_init(GtkChromeButton* button) { | 79 static void gtk_chrome_button_init(GtkChromeButton* button) { |
| 80 GtkChromeButtonPrivate* priv = GTK_CHROME_BUTTON_GET_PRIVATE(button); | 80 GtkChromeButtonPrivate* priv = GTK_CHROME_BUTTON_GET_PRIVATE(button); |
| 81 priv->paint_state = -1; | 81 priv->paint_state = -1; |
| 82 priv->use_gtk_rendering = FALSE; | 82 priv->use_gtk_rendering = FALSE; |
| 83 | 83 |
| 84 gtk_widget_set_name(GTK_WIDGET(button), "chrome-button"); | |
| 85 gtk_widget_set_app_paintable(GTK_WIDGET(button), TRUE); | 84 gtk_widget_set_app_paintable(GTK_WIDGET(button), TRUE); |
| 86 | 85 |
| 87 GTK_WIDGET_UNSET_FLAGS(button, GTK_CAN_FOCUS); | 86 GTK_WIDGET_UNSET_FLAGS(button, GTK_CAN_FOCUS); |
| 88 } | 87 } |
| 89 | 88 |
| 90 static gboolean gtk_chrome_button_expose(GtkWidget* widget, | 89 static gboolean gtk_chrome_button_expose(GtkWidget* widget, |
| 91 GdkEventExpose* event) { | 90 GdkEventExpose* event) { |
| 92 GtkChromeButtonPrivate *priv = GTK_CHROME_BUTTON_GET_PRIVATE(widget); | 91 GtkChromeButtonPrivate *priv = GTK_CHROME_BUTTON_GET_PRIVATE(widget); |
| 93 int paint_state = priv->paint_state < 0 ? | 92 int paint_state = priv->paint_state < 0 ? |
| 94 GTK_WIDGET_STATE(widget) : priv->paint_state; | 93 GTK_WIDGET_STATE(widget) : priv->paint_state; |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 } | 152 } |
| 154 | 153 |
| 155 void gtk_chrome_button_set_use_gtk_rendering(GtkChromeButton* button, | 154 void gtk_chrome_button_set_use_gtk_rendering(GtkChromeButton* button, |
| 156 gboolean value) { | 155 gboolean value) { |
| 157 g_return_if_fail(GTK_IS_CHROME_BUTTON(button)); | 156 g_return_if_fail(GTK_IS_CHROME_BUTTON(button)); |
| 158 GtkChromeButtonPrivate *priv = GTK_CHROME_BUTTON_GET_PRIVATE(button); | 157 GtkChromeButtonPrivate *priv = GTK_CHROME_BUTTON_GET_PRIVATE(button); |
| 159 priv->use_gtk_rendering = value; | 158 priv->use_gtk_rendering = value; |
| 160 } | 159 } |
| 161 | 160 |
| 162 G_END_DECLS | 161 G_END_DECLS |
| OLD | NEW |