8#ifndef TestSVGTypeface_DEFINED
9#define TestSVGTypeface_DEFINED
45struct SkSVGTestTypefaceGlyphData {
46 const char* fSvgResourcePath;
54 ~TestSVGTypeface()
override;
65 struct GlyfLayerInfo {
66 GlyfLayerInfo(
int layerColorIndex,
SkIRect bounds)
99 int onGetUPEM()
const override {
return fUpem; }
108 int coordinateCount)
const override {
113 int parameterCount)
const override {
122 void* data)
const override {
127 TestSVGTypeface(
const char*
name,
137 const char* fResourcePath;
144 template <
typename Fn>
void withSVG(Fn&&)
const;
149 mutable SkMutex fSvgMutex;
150 mutable bool fParsedSvg =
false;
157 std::unique_ptr<Glyph[]> fGlyphs;
160 friend class SkTestSVGScalerContext;
static sk_sp< SkImage > render(const SkPicture &p)
sk_sp< T > sk_ref_sp(T *obj)
virtual void getPostScriptGlyphNames(SkString *) const =0
virtual std::unique_ptr< SkAdvancedTypefaceMetrics > onGetAdvancedMetrics() const =0
virtual void getGlyphToUnicodeMap(SkUnichar *dstArray) const =0
virtual std::unique_ptr< SkScalerContext > onCreateScalerContext(const SkScalerContextEffects &, const SkDescriptor *) const =0
virtual int onCountGlyphs() const =0
virtual int onGetTableTags(SkFontTableTag tags[]) const =0
virtual void onGetFontDescriptor(SkFontDescriptor *, bool *isLocal) const =0
virtual sk_sp< SkTypeface > onMakeClone(const SkFontArguments &) const =0
virtual size_t onGetTableData(SkFontTableTag, size_t offset, size_t length, void *data) const =0
virtual bool onGetPostScriptName(SkString *) const =0
virtual void onGetFamilyName(SkString *familyName) const =0
virtual void onFilterRec(SkScalerContextRec *) const =0
virtual bool onGlyphMaskNeedsCurrentColor() const =0
virtual LocalizedStrings * onCreateFamilyNameIterator() const =0
virtual int onGetVariationDesignParameters(SkFontParameters::Variation::Axis parameters[], int parameterCount) const =0
virtual void onCharsToGlyphs(const SkUnichar *chars, int count, SkGlyphID glyphs[]) const =0
virtual int onGetUPEM() const =0
virtual int onGetVariationDesignPosition(SkFontArguments::VariationPosition::Coordinate coordinates[], int coordinateCount) const =0
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
Optional< SkRect > bounds
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