79 {
80
85
87
92
94
95
96 canvas->
scale(2.f, 2.f);
97
101 };
102
103
105
107 int i = 0;
108 for (size_t tm0 = 0; tm0 < std::size(kTileModes); ++tm0) {
109 for (size_t tm1 = 0; tm1 < std::size(kTileModes); ++tm1) {
114
118 sampling, localM));
119
120 constexpr char kText[] =
"B";
125 ++i;
126 if (!(i % 2)) {
130 }
131 }
132 }
134 }
@ kUTF8
uses bytes to represent UTF-8 or ASCII
sk_sp< SkImage > asImage() const
sk_sp< SkShader > makeShader(SkTileMode tmx, SkTileMode tmy, const SkSamplingOptions &, const SkMatrix *localMatrix=nullptr) const
void translate(SkScalar dx, SkScalar dy)
void scale(SkScalar sx, SkScalar sy)
void drawString(const char str[], SkScalar x, SkScalar y, const SkFont &font, const SkPaint &paint)
void drawImage(const SkImage *image, SkScalar left, SkScalar top)
SkMatrix & postRotate(SkScalar degrees, SkScalar px, SkScalar py)
SkMatrix & postScale(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py)
SkMatrix & setTranslate(SkScalar dx, SkScalar dy)
void setStyle(Style style)
void setAntiAlias(bool aa)
@ kStroke_Style
set to stroke geometry
void setShader(sk_sp< SkShader > shader)
void setStrokeWidth(SkScalar width)
SkSamplingOptions sampling
font
Font Metadata and Metrics.