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 "views/widget/widget_gtk.h" | 5 #include "views/widget/widget_gtk.h" |
6 | 6 |
7 #include "app/drag_drop_types.h" | 7 #include "app/drag_drop_types.h" |
8 #include "app/gfx/path.h" | 8 #include "app/gfx/path.h" |
9 #include "app/os_exchange_data.h" | 9 #include "app/os_exchange_data.h" |
10 #include "app/os_exchange_data_provider_gtk.h" | 10 #include "app/os_exchange_data_provider_gtk.h" |
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
371 // TODO: need to constrain based on screen size. | 371 // TODO: need to constrain based on screen size. |
372 gtk_window_resize(gtk_window, bounds.width(), bounds.height()); | 372 gtk_window_resize(gtk_window, bounds.width(), bounds.height()); |
373 gtk_window_move(gtk_window, bounds.x(), bounds.y()); | 373 gtk_window_move(gtk_window, bounds.x(), bounds.y()); |
374 } | 374 } |
375 } | 375 } |
376 | 376 |
377 void WidgetGtk::MoveAbove(Widget* widget) { | 377 void WidgetGtk::MoveAbove(Widget* widget) { |
378 NOTIMPLEMENTED(); | 378 NOTIMPLEMENTED(); |
379 } | 379 } |
380 | 380 |
381 void WidgetGtk::SetShape(const gfx::Path& shape) { | 381 void WidgetGtk::SetShape(gfx::NativeRegion region) { |
382 DCHECK(widget_); | 382 DCHECK(widget_); |
383 DCHECK(widget_->window); | 383 DCHECK(widget_->window); |
384 | 384 |
385 gdk_window_shape_combine_region(widget_->window, NULL, 0, 0); | |
386 GdkRegion* region = shape.CreateGdkRegion(); | |
387 gdk_window_shape_combine_region(widget_->window, region, 0, 0); | 385 gdk_window_shape_combine_region(widget_->window, region, 0, 0); |
388 gdk_region_destroy(region); | 386 gdk_region_destroy(region); |
389 } | 387 } |
390 | 388 |
391 void WidgetGtk::Close() { | 389 void WidgetGtk::Close() { |
392 if (!widget_) | 390 if (!widget_) |
393 return; // No need to do anything. | 391 return; // No need to do anything. |
394 | 392 |
395 // Hide first. | 393 // Hide first. |
396 Hide(); | 394 Hide(); |
(...skipping 861 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1258 if (root_view) | 1256 if (root_view) |
1259 return root_view; | 1257 return root_view; |
1260 | 1258 |
1261 // Enumerate all children and check if they have a RootView. | 1259 // Enumerate all children and check if they have a RootView. |
1262 gtk_container_foreach(GTK_CONTAINER(window), RootViewLocatorCallback, | 1260 gtk_container_foreach(GTK_CONTAINER(window), RootViewLocatorCallback, |
1263 static_cast<gpointer>(&root_view)); | 1261 static_cast<gpointer>(&root_view)); |
1264 return root_view; | 1262 return root_view; |
1265 } | 1263 } |
1266 | 1264 |
1267 } // namespace views | 1265 } // namespace views |
OLD | NEW |