bool SkRTConfRegistry::hasNonDefault() const { ConfMap::Iter iter(fConfs); SkTDArray<SkRTConfBase *> *confArray; while (iter.next(&confArray)) { if (!confArray->getAt(0)->isDefault()) { return true; } } return false; }
void SkRTConfRegistry::printNonDefault(const char *fname) const { SkWStream *o; if (NULL != fname) { o = new SkFILEWStream(fname); } else { o = new SkDebugWStream(); } ConfMap::Iter iter(fConfs); SkTDArray<SkRTConfBase *> *confArray; while (iter.next(&confArray)) { if (!confArray->getAt(0)->isDefault()) { confArray->getAt(0)->print(o); o->newline(); } } delete o; }
// register a configuration variable after its value has been set by the parser. // we maintain a vector of these things instead of just a single one because the // user might set the value after initialization time and we need to have // all the pointers lying around, not just one. void SkRTConfRegistry::registerConf(SkRTConfBase *conf) { SkTDArray<SkRTConfBase *> *confArray; if (fConfs.find(conf->getName(), &confArray)) { if (!conf->equals(confArray->getAt(0))) { SkDebugf("WARNING: Skia config \"%s\" was registered more than once in incompatible ways.\n", conf->getName()); } else { confArray->append(1, &conf); } } else { confArray = new SkTDArray<SkRTConfBase *>; confArray->append(1, &conf); fConfs.set(conf->getName(),confArray); } }