OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/ui/gtk/rounded_window.h" | 5 #include "chrome/browser/ui/gtk/rounded_window.h" |
6 | 6 |
7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> |
8 #include <math.h> | 8 #include <math.h> |
9 | 9 |
10 #include "base/i18n/rtl.h" | 10 #include "base/i18n/rtl.h" |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 | 272 |
273 data->border_color = color; | 273 data->border_color = color; |
274 data->corner_size = corner_size; | 274 data->corner_size = corner_size; |
275 | 275 |
276 data->rounded_edges = rounded_edges; | 276 data->rounded_edges = rounded_edges; |
277 data->drawn_borders = drawn_borders; | 277 data->drawn_borders = drawn_borders; |
278 | 278 |
279 g_object_set_data_full(G_OBJECT(widget), kRoundedData, | 279 g_object_set_data_full(G_OBJECT(widget), kRoundedData, |
280 data, FreeRoundedWindowData); | 280 data, FreeRoundedWindowData); |
281 | 281 |
282 if (GTK_WIDGET_VISIBLE(widget)) | 282 if (gtk_widget_get_visible(widget)) |
283 gtk_widget_queue_draw(widget); | 283 gtk_widget_queue_draw(widget); |
284 } | 284 } |
285 | 285 |
286 void StopActingAsRoundedWindow(GtkWidget* widget) { | 286 void StopActingAsRoundedWindow(GtkWidget* widget) { |
287 g_object_set_data(G_OBJECT(widget), kRoundedData, NULL); | 287 g_object_set_data(G_OBJECT(widget), kRoundedData, NULL); |
288 | 288 |
289 if (GTK_WIDGET_REALIZED(widget)) | 289 if (GTK_WIDGET_REALIZED(widget)) |
290 gdk_window_shape_combine_mask(widget->window, NULL, 0, 0); | 290 gdk_window_shape_combine_mask(widget->window, NULL, 0, 0); |
291 | 291 |
292 if (GTK_WIDGET_VISIBLE(widget)) | 292 if (gtk_widget_get_visible(widget)) |
293 gtk_widget_queue_draw(widget); | 293 gtk_widget_queue_draw(widget); |
294 } | 294 } |
295 | 295 |
296 bool IsActingAsRoundedWindow(GtkWidget* widget) { | 296 bool IsActingAsRoundedWindow(GtkWidget* widget) { |
297 return g_object_get_data(G_OBJECT(widget), kRoundedData) != NULL; | 297 return g_object_get_data(G_OBJECT(widget), kRoundedData) != NULL; |
298 } | 298 } |
299 | 299 |
300 void SetRoundedWindowEdgesAndBorders(GtkWidget* widget, | 300 void SetRoundedWindowEdgesAndBorders(GtkWidget* widget, |
301 int corner_size, | 301 int corner_size, |
302 int rounded_edges, | 302 int rounded_edges, |
303 int drawn_borders) { | 303 int drawn_borders) { |
304 DCHECK(widget); | 304 DCHECK(widget); |
305 RoundedWindowData* data = static_cast<RoundedWindowData*>( | 305 RoundedWindowData* data = static_cast<RoundedWindowData*>( |
306 g_object_get_data(G_OBJECT(widget), kRoundedData)); | 306 g_object_get_data(G_OBJECT(widget), kRoundedData)); |
307 DCHECK(data); | 307 DCHECK(data); |
308 data->corner_size = corner_size; | 308 data->corner_size = corner_size; |
309 data->rounded_edges = rounded_edges; | 309 data->rounded_edges = rounded_edges; |
310 data->drawn_borders = drawn_borders; | 310 data->drawn_borders = drawn_borders; |
311 } | 311 } |
312 | 312 |
313 void SetRoundedWindowBorderColor(GtkWidget* widget, GdkColor color) { | 313 void SetRoundedWindowBorderColor(GtkWidget* widget, GdkColor color) { |
314 DCHECK(widget); | 314 DCHECK(widget); |
315 RoundedWindowData* data = static_cast<RoundedWindowData*>( | 315 RoundedWindowData* data = static_cast<RoundedWindowData*>( |
316 g_object_get_data(G_OBJECT(widget), kRoundedData)); | 316 g_object_get_data(G_OBJECT(widget), kRoundedData)); |
317 DCHECK(data); | 317 DCHECK(data); |
318 data->border_color = color; | 318 data->border_color = color; |
319 } | 319 } |
320 | 320 |
321 } // namespace gtk_util | 321 } // namespace gtk_util |
OLD | NEW |