Lines Matching refs:umbraPolygon
59 const SkTDArray<SkPoint>& umbraPolygon, bool lastEdge, bool doClip);
61 const SkTDArray<SkPoint>& umbraPolygon, int* currUmbraIndex);
62 int getClosestUmbraIndex(const SkPoint& point, const SkTDArray<SkPoint>& umbraPolygon);
66 void stitchConcaveRings(const SkTDArray<SkPoint>& umbraPolygon,
292 const SkTDArray<SkPoint>& umbraPolygon = (inset > SK_ScalarNearlyZero) ? insetPolygon
317 this->addInnerPoint(fFirstPoint, umbraColor, umbraPolygon, &fPrevUmbraIndex);
334 this->addEdge(fPathPolygon[0], fFirstOutset, umbraColor, umbraPolygon, false, doClip);
343 this->addEdge(fPathPolygon[i], normal, umbraColor, umbraPolygon,
400 SkColor umbraColor, const SkTDArray<SkPoint>& umbraPolygon,
410 duplicate = this->addInnerPoint(nextPoint, umbraColor, umbraPolygon, &currUmbraIndex);
492 const SkTDArray<SkPoint>& umbraPolygon,
500 umbraPoint = umbraPolygon[this->getClosestUmbraIndex(pathPoint, umbraPolygon)];
524 const SkTDArray<SkPoint>& umbraPolygon) {
525 SkScalar minDistance = SkPointPriv::DistanceToSqd(p, umbraPolygon[fCurrUmbraIndex]);
528 int next = (index + dir) % umbraPolygon.count();
531 SkScalar distance = SkPointPriv::DistanceToSqd(p, umbraPolygon[next]);
536 dir = umbraPolygon.count() - 1;
540 next = (index + dir) % umbraPolygon.count();
541 distance = SkPointPriv::DistanceToSqd(p, umbraPolygon[next]);
545 next = (index + dir) % umbraPolygon.count();
546 distance = SkPointPriv::DistanceToSqd(p, umbraPolygon[next]);
559 SkTDArray<SkPoint> umbraPolygon;
563 &umbraPolygon, &umbraIndices)) {
571 penumbraPolygon.setReserve(umbraPolygon.count());
572 penumbraIndices.setReserve(umbraPolygon.count());
579 if (!umbraPolygon.count() || !penumbraPolygon.count()) {
584 this->stitchConcaveRings(umbraPolygon, &umbraIndices, penumbraPolygon, &penumbraIndices);
589 void SkBaseShadowTessellator::stitchConcaveRings(const SkTDArray<SkPoint>& umbraPolygon,
594 SkAutoSTMalloc<64, uint16_t> indexMap(umbraPolygon.count());
628 currUmbra = (currUmbra + 1) % umbraPolygon.count();
635 fPositions.push_back(umbraPolygon[currUmbra]);
641 int nextUmbra = (currUmbra + 1) % umbraPolygon.count();
651 fPositions.push_back(umbraPolygon[nextUmbra]);
667 nextUmbra = (currUmbra + 1) % umbraPolygon.count();
689 fPositions.push_back(umbraPolygon[nextUmbra]);
700 nextUmbra = (currUmbra + 1) % umbraPolygon.count();
708 fPositions.push_back(umbraPolygon[nextUmbra]);
717 SkTriangulateSimplePolygon(umbraPolygon.begin(), indexMap, umbraPolygon.count(),