Lines Matching full:runs

25 static int compute_intervalcount(const SkRegion::RunType runs[]) {  in compute_intervalcount()  argument
26 const SkRegion::RunType* curr = runs; in compute_intervalcount()
32 return SkToInt((curr - runs) >> 1); in compute_intervalcount()
120 * Given a scanline (including its Bottom value at runs[0]), return the next
121 * scanline. Asserts that there is one (i.e. runs[0] < Sentinel)
123 static SkRegion::RunType* SkipEntireScanline(const SkRegion::RunType runs[]) { in SkipEntireScanline()
125 SkASSERT(runs[0] < SkRegion::kRunTypeSentinel); in SkipEntireScanline()
127 const int intervals = runs[1]; in SkipEntireScanline()
128 SkASSERT(runs[2 + intervals * 2] == SkRegion::kRunTypeSentinel); in SkipEntireScanline()
131 int n = compute_intervalcount(&runs[2]); in SkipEntireScanline()
137 runs += 1 + 1 + intervals * 2 + 1; in SkipEntireScanline()
138 return const_cast<SkRegion::RunType*>(runs); in SkipEntireScanline()
150 const RunType* runs = this->readonly_runs(); in findScanline() local
153 SkASSERT(y >= runs[0]); in findScanline()
155 runs += 1; // skip top-Y in findScanline()
157 int bottom = runs[0]; in findScanline()
164 runs = SkipEntireScanline(runs); in findScanline()
166 return const_cast<SkRegion::RunType*>(runs); in findScanline()
169 // Copy src runs into us, computing interval counts and bounds along the way
171 RunType* runs = this->writable_runs(); in computeRunBounds() local
172 bounds->fTop = *runs++; in computeRunBounds()
181 bot = *runs++; in computeRunBounds()
185 const int intervals = *runs++; in computeRunBounds()
192 int n = compute_intervalcount(runs); in computeRunBounds()
196 RunType L = runs[0]; in computeRunBounds()
202 runs += intervals * 2; in computeRunBounds()
203 RunType R = runs[-1]; in computeRunBounds()
211 SkASSERT(SkRegion::kRunTypeSentinel == *runs); in computeRunBounds()
212 runs += 1; // skip x-sentinel in computeRunBounds()
215 } while (SkRegion::kRunTypeSentinel > *runs); in computeRunBounds()
219 int runCount = SkToInt(runs - this->writable_runs() + 1); in computeRunBounds()