180 {
182 *errorMsg =
SkStringPrintf(
"Unable to instantiate emoji test font of format %s.",
185 }
186
190
194
195
196
197
199 font.getMetrics(&metrics);
200 for (
auto rotate : {0.0, 45.0, 90.0, 135.0, 180.0, 225.0, 270.0, 315.0}) {
207 canvas->
concat(perspective);
209 for (
int i = 0;
i < 5;
i++) {
210
212
213
215
217 }
219 }
220
222 }
constexpr SkColor SK_ColorGRAY
static bool rotate(const SkDCubic &cubic, int zero, int index, SkDCubic &rotPath)
SK_API SkString SkStringPrintf(const char *format,...) SK_PRINTF_LIKE(1
Creates a new string and writes into it using a printf()-style format.
void drawColor(SkColor color, SkBlendMode mode=SkBlendMode::kSrcOver)
void concat(const SkMatrix &matrix)
void drawTextBlob(const SkTextBlob *blob, SkScalar x, SkScalar y, const SkPaint &paint)
SkMatrix & postTranslate(SkScalar dx, SkScalar dy)
SkMatrix & postRotate(SkScalar degrees, SkScalar px, SkScalar py)
SkMatrix & postConcat(const SkMatrix &other)
SkMatrix & setPerspY(SkScalar v)
const char * c_str() const
SkString fStripSpacesSampleText
ToolUtils::EmojiTestSample fEmojiFont
font
Font Metadata and Metrics.
static sk_sp< SkTextBlob > make_hpos_test_blob_utf8(const char *text, const SkFont &font)
SkScalar fLeading
distance to add between lines, typically positive or zero
SkScalar fAscent
distance to reserve above baseline, typically negative
SkScalar fDescent
distance to reserve below baseline, typically positive