| OLD | NEW |
| 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 #include "ui/gfx/gtk_preserve_window.h" | 5 #include "ui/gfx/gtk_preserve_window.h" |
| 6 | 6 |
| 7 #include <gdk/gdkwindow.h> | 7 #include <gdk/gdkwindow.h> |
| 8 #include <gtk/gtk.h> | 8 #include <gtk/gtk.h> |
| 9 #include <gtk/gtkwidget.h> | 9 #include <gtk/gtkwidget.h> |
| 10 #include <gtk/gtkfixed.h> | 10 #include <gtk/gtkfixed.h> |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 } | 75 } |
| 76 | 76 |
| 77 static void gtk_preserve_window_realize(GtkWidget* widget) { | 77 static void gtk_preserve_window_realize(GtkWidget* widget) { |
| 78 g_return_if_fail(GTK_IS_PRESERVE_WINDOW(widget)); | 78 g_return_if_fail(GTK_IS_PRESERVE_WINDOW(widget)); |
| 79 | 79 |
| 80 if (widget->window) { | 80 if (widget->window) { |
| 81 gdk_window_reparent(widget->window, | 81 gdk_window_reparent(widget->window, |
| 82 gtk_widget_get_parent_window(widget), | 82 gtk_widget_get_parent_window(widget), |
| 83 widget->allocation.x, | 83 widget->allocation.x, |
| 84 widget->allocation.y); | 84 widget->allocation.y); |
| 85 GtkPreserveWindowPrivate* priv = GTK_PRESERVE_WINDOW_GET_PRIVATE(widget); |
| 86 if (!priv->delegate_resize) { |
| 87 gdk_window_resize(widget->window, |
| 88 widget->allocation.width, |
| 89 widget->allocation.height); |
| 90 } |
| 85 widget->style = gtk_style_attach(widget->style, widget->window); | 91 widget->style = gtk_style_attach(widget->style, widget->window); |
| 86 gtk_style_set_background(widget->style, widget->window, GTK_STATE_NORMAL); | 92 gtk_style_set_background(widget->style, widget->window, GTK_STATE_NORMAL); |
| 87 | 93 |
| 88 gint event_mask = gtk_widget_get_events(widget); | 94 gint event_mask = gtk_widget_get_events(widget); |
| 89 event_mask |= GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK; | 95 event_mask |= GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK; |
| 90 gdk_window_set_events(widget->window, (GdkEventMask) event_mask); | 96 gdk_window_set_events(widget->window, (GdkEventMask) event_mask); |
| 91 gdk_window_set_user_data(widget->window, widget); | 97 gdk_window_set_user_data(widget->window, widget); |
| 92 | 98 |
| 93 // Deprecated as of GTK 2.22. Used for compatibility. | 99 // Deprecated as of GTK 2.22. Used for compatibility. |
| 94 // It should be: gtk_widget_set_realized(widget, TRUE) | 100 // It should be: gtk_widget_set_realized(widget, TRUE) |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 193 } | 199 } |
| 194 } | 200 } |
| 195 | 201 |
| 196 void gtk_preserve_window_delegate_resize(GtkPreserveWindow* widget, | 202 void gtk_preserve_window_delegate_resize(GtkPreserveWindow* widget, |
| 197 gboolean delegate) { | 203 gboolean delegate) { |
| 198 GtkPreserveWindowPrivate* priv = GTK_PRESERVE_WINDOW_GET_PRIVATE(widget); | 204 GtkPreserveWindowPrivate* priv = GTK_PRESERVE_WINDOW_GET_PRIVATE(widget); |
| 199 priv->delegate_resize = delegate; | 205 priv->delegate_resize = delegate; |
| 200 } | 206 } |
| 201 | 207 |
| 202 G_END_DECLS | 208 G_END_DECLS |
| OLD | NEW |