From 4cbf8e3dce10ef0d06e5ef95ea88b084bbad2553 Mon Sep 17 00:00:00 2001 From: robertphillips Date: Mon, 9 Jun 2014 07:59:25 -0700 Subject: Add some comments to GrRectanizer_skyline R=jvanverth@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/324693002 --- src/gpu/GrRectanizer_skyline.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/gpu/GrRectanizer_skyline.cpp') diff --git a/src/gpu/GrRectanizer_skyline.cpp b/src/gpu/GrRectanizer_skyline.cpp index b759cb22ac..44da1c326a 100755 --- a/src/gpu/GrRectanizer_skyline.cpp +++ b/src/gpu/GrRectanizer_skyline.cpp @@ -81,8 +81,9 @@ void GrRectanizerSkyline::addSkylineLevel(int skylineIndex, int x, int y, int wi SkASSERT(newSegment.fX + newSegment.fWidth <= this->width()); SkASSERT(newSegment.fY <= this->height()); - // delete width of this skyline segment from following ones + // delete width of the new skyline segment from following ones for (int i = skylineIndex+1; i < fSkyline.count(); ++i) { + // The new segment subsumes all or part of fSkyline[i] SkASSERT(fSkyline[i-1].fX <= fSkyline[i].fX); if (fSkyline[i].fX < fSkyline[i-1].fX + fSkyline[i-1].fWidth) { @@ -92,9 +93,11 @@ void GrRectanizerSkyline::addSkylineLevel(int skylineIndex, int x, int y, int wi fSkyline[i].fWidth -= shrink; if (fSkyline[i].fWidth <= 0) { + // fully consumed fSkyline.remove(i); --i; } else { + // only partially consumed break; } } else { -- cgit v1.2.3