diff options
author | Jim Van Verth <jvanverth@google.com> | 2017-10-26 14:27:10 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-10-26 18:49:21 +0000 |
commit | 1a8f234f616063ee2990c681f269c81ca1575298 (patch) | |
tree | 6460b67fe4e0934388bef7aa22e711118758dc06 /src/gpu | |
parent | 25019175eb82f2b0788e43987702f91551d88544 (diff) |
Fix assert in text clipping.
The original code was truncating to int rather than taking the floor.
This would give us the wrong integer value for negative numbers.
Bug: skia:7225
Change-Id: Ief6a01358d936dd3b3e1d36af569274995c2586e
Reviewed-on: https://skia-review.googlesource.com/64064
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu')
-rw-r--r-- | src/gpu/ops/GrAtlasTextOp.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gpu/ops/GrAtlasTextOp.cpp b/src/gpu/ops/GrAtlasTextOp.cpp index 21e7c6fa69..591afb2770 100644 --- a/src/gpu/ops/GrAtlasTextOp.cpp +++ b/src/gpu/ops/GrAtlasTextOp.cpp @@ -84,10 +84,10 @@ static void clip_quads(const SkIRect& clipRect, SkPoint* blobPositionRB = reinterpret_cast<SkPoint*>(blobVertices + 3*vertexStride); // positions for bitmap glyphs are pixel boundary aligned - SkIRect positionRect = SkIRect::MakeLTRB(blobPositionLT->fX, - blobPositionLT->fY, - blobPositionRB->fX, - blobPositionRB->fY); + SkIRect positionRect = SkIRect::MakeLTRB(SkScalarFloorToInt(blobPositionLT->fX), + SkScalarFloorToInt(blobPositionLT->fY), + SkScalarFloorToInt(blobPositionRB->fX), + SkScalarFloorToInt(blobPositionRB->fY)); if (clipRect.contains(positionRect)) { memcpy(currVertex, blobVertices, 4 * vertexStride); currVertex += 4 * vertexStride; |