Lines Matching refs:element

168         const Element* element = iter.prev();  in walkStack()  local
169 if (nullptr == element) { in walkStack()
173 if (SkClipStack::kEmptyGenID == element->getGenID()) { in walkStack()
177 if (SkClipStack::kWideOpenGenID == element->getGenID()) { in walkStack()
182 if (element->getDeviceSpaceType() == Element::DeviceSpaceType::kShader) { in walkStack()
187 fShader = SkShaders::Blend(SkBlendMode::kSrcIn, element->refShader(), fShader); in walkStack()
189 fShader = element->refShader(); in walkStack()
197 switch (element->getOp()) { in walkStack()
201 if (element->isInverseFilled()) { in walkStack()
202 if (element->contains(relaxedQueryBounds)) { in walkStack()
204 } else if (GrClip::IsOutsideClip(element->getBounds(), queryBounds)) { in walkStack()
208 ClipResult result = this->clipInsideElement(element); in walkStack()
215 if (element->contains(relaxedQueryBounds)) { in walkStack()
218 } else if (GrClip::IsOutsideClip(element->getBounds(), queryBounds)) { in walkStack()
221 ClipResult result = this->clipOutsideElement(element); in walkStack()
236 if (element->isInverseFilled()) { in walkStack()
237 if (element->contains(relaxedQueryBounds)) { in walkStack()
240 } else if (GrClip::IsOutsideClip(element->getBounds(), queryBounds)) { in walkStack()
243 ClipResult result = this->clipOutsideElement(element); in walkStack()
250 if (element->contains(relaxedQueryBounds)) { in walkStack()
252 } else if (GrClip::IsOutsideClip(element->getBounds(), queryBounds)) { in walkStack()
256 ClipResult result = this->clipInsideElement(element); in walkStack()
271 if (element->isInverseFilled()) { in walkStack()
272 if (element->contains(relaxedQueryBounds)) { in walkStack()
274 } else if (GrClip::IsOutsideClip(element->getBounds(), queryBounds)) { in walkStack()
279 if (element->contains(relaxedQueryBounds)) { in walkStack()
282 } else if (GrClip::IsOutsideClip(element->getBounds(), queryBounds)) { in walkStack()
295 if (element->isInverseFilled()) { in walkStack()
296 if (element->contains(relaxedQueryBounds)) { in walkStack()
298 } else if (GrClip::IsOutsideClip(element->getBounds(), queryBounds)) { in walkStack()
302 if (element->contains(relaxedQueryBounds)) { in walkStack()
304 } else if (GrClip::IsOutsideClip(element->getBounds(), queryBounds)) { in walkStack()
317 if (element->isInverseFilled()) { in walkStack()
318 if (element->contains(relaxedQueryBounds)) { in walkStack()
321 } else if (GrClip::IsOutsideClip(element->getBounds(), queryBounds)) { in walkStack()
325 if (element->contains(relaxedQueryBounds)) { in walkStack()
327 } else if (GrClip::IsOutsideClip(element->getBounds(), queryBounds)) { in walkStack()
342 if (element->isInverseFilled()) { in walkStack()
343 if (element->contains(relaxedQueryBounds)) { in walkStack()
346 } else if (GrClip::IsOutsideClip(element->getBounds(), queryBounds)) { in walkStack()
350 ClipResult result = this->clipOutsideElement(element); in walkStack()
360 if (element->contains(relaxedQueryBounds)) { in walkStack()
363 } else if (GrClip::IsOutsideClip(element->getBounds(), queryBounds)) { in walkStack()
367 ClipResult result = this->clipInsideElement(element); in walkStack()
389 fMaskGenID = element->getGenID(); in walkStack()
394 SkASSERT(kXOR_SkClipOp == element->getOp() || in walkStack()
395 kReverseDifference_SkClipOp == element->getOp()); in walkStack()
399 Element* newElement = fMaskElements.addToHead(*element); in walkStack()
425 Element* element = fMaskElements.headIter().get(); in walkStack() local
426 while (element) { in walkStack()
428 switch (element->getOp()) { in walkStack()
440 element->setOp(kReplace_SkClipOp); in walkStack()
449 element->setOp(kReplace_SkClipOp); in walkStack()
455 element->setOp(kReplace_SkClipOp); in walkStack()
465 skippable = element->isInverseFilled() ? in walkStack()
466 GrClip::IsOutsideClip(element->getBounds(), queryBounds) : in walkStack()
467 element->contains(relaxedQueryBounds); in walkStack()
471 element->setOp(kReplace_SkClipOp); in walkStack()
486 if (element->isAA()) { in walkStack()
490 element = fMaskElements.headIter().get(); in walkStack()
500 GrReducedClip::ClipResult GrReducedClip::clipInsideElement(const Element* element) { in clipInsideElement() argument
501 SkASSERT(element->getDeviceSpaceType() != Element::DeviceSpaceType::kShader); in clipInsideElement()
504 if (!element->isAA()) { in clipInsideElement()
505 element->getBounds().round(&elementIBounds); in clipInsideElement()
507 elementIBounds = GrClip::GetPixelIBounds(element->getBounds()); in clipInsideElement()
515 switch (element->getDeviceSpaceType()) { in clipInsideElement()
520 SkASSERT(element->getBounds() == element->getDeviceSpaceRect()); in clipInsideElement()
521 SkASSERT(!element->isInverseFilled()); in clipInsideElement()
522 if (element->isAA()) { in clipInsideElement()
524 fAAClipRect = element->getDeviceSpaceRect(); in clipInsideElement()
529 fAAClipRectGenID = fMaskElements.isEmpty() ? element->getGenID() : fMaskGenID; in clipInsideElement()
531 } else if (!fAAClipRect.intersect(element->getDeviceSpaceRect())) { in clipInsideElement()
539 SkASSERT(!element->isInverseFilled()); in clipInsideElement()
540 return this->addAnalyticRRect(element->getDeviceSpaceRRect(), Invert::kNo, in clipInsideElement()
541 GrAA(element->isAA())); in clipInsideElement()
544 return this->addAnalyticPath(element->getDeviceSpacePath(), in clipInsideElement()
545 Invert(element->isInverseFilled()), GrAA(element->isAA())); in clipInsideElement()
554 GrReducedClip::ClipResult GrReducedClip::clipOutsideElement(const Element* element) { in clipOutsideElement() argument
555 SkASSERT(element->getDeviceSpaceType() != Element::DeviceSpaceType::kShader); in clipOutsideElement()
557 switch (element->getDeviceSpaceType()) { in clipOutsideElement()
562 SkASSERT(!element->isInverseFilled()); in clipOutsideElement()
566 this->addWindowRectangle(element->getDeviceSpaceRect(), element->isAA()); in clipOutsideElement()
567 if (!element->isAA()) { in clipOutsideElement()
571 return this->addAnalyticRect(element->getDeviceSpaceRect(), Invert::kYes, in clipOutsideElement()
572 GrAA(element->isAA())); in clipOutsideElement()
575 SkASSERT(!element->isInverseFilled()); in clipOutsideElement()
576 const SkRRect& clipRRect = element->getDeviceSpaceRRect(); in clipOutsideElement()
578 GrAA(element->isAA())); in clipOutsideElement()
603 this->addWindowRectangle(horzRect, element->isAA()); in clipOutsideElement()
608 this->addWindowRectangle(vertRect, element->isAA()); in clipOutsideElement()
615 return this->addAnalyticPath(element->getDeviceSpacePath(), in clipOutsideElement()
616 Invert(!element->isInverseFilled()), in clipOutsideElement()
617 GrAA(element->isAA())); in clipOutsideElement()
734 const SkClipStack::Element* element) { in stencil_element() argument
735 GrAA aa = GrAA(element->isAA()); in stencil_element()
736 switch (element->getDeviceSpaceType()) { in stencil_element()
742 paint.setCoverageSetOpXPFactory((SkRegion::Op)element->getOp(), in stencil_element()
743 element->isInverseFilled()); in stencil_element()
745 element->getDeviceSpaceRect()); in stencil_element()
750 element->asDeviceSpacePath(&path); in stencil_element()
755 return rtc->drawAndStencilPath(&clip, ss, (SkRegion::Op)element->getOp(), in stencil_element()
756 element->isInverseFilled(), aa, viewMatrix, path); in stencil_element()
768 const SkClipStack::Element* element) { in draw_element() argument
770 switch (element->getDeviceSpaceType()) { in draw_element()
775 rtc->drawRect(&clip, std::move(paint), aa, viewMatrix, element->getDeviceSpaceRect()); in draw_element()
779 element->asDeviceSpacePath(&path); in draw_element()
820 const Element* element = iter.get(); in drawAlphaClipMask() local
821 SkRegion::Op op = (SkRegion::Op)element->getOp(); in drawAlphaClipMask()
822 GrAA aa = GrAA(element->isAA()); in drawAlphaClipMask()
823 bool invert = element->isInverseFilled(); in drawAlphaClipMask()
836 if (!stencil_element(rtc, clip, &kStencilInElement, translate, element)) { in drawAlphaClipMask()
860 draw_element(rtc, clip, std::move(paint), aa, translate, element); in drawAlphaClipMask()
882 const Element* element = iter.get(); in drawStencilClipMask() local
883 SkRegion::Op op = (SkRegion::Op)element->getOp(); in drawStencilClipMask()
884 GrAA aa = element->isAA() ? GrAA::kYes : GrAA::kNo; in drawStencilClipMask()
886 if (Element::DeviceSpaceType::kRect == element->getDeviceSpaceType()) { in drawStencilClipMask()
887 helper.drawRect(element->getDeviceSpaceRect(), SkMatrix::I(), op, aa); in drawStencilClipMask()
890 element->asDeviceSpacePath(&path); in drawStencilClipMask()