diff options
Diffstat (limited to 'views/widget/widget_gtk.cc')
-rw-r--r-- | views/widget/widget_gtk.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/views/widget/widget_gtk.cc b/views/widget/widget_gtk.cc index 4928d27..776af0d 100644 --- a/views/widget/widget_gtk.cc +++ b/views/widget/widget_gtk.cc @@ -4,6 +4,7 @@ #include "views/widget/widget_gtk.h" +#include "app/gfx/path.h" #include "base/compiler_specific.h" #include "views/fill_layout.h" #include "views/widget/default_theme_provider.h" @@ -270,6 +271,16 @@ void WidgetGtk::SetBounds(const gfx::Rect& bounds) { } } +void WidgetGtk::SetShape(const gfx::Path& shape) { + DCHECK(widget_); + DCHECK(widget_->window); + + gdk_window_shape_combine_region(widget_->window, NULL, 0, 0); + GdkRegion* region = shape.CreateGdkRegion(); + gdk_window_shape_combine_region(widget_->window, region, 0, 0); + gdk_region_destroy(region); +} + void WidgetGtk::Close() { if (!widget_) return; // No need to do anything. |