| Index: app/gfx/path_gtk.cc
|
| ===================================================================
|
| --- app/gfx/path_gtk.cc (revision 30814)
|
| +++ app/gfx/path_gtk.cc (working copy)
|
| @@ -11,7 +11,7 @@
|
|
|
| namespace gfx {
|
|
|
| -GdkRegion* Path::CreateGdkRegion() const {
|
| +GdkRegion* Path::CreateNativeRegion() const {
|
| int point_count = getPoints(NULL, 0);
|
| if (point_count <= 1) {
|
| // NOTE: ideally this would return gdk_empty_region, but that returns a
|
| @@ -31,4 +31,25 @@
|
| return gdk_region_polygon(gdk_points.get(), point_count, GDK_EVEN_ODD_RULE);
|
| }
|
|
|
| +// static
|
| +NativeRegion Path::IntersectRegions(NativeRegion r1, NativeRegion r2) {
|
| + GdkRegion* copy = gdk_region_copy(r1);
|
| + gdk_region_intersect(copy, r2);
|
| + return copy;
|
| +}
|
| +
|
| +// static
|
| +NativeRegion Path::CombineRegions(NativeRegion r1, NativeRegion r2) {
|
| + GdkRegion* copy = gdk_region_copy(r1);
|
| + gdk_region_union(copy, r2);
|
| + return copy;
|
| +}
|
| +
|
| +// static
|
| +NativeRegion Path::SubtractRegion(NativeRegion r1, NativeRegion r2) {
|
| + GdkRegion* copy = gdk_region_copy(r1);
|
| + gdk_region_subtract(copy, r2);
|
| + return copy;
|
| +}
|
| +
|
| } // namespace gfx
|
|
|