diff options
author | reed <reed@chromium.org> | 2014-10-01 07:21:23 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-01 07:21:23 -0700 |
commit | d9c42f71c391baa23c5ed5934444077e96a68638 (patch) | |
tree | 9abd8904b80b7da44e76ae5fe1d116ba6042a3af /src | |
parent | 24e430ff321bcd07c736e9bc70d06c444ab5a9ca (diff) |
optimize setRectFan and join -- from profiling drawText
BUG=skia:
NOTREECHECKS=True
NOTRY=True
Review URL: https://codereview.chromium.org/615993003
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkPoint.cpp | 10 | ||||
-rw-r--r-- | src/core/SkRect.cpp | 11 |
2 files changed, 5 insertions, 16 deletions
diff --git a/src/core/SkPoint.cpp b/src/core/SkPoint.cpp index 5fee0e80c2..2970e35c54 100644 --- a/src/core/SkPoint.cpp +++ b/src/core/SkPoint.cpp @@ -43,16 +43,6 @@ void SkPoint::setIRectFan(int l, int t, int r, int b, size_t stride) { SkIntToScalar(t)); } -void SkPoint::setRectFan(SkScalar l, SkScalar t, SkScalar r, SkScalar b, - size_t stride) { - SkASSERT(stride >= sizeof(SkPoint)); - - ((SkPoint*)((intptr_t)this + 0 * stride))->set(l, t); - ((SkPoint*)((intptr_t)this + 1 * stride))->set(l, b); - ((SkPoint*)((intptr_t)this + 2 * stride))->set(r, b); - ((SkPoint*)((intptr_t)this + 3 * stride))->set(r, t); -} - void SkPoint::rotateCW(SkPoint* dst) const { SkASSERT(dst); diff --git a/src/core/SkRect.cpp b/src/core/SkRect.cpp index 2814375abb..12f76526a5 100644 --- a/src/core/SkRect.cpp +++ b/src/core/SkRect.cpp @@ -146,8 +146,7 @@ bool SkRect::intersect(const SkRect& a, const SkRect& b) { return false; } -void SkRect::join(SkScalar left, SkScalar top, SkScalar right, - SkScalar bottom) { +void SkRect::join(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom) { // do nothing if the params are empty if (left >= right || top >= bottom) { return; @@ -157,9 +156,9 @@ void SkRect::join(SkScalar left, SkScalar top, SkScalar right, if (fLeft >= fRight || fTop >= fBottom) { this->set(left, top, right, bottom); } else { - if (left < fLeft) fLeft = left; - if (top < fTop) fTop = top; - if (right > fRight) fRight = right; - if (bottom > fBottom) fBottom = bottom; + fLeft = SkMinScalar(fLeft, left); + fTop = SkMinScalar(fTop, top); + fRight = SkMaxScalar(fRight, right); + fBottom = SkMaxScalar(fBottom, bottom); } } |