523 {
524 if (!typeface) {
525 return;
526 }
527
529 if (numAxes < 0) {
530 return;
531 }
532
533 std::unique_ptr<SkFontParameters::Variation::Axis[]> copiedAxes =
534 std::make_unique<SkFontParameters::Variation::Axis[]>(numAxes);
535
537 if (numAxes < 0) {
538 return;
539 }
540
541 auto argVariationPositionOrDefault = [&variationPosition](
SkFourByteTag tag,
546 }
547 }
548 return defaultValue;
549 };
550
551 fAxisSliders.resize(numAxes);
552 fCoords = std::make_unique<SkFontArguments::VariationPosition::Coordinate[]>(numAxes);
553 for (int i = 0; i < numAxes; ++i) {
554 fAxisSliders[i].axis = copiedAxes[i];
555 fAxisSliders[i].current =
556 argVariationPositionOrDefault(copiedAxes[i].tag, copiedAxes[i].def);
557 fAxisSliders[i].name =
tagToString(fAxisSliders[i].axis.tag);
558 fCoords[i] = { fAxisSliders[i].axis.tag, fAxisSliders[i].current };
559 }
560}
int getVariationDesignParameters(SkFontParameters::Variation::Axis parameters[], int parameterCount) const
const Coordinate * coordinates