174 {
179 bool axisTagIsValid = false;
180 bool axisStyleValueIsValid = false;
182 const char*
name = attributes[i];
183 const char*
value = attributes[i+1];
184 size_t nameLen = strlen(
name);
186 size_t valueLen = strlen(value);
187 if (valueLen == 4) {
189 axisTagIsValid = true;
190 for (int j = 0; j < file.fVariationDesignPosition.size() - 1; ++j) {
191 if (file.fVariationDesignPosition[j].axis == axisTag) {
192 axisTagIsValid = false;
194 (char)((axisTag >> 24) & 0xFF),
195 (char)((axisTag >> 16) & 0xFF),
196 (char)((axisTag >> 8) & 0xFF),
197 (char)((axisTag ) & 0xFF));
198 }
199 }
200 } else {
202 }
203 }
else if (
MEMEQ(
"stylevalue",
name, nameLen)) {
204 if (parse_fixed<16>(value, &axisStyleValue)) {
205 axisStyleValueIsValid = true;
206 } else {
208 }
209 }
210 }
211 if (axisTagIsValid && axisStyleValueIsValid) {
212 auto& coordinate =
file.fVariationDesignPosition.push_back();
213 coordinate.axis = axisTag;
215 }
216 },
217 nullptr,
218 nullptr,
219 nullptr,
220};
#define SkFixedToScalar(x)
static constexpr SkFourByteTag SkSetFourByteTag(char a, char b, char c, char d)