Lines Matching refs:rec
230 const auto add_draw = [this, &draws](sk_sp<sksg::RenderNode> draw, const ShapeRec& rec) {
232 draws.push_back(this->attachBlendMode(rec.fJson, std::move(draw)));
235 for (auto rec = recs.rbegin(); rec != recs.rend(); ++rec) {
236 const AutoPropertyTracker apt(this, rec->fJson, PropertyObserver::NodeType::OTHER);
238 switch (rec->fInfo.fShapeType) {
240 SkASSERT(rec->fInfo.fAttacherIndex < SK_ARRAY_COUNT(gGeometryAttachers));
241 if (auto geo = gGeometryAttachers[rec->fInfo.fAttacherIndex](rec->fJson, this)) {
247 SkASSERT(rec->fInfo.fAttacherIndex < SK_ARRAY_COUNT(gGeometryEffectAttachers));
249 geos = gGeometryEffectAttachers[rec->fInfo.fAttacherIndex](rec->fJson,
254 SkASSERT(&ctx->fGeometryEffectStack->back().fJson == &rec->fJson);
256 gGeometryEffectAttachers[rec->fInfo.fAttacherIndex]);
264 this->attachShape(rec->fJson["it"], &groupShapeCtx, rec->fSuppressed)) {
265 add_draw(std::move(subgroup), *rec);
271 SkASSERT(rec->fInfo.fAttacherIndex < SK_ARRAY_COUNT(gPaintAttachers));
272 auto paint = gPaintAttachers[rec->fInfo.fAttacherIndex](rec->fJson, this);
273 if (!paint || geos.empty() || rec->fSuppressed)
285 SkASSERT(rec->fInfo.fAttacherIndex < SK_ARRAY_COUNT(gPaintGeometryAdjusters));
286 if (const auto adjuster = gPaintGeometryAdjusters[rec->fInfo.fAttacherIndex]) {
287 drawGeos = adjuster(rec->fJson, this, std::move(drawGeos));
296 add_draw(sksg::Draw::Make(std::move(geo), std::move(paint)), *rec);
300 SkASSERT(rec->fInfo.fAttacherIndex < SK_ARRAY_COUNT(gDrawEffectAttachers));
302 draws = gDrawEffectAttachers[rec->fInfo.fAttacherIndex](rec->fJson,