31 size_t size = wb.bytesWritten();
33 wb.writeToMemory(storage.
get());
35 int count = typefaces->count();
37 ( font.getTypeface() &&
count == 1));
40 typefaces->copyToArray((
SkRefCnt**)&typeface);
41 SkASSERT(typeface == font.getTypeface());
75 const float sizes[] = {0, 0.001f, 1, 10, 10.001f, 100000.01f};
76 const float scales[] = {-5, 0, 1, 5};
77 const float skews[] = {-5, 0, 5};
84 const unsigned int flags[] = {
93 for (
float size : sizes) {
95 for (
float scale : scales) {
96 font.setScaleX(
scale);
97 for (
float skew : skews) {
99 for (
auto edge : edges) {
100 font.setEdging(edge);
101 for (
auto hint : hints) {
102 font.setHinting(hint);
106 font.setTypeface(typeface);
static SkFont serialize_deserialize(const SkFont &font, skiatest::Reporter *reporter)
static void apply_flags(SkFont *font, unsigned flags)
@ kNone
glyph outlines unchanged
@ kFull
modifies glyph outlines for maximum constrast
static constexpr bool SkToBool(const T &x)
#define DEF_TEST(name, reporter)
#define REPORTER_ASSERT(r, cond,...)
void setTypefaceRecorder(sk_sp< SkRefCntSet >)
static void Flatten(const SkFont &, SkWriteBuffer &buffer)
static bool Unflatten(SkFont *, SkReadBuffer &buffer)
@ kAlias
no transparent pixels on glyph edges
@ kSubpixelAntiAlias
glyph positioned in pixel using transparency
void setTypefaceArray(sk_sp< SkTypeface > array[], int count)
FlutterSemanticsFlag flag
FlutterSemanticsFlag flags