8#ifndef SkTypeface_win_dw_DEFINED
9#define SkTypeface_win_dw_DEFINED
35interface IDWriteFontFace4;
36interface IDWriteFontFace7;
42 IDWriteFontFileLoader* fontFileLoader,
43 IDWriteFontCollectionLoader* fontCollectionLoader)
66 IDWriteFactory* factory,
67 IDWriteFontFace* fontFace,
69 IDWriteFontFamily* fontFamily,
72 HRESULT initializePalette();
103 IDWriteFactory* factory,
104 IDWriteFontFace* fontFace,
106 IDWriteFontFamily* fontFamily,
119 std::unique_ptr<SkStreamAsset>
onOpenStream(
int* ttcIndex)
const override;
135 int coordinateCount)
const override;
137 int parameterCount)
const override;
static constexpr SkFourByteTag SkSetFourByteTag(char a, char b, char c, char d)
SkTScopedComPtr< IDWriteFontFace4 > fDWriteFontFace4
int onGetVariationDesignParameters(SkFontParameters::Variation::Axis parameters[], int parameterCount) const override
int onGetUPEM() const override
SkTScopedComPtr< IDWriteFontFace2 > fDWriteFontFace2
std::unique_ptr< SkScalerContext > onCreateScalerContext(const SkScalerContextEffects &, const SkDescriptor *) const override
static sk_sp< SkTypeface > SK_SPI MakeFromStream(std::unique_ptr< SkStreamAsset >, const SkFontArguments &)
void weak_dispose() const override
SkTypeface::LocalizedStrings * onCreateFamilyNameIterator() const override
SkTScopedComPtr< IDWriteFactory2 > fFactory2
SkTScopedComPtr< IDWriteFactory > fFactory
SkFontArguments::Palette fRequestedPalette
void onFilterRec(SkScalerContextRec *) const override
void getGlyphToUnicodeMap(SkUnichar *glyphToUnicode) const override
size_t onGetTableData(SkFontTableTag, size_t offset, size_t length, void *data) const override
size_t fPaletteEntryCount
static SkFontStyle GetStyle(IDWriteFont *font, IDWriteFontFace *fontFace)
std::unique_ptr< SkAdvancedTypefaceMetrics > onGetAdvancedMetrics() const override
void onCharsToGlyphs(const SkUnichar *chars, int count, SkGlyphID glyphs[]) const override
std::unique_ptr< SkColor[]> fPalette
~DWriteFontTypeface() override
IDWriteFontFace7 * fDWriteFontFace7
SkTScopedComPtr< IDWriteFontFamily > fDWriteFontFamily
SkTScopedComPtr< IDWriteFontFace1 > fDWriteFontFace1
std::unique_ptr< SkStreamAsset > onOpenStream(int *ttcIndex) const override
int onGetTableTags(SkFontTableTag tags[]) const override
std::unique_ptr< DWRITE_COLOR_F[]> fDWPalette
int onCountGlyphs() const override
bool onGetPostScriptName(SkString *) const override
void getPostScriptGlyphNames(SkString *) const override
bool onGlyphMaskNeedsCurrentColor() const override
sk_sp< SkData > onCopyTableData(SkFontTableTag) const override
void onGetFamilyName(SkString *familyName) const override
SkTScopedComPtr< IDWriteFontFace > fDWriteFontFace
SkTScopedComPtr< IDWriteFont > fDWriteFont
int onGetVariationDesignPosition(SkFontArguments::VariationPosition::Coordinate coordinates[], int coordinateCount) const override
static sk_sp< DWriteFontTypeface > Make(IDWriteFactory *factory, IDWriteFontFace *fontFace, IDWriteFont *font, IDWriteFontFamily *fontFamily, sk_sp< Loaders > loaders, const SkFontArguments::Palette &palette)
std::unique_ptr< SkFontArguments::Palette::Override > fRequestedPaletteEntryOverrides
sk_sp< SkTypeface > onMakeClone(const SkFontArguments &) const override
void onGetFontDescriptor(SkFontDescriptor *, bool *) const override
SkTypeface(const SkFontStyle &style, bool isFixedPitch=false)
virtual void weak_dispose() const
font
Font Metadata and Metrics.
Loaders & operator=(Loaders &&)=delete
SkTScopedComPtr< IDWriteFactory > fFactory
Loaders(IDWriteFactory *factory, IDWriteFontFileLoader *fontFileLoader, IDWriteFontCollectionLoader *fontCollectionLoader)
Loaders & operator=(const Loaders &)=delete
SkTScopedComPtr< IDWriteFontFileLoader > fDWriteFontFileLoader
Loaders(Loaders &&)=delete
SkTScopedComPtr< IDWriteFontCollectionLoader > fDWriteFontCollectionLoader
Loaders(const Loaders &)=delete
std::shared_ptr< const fml::Mapping > data