void SkComposeImageFilter::computeFastBounds(const SkRect& src, SkRect* dst) const { SkImageFilter* outer = getInput(0); SkImageFilter* inner = getInput(1); SkRect tmp; inner->computeFastBounds(src, &tmp); outer->computeFastBounds(tmp, dst); }
SkRect SkImageFilter::computeFastBounds(const SkRect& src) const { if (0 == this->countInputs()) { return src; } SkRect combinedBounds = this->getInput(0) ? this->getInput(0)->computeFastBounds(src) : src; for (int i = 1; i < this->countInputs(); i++) { SkImageFilter* input = this->getInput(i); if (input) { combinedBounds.join(input->computeFastBounds(src)); } else { combinedBounds.join(src); } } return combinedBounds; }
void SkImageFilter::computeFastBounds(const SkRect& src, SkRect* dst) const { if (0 == fInputCount) { *dst = src; return; } if (this->getInput(0)) { this->getInput(0)->computeFastBounds(src, dst); } else { *dst = src; } for (int i = 1; i < fInputCount; i++) { SkImageFilter* input = this->getInput(i); if (input) { SkRect bounds; input->computeFastBounds(src, &bounds); dst->join(bounds); } else { dst->join(src); } } }
SkRect SkComposeImageFilter::computeFastBounds(const SkRect& src) const { SkImageFilter* outer = this->getInput(0); SkImageFilter* inner = this->getInput(1); return outer->computeFastBounds(inner->computeFastBounds(src)); }