| Index: app/gfx/path_win.cc
|
| ===================================================================
|
| --- app/gfx/path_win.cc (revision 30929)
|
| +++ app/gfx/path_win.cc (working copy)
|
| @@ -8,7 +8,7 @@
|
|
|
| namespace gfx {
|
|
|
| -HRGN Path::CreateHRGN() const {
|
| +HRGN Path::CreateNativeRegion() const {
|
| int point_count = getPoints(NULL, 0);
|
| scoped_array<SkPoint> points(new SkPoint[point_count]);
|
| getPoints(points.get(), point_count);
|
| @@ -21,4 +21,25 @@
|
| return ::CreatePolygonRgn(windows_points.get(), point_count, ALTERNATE);
|
| }
|
|
|
| +// static
|
| +NativeRegion Path::IntersectRegions(NativeRegion r1, NativeRegion r2) {
|
| + HRGN dest = CreateRectRgn(0, 0, 1, 1);
|
| + CombineRgn(dest, r1, r2, RGN_AND);
|
| + return dest;
|
| +}
|
| +
|
| +// static
|
| +NativeRegion Path::CombineRegions(NativeRegion r1, NativeRegion r2) {
|
| + HRGN dest = CreateRectRgn(0, 0, 1, 1);
|
| + CombineRgn(dest, r1, r2, RGN_OR);
|
| + return dest;
|
| +}
|
| +
|
| +// static
|
| +NativeRegion Path::SubtractRegion(NativeRegion r1, NativeRegion r2) {
|
| + HRGN dest = CreateRectRgn(0, 0, 1, 1);
|
| + CombineRgn(dest, r1, r2, RGN_DIFF);
|
| + return dest;
|
| +}
|
| +
|
| } // namespace gfx
|
|
|