8#ifndef SkFontPriv_DEFINED
9#define SkFontPriv_DEFINED
50 return MakeTextMatrix(font.getSize(), font.getScaleX(), font.getSkewX());
79 return SkIsFinite(font.getSize(), font.getScaleX(), font.getSkewX());
90 static inline uint8_t
Flags(
const SkFont& font) {
return font.fFlags; }
97 fGlyphs =
reinterpret_cast<const uint16_t*
>(
text);
100 fCount = font.countText(
text,
length, encoding);
104 fStorage.
reset(fCount);
105 font.textToGlyphs(
text,
length, encoding, fStorage.
get(), fCount);
106 fGlyphs = fStorage.
get();
110 int count()
const {
return fCount; }
111 const uint16_t*
glyphs()
const {
return fGlyphs; }
115 const uint16_t* fGlyphs;
static bool SkIsFinite(T x, Pack... values)
@ kGlyphID
uses two byte words to represent glyph indices
constexpr int SkToInt(S x)
const uint16_t * glyphs() const
SkAutoToGlyphs(const SkFont &font, const void *text, size_t length, SkTextEncoding encoding)
static int CountTextElements(const void *text, size_t byteLength, SkTextEncoding)
static void ScaleFontMetrics(SkFontMetrics *, SkScalar)
static bool IsFinite(const SkFont &font)
static void Flatten(const SkFont &, SkWriteBuffer &buffer)
static SkScalar ApproximateTransformedTextSize(const SkFont &font, const SkMatrix &matrix, const SkPoint &textLocation)
static uint8_t Flags(const SkFont &font)
static constexpr int kCanonicalTextSizeForPaths
static SkMatrix MakeTextMatrix(const SkFont &font)
static SkMatrix MakeTextMatrix(SkScalar size, SkScalar scaleX, SkScalar skewX)
static void GlyphsToUnichars(const SkFont &, const uint16_t glyphs[], int count, SkUnichar[])
static bool Unflatten(SkFont *, SkReadBuffer &buffer)
static SkRect GetFontBounds(const SkFont &)
static SkMatrix Scale(SkScalar sx, SkScalar sy)
static const uint8_t buffer[]