Lines Matching defs:bounds
140 // Test each corner for contains; since a is convex, if all 4 corners of b's bounds are
308 const SkIRect& bounds,
327 auto proxy = proxyProvider->createProxy(format, bounds.size(), GrRenderable::kNo, 1,
340 auto drawAndUploadMask = [uploaderRaw, bounds] {
343 if (helper.init(bounds)) {
359 if (!helper.init(bounds)) {
374 const SkIRect& bounds,
379 if (helper.init(bounds, genID, out->windowRectsState().windows(), 0)) {
418 // Draw does not have inner bounds so cannot contain anything.
426 const SkRect& bounds() const { return fOriginalBounds; }
466 // If the draw is non-AA, use the already computed outer bounds so we don't need to use
468 SkRect queryBounds = d.aa() == GrAA::kYes ? d.bounds() : SkRect::Make(d.outerBounds());
509 e.fShape.bounds(), e.fLocalToDevice, mixedAA);
521 // Then simplify the base shape, if it becomes empty, no need to update the bounds
533 SkRect outer = fLocalToDevice.mapRect(fShape.bounds());
547 // Except for non-AA axis-aligned rects, the outer bounds is the rounded-out device-space
548 // mapped bounds of the shape.
553 // The actual geometry can be updated to the device-intersected bounds and we can
554 // know the inner bounds
593 // Post-conditions on inner and outer bounds
665 // don't do the full bounds computations like in simplify().
702 // Else the bounds checks think we need to keep both, but depending on the combination
872 void ClipStack::SaveRecord::reset(const SkIRect& bounds) {
875 fOuterBounds = bounds;
876 fInnerBounds = bounds;
896 // Validity check the element's state first; if the shape class isn't empty, the outer bounds
897 // shouldn't be empty; if the inner bounds are not empty, they must be contained in outer.
913 // In this invocation, 'A' refers to the existing stack's bounds and 'B' refers to the new
932 // The new element combines in a complex manner, so update the stack's bounds based on
939 // simply to keep the element and update the stack bounds to be the element's intersected
953 // inner bounds to empty here
958 // - Shrink the stack's outer bounds if the difference op's inner bounds completely
960 // - Shrink the stack's inner bounds to completely exclude the op's outer bounds.
973 // - The updated outer bounds is the union of outer bounds and the inner becomes the
974 // largest of the two possible inner bounds
983 // If we get here, we're keeping the new element and the stack's bounds have been updated.
984 // We ought to have caught the cases where the stack bounds resemble an empty or wide open
1192 // The outer/inner bounds represent what's cut out, so full bounds remains the device
1193 // bounds, minus any fully clipped content that spans the device edge.
1202 GrClip::PreClipResult ClipStack::preApply(const SkRect& bounds, GrAA aa) const {
1203 Draw draw(bounds, fForceAA ? GrAA::kYes : aa);
1228 // Shouldn't happen since the inner bounds of a draw are unknown
1261 SkRect* bounds) const {
1269 // Convert the bounds to a Draw and apply device bounds clipping, making our query as tight
1271 Draw draw(*bounds, GrAA(fForceAA || aa != GrAAType::kNone));
1275 SkAssertResult(bounds->intersect(SkRect::Make(fDeviceBounds)));
1286 // Convert any clip shader first, since it's not geometrically related to the draw bounds
1315 // Shouldn't happen since draws don't report inner bounds
1328 // We can determine a scissor based on the draw and the overall stack bounds.
1340 // have an element that wouldn't affect the scissored draw bounds, but does affect the regular
1341 // draw bounds. In that case, the scissor is sufficient for clipping and we can skip the
1348 // If window rectangles are supported, we can use them to exclude inner bounds of difference ops
1389 // bounds match, nothing else needs to be done.
1401 // The op clipped its own geometry. Tighten the draw bounds.
1402 bounds->intersect(SkRect::Make(e.outerBounds()));
1418 // should prioritize those with the largest inner bounds.
1460 if (!GrClip::IsInsideClip(scissorBounds, *bounds, draw.aa())) {
1461 out->hardClip().addScissor(scissorBounds, bounds);
1551 // and ensures the element's bounds are clipped to the device (NOT the conservative clip bounds,
1552 // since those are based on the net effect of all elements while device bounds clipping happens
1594 const SaveRecord& current, const SkIRect& bounds,
1600 SkIRect maskBounds; // may not be 'bounds' if we reuse a large clip mask
1606 if (m.appliesToDraw(current, bounds)) {
1610 maskBounds = m.bounds();
1618 maskProxy = render_sw_mask(context, bounds, elements, count);
1625 Mask& mask = masks->emplace_back(current, bounds);
1627 maskBounds = bounds;
1636 // make sure that the draw bounds are pre-mapped into the mask's space as well.
1638 auto subset = SkRect::Make(bounds);
1640 // We scissor to bounds. The mask's texel centers are aligned to device space