Home | History | Annotate | Download | only in core

Lines Matching refs:clip

19     our extends. The bug is that when this happens, we will set the clip to
20 nullptr (for speed), and thus draw outside of the clip by a pixel, which might
26 case (i.e. not setting the clip to nullptr) when we might not actually need
306 const SkIRect* clip, SkBlitter* blitter) {
314 // The caller must clip the line to [-32767.0 ... 32767.0] ahead of time
324 values are huge. A better fix might be to clip the original pts
330 do_anti_hairline(x0, y0, hx, hy, clip, blitter);
331 do_anti_hairline(hx, hy, x1, y1, clip, blitter);
375 if (clip){
376 if (istart >= clip->fRight || istop <= clip->fLeft) {
379 if (istart < clip->fLeft) {
380 fstart += slope * (clip->fLeft - istart);
381 istart = clip->fLeft;
389 if (istop > clip->fRight) {
390 istop = clip->fRight;
398 // now test if our Y values are completely inside the clip
411 if (top >= clip->fBottom || bottom <= clip->fTop) {
414 if (clip->fTop <= top && clip->fBottom >= bottom) {
415 clip = nullptr;
451 if (clip) {
452 if (istart >= clip->fBottom || istop <= clip->fTop) {
455 if (istart < clip->fTop) {
456 fstart += slope * (clip->fTop - istart);
457 istart = clip->fTop;
465 if (istop > clip->fBottom) {
466 istop = clip->fBottom;
474 // now test if our X values are completely inside the clip
487 if (left >= clip->fRight || right <= clip->fLeft) {
490 if (clip->fLeft <= left && clip->fRight >= right) {
491 clip = nullptr;
497 if (clip) {
498 rectClipper.init(blitter, *clip);
523 void SkScan::AntiHairLineRgn(const SkPoint array[], int arrayCount, const SkRegion* clip,
525 if (clip && clip->isEmpty()) {
529 SkASSERT(clip == nullptr || !clip->getBounds().isEmpty());
539 if (clip) {
540 clipBounds.set(clip->getBounds());
541 /* We perform integral clipping later on, but we do a scalar clip first
545 their bounds, so we need to outset the clip before calling the
556 // We have to pre-clip the line to fit in a SkFixed, so we just chop
562 if (clip && !SkLineClipper::IntersectLine(pts, clipBounds, pts)) {
571 if (clip) {
583 if (clip->quickReject(ir)) {
586 if (!clip->quickContains(ir)) {
587 SkRegion::Cliperator iter(*clip, ir);
596 // fall through to no-clip case
602 void SkScan::AntiHairRect(const SkRect& rect, const SkRasterClip& clip,
611 SkScan::AntiHairLine(pts, 5, clip, blitter);
700 void SkScan::AntiFillXRect(const SkXRect& xr, const SkRegion* clip,
702 if (nullptr == clip) {
708 if (clip->isRect()) {
709 const SkIRect& clipBounds = clip->getBounds();
722 SkRegion::Cliperator clipper(*clip, outerBounds);
739 void SkScan::AntiFillXRect(const SkXRect& xr, const SkRasterClip& clip,
741 if (clip.isBW()) {
742 AntiFillXRect(xr, &clip.bwRgn(), blitter);
747 if (clip.quickContains(outerBounds)) {
750 SkAAClipBlitterWrapper wrapper(clip, blitter);
773 We clip r (as needed) into one or more (smaller) float rects, and then pass
777 void SkScan::AntiFillRect(const SkRect& origR, const SkRegion* clip,
779 if (clip) {
781 newR.set(clip->getBounds());
788 if (clip->isRect()) {
791 SkRegion::Cliperator clipper(*clip, outerBounds);
805 void SkScan::AntiFillRect(const SkRect& r, const SkRasterClip& clip,
807 if (clip.isBW()) {
808 AntiFillRect(r, &clip.bwRgn(), blitter);
810 SkAAClipBlitterWrapper wrap(clip, blitter);
920 const SkRegion* clip, SkBlitter* blitter) {
937 if (clip) {
938 if (clip->quickReject(outer)) {
941 if (!clip->contains(outer)) {
942 blitter = clipper.apply(blitter, clip, &outer);
944 // now we can ignore clip for the rest of the function
1000 const SkRasterClip& clip, SkBlitter* blitter) {
1001 if (clip.isBW()) {
1002 AntiFrameRect(r, strokeSize, &clip.bwRgn(), blitter);
1004 SkAAClipBlitterWrapper wrap(clip, blitter);