8#ifndef SkSVGTypes_DEFINED
9#define SkSVGTypes_DEFINED
53 fValue = std::move(
value);
56 template <
typename... Args>
59 fValue.emplace(std::forward<Args>(
args)...);
67 return fValue.has_value() ? &fValue.value() :
nullptr;
84 fValue = std::move(
value);
90 return &fValue.value();
96 return &fValue.value();
113 std::optional<T> fValue;
134 : fValue(v), fUnit(u) {}
139 return fUnit == other.fUnit && fValue == other.fValue;
167 return fType == other.fType && fIRI == other.fIRI;
184 using Vars = std::vector<SkString>;
201 return fType == other.fType && fColor == other.fColor && fVars == other.fVars;
217 struct RefCntVars :
public SkNVRefCnt<RefCntVars> {
218 RefCntVars(Vars&&
vars) : fData(
std::move(
vars)) {}
236 : fType(
Type::kIRI), fColor(
std::move(fallback_color)), fIRI(iri) {}
244 return fType == other.fType && fColor == other.fColor && fIRI == other.fIRI;
250 SkASSERT(fType == Type::kColor || fType == Type::kIRI);
276 return fType == other.fType && fIRI == other.fIRI;
405 : fType(
Type::kDashArray)
406 , fDashArray(
std::move(dashArray)) {}
412 return fType == other.fType && fDashArray == other.fDashArray;
418 const std::vector<SkSVGLength>&
dashArray()
const {
return fDashArray; }
422 std::vector<SkSVGLength> fDashArray;
442 return fType == other.fType && fColor == other.fColor;
465 return fType == other.fType;
468 return !(*
this == other);
486 : fType(
Type::kFamily)
490 return fType == other.fType && fFamily == other.fFamily;
516 return fType == other.fType;
539 return fType == other.fType && fSize == other.fSize;
575 return fType == other.fType;
624 return fType == other.fType;
644 kFilterPrimitiveReference,
651 : fType(
Type::kFilterPrimitiveReference), fId(
id) {}
654 return fType == other.fType && fId == other.fId;
659 SkASSERT(fType == Type::kFilterPrimitiveReference);
692 : fFreqX(freqX), fFreqY(freqY) {}
@ kColor
hue and saturation of source with luminosity of destination
constexpr SkColor SK_ColorBLACK
@ kNormal
glyph outlines modified to improve constrast
std::vector< SkPoint > SkSVGPointsType
std::vector< SkSVGNumberType > SkSVGFeColorMatrixValues
std::vector< SkString > Vars
SkSpan< SkString > vars()
const SkSVGColorType & color() const
SkSVGColor & operator=(SkSVGColor &&)=default
SkSVGColor(SkSVGColor &&)=default
SkSVGColor & operator=(const SkSVGColor &)=default
SkSpan< const SkString > vars() const
bool operator!=(const SkSVGColor &other) const
SkSVGColor(const SkSVGColorType &c, Vars &&vars)
SkSVGColor(Type t, Vars &&vars)
SkSVGColor(const SkSVGColorType &c)
SkSVGColor(const SkSVGColor &)=default
bool operator==(const SkSVGColor &other) const
bool operator==(const SkSVGDashArray &other) const
SkSVGDashArray(const SkSVGDashArray &)=default
SkSVGDashArray(std::vector< SkSVGLength > &&dashArray)
const std::vector< SkSVGLength > & dashArray() const
bool operator!=(const SkSVGDashArray &other) const
SkSVGDashArray & operator=(const SkSVGDashArray &)=default
SkSVGFeTurbulenceBaseFrequency(SkSVGNumberType freqX, SkSVGNumberType freqY)
SkSVGNumberType freqX() const
SkSVGFeTurbulenceBaseFrequency()
SkSVGNumberType freqY() const
bool operator==(const SkSVGFillRule &other) const
SkSVGFillRule & operator=(const SkSVGFillRule &)=default
SkSVGFillRule(const SkSVGFillRule &)=default
constexpr SkSVGFillRule(Type t)
bool operator!=(const SkSVGFillRule &other) const
constexpr SkSVGFillRule()
SkPathFillType asFillType() const
bool operator!=(const SkSVGFontFamily &other) const
SkSVGFontFamily(const char family[])
const SkString & family() const
bool operator==(const SkSVGFontFamily &other) const
SkSVGFontSize(const SkSVGLength &s)
bool operator!=(const SkSVGFontSize &other) const
const SkSVGLength & size() const
bool operator==(const SkSVGFontSize &other) const
bool operator==(const SkSVGFontStyle &other) const
bool operator!=(const SkSVGFontStyle &other) const
bool operator!=(const SkSVGFontWeight &other) const
bool operator==(const SkSVGFontWeight &other) const
const SkSVGIRI & iri() const
bool operator!=(const SkSVGFuncIRI &other) const
SkSVGFuncIRI(SkSVGIRI &&iri)
bool operator==(const SkSVGFuncIRI &other) const
const SkSVGStringType & iri() const
bool operator!=(const SkSVGIRI &other) const
SkSVGIRI(Type t, const SkSVGStringType &iri)
bool operator==(const SkSVGIRI &other) const
bool operator!=(const SkSVGLength &other) const
bool operator==(const SkSVGLength &other) const
const Unit & unit() const
SkSVGLength & operator=(const SkSVGLength &)=default
constexpr SkSVGLength(SkScalar v, Unit u=Unit::kNumber)
SkSVGLength(const SkSVGLength &)=default
const SkScalar & value() const
SkSVGLineJoin(const SkSVGLineJoin &)=default
SkSVGLineJoin & operator=(const SkSVGLineJoin &)=default
constexpr SkSVGLineJoin()
bool operator!=(const SkSVGLineJoin &other) const
bool operator==(const SkSVGLineJoin &other) const
constexpr SkSVGLineJoin(Type t)
bool operator==(const SkSVGObjectBoundingBoxUnits &other) const
SkSVGObjectBoundingBoxUnits(Type t)
bool operator!=(const SkSVGObjectBoundingBoxUnits &other) const
SkSVGObjectBoundingBoxUnits()
const SkSVGColor & color() const
SkSVGPaint(const SkSVGIRI &iri, SkSVGColor fallback_color)
SkSVGPaint(SkSVGPaint &&)=default
const SkSVGIRI & iri() const
bool operator!=(const SkSVGPaint &other) const
SkSVGPaint(const SkSVGPaint &)=default
SkSVGPaint & operator=(SkSVGPaint &&)=default
bool operator==(const SkSVGPaint &other) const
SkSVGPaint & operator=(const SkSVGPaint &)=default
SkSVGProperty(const T &value)
constexpr bool isInheritable() const
const T & operator*() const
SkSVGProperty(SkSVGPropertyState state)
void set(SkSVGPropertyState state)
const T * operator->() const
void init(Args &&... args)
SkSVGSpreadMethod & operator=(const SkSVGSpreadMethod &)=default
constexpr SkSVGSpreadMethod()
constexpr SkSVGSpreadMethod(Type t)
bool operator!=(const SkSVGSpreadMethod &other) const
SkSVGSpreadMethod(const SkSVGSpreadMethod &)=default
bool operator==(const SkSVGSpreadMethod &other) const
SkSVGStopColor & operator=(const SkSVGStopColor &)=default
bool operator==(const SkSVGStopColor &other) const
SkSVGStopColor(const SkSVGColorType &c)
SkSVGStopColor(const SkSVGStopColor &)=default
const SkSVGColorType & color() const
bool operator!=(const SkSVGStopColor &other) const
bool operator==(const SkSVGTextAnchor &other) const
bool operator!=(const SkSVGTextAnchor &other) const
SkSVGVisibility & operator=(const SkSVGVisibility &)=default
bool operator!=(const SkSVGVisibility &other) const
bool operator==(const SkSVGVisibility &other) const
constexpr SkSVGVisibility()
constexpr SkSVGVisibility(Type t)
SkSVGVisibility(const SkSVGVisibility &)=default
EMSCRIPTEN_KEEPALIVE void empty()
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
Unit(benchmark::kNanosecond)
SkSVGFeTurbulenceType(Type type)