Flutter Engine
The Flutter Engine
Classes | Macros | Enumerations
SkSVGNode.h File Reference
#include "include/core/SkRefCnt.h"
#include "modules/svg/include/SkSVGAttribute.h"
#include "modules/svg/include/SkSVGAttributeParser.h"

Go to the source code of this file.

Classes

class  SkSVGNode
 

Macros

#define SVG_PRES_ATTR(attr_name, attr_type, attr_inherited)
 
#define _SVG_ATTR_SETTERS(attr_name, attr_type, attr_default, set_cp, set_mv)
 
#define SVG_ATTR(attr_name, attr_type, attr_default)
 
#define SVG_OPTIONAL_ATTR(attr_name, attr_type)
 

Enumerations

enum class  SkSVGTag {
  kCircle , kClipPath , kDefs , kEllipse ,
  kFeBlend , kFeColorMatrix , kFeComponentTransfer , kFeComposite ,
  kFeDiffuseLighting , kFeDisplacementMap , kFeDistantLight , kFeFlood ,
  kFeFuncA , kFeFuncR , kFeFuncG , kFeFuncB ,
  kFeGaussianBlur , kFeImage , kFeMerge , kFeMergeNode ,
  kFeMorphology , kFeOffset , kFePointLight , kFeSpecularLighting ,
  kFeSpotLight , kFeTurbulence , kFilter , kG ,
  kImage , kLine , kLinearGradient , kMask ,
  kPath , kPattern , kPolygon , kPolyline ,
  kRadialGradient , kRect , kStop , kSvg ,
  kText , kTextLiteral , kTextPath , kTSpan ,
  kUse
}
 

Macro Definition Documentation

◆ _SVG_ATTR_SETTERS

#define _SVG_ATTR_SETTERS (   attr_name,
  attr_type,
  attr_default,
  set_cp,
  set_mv 
)
Value:
private: \
bool set##attr_name( \
if (pr.isValid()) { this->set##attr_name(*pr); } \
return pr.isValid(); \
} \
bool set##attr_name( \
if (pr.isValid()) { this->set##attr_name(std::move(*pr)); } \
return pr.isValid(); \
} \
public: \
void set##attr_name(const attr_type& a) { set_cp(a); } \
void set##attr_name(attr_type&& a) { set_mv(std::move(a)); }
bool isValid() const
Definition: SkTLazy.h:77
struct MyStruct a[10]
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir Path to the cache directory This is different from the persistent_cache_path in embedder which is used for Skia shader cache icu native lib Path to the library file that exports the ICU data vm service The hostname IP address on which the Dart VM Service should be served If not set
Definition: switches.h:76

Definition at line 194 of file SkSVGNode.h.

◆ SVG_ATTR

#define SVG_ATTR (   attr_name,
  attr_type,
  attr_default 
)
Value:
private: \
attr_type f##attr_name = attr_default; \
public: \
const attr_type& get##attr_name() const { return f##attr_name; } \
_SVG_ATTR_SETTERS( \
attr_name, attr_type, attr_default, \
[this](const attr_type& a) { this->f##attr_name = a; }, \
[this](attr_type&& a) { this->f##attr_name = std::move(a); })
const myers::Point & get(const myers::Segment &)

Definition at line 210 of file SkSVGNode.h.

◆ SVG_OPTIONAL_ATTR

#define SVG_OPTIONAL_ATTR (   attr_name,
  attr_type 
)
Value:
private: \
SkTLazy<attr_type> f##attr_name; \
public: \
const SkTLazy<attr_type>& get##attr_name() const { return f##attr_name; } \
_SVG_ATTR_SETTERS( \
attr_name, attr_type, attr_default, \
[this](const attr_type& a) { this->f##attr_name.set(a); }, \
[this](attr_type&& a) { this->f##attr_name.set(std::move(a)); })

Definition at line 220 of file SkSVGNode.h.

◆ SVG_PRES_ATTR

#define SVG_PRES_ATTR (   attr_name,
  attr_type,
  attr_inherited 
)
Value:
private: \
if (pr.isValid()) { this->set##attr_name(std::move(*pr)); } \
return pr.isValid(); \
} \
\
public: \
const SkSVGProperty<attr_type, attr_inherited>& get##attr_name() const { \
return fPresentationAttributes.f##attr_name; \
} \
void set##attr_name(const SkSVGProperty<attr_type, attr_inherited>& v) { \
auto* dest = &fPresentationAttributes.f##attr_name; \
if (!dest->isInheritable() || v.isValue()) { \
/* TODO: If dest is not inheritable, handle v == "inherit" */ \
*dest = v; \
} else { \
} \
} \
auto* dest = &fPresentationAttributes.f##attr_name; \
if (!dest->isInheritable() || v.isValue()) { \
/* TODO: If dest is not inheritable, handle v == "inherit" */ \
*dest = std::move(v); \
} else { \
} \
}
bool isValue() const
Definition: SkSVGTypes.h:64
void set(SkSVGPropertyState state)
Definition: SkSVGTypes.h:70
dest
Definition: zip.py:79

Definition at line 71 of file SkSVGNode.h.

Enumeration Type Documentation

◆ SkSVGTag

enum class SkSVGTag
strong
Enumerator
kCircle 
kClipPath 
kDefs 
kEllipse 
kFeBlend 
kFeColorMatrix 
kFeComponentTransfer 
kFeComposite 
kFeDiffuseLighting 
kFeDisplacementMap 
kFeDistantLight 
kFeFlood 
kFeFuncA 
kFeFuncR 
kFeFuncG 
kFeFuncB 
kFeGaussianBlur 
kFeImage 
kFeMerge 
kFeMergeNode 
kFeMorphology 
kFeOffset 
kFePointLight 
kFeSpecularLighting 
kFeSpotLight 
kFeTurbulence 
kFilter 
kG 
kImage 
kLine 
kLinearGradient 
kMask 
kPath 
kPattern 
kPolygon 
kPolyline 
kRadialGradient 
kRect 
kStop 
kSvg 
kText 
kTextLiteral 
kTextPath 
kTSpan 
kUse 

Definition at line 23 of file SkSVGNode.h.

23 {
24 kCircle,
26 kDefs,
50 kFilter,
51 kG,
52 kImage,
53 kLine,
55 kMask,
56 kPath,
61 kRect,
62 kStop,
63 kSvg,
64 kText,
67 kTSpan,
68 kUse
69};
@ kFeDistantLight
@ kFeColorMatrix
@ kFeSpecularLighting
@ kFeDisplacementMap
@ kFeGaussianBlur
@ kFeDiffuseLighting
@ kFeComponentTransfer
constexpr char kText[]
Definition: glyph_pos.cpp:28
constexpr std::array< std::array< float, 2 >, 2 > kRect
@ kPath
Definition: SkGlyph.h:317
@ kMask
Definition: SkGlyph.h:315