55 fElems.back()->fHasText =
true;
80 static const char gHeader[] =
"<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
89 static const char* gEscapeChars[] = {
97 const char** array = gEscapeChars;
99 if (array[
i][0] == c) {
115 size_t seqSize = strlen(seq);
118 memcpy(
dst, seq, seqSize);
123 extra += seqSize - 1;
134 if (fDoEscapeMarkup) {
154 const char* elem =
dom.getName(node);
157 w->addText(elem, strlen(elem));
161 w->startElement(elem);
171 node =
dom.getFirstChild(node,
nullptr);
174 node =
dom.getNextSibling(node,
nullptr);
218 this->tab(
fElems.size() + 1);
256void SkXMLStreamWriter::newline() {
262void SkXMLStreamWriter::tab(
int level) {
constexpr int SkToInt(S x)
static size_t escape_markup(char dst[], const char src[], size_t length)
static const char * escape_char(char c, char storage[2])
static void write_dom(const SkDOM &dom, const SkDOM::Node *node, SkXMLWriter *w, bool skipRoot)
const char * next(const char **value)
const char * data() const
void appendHex(uint32_t value, int minDigits=0)
void appendS32(int32_t value)
void appendScalar(SkScalar value)
const char * c_str() const
virtual bool write(const void *buffer, size_t size)=0
bool writeText(const char text[])
void onEndElement() override
SkXMLParserWriter(SkXMLParser *)
void onAddText(const char text[], size_t length) override
void onAddAttributeLen(const char name[], const char value[], size_t length) override
~SkXMLParserWriter() override
void onStartElementLen(const char elem[], size_t length) override
bool startElement(const char elem[])
bool endElement(const char elem[])
bool addAttribute(const char name[], const char value[])
bool text(const char text[], int len)
~SkXMLStreamWriter() override
void onStartElementLen(const char elem[], size_t length) override
void onEndElement() override
SkXMLStreamWriter(SkWStream *, uint32_t flags=0)
void onAddText(const char text[], size_t length) override
void writeHeader() override
void onAddAttributeLen(const char name[], const char value[], size_t length) override
virtual void onStartElementLen(const char elem[], size_t length)=0
void addText(const char text[], size_t length)
void writeDOM(const SkDOM &, const SkDOM::Node *, bool skipRoot)
void addAttributeLen(const char name[], const char value[], size_t length)
void addHexAttribute(const char name[], uint32_t value, int minDigits=0)
virtual void onAddText(const char text[], size_t length)=0
void addScalarAttribute(const char name[], SkScalar value)
SkXMLWriter(bool doEscapeMarkup=true)
void addS32Attribute(const char name[], int32_t value)
SkTDArray< Elem * > fElems
void addAttribute(const char name[], const char value[])
virtual void onAddAttributeLen(const char name[], const char value[], size_t length)=0
virtual void writeHeader()
bool doStart(const char name[], size_t length)
void startElement(const char elem[])
void startElementLen(const char elem[], size_t length)
FlutterSemanticsFlag flags
DEF_SWITCHES_START aot vmservice shared library name
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size
static const char header[]