42 std::unique_ptr<SkScalerContext> fProxy;
56 fProxy->forceGenerateImageFromPath();
74 mx.
advance = glyph.advanceVector();
79 if (fFakeIt || (glyph.getGlyphID() % 4) != 2) {
85 fProxy->getPath(glyph, alloc);
93 const auto packedID = glyph.getPackedID();
94 const SkGlyph* proxyGlyph = fProxyGlyphs.
set(packedID, std::move(glyph));
118 if (!proxyGlyph || !proxyGlyph->
path()) {
119 fProxy->getImage(glyph);
144 if (shadowProxyGlyph && shadowProxyGlyph->
path()) {
148 return fProxy->generatePath(glyph,
path);
153 if (shadowProxyGlyph && shadowProxyGlyph->
path()) {
156 return fProxy->generateDrawable(glyph);
160 fProxy->getFontMetrics(metrics);
174 return std::make_unique<RandomScalerContext>(
189 return fProxy->getAdvancedMetrics();
201 return sk_make_sp<SkRandomTypeface>(
proxy, fPaint, fFakeIt);
235 return fProxy->glyphMaskNeedsCurrentColor();
240 int coordinateCount)
const {
245 int parameterCount)
const {
const TextureProxy * fProxy
sk_bzero(glyphs, sizeof(glyphs))
@ kNone
glyph outlines unchanged
sk_sp< T > sk_ref_sp(T *obj)
bool generatePath(const SkGlyph &, SkPath *) override
GlyphMetrics generateMetrics(const SkGlyph &, SkArenaAlloc *) override
void generateFontMetrics(SkFontMetrics *) override
sk_sp< SkDrawable > generateDrawable(const SkGlyph &) override
void generateImage(const SkGlyph &, void *) override
bool installPixels(const SkImageInfo &info, void *pixels, size_t rowBytes, void(*releaseProc)(void *addr, void *context), void *context)
void eraseColor(SkColor4f) const
void translate(SkScalar dx, SkScalar dy)
void drawPath(const SkPath &path, const SkPaint &paint)
uint16_t extraBits() const
SkGlyphID getGlyphID() const
const SkPath * path() const
bool pathIsHairline() const
SkPackedGlyphID getPackedID() const
SkVector advanceVector() const
@ kStroke_Style
set to stroke geometry
@ kFill_Style
set to fill geometry
const SkRect & getBounds() const
void getPostScriptGlyphNames(SkString *) const override
SkTypeface::LocalizedStrings * onCreateFamilyNameIterator() const override
int onGetVariationDesignPosition(SkFontArguments::VariationPosition::Coordinate coordinates[], int coordinateCount) const override
void onGetFontDescriptor(SkFontDescriptor *, bool *isLocal) const override
int onGetTableTags(SkFontTableTag tags[]) const override
void onGetFamilyName(SkString *familyName) const override
const SkPaint & paint() const
int onCountGlyphs() const override
std::unique_ptr< SkStreamAsset > onOpenStream(int *ttcIndex) const override
std::unique_ptr< SkAdvancedTypefaceMetrics > onGetAdvancedMetrics() const override
void onFilterRec(SkScalerContextRec *) const override
sk_sp< SkTypeface > onMakeClone(const SkFontArguments &args) const override
std::unique_ptr< SkScalerContext > onCreateScalerContext(const SkScalerContextEffects &, const SkDescriptor *) const override
bool onGetPostScriptName(SkString *) const override
bool onGlyphMaskNeedsCurrentColor() const override
int onGetVariationDesignParameters(SkFontParameters::Variation::Axis parameters[], int parameterCount) const override
void onCharsToGlyphs(const SkUnichar *chars, int count, SkGlyphID glyphs[]) const override
void getGlyphToUnicodeMap(SkUnichar *) const override
SkTypeface * proxy() const
size_t onGetTableData(SkFontTableTag, size_t offset, size_t length, void *data) const override
int onGetUPEM() const override
SkTypeface * getTypeface() const
friend class RandomScalerContext
LocalizedStrings * createFamilyNameIterator() const
virtual void getPostScriptGlyphNames(SkString *) const =0
void getFontDescriptor(SkFontDescriptor *desc, bool *isLocal) const
int getUnitsPerEm() const
virtual void getGlyphToUnicodeMap(SkUnichar *dstArray) const =0
void getFamilyName(SkString *name) const
int getTableTags(SkFontTableTag tags[]) const
void filterRec(SkScalerContextRec *rec) const
friend class SkRandomTypeface
bool getPostScriptName(SkString *name) const
std::unique_ptr< SkStreamAsset > openStream(int *ttcIndex) const
virtual int onGetVariationDesignParameters(SkFontParameters::Variation::Axis parameters[], int parameterCount) const =0
size_t getTableData(SkFontTableTag tag, size_t offset, size_t length, void *data) const
void unicharsToGlyphs(const SkUnichar uni[], int count, SkGlyphID glyphs[]) const
virtual int onGetVariationDesignPosition(SkFontArguments::VariationPosition::Coordinate coordinates[], int coordinateCount) const =0
sk_sp< SkTypeface > makeClone(const SkFontArguments &) const
V * find(const K &key) const
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
uint32_t uint32_t * format
static const char *const names[]
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
static SkImageInfo MakeN32Premul(int width, int height)
@ kA8_Format
8bits per pixel mask (e.g. antialiasing)
@ kLCD16_Format
565 alpha for r/g/b
@ kARGB32_Format
SkPMColor.
@ kBW_Format
1bit per pixel mask (e.g. monochrome)
void roundOut(SkIRect *dst) const
SkMask::Format fMaskFormat
void setHinting(SkFontHinting)
SkMask::Format maskFormat
std::shared_ptr< const fml::Mapping > data