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

Unified Diff: chrome/browser/gtk/rounded_window.cc

Issue 392007: gtk: Hide the status bubble when the mouse nears it. (Closed)
Patch Set: merge again Created 11 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/gtk/rounded_window.h ('k') | chrome/browser/gtk/status_bubble_gtk.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/gtk/rounded_window.cc
diff --git a/chrome/browser/gtk/rounded_window.cc b/chrome/browser/gtk/rounded_window.cc
index 79af8041eadd4e13601d549cb182959f59a6ebf6..b6174b432662f2d5bbc088af670314bab7dfb417 100644
--- a/chrome/browser/gtk/rounded_window.cc
+++ b/chrome/browser/gtk/rounded_window.cc
@@ -184,6 +184,8 @@ void ActAsRoundedWindow(
GtkWidget* widget, const GdkColor& color, int corner_size,
int rounded_edges, int drawn_borders) {
DCHECK(widget);
+ DCHECK(!g_object_get_data(G_OBJECT(widget), kRoundedData));
+
gtk_widget_set_app_paintable(widget, TRUE);
g_signal_connect(G_OBJECT(widget), "expose-event",
G_CALLBACK(OnRoundedWindowExpose), NULL);
@@ -209,10 +211,26 @@ void StopActingAsRoundedWindow(GtkWidget* widget) {
g_signal_handlers_disconnect_by_func(widget,
reinterpret_cast<gpointer>(OnStyleSet), NULL);
+ delete static_cast<RoundedWindowData*>(
+ g_object_steal_data(G_OBJECT(widget), kRoundedData));
+
if (GTK_WIDGET_REALIZED(widget))
gdk_window_shape_combine_mask(widget->window, NULL, 0, 0);
}
+void SetRoundedWindowEdgesAndBorders(GtkWidget* widget,
+ int corner_size,
+ int rounded_edges,
+ int drawn_borders) {
+ DCHECK(widget);
+ RoundedWindowData* data = static_cast<RoundedWindowData*>(
+ g_object_get_data(G_OBJECT(widget), kRoundedData));
+ DCHECK(data);
+ data->corner_size = corner_size;
+ data->rounded_edges = rounded_edges;
+ data->drawn_borders = drawn_borders;
+}
+
void SetRoundedWindowBorderColor(GtkWidget* widget, GdkColor color) {
DCHECK(widget);
RoundedWindowData* data = static_cast<RoundedWindowData*>(
« no previous file with comments | « chrome/browser/gtk/rounded_window.h ('k') | chrome/browser/gtk/status_bubble_gtk.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698