Lines Matching full:runs
46 static int compute_intervalcount(const SkRegionPriv::RunType runs[]) { in compute_intervalcount() argument
47 const SkRegionPriv::RunType* curr = runs; in compute_intervalcount()
53 return SkToInt((curr - runs) >> 1); in compute_intervalcount()
143 * Given a scanline (including its Bottom value at runs[0]), return the next
144 * scanline. Asserts that there is one (i.e. runs[0] < Sentinel)
146 static SkRegion::RunType* SkipEntireScanline(const SkRegion::RunType runs[]) { in SkipEntireScanline()
148 SkASSERT(runs[0] < SkRegion_kRunTypeSentinel); in SkipEntireScanline()
150 const int intervals = runs[1]; in SkipEntireScanline()
151 SkASSERT(runs[2 + intervals * 2] == SkRegion_kRunTypeSentinel); in SkipEntireScanline()
154 int n = compute_intervalcount(&runs[2]); in SkipEntireScanline()
160 runs += 1 + 1 + intervals * 2 + 1; in SkipEntireScanline()
161 return const_cast<SkRegion::RunType*>(runs); in SkipEntireScanline()
173 const RunType* runs = this->readonly_runs(); in findScanline() local
176 SkASSERT(y >= runs[0]); in findScanline()
178 runs += 1; // skip top-Y in findScanline()
180 int bottom = runs[0]; in findScanline()
187 runs = SkipEntireScanline(runs); in findScanline()
189 return const_cast<SkRegion::RunType*>(runs); in findScanline()
192 // Copy src runs into us, computing interval counts and bounds along the way
194 RunType* runs = this->writable_runs(); in computeRunBounds() local
195 bounds->fTop = *runs++; in computeRunBounds()
204 bot = *runs++; in computeRunBounds()
208 const int intervals = *runs++; in computeRunBounds()
215 int n = compute_intervalcount(runs); in computeRunBounds()
219 RunType L = runs[0]; in computeRunBounds()
225 runs += intervals * 2; in computeRunBounds()
226 RunType R = runs[-1]; in computeRunBounds()
234 SkASSERT(SkRegion_kRunTypeSentinel == *runs); in computeRunBounds()
235 runs += 1; // skip x-sentinel in computeRunBounds()
238 } while (SkRegion_kRunTypeSentinel > *runs); in computeRunBounds()
242 int runCount = SkToInt(runs - this->writable_runs() + 1); in computeRunBounds()