75 create(&drawTextBitmap, size);
76 SkCanvas drawTextCanvas(drawTextBitmap);
79 create(&drawDashedTextBitmap, size);
80 SkCanvas drawDashedTextCanvas(drawDashedTextBitmap);
83 create(&emptyBitmap, size);
89 font.setSubpixel(
true);
100 paint.setStrokeWidth(2);
101 constexpr SkScalar bigInterval = 10000;
102 static constexpr SkScalar intervals[] = { 1, bigInterval };
138 auto canvas =
surface->getCanvas();
148 {10, { 0, 0, 0, 0, 0, 0, 0, 0, 1}},
149 {10, { 0, 0, 0, 0, 1, 0, 0, 0, 1}},
150 {10, { 0, 0, 0, 1, 0, 0, 0, 0, 1}},
151 {10, { 0, 0, 0, 1, 1, 0, 0, 0, 1}},
152 {10, { 0, 1, 0, 0, 1, 0, 0, 0, 1}},
153 {10, { 1, 0, 0, 0, 0, 0, 0, 0, 1}},
154 {10, { 1, 0, 0, 1, 0, 0, 0, 0, 1}},
155 {10, { 1, 1, 0, 0, 0, 0, 0, 0, 1}},
156 {10, { 1, 1, 0, 1, 1, 0, 0, 0, 1}},
158 { 1, {10, 20, 0, 20, 40, 0, 0, 0, 1}},
161 for (
const auto& testCase : testCases) {
162 font.setSize(testCase.textSize);
163 const SkScalar(&m)[9] = testCase.matrix;
165 mat.
setAll(m[0], m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8]);
166 canvas->setMatrix(mat);
167 canvas->drawString(
"Hamburgefons", 10, 10, font,
SkPaint());
static bool compare(const SkBitmap &ref, const SkIRect &iref, const SkBitmap &test, const SkIRect &itest)
static const SkColor bgColor
SkMatrix & setAll(SkScalar scaleX, SkScalar skewX, SkScalar transX, SkScalar skewY, SkScalar scaleY, SkScalar transY, SkScalar persp0, SkScalar persp1, SkScalar persp2)
static sk_sp< SkTextBlob > MakeFromText(const void *text, size_t byteLength, const SkFont &font, SkTextEncoding encoding=SkTextEncoding::kUTF8)