Home | History | Annotate | Download | only in core

Lines Matching full:clip

27     our extends. The bug is that when this happens, we will set the clip to
28 NULL (for speed), and thus draw outside of the clip by a pixel, which might
34 case (i.e. not setting the clip to NULL) when we might not actually need
224 const SkIRect* clip, SkBlitter* blitter)
233 values are huge. A better fix might be to clip the original pts
239 do_anti_hairline(x0, y0, hx, hy, clip, blitter);
240 do_anti_hairline(hx, hy, x1, y1, clip, blitter);
279 if (clip)
281 if (istart >= clip->fRight || istop <= clip->fLeft)
283 if (istart < clip->fLeft)
285 fstart += slope * (clip->fLeft - istart);
286 istart = clip->fLeft;
289 if (istop > clip->fRight) {
290 istop = clip->fRight;
297 // now test if our Y values are completely inside the clip
313 if (top >= clip->fBottom || bottom <= clip->fTop)
315 if (clip->fTop <= top && clip->fBottom >= bottom)
316 clip = NULL;
356 if (clip)
358 if (istart >= clip->fBottom || istop <= clip->fTop)
360 if (istart < clip->fTop)
362 fstart += slope * (clip->fTop - istart);
363 istart = clip->fTop;
366 if (istop > clip->fBottom) {
367 istop = clip->fBottom;
374 // now test if our X values are completely inside the clip
390 if (left >= clip->fRight || right <= clip->fLeft)
392 if (clip->fLeft <= left && clip->fRight >= right)
393 clip = NULL;
398 if (clip)
400 rectClipper.init(blitter, *clip);
416 const SkRegion* clip, SkBlitter* blitter)
418 if (clip && clip->isEmpty())
421 SkASSERT(clip == NULL || !clip->getBounds().isEmpty());
429 if (clip) {
431 clipBounds.set(clip->getBounds());
432 /* We perform integral clipping later on, but we do a scalar clip first
436 their bounds, so we need to outset the clip before calling the
453 if (clip) {
465 if (clip->quickReject(ir)) {
468 if (!clip->quickContains(ir)) {
469 SkRegion::Cliperator iter(*clip, ir);
478 // fall through to no-clip case
483 void SkScan::AntiHairRect(const SkRect& rect, const SkRegion* clip, SkBlitter* blitter)
489 SkScan::AntiHairLine(p0, p1, clip, blitter);
491 SkScan::AntiHairLine(p0, p1, clip, blitter);
493 SkScan::AntiHairLine(p0, p1, clip, blitter);
495 SkScan::AntiHairLine(p0, p1, clip, blitter);
581 void SkScan::AntiFillXRect(const SkXRect& xr, const SkRegion* clip,
583 if (clip) {
587 if (clip->isRect()) {
588 const SkIRect& clipBounds = clip->getBounds();
601 SkRegion::Cliperator clipper(*clip, outerBounds);
637 We clip r (as needed) into one or more (smaller) float rects, and then pass
641 void SkScan::AntiFillRect(const SkRect& origR, const SkRegion* clip,
643 if (clip) {
645 newR.set(clip->getBounds());
653 if (clip->isRect()) {
656 SkRegion::Cliperator clipper(*clip, outerBounds);