| Index: third_party/WebKit/Source/platform/graphics/skia/SkiaUtils.cpp
|
| diff --git a/third_party/WebKit/Source/platform/graphics/skia/SkiaUtils.cpp b/third_party/WebKit/Source/platform/graphics/skia/SkiaUtils.cpp
|
| index bc498815db8d3c4bdda30ce4d52ad6d086df586c..4a597d1809d13f3878d038856c55316e33949627 100644
|
| --- a/third_party/WebKit/Source/platform/graphics/skia/SkiaUtils.cpp
|
| +++ b/third_party/WebKit/Source/platform/graphics/skia/SkiaUtils.cpp
|
| @@ -32,7 +32,6 @@
|
| #include "platform/graphics/skia/SkiaUtils.h"
|
|
|
| #include "platform/graphics/GraphicsContext.h"
|
| -#include "third_party/skia/include/core/SkRegion.h"
|
| #include "third_party/skia/include/effects/SkCornerPathEffect.h"
|
|
|
| namespace blink {
|
| @@ -169,53 +168,6 @@ WebBlendMode blendModeFromSkia(SkXfermode::Mode xferMode)
|
| return WebBlendModeNormal;
|
| }
|
|
|
| -bool SkPathContainsPoint(const SkPath& originalPath, const FloatPoint& point, SkPath::FillType ft)
|
| -{
|
| - SkRect bounds = originalPath.getBounds();
|
| -
|
| - // We can immediately return false if the point is outside the bounding
|
| - // rect. We don't use bounds.contains() here, since it would exclude
|
| - // points on the right and bottom edges of the bounding rect, and we want
|
| - // to include them.
|
| - SkScalar fX = SkFloatToScalar(point.x());
|
| - SkScalar fY = SkFloatToScalar(point.y());
|
| - if (fX < bounds.fLeft || fX > bounds.fRight || fY < bounds.fTop || fY > bounds.fBottom)
|
| - return false;
|
| -
|
| - // Scale the path to a large size before hit testing for two reasons:
|
| - // 1) Skia has trouble with coordinates close to the max signed 16-bit values, so we scale larger paths down.
|
| - // TODO: when Skia is patched to work properly with large values, this will not be necessary.
|
| - // 2) Skia does not support analytic hit testing, so we scale paths up to do raster hit testing with subpixel accuracy.
|
| - // 3) Scale the x/y axis separately so an extreme large/small scale factor on one axis won't
|
| - // ruin the resolution of the other axis.
|
| - SkScalar biggestCoordX = std::max(bounds.fRight, -bounds.fLeft);
|
| - SkScalar biggestCoordY = std::max(bounds.fBottom, -bounds.fTop);
|
| - if (SkScalarNearlyZero(biggestCoordX) || SkScalarNearlyZero(biggestCoordY))
|
| - return false;
|
| -
|
| - biggestCoordX = std::max(biggestCoordX, std::fabs(fX) + 1);
|
| - biggestCoordY = std::max(biggestCoordY, std::fabs(fY) + 1);
|
| -
|
| - const SkScalar kMaxCoordinate = SkIntToScalar(1 << 15);
|
| - SkScalar scaleX = kMaxCoordinate / biggestCoordX;
|
| - SkScalar scaleY = kMaxCoordinate / biggestCoordY;
|
| -
|
| - SkRegion rgn;
|
| - SkRegion clip;
|
| - SkMatrix m;
|
| - SkPath scaledPath(originalPath);
|
| -
|
| - scaledPath.setFillType(ft);
|
| - m.setScale(scaleX, scaleY);
|
| - scaledPath.transform(m, 0);
|
| -
|
| - int x = static_cast<int>(floorf(0.5f + point.x() * scaleX));
|
| - int y = static_cast<int>(floorf(0.5f + point.y() * scaleY));
|
| - clip.setRect(x - 1, y - 1, x + 1, y + 1);
|
| -
|
| - return rgn.setPath(scaledPath, clip);
|
| -}
|
| -
|
| SkMatrix affineTransformToSkMatrix(const AffineTransform& source)
|
| {
|
| SkMatrix result;
|
|
|