blob: 4b781d929ddb98e8c7af35d534c8c45de84b7dff [file] [log] [blame]
Brian Osman7c979f52019-02-12 13:27:51 -05001/*
2* Copyright 2019 Google LLC
3*
4* Use of this source code is governed by a BSD-style license that can be
5* found in the LICENSE file.
6*/
7
8#include "SkReflected.h"
9
Brian Osmanbdcdf1a2019-03-04 10:55:22 -050010#include "SkCurve.h"
11
Brian Osman7c979f52019-02-12 13:27:51 -050012SkSTArray<16, const SkReflected::Type*, true> SkReflected::gTypes;
13
14void SkReflected::VisitTypes(std::function<void(const Type*)> visitor, const Type* baseType) {
15 for (const Type* type : gTypes) {
16 if (type->isDerivedFrom(baseType)) {
17 visitor(type);
18 }
19 }
20}
Brian Osmanbdcdf1a2019-03-04 10:55:22 -050021
22void SkFieldVisitor::visit(const char* name, SkCurve& c) {
23 this->enterObject(name);
24 c.visitFields(this);
25 this->exitObject();
26}