44 struct ScalerContextBits {
45 using value_type = uint16_t;
46 static const constexpr value_type NONE = 0;
47 static const constexpr value_type DW = 1;
48 static const constexpr value_type DW_1 = 2;
49 static const constexpr value_type
PNG = 3;
50 static const constexpr value_type SVG = 4;
51 static const constexpr value_type COLR = 5;
52 static const constexpr value_type COLRv1 = 6;
53 static const constexpr value_type PATH = 7;
56 static void BilevelToBW(
const uint8_t*
SK_RESTRICT src,
const SkGlyph& glyph,
void* dst);
58 template<
bool APPLY_PREBLEND>
59 static void GrayscaleToA8(
const uint8_t*
SK_RESTRICT src,
60 const SkGlyph& glyph,
void* dst,
61 const uint8_t* table8);
63 template<
bool APPLY_PREBLEND>
65 const SkGlyph& glyph,
void* dst,
66 const uint8_t* table8);
68 template<
bool APPLY_PREBLEND,
bool RGB>
69 static void RGBToLcd16(
const uint8_t*
SK_RESTRICT src,
const SkGlyph& glyph,
void* dst,
70 const uint8_t* tableR,
const uint8_t* tableG,
const uint8_t* tableB);
76 bool generateColorV1PaintBounds(
SkMatrix*,
SkRect*, IDWritePaintReader&, DWRITE_PAINT_ELEMENT
const &);
78 bool generateColorV1Image(
const SkGlyph&,
void* dst);
79 bool drawColorV1Paint(
SkCanvas&, IDWritePaintReader&, DWRITE_PAINT_ELEMENT
const &);
82 bool getColorGlyphRun(
const SkGlyph&, IDWriteColorGlyphRunEnumerator**);
84 bool generateColorImage(
const SkGlyph&,
void* dst);
88 bool generateSVGImage(
const SkGlyph&,
void* dst);
92 bool generatePngImage(
const SkGlyph&,
void* dst);
95 bool generateDWMetrics(
const SkGlyph&, DWRITE_RENDERING_MODE, DWRITE_TEXTURE_TYPE,
SkRect*);
96 const void* getDWMaskBits(
const SkGlyph&, DWRITE_RENDERING_MODE, DWRITE_TEXTURE_TYPE);
97 bool generateDWImage(
const SkGlyph&,
void* dst);
103 DWRITE_MATRIX fXform;
109 DWRITE_RENDERING_MODE fRenderingMode;
110 DWRITE_TEXTURE_TYPE fTextureType;
111 DWRITE_MEASURING_MODE fMeasuringMode;
112 DWRITE_TEXT_ANTIALIAS_MODE fAntiAliasMode;
113 DWRITE_GRID_FIT_MODE fGridFitMode;
void generateImage(const SkGlyph &, void *imageBuffer) override
~SkScalerContext_DW() override
SkScalerContext_DW(sk_sp< DWriteFontTypeface >, const SkScalerContextEffects &, const SkDescriptor *)
sk_sp< SkDrawable > generateDrawable(const SkGlyph &) override
GlyphMetrics generateMetrics(const SkGlyph &, SkArenaAlloc *) override
void generateFontMetrics(SkFontMetrics *) override
bool generatePath(const SkGlyph &, SkPath *) override
SkTypeface * getTypeface() const