1cb93a386Sopenharmony_ci/*
2cb93a386Sopenharmony_ci * Copyright (c) Huawei Technologies Co., Ltd. 2023. All rights reserved.
3cb93a386Sopenharmony_ci * Description: Implementation for Css style parser.
4cb93a386Sopenharmony_ci * Create: 2023/4/25
5cb93a386Sopenharmony_ci */
6cb93a386Sopenharmony_ci
7cb93a386Sopenharmony_ci#ifndef SkSVGXMLDOM_DEFINED
8cb93a386Sopenharmony_ci#define SkSVGXMLDOM_DEFINED
9cb93a386Sopenharmony_ci
10cb93a386Sopenharmony_ci#include "src/xml/SkDOM.h"
11cb93a386Sopenharmony_ci
12cb93a386Sopenharmony_ciclass SkSVGXMLDOM : public SkDOM {
13cb93a386Sopenharmony_cipublic:
14cb93a386Sopenharmony_ci    using SkDOMNode = Node;
15cb93a386Sopenharmony_ci    using SkDOMAttr = Attr;
16cb93a386Sopenharmony_ci
17cb93a386Sopenharmony_ci    SkSVGXMLDOM() = default;
18cb93a386Sopenharmony_ci    ~SkSVGXMLDOM() override = default;
19cb93a386Sopenharmony_ci
20cb93a386Sopenharmony_ci    const Node* build(SkStream& docStream, uint64_t svgThemeColor);
21cb93a386Sopenharmony_ci
22cb93a386Sopenharmony_ci    // override SkDom functions
23cb93a386Sopenharmony_ci    const Node* build(SkStream& docStream) override;
24cb93a386Sopenharmony_ci    const Node* copy(const SkDOM& dom, const Node* node) override;
25cb93a386Sopenharmony_ci    SkXMLParser* beginParsing() override;
26cb93a386Sopenharmony_ciprivate:
27cb93a386Sopenharmony_ci    // for pure color svg
28cb93a386Sopenharmony_ci    uint64_t fSvgThemeColor {0};
29cb93a386Sopenharmony_ci};
30cb93a386Sopenharmony_ci#endif
31