Remove SkMaxScalar and SkMinScalar
Use std::max and std::min instead
Change-Id: Icf3796609e5cb511687fb50bd31229ae4b6b9b39
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/268841
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/src/core/SkBlurMF.cpp b/src/core/SkBlurMF.cpp
index e02f823..a5c7acb 100644
--- a/src/core/SkBlurMF.cpp
+++ b/src/core/SkBlurMF.cpp
@@ -104,7 +104,7 @@
SkScalar computeXformedSigma(const SkMatrix& ctm) const {
SkScalar xformedSigma = this->ignoreXform() ? fSigma : ctm.mapRadius(fSigma);
- return SkMinScalar(xformedSigma, kMAX_BLUR_SIGMA);
+ return std::min(xformedSigma, kMAX_BLUR_SIGMA);
}
friend class SkBlurMaskFilter;
diff --git a/src/core/SkContourMeasure.cpp b/src/core/SkContourMeasure.cpp
index c26667a..308cfcc 100644
--- a/src/core/SkContourMeasure.cpp
+++ b/src/core/SkContourMeasure.cpp
@@ -141,7 +141,7 @@
SkScalar dy = SkScalarHalf(pts[1].fY) -
SkScalarHalf(SkScalarHalf(pts[0].fY + pts[2].fY));
- SkScalar dist = SkMaxScalar(SkScalarAbs(dx), SkScalarAbs(dy));
+ SkScalar dist = std::max(SkScalarAbs(dx), SkScalarAbs(dy));
return dist > tolerance;
}
@@ -150,13 +150,13 @@
SkPoint midEnds = firstPt + lastPt;
midEnds *= 0.5f;
SkVector dxy = midTPt - midEnds;
- SkScalar dist = SkMaxScalar(SkScalarAbs(dxy.fX), SkScalarAbs(dxy.fY));
+ SkScalar dist = std::max(SkScalarAbs(dxy.fX), SkScalarAbs(dxy.fY));
return dist > tolerance;
}
static bool cheap_dist_exceeds_limit(const SkPoint& pt, SkScalar x, SkScalar y,
SkScalar tolerance) {
- SkScalar dist = SkMaxScalar(SkScalarAbs(x - pt.fX), SkScalarAbs(y - pt.fY));
+ SkScalar dist = std::max(SkScalarAbs(x - pt.fX), SkScalarAbs(y - pt.fY));
// just made up the 1/2
return dist > tolerance;
}
diff --git a/src/core/SkMatrix.cpp b/src/core/SkMatrix.cpp
index 535c6b5..3b50be7 100644
--- a/src/core/SkMatrix.cpp
+++ b/src/core/SkMatrix.cpp
@@ -1456,10 +1456,10 @@
}
if (!(typeMask & SkMatrix::kAffine_Mask)) {
if (kMin_MinMaxOrBoth == MIN_MAX_OR_BOTH) {
- results[0] = SkMinScalar(SkScalarAbs(m[SkMatrix::kMScaleX]),
+ results[0] = std::min(SkScalarAbs(m[SkMatrix::kMScaleX]),
SkScalarAbs(m[SkMatrix::kMScaleY]));
} else if (kMax_MinMaxOrBoth == MIN_MAX_OR_BOTH) {
- results[0] = SkMaxScalar(SkScalarAbs(m[SkMatrix::kMScaleX]),
+ results[0] = std::max(SkScalarAbs(m[SkMatrix::kMScaleX]),
SkScalarAbs(m[SkMatrix::kMScaleY]));
} else {
results[0] = SkScalarAbs(m[SkMatrix::kMScaleX]);
@@ -1489,9 +1489,9 @@
// if upper left 2x2 is orthogonal save some math
if (bSqd <= SK_ScalarNearlyZero*SK_ScalarNearlyZero) {
if (kMin_MinMaxOrBoth == MIN_MAX_OR_BOTH) {
- results[0] = SkMinScalar(a, c);
+ results[0] = std::min(a, c);
} else if (kMax_MinMaxOrBoth == MIN_MAX_OR_BOTH) {
- results[0] = SkMaxScalar(a, c);
+ results[0] = std::max(a, c);
} else {
results[0] = a;
results[1] = c;
diff --git a/src/core/SkPath.cpp b/src/core/SkPath.cpp
index c17e056..bc19407 100644
--- a/src/core/SkPath.cpp
+++ b/src/core/SkPath.cpp
@@ -53,10 +53,10 @@
* our promise. Hence we have a custom joiner that doesn't look at emptiness
*/
static void joinNoEmptyChecks(SkRect* dst, const SkRect& src) {
- dst->fLeft = SkMinScalar(dst->fLeft, src.fLeft);
- dst->fTop = SkMinScalar(dst->fTop, src.fTop);
- dst->fRight = SkMaxScalar(dst->fRight, src.fRight);
- dst->fBottom = SkMaxScalar(dst->fBottom, src.fBottom);
+ dst->fLeft = std::min(dst->fLeft, src.fLeft);
+ dst->fTop = std::min(dst->fTop, src.fTop);
+ dst->fRight = std::max(dst->fRight, src.fRight);
+ dst->fBottom = std::max(dst->fBottom, src.fBottom);
}
static bool is_degenerate(const SkPath& path) {
@@ -2529,8 +2529,8 @@
SkScalar min, max;
min = max = pts[0].fX;
for (size_t i = 1; i < N; ++i) {
- min = SkMinScalar(min, pts[i].fX);
- max = SkMaxScalar(max, pts[i].fX);
+ min = std::min(min, pts[i].fX);
+ max = std::max(max, pts[i].fX);
}
*minPtr = min;
*maxPtr = max;
diff --git a/src/core/SkRRect.cpp b/src/core/SkRRect.cpp
index 0f05193..c429e5c 100644
--- a/src/core/SkRRect.cpp
+++ b/src/core/SkRRect.cpp
@@ -27,7 +27,7 @@
if (fRect.width() < xRad+xRad || fRect.height() < yRad+yRad) {
// At most one of these two divides will be by zero, and neither numerator is zero.
- SkScalar scale = SkMinScalar(sk_ieee_float_divide(fRect. width(), xRad + xRad),
+ SkScalar scale = std::min(sk_ieee_float_divide(fRect. width(), xRad + xRad),
sk_ieee_float_divide(fRect.height(), yRad + yRad));
SkASSERT(scale < SK_Scalar1);
xRad *= scale;
@@ -64,17 +64,17 @@
return;
}
- leftRad = SkMaxScalar(leftRad, 0);
- topRad = SkMaxScalar(topRad, 0);
- rightRad = SkMaxScalar(rightRad, 0);
- bottomRad = SkMaxScalar(bottomRad, 0);
+ leftRad = std::max(leftRad, 0.0f);
+ topRad = std::max(topRad, 0.0f);
+ rightRad = std::max(rightRad, 0.0f);
+ bottomRad = std::max(bottomRad, 0.0f);
SkScalar scale = SK_Scalar1;
if (leftRad + rightRad > fRect.width()) {
scale = fRect.width() / (leftRad + rightRad);
}
if (topRad + bottomRad > fRect.height()) {
- scale = SkMinScalar(scale, fRect.height() / (topRad + bottomRad));
+ scale = std::min(scale, fRect.height() / (topRad + bottomRad));
}
if (scale < SK_Scalar1) {
diff --git a/src/core/SkRecordDraw.cpp b/src/core/SkRecordDraw.cpp
index d3b922b..080a854 100644
--- a/src/core/SkRecordDraw.cpp
+++ b/src/core/SkRecordDraw.cpp
@@ -404,7 +404,7 @@
dst.setBounds(op.pts, op.count);
// Pad the bounding box a little to make sure hairline points' bounds aren't empty.
- SkScalar stroke = SkMaxScalar(op.paint.getStrokeWidth(), 0.01f);
+ SkScalar stroke = std::max(op.paint.getStrokeWidth(), 0.01f);
dst.outset(stroke/2, stroke/2);
return this->adjustAndMap(dst, &op.paint);
diff --git a/src/core/SkRect.cpp b/src/core/SkRect.cpp
index 37f054a..c54e661 100644
--- a/src/core/SkRect.cpp
+++ b/src/core/SkRect.cpp
@@ -100,10 +100,10 @@
}
#define CHECK_INTERSECT(al, at, ar, ab, bl, bt, br, bb) \
- SkScalar L = SkMaxScalar(al, bl); \
- SkScalar R = SkMinScalar(ar, br); \
- SkScalar T = SkMaxScalar(at, bt); \
- SkScalar B = SkMinScalar(ab, bb); \
+ SkScalar L = std::max(al, bl); \
+ SkScalar R = std::min(ar, br); \
+ SkScalar T = std::max(at, bt); \
+ SkScalar B = std::min(ab, bb); \
do { if (!(L < R && T < B)) return false; } while (0)
// do the !(opposite) check so we return false if either arg is NaN
@@ -127,10 +127,10 @@
if (this->isEmpty()) {
*this = r;
} else {
- fLeft = SkMinScalar(fLeft, r.fLeft);
- fTop = SkMinScalar(fTop, r.fTop);
- fRight = SkMaxScalar(fRight, r.fRight);
- fBottom = SkMaxScalar(fBottom, r.fBottom);
+ fLeft = std::min(fLeft, r.fLeft);
+ fTop = std::min(fTop, r.fTop);
+ fRight = std::max(fRight, r.fRight);
+ fBottom = std::max(fBottom, r.fBottom);
}
}
diff --git a/src/core/SkRectPriv.h b/src/core/SkRectPriv.h
index e812f5e..4281cbd 100644
--- a/src/core/SkRectPriv.h
+++ b/src/core/SkRectPriv.h
@@ -41,10 +41,10 @@
}
static void GrowToInclude(SkRect* r, const SkPoint& pt) {
- r->fLeft = SkMinScalar(pt.fX, r->fLeft);
- r->fRight = SkMaxScalar(pt.fX, r->fRight);
- r->fTop = SkMinScalar(pt.fY, r->fTop);
- r->fBottom = SkMaxScalar(pt.fY, r->fBottom);
+ r->fLeft = std::min(pt.fX, r->fLeft);
+ r->fRight = std::max(pt.fX, r->fRight);
+ r->fTop = std::min(pt.fY, r->fTop);
+ r->fBottom = std::max(pt.fY, r->fBottom);
}
// Conservative check if r can be expressed in fixed-point.
diff --git a/src/core/SkStrikeSpec.cpp b/src/core/SkStrikeSpec.cpp
index 5b10bae..4716196 100644
--- a/src/core/SkStrikeSpec.cpp
+++ b/src/core/SkStrikeSpec.cpp
@@ -147,7 +147,7 @@
textMatrix.postConcat(viewMatrix);
// we have a self-imposed maximum, just for memory-usage sanity
- SkScalar limit = SkMinScalar(SkGraphics::GetFontCachePointSizeLimit(), 1024);
+ SkScalar limit = std::min(SkGraphics::GetFontCachePointSizeLimit(), 1024);
SkScalar maxSizeSquared = limit * limit;
auto distance = [&textMatrix](int XIndex, int YIndex) {
diff --git a/src/core/SkStroke.cpp b/src/core/SkStroke.cpp
index 1c32900..aac6ee2 100644
--- a/src/core/SkStroke.cpp
+++ b/src/core/SkStroke.cpp
@@ -1571,7 +1571,7 @@
break;
}
- if (fWidth < SkMinScalar(rw, rh) && !fDoFill) {
+ if (fWidth < std::min(rw, rh) && !fDoFill) {
r = rect;
r.inset(radius, radius);
dst->addRect(r, reverse_direction(dir));
diff --git a/src/core/SkTextBlob.cpp b/src/core/SkTextBlob.cpp
index 4fe0db7..609f076 100644
--- a/src/core/SkTextBlob.cpp
+++ b/src/core/SkTextBlob.cpp
@@ -322,8 +322,8 @@
SkScalar maxX = *glyphPos;
for (unsigned i = 1; i < run.glyphCount(); ++i) {
SkScalar x = glyphPos[i];
- minX = SkMinScalar(x, minX);
- maxX = SkMaxScalar(x, maxX);
+ minX = std::min(x, minX);
+ maxX = std::max(x, maxX);
}
bounds.setLTRB(minX, 0, maxX, 0);
diff --git a/src/effects/SkDashPathEffect.cpp b/src/effects/SkDashPathEffect.cpp
index 913d851..d392dc2 100644
--- a/src/effects/SkDashPathEffect.cpp
+++ b/src/effects/SkDashPathEffect.cpp
@@ -228,7 +228,7 @@
if (results) {
results->fFlags = 0;
- SkScalar clampedInitialDashLength = SkMinScalar(length, fInitialDashLength);
+ SkScalar clampedInitialDashLength = std::min(length, fInitialDashLength);
if (SkPaint::kRound_Cap == rec.getCap()) {
results->fFlags |= PointData::kCircles_PointFlag;
diff --git a/src/effects/imagefilters/SkBlurImageFilter.cpp b/src/effects/imagefilters/SkBlurImageFilter.cpp
index 572ab13..80f50b7 100644
--- a/src/effects/imagefilters/SkBlurImageFilter.cpp
+++ b/src/effects/imagefilters/SkBlurImageFilter.cpp
@@ -555,8 +555,8 @@
static SkVector map_sigma(const SkSize& localSigma, const SkMatrix& ctm) {
SkVector sigma = SkVector::Make(localSigma.width(), localSigma.height());
ctm.mapVectors(&sigma, 1);
- sigma.fX = SkMinScalar(SkScalarAbs(sigma.fX), MAX_SIGMA);
- sigma.fY = SkMinScalar(SkScalarAbs(sigma.fY), MAX_SIGMA);
+ sigma.fX = std::min(SkScalarAbs(sigma.fX), MAX_SIGMA);
+ sigma.fY = std::min(SkScalarAbs(sigma.fY), MAX_SIGMA);
return sigma;
}
diff --git a/src/effects/imagefilters/SkMagnifierImageFilter.cpp b/src/effects/imagefilters/SkMagnifierImageFilter.cpp
index c06738d..a96879d 100644
--- a/src/effects/imagefilters/SkMagnifierImageFilter.cpp
+++ b/src/effects/imagefilters/SkMagnifierImageFilter.cpp
@@ -197,12 +197,12 @@
SkScalar dist = SkScalarSqrt(SkScalarSquare(x_dist) +
SkScalarSquare(y_dist));
- dist = SkMaxScalar(kScalar2 - dist, 0);
- weight = SkMinScalar(SkScalarSquare(dist), SK_Scalar1);
+ dist = std::max(kScalar2 - dist, 0.0f);
+ weight = std::min(SkScalarSquare(dist), SK_Scalar1);
} else {
- SkScalar sqDist = SkMinScalar(SkScalarSquare(x_dist),
+ SkScalar sqDist = std::min(SkScalarSquare(x_dist),
SkScalarSquare(y_dist));
- weight = SkMinScalar(sqDist, SK_Scalar1);
+ weight = std::min(sqDist, SK_Scalar1);
}
SkScalar x_interp = weight * (fSrcRect.x() + x * invXZoom) + (1 - weight) * x;
diff --git a/src/gpu/geometry/GrPathUtils.cpp b/src/gpu/geometry/GrPathUtils.cpp
index 4d34d08..f4b8081 100644
--- a/src/gpu/geometry/GrPathUtils.cpp
+++ b/src/gpu/geometry/GrPathUtils.cpp
@@ -28,7 +28,7 @@
mat.setTranslate((i % 2) ? pathBounds.fLeft : pathBounds.fRight,
(i < 2) ? pathBounds.fTop : pathBounds.fBottom);
mat.postConcat(viewM);
- stretch = SkMaxScalar(stretch, mat.mapRadius(SK_Scalar1));
+ stretch = std::max(stretch, mat.mapRadius(SK_Scalar1));
}
}
SkScalar srcTol = 0;
@@ -342,7 +342,7 @@
// scale the max absolute value of coeffs to 10
SkScalar scale = 0.f;
for (int i = 0; i < 9; ++i) {
- scale = SkMaxScalar(scale, SkScalarAbs(klm[i]));
+ scale = std::max(scale, SkScalarAbs(klm[i]));
}
SkASSERT(scale > 0.f);
scale = 10.f / scale;
diff --git a/src/gpu/ops/GrAAConvexTessellator.cpp b/src/gpu/ops/GrAAConvexTessellator.cpp
index 86aa54c..417d700 100644
--- a/src/gpu/ops/GrAAConvexTessellator.cpp
+++ b/src/gpu/ops/GrAAConvexTessellator.cpp
@@ -899,8 +899,8 @@
cur = tess.point(fPts[next].fIndex) - tess.point(fPts[i].fIndex);
SkScalar dot = prev.fX * cur.fY - prev.fY * cur.fX;
- minDot = SkMinScalar(minDot, dot);
- maxDot = SkMaxScalar(maxDot, dot);
+ minDot = std::min(minDot, dot);
+ maxDot = std::max(maxDot, dot);
prev = cur;
}
diff --git a/src/gpu/ops/GrDashOp.cpp b/src/gpu/ops/GrDashOp.cpp
index 858fa72..b59d996 100644
--- a/src/gpu/ops/GrDashOp.cpp
+++ b/src/gpu/ops/GrDashOp.cpp
@@ -374,7 +374,7 @@
// We always want to at least stroke out half a pixel on each side in device space
// so 0.5f / perpScale gives us this min in src space
SkScalar halfSrcStroke =
- SkMaxScalar(args.fSrcStrokeWidth * 0.5f, 0.5f / args.fPerpendicularScale);
+ std::max(args.fSrcStrokeWidth * 0.5f, 0.5f / args.fPerpendicularScale);
SkScalar strokeAdj;
if (!hasCap) {
@@ -401,8 +401,8 @@
SkPoint startPts[2];
startPts[0] = draw.fPtsRot[0];
startPts[1].fY = startPts[0].fY;
- startPts[1].fX = SkMinScalar(startPts[0].fX + draw.fIntervals[0] - draw.fPhase,
- draw.fPtsRot[1].fX);
+ startPts[1].fX = std::min(startPts[0].fX + draw.fIntervals[0] - draw.fPhase,
+ draw.fPtsRot[1].fX);
startRect.setBounds(startPts, 2);
startRect.outset(strokeAdj, halfSrcStroke);
diff --git a/src/gpu/ops/GrSmallPathRenderer.cpp b/src/gpu/ops/GrSmallPathRenderer.cpp
index 894cc2c..f0d8191 100644
--- a/src/gpu/ops/GrSmallPathRenderer.cpp
+++ b/src/gpu/ops/GrSmallPathRenderer.cpp
@@ -200,8 +200,8 @@
return CanDrawPath::kNo;
}
SkRect bounds = args.fShape->styledBounds();
- SkScalar minDim = SkMinScalar(bounds.width(), bounds.height());
- SkScalar maxDim = SkMaxScalar(bounds.width(), bounds.height());
+ SkScalar minDim = std::min(bounds.width(), bounds.height());
+ SkScalar maxDim = std::max(bounds.width(), bounds.height());
SkScalar minSize = minDim * SkScalarAbs(scaleFactors[0]);
SkScalar maxSize = maxDim * SkScalarAbs(scaleFactors[1]);
if (maxDim > kMaxDim || kMinSize > minSize || maxSize > kMaxSize) {
@@ -402,7 +402,7 @@
} else {
maxScale = SkScalarAbs(args.fViewMatrix.getMaxScale());
}
- SkScalar maxDim = SkMaxScalar(bounds.width(), bounds.height());
+ SkScalar maxDim = std::max(bounds.width(), bounds.height());
// We try to create the DF at a 2^n scaled path resolution (1/2, 1, 2, 4, etc.)
// In the majority of cases this will yield a crisper rendering.
SkScalar mipScale = 1.0f;
diff --git a/src/gpu/ops/GrStrokeRectOp.cpp b/src/gpu/ops/GrStrokeRectOp.cpp
index 6de35ba..81ce82b 100644
--- a/src/gpu/ops/GrStrokeRectOp.cpp
+++ b/src/gpu/ops/GrStrokeRectOp.cpp
@@ -838,7 +838,7 @@
// Create either a empty rect or a non-empty rect.
SkRect rect =
random->nextBool() ? SkRect::MakeXYWH(10, 10, 50, 40) : SkRect::MakeXYWH(6, 7, 0, 0);
- SkScalar minDim = SkMinScalar(rect.width(), rect.height());
+ SkScalar minDim = std::min(rect.width(), rect.height());
SkScalar strokeWidth = random->nextUScalar1() * minDim;
SkStrokeRec rec(SkStrokeRec::kFill_InitStyle);
diff --git a/src/gpu/text/GrTextBlob.cpp b/src/gpu/text/GrTextBlob.cpp
index 8ead191..9154f25 100644
--- a/src/gpu/text/GrTextBlob.cpp
+++ b/src/gpu/text/GrTextBlob.cpp
@@ -351,8 +351,8 @@
void GrTextBlob::setHasBitmap() { fTextType |= kHasBitmap_TextType; }
void GrTextBlob::setMinAndMaxScale(SkScalar scaledMin, SkScalar scaledMax) {
// we init fMaxMinScale and fMinMaxScale in the constructor
- fMaxMinScale = SkMaxScalar(scaledMin, fMaxMinScale);
- fMinMaxScale = SkMinScalar(scaledMax, fMinMaxScale);
+ fMaxMinScale = std::max(scaledMin, fMaxMinScale);
+ fMinMaxScale = std::min(scaledMax, fMinMaxScale);
}
size_t GrTextBlob::GetVertexStride(GrMaskFormat maskFormat, bool hasWCoord) {
diff --git a/src/pdf/SkPDFUtils.cpp b/src/pdf/SkPDFUtils.cpp
index 56689ef..306709c 100644
--- a/src/pdf/SkPDFUtils.cpp
+++ b/src/pdf/SkPDFUtils.cpp
@@ -102,7 +102,7 @@
void SkPDFUtils::AppendRectangle(const SkRect& rect, SkWStream* content) {
// Skia has 0,0 at top left, pdf at bottom left. Do the right thing.
- SkScalar bottom = SkMinScalar(rect.fBottom, rect.fTop);
+ SkScalar bottom = std::min(rect.fBottom, rect.fTop);
SkPDFUtils::AppendScalar(rect.fLeft, content);
content->writeText(" ");
diff --git a/src/shaders/SkPictureShader.cpp b/src/shaders/SkPictureShader.cpp
index fc99118..8b5f017 100644
--- a/src/shaders/SkPictureShader.cpp
+++ b/src/shaders/SkPictureShader.cpp
@@ -221,7 +221,7 @@
// Scale down the tile size if larger than maxTextureSize for GPU Path or it should fail on create texture
if (maxTextureSize) {
if (scaledSize.width() > maxTextureSize || scaledSize.height() > maxTextureSize) {
- SkScalar downScale = maxTextureSize / SkMaxScalar(scaledSize.width(), scaledSize.height());
+ SkScalar downScale = maxTextureSize / std::max(scaledSize.width(), scaledSize.height());
scaledSize.set(SkScalarFloorToScalar(scaledSize.width() * downScale),
SkScalarFloorToScalar(scaledSize.height() * downScale));
}
diff --git a/src/utils/SkPatchUtils.cpp b/src/utils/SkPatchUtils.cpp
index 9387331..30e807b 100644
--- a/src/utils/SkPatchUtils.cpp
+++ b/src/utils/SkPatchUtils.cpp
@@ -182,8 +182,8 @@
}
// Level of detail per axis, based on the larger side between top and bottom or left and right
- int lodX = static_cast<int>(SkMaxScalar(topLength, bottomLength) / kPartitionSize);
- int lodY = static_cast<int>(SkMaxScalar(leftLength, rightLength) / kPartitionSize);
+ int lodX = static_cast<int>(std::max(topLength, bottomLength) / kPartitionSize);
+ int lodY = static_cast<int>(std::max(leftLength, rightLength) / kPartitionSize);
return SkISize::Make(SkMax32(8, lodX), SkMax32(8, lodY));
}