| Index: ui/base/gtk/scoped_region.cc
|
| diff --git a/ui/base/gtk/scoped_region.cc b/ui/base/gtk/scoped_region.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..729e3c3a6f74fdf7e15263f1b0ef15701fdbf5dc
|
| --- /dev/null
|
| +++ b/ui/base/gtk/scoped_region.cc
|
| @@ -0,0 +1,41 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "ui/base/gtk/scoped_region.h"
|
| +
|
| +#include <gdk/gdk.h>
|
| +
|
| +namespace ui {
|
| +
|
| +ScopedRegion::ScopedRegion() : region_(NULL) {}
|
| +
|
| +ScopedRegion::ScopedRegion(GdkRegion* region) : region_(region) {}
|
| +
|
| +ScopedRegion::~ScopedRegion() {
|
| + Close();
|
| +}
|
| +
|
| +void ScopedRegion::Set(GdkRegion* region) {
|
| + Close();
|
| + region_ = region;
|
| +}
|
| +
|
| +GdkRegion* ScopedRegion::Get() {
|
| + return region_;
|
| +}
|
| +
|
| +GdkRegion* ScopedRegion::release() {
|
| + GdkRegion* region = region_;
|
| + region_ = NULL;
|
| + return region;
|
| +}
|
| +
|
| +void ScopedRegion::Close() {
|
| + if (region_) {
|
| + gdk_region_destroy(region_);
|
| + region_ = NULL;
|
| + }
|
| +}
|
| +
|
| +} // namespace ui
|
|
|