Lines Matching refs:dom
40 static std::unique_ptr<SkCanvas> MakeDOMCanvas(SkDOM* dom, uint32_t flags = 0) {
42 std::make_unique<SkXMLParserWriter>(dom->beginParsing()),
52 const SkDOM& dom,
63 const SkDOM::Node* textElem = dom.getFirstChild(root, "text");
68 REPORTER_ASSERT(reporter, dom.getType(textElem) == SkDOM::kElement_Type);
70 const SkDOM::Node* textNode= dom.getFirstChild(textElem);
73 REPORTER_ASSERT(reporter, dom.getType(textNode) == SkDOM::kText_Type);
74 REPORTER_ASSERT(reporter, strcmp(expected, dom.getName(textNode)) == 0);
79 const char* x = dom.findAttr(textElem, "x");
100 const char* y = dom.findAttr(textElem, "y");
123 SkDOM dom;
129 MakeDOMCanvas(&dom)->drawSimpleText(txt, len, SkTextEncoding::kUTF8,
132 check_text_node(reporter, dom, dom.finishParsing(), offset, 0, txt, expected);
141 MakeDOMCanvas(&dom)->drawTextBlob(blob, 0, 0, paint);
143 check_text_node(reporter, dom, dom.finishParsing(), offset, 1, txt, expected);
152 MakeDOMCanvas(&dom)->drawTextBlob(blob, 0, 0, paint);
154 check_text_node(reporter, dom, dom.finishParsing(), offset, 2, txt, expected);
191 bool FindImageShaderNodes(skiatest::Reporter* reporter, const SkDOM* dom, const SkDOM::Node* root,
194 if (root == nullptr || dom == nullptr) {
200 const SkDOM::Node* rect = dom->getFirstChild(root, "rect");
207 const SkDOM::Node* defs = dom->getFirstChild(root, "defs");
213 const SkDOM::Node* pattern = dom->getFirstChild(defs, "pattern");
220 const SkDOM::Node* image = dom->getFirstChild(pattern, "image");
230 void ImageShaderTestSetup(SkDOM* dom, SkPaint* paint, int imageWidth, int imageHeight,
233 auto svgCanvas = MakeDOMCanvas(dom);
241 SkDOM dom;
245 ImageShaderTestSetup(&dom, &paint, imageWidth, imageHeight, rectWidth, rectHeight,
248 const SkDOM::Node* root = dom.finishParsing();
252 FindImageShaderNodes(reporter, &dom, root, &patternNode, &imageNode, &rectNode);
256 REPORTER_ASSERT(reporter, atoi(dom.findAttr(imageNode, "width")) == imageWidth);
257 REPORTER_ASSERT(reporter, atoi(dom.findAttr(imageNode, "height")) == imageHeight);
261 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(patternNode, "width"), "100%") == 0);
262 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(patternNode, "height"), "100%") == 0);
266 SkDOM dom;
270 ImageShaderTestSetup(&dom, &paint, imageWidth, imageHeight, rectWidth, rectHeight,
273 const SkDOM::Node* root = dom.finishParsing();
274 const SkDOM::Node* innerSvg = dom.getFirstChild(root, "svg");
282 FindImageShaderNodes(reporter, &dom, innerSvg, &patternNode, &imageNode, &rectNode);
286 REPORTER_ASSERT(reporter, atoi(dom.findAttr(imageNode, "width")) == imageWidth);
287 REPORTER_ASSERT(reporter, atoi(dom.findAttr(imageNode, "height")) == imageHeight);
291 REPORTER_ASSERT(reporter, atoi(dom.findAttr(patternNode, "width")) == imageWidth);
292 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(patternNode, "height"), "100%") == 0);
296 SkDOM dom;
300 ImageShaderTestSetup(&dom, &paint, imageNodeWidth, imageNodeHeight, rectNodeWidth,
303 const SkDOM::Node* root = dom.finishParsing();
304 const SkDOM::Node* innerSvg = dom.getFirstChild(root, "svg");
312 FindImageShaderNodes(reporter, &dom, innerSvg, &patternNode, &imageNode, &rectNode);
316 REPORTER_ASSERT(reporter, atoi(dom.findAttr(imageNode, "width")) == imageNodeWidth);
317 REPORTER_ASSERT(reporter, atoi(dom.findAttr(imageNode, "height")) == imageNodeHeight);
321 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(patternNode, "width"), "100%") == 0);
322 REPORTER_ASSERT(reporter, atoi(dom.findAttr(patternNode, "height")) == imageNodeHeight);
326 SkDOM dom;
330 ImageShaderTestSetup(&dom, &paint, imageWidth, imageHeight, rectWidth, rectHeight,
333 const SkDOM::Node* root = dom.finishParsing();
336 const SkDOM::Node* innerSvg = dom.getFirstChild(root, "svg");
342 FindImageShaderNodes(reporter, &dom, innerSvg, &patternNode, &imageNode, &rectNode);
346 REPORTER_ASSERT(reporter, atoi(dom.findAttr(imageNode, "width")) == imageWidth);
347 REPORTER_ASSERT(reporter, atoi(dom.findAttr(imageNode, "height")) == imageHeight);
349 REPORTER_ASSERT(reporter, atoi(dom.findAttr(patternNode, "width")) == imageWidth);
350 REPORTER_ASSERT(reporter, atoi(dom.findAttr(patternNode, "height")) == imageHeight);
354 SkDOM dom;
358 auto svgCanvas = MakeDOMCanvas(&dom);
362 const SkDOM::Node* rootElement = dom.finishParsing();
365 const SkDOM::Node* filterElement = dom.getFirstChild(rootElement, "filter");
368 const SkDOM::Node* floodElement = dom.getFirstChild(filterElement, "feFlood");
371 const SkDOM::Node* compositeElement = dom.getFirstChild(filterElement, "feComposite");
374 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(filterElement, "width"), "100%") == 0);
375 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(filterElement, "height"), "100%") == 0);
378 strcmp(dom.findAttr(floodElement, "flood-color"), "red") == 0);
379 REPORTER_ASSERT(reporter, atoi(dom.findAttr(floodElement, "flood-opacity")) == 1);
381 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(compositeElement, "in"), "flood") == 0);
382 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(compositeElement, "operator"), "in") == 0);
386 SkDOM dom;
393 auto svgCanvas = MakeDOMCanvas(&dom, flags);
396 const auto* rootElement = dom.finishParsing();
398 const auto* textElement = dom.getFirstChild(rootElement, "text");
400 const auto* pathElement = dom.getFirstChild(rootElement, "path");
434 SkDOM dom;
436 MakeDOMCanvas(&dom)->drawRect(SkRect::MakeWH(100, 100), p);
439 const auto* root = dom.finishParsing();
441 const auto* rect = dom.getFirstChild(root, "rect");
443 const auto* fill = dom.findAttr(rect, "fill");
448 const auto* stroke = dom.findAttr(rect, "stroke");
457 SkDOM dom;
461 auto svgCanvas = MakeDOMCanvas(&dom);
465 const SkDOM::Node* rootElement = dom.finishParsing();
468 const SkDOM::Node* rectElement = dom.getFirstChild(rootElement, "rect");
470 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(rectElement, "fill"), "blue") == 0);
474 SkDOM dom;
478 auto svgCanvas = MakeDOMCanvas(&dom);
486 const SkDOM::Node* rootElement = dom.finishParsing();
490 const SkDOM::Node* rectElement = dom.getFirstChild(rootElement, "rect");
492 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(rectElement, "fill"), "#AABCDE") == 0);
495 rectElement = dom.getNextSibling(rectElement, "rect");
497 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(rectElement, "fill"), "#ABC") == 0);
500 rectElement = dom.getNextSibling(rectElement, "rect");
502 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(rectElement, "fill"), "#AA1123") == 0);
506 SkDOM dom;
508 auto svgCanvas = MakeDOMCanvas(&dom);
519 const SkDOM::Node* rootElement = dom.finishParsing();
522 const SkDOM::Node* rectNode = dom.getFirstChild(rootElement, "rect");
524 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(rectNode, "fill"), "#00BBAC") == 0);
526 rectNode = dom.getNextSibling(rectNode, "rect");
528 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(rectNode, "stroke"), "#123456") == 0);
529 REPORTER_ASSERT(reporter, strcmp(dom.findAttr(rectNode, "stroke-width"), "1") == 0);
533 SkDOM dom;
547 auto svgCanvas = MakeDOMCanvas(&dom);
550 const auto* rootElement = dom.finishParsing();
552 const auto* pathElement = dom.getFirstChild(rootElement, "path");
561 const auto* d = dom.findAttr(pathElement, "d");
571 SkDOM dom;
573 auto svgCanvas = MakeDOMCanvas(&dom, SkSVGCanvas::kRelativePathEncoding_Flag);
583 const auto* rootElement = dom.finishParsing();
585 const auto* pathElement = dom.getFirstChild(rootElement, "path");
587 const auto* d = dom.findAttr(pathElement, "d");
592 SkDOM dom;
594 auto svgCanvas = MakeDOMCanvas(&dom);
602 const auto* rootElement = dom.finishParsing();
604 const auto* ellipseElement = dom.getFirstChild(rootElement, "ellipse");
606 const auto* fill = dom.findAttr(ellipseElement, "fill");