• Home
  • Raw
  • Download

Lines Matching full:a

5 <a name='SkCanvas'></a>
10 class <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> {
12a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>> <a href='#SkCanvas_MakeRasterDirect'>MakeRaster…
14 … const <a href='undocumented#SkSurfaceProps'>SkSurfaceProps</a>* props = nullptr);
15a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>> <a href='#SkCanvas_MakeRasterDirectN32'>MakeRas…
17 <a href='#SkCanvas_empty_constructor'>SkCanvas()</a>;
18 …<a href='#SkCanvas_int_int_const_SkSurfaceProps_star'>SkCanvas</a>(int width, int height, const <a
19a href='#SkCanvas_copy_const_SkBitmap'>SkCanvas</a>(const <a href='SkBitmap_Reference#SkBitmap'>Sk…
20a href='#SkCanvas_const_SkBitmap_const_SkSurfaceProps'>SkCanvas</a>(const <a href='SkBitmap_Refere…
21 virtual <a href='#SkCanvas_destructor'>~SkCanvas()</a>;
22 …<a href='undocumented#SkMetaData'>SkMetaData</a>& <a href='#SkCanvas_getMetaData'>getMetaData</a>(…
23 …<a href='SkImageInfo_Reference#SkImageInfo'>SkImageInfo</a> <a href='#SkCanvas_imageInfo'>imageInf…
24 …bool <a href='#SkCanvas_getProps'>getProps</a>(<a href='undocumented#SkSurfaceProps'>SkSurfaceProp…
25 void <a href='#SkCanvas_flush'>flush()</a>;
26 …virtual <a href='undocumented#SkISize'>SkISize</a> <a href='#SkCanvas_getBaseLayerSize'>getBaseLay…
27a href='undocumented#sk_sp'>sk_sp</a><<a href='SkSurface_Reference#SkSurface'>SkSurface</a>> <a hr…
28 …virtual <a href='undocumented#GrContext'>GrContext</a>* <a href='#SkCanvas_getGrContext'>getGrCont…
29a href='#SkCanvas_accessTopLayerPixels'>accessTopLayerPixels</a>(<a href='SkImageInfo_Reference#Sk…
30a href='undocumented#SkRasterHandleAllocator'>SkRasterHandleAllocator</a>::<a href='#SkRasterHandl…
31 …ool <a href='#SkCanvas_peekPixels'>peekPixels</a>(<a href='SkPixmap_Reference#SkPixmap'>SkPixmap</
32 …bool <a href='#SkCanvas_readPixels'>readPixels</a>(const <a href='SkImageInfo_Reference#SkImageInf…
34 … <a href='#SkCanvas_readPixels'>readPixels</a>(const <a href='SkPixmap_Reference#SkPixmap'>SkPixma…
35 … <a href='#SkCanvas_readPixels'>readPixels</a>(const <a href='SkBitmap_Reference#SkBitmap'>SkBitma…
36 …bool <a href='#SkCanvas_writePixels'>writePixels</a>(const <a href='SkImageInfo_Reference#SkImageI…
37 …<a href='#SkCanvas_writePixels'>writePixels</a>(const <a href='SkBitmap_Reference#SkBitmap'>SkBitm…
38 int <a href='#SkCanvas_save'>save()</a>;
39a href='#SkCanvas_saveLayer'>saveLayer</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>* bou…
40a href='#SkCanvas_saveLayer'>saveLayer</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& bou…
41a href='#SkCanvas_saveLayerPreserveLCDTextRequests'>saveLayerPreserveLCDTextRequests</a>(const <a
42a href='#SkCanvas_saveLayerAlpha'>saveLayerAlpha</a>(const <a href='SkRect_Reference#SkRect'>SkRec…
44 enum <a href='#SkCanvas_SaveLayerFlagsSet'>SaveLayerFlagsSet</a> {
45 … <a href='#SkCanvas_kPreserveLCDText_SaveLayerFlag'>kPreserveLCDText_SaveLayerFlag</a> = 1 << 1,
46 … <a href='#SkCanvas_kInitWithPrevious_SaveLayerFlag'>kInitWithPrevious_SaveLayerFlag</a> = 1 << 2,
49 typedef uint32_t <a href='#SkCanvas_SaveLayerFlags'>SaveLayerFlags</a>;
51 …int <a href='#SkCanvas_saveLayer'>saveLayer</a>(const <a href='#SkCanvas_SaveLayerRec'>SaveLayerRe…
52 void <a href='#SkCanvas_restore'>restore()</a>;
53 int <a href='#SkCanvas_getSaveCount'>getSaveCount</a>() const;
54 void <a href='#SkCanvas_restoreToCount'>restoreToCount</a>(int saveCount);
55 …void <a href='#SkCanvas_translate'>translate</a>(<a href='undocumented#SkScalar'>SkScalar</a> dx, …
56 …void <a href='#SkCanvas_scale'>scale</a>(<a href='undocumented#SkScalar'>SkScalar</a> sx, <a href=…
57 … void <a href='#SkCanvas_rotate'>rotate</a>(<a href='undocumented#SkScalar'>SkScalar</a> degrees);
58a href='#SkCanvas_rotate'>rotate</a>(<a href='undocumented#SkScalar'>SkScalar</a> degrees, <a href…
59 …void <a href='#SkCanvas_skew'>skew</a>(<a href='undocumented#SkScalar'>SkScalar</a> sx, <a href='u…
60 …void <a href='#SkCanvas_concat'>concat</a>(const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a
61 …d <a href='#SkCanvas_setMatrix'>setMatrix</a>(const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix…
62 void <a href='#SkCanvas_resetMatrix'>resetMatrix</a>();
63a href='#SkCanvas_clipRect'>clipRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& <a hr…
64a href='#SkCanvas_clipRect'>clipRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& <a hr…
65 …void <a href='#SkCanvas_clipRect'>clipRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>&…
66 … <a href='#SkCanvas_clipRRect'>clipRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>…
67 … <a href='#SkCanvas_clipRRect'>clipRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>…
68 …void <a href='#SkCanvas_clipRRect'>clipRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect…
69a href='#SkCanvas_clipPath'>clipPath</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& <a hr…
70a href='#SkCanvas_clipPath'>clipPath</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& <a hr…
71 …void <a href='#SkCanvas_clipPath'>clipPath</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>&…
72a href='#SkCanvas_clipRegion'>clipRegion</a>(const <a href='SkRegion_Reference#SkRegion'>SkRegion<…
73 …bool <a href='#SkCanvas_quickReject'>quickReject</a>(const <a href='SkRect_Reference#SkRect'>SkRec…
74 …bool <a href='#SkCanvas_quickReject'>quickReject</a>(const <a href='SkPath_Reference#SkPath'>SkPat…
75 …<a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_getLocalClipBounds'>getLocalClipBo…
76 …bool <a href='#SkCanvas_getLocalClipBounds'>getLocalClipBounds</a>(<a href='SkRect_Reference#SkRec…
77 …<a href='SkIRect_Reference#SkIRect'>SkIRect</a> <a href='#SkCanvas_getDeviceClipBounds'>getDeviceC…
78 …bool <a href='#SkCanvas_getDeviceClipBounds'>getDeviceClipBounds</a>(<a href='SkIRect_Reference#Sk…
79a href='#SkCanvas_drawColor'>drawColor</a>(<a href='SkColor_Reference#SkColor'>SkColor</a> <a href…
80 …void <a href='#SkCanvas_clear'>clear</a>(<a href='SkColor_Reference#SkColor'>SkColor</a> <a href='…
81 void <a href='#SkCanvas_discard'>discard()</a>;
82 …void <a href='#SkCanvas_drawPaint'>drawPaint</a>(const <a href='SkPaint_Reference#SkPaint'>SkPaint…
84 enum <a href='#SkCanvas_PointMode'>PointMode</a> {
85 <a href='#SkCanvas_kPoints_PointMode'>kPoints_PointMode</a>,
86 <a href='#SkCanvas_kLines_PointMode'>kLines_PointMode</a>,
87 <a href='#SkCanvas_kPolygon_PointMode'>kPolygon_PointMode</a>,
90a href='#SkCanvas_drawPoints'>drawPoints</a>(<a href='#SkCanvas_PointMode'>PointMode</a> mode, siz…
91a href='#SkCanvas_drawPoint'>drawPoint</a>(<a href='undocumented#SkScalar'>SkScalar</a> x, <a href…
92a href='#SkCanvas_drawPoint'>drawPoint</a>(<a href='SkPoint_Reference#SkPoint'>SkPoint</a> p, cons…
93a href='#SkCanvas_drawLine'>drawLine</a>(<a href='undocumented#SkScalar'>SkScalar</a> x0, <a href=…
94a href='#SkCanvas_drawLine'>drawLine</a>(<a href='SkPoint_Reference#SkPoint'>SkPoint</a> p0, <a hr…
95a href='#SkCanvas_drawRect'>drawRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& <a hr…
96a href='#SkCanvas_drawIRect'>drawIRect</a>(const <a href='SkIRect_Reference#SkIRect'>SkIRect</a>& …
97a href='#SkCanvas_drawRegion'>drawRegion</a>(const <a href='SkRegion_Reference#SkRegion'>SkRegion<…
98a href='#SkCanvas_drawOval'>drawOval</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& <a hr…
99a href='#SkCanvas_drawRRect'>drawRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>& …
100a href='#SkCanvas_drawDRRect'>drawDRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>…
101a href='#SkCanvas_drawCircle'>drawCircle</a>(<a href='undocumented#SkScalar'>SkScalar</a> cx, <a h…
102a href='#SkCanvas_drawCircle'>drawCircle</a>(<a href='SkPoint_Reference#SkPoint'>SkPoint</a> cente…
103a href='#SkCanvas_drawArc'>drawArc</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& <a href…
104 …bool useCenter, const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& <a href='SkPaint_Reference#…
105a href='#SkCanvas_drawRoundRect'>drawRoundRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect<…
106a href='#SkCanvas_drawPath'>drawPath</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& <a hr…
107a href='#SkCanvas_drawImage'>drawImage</a>(const <a href='SkImage_Reference#SkImage'>SkImage</a>* …
108 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
109a href='#SkCanvas_drawImage'>drawImage</a>(const <a href='undocumented#sk_sp'>sk_sp</a><<a href='S…
110 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
112 enum <a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> {
113 <a href='#SkCanvas_kStrict_SrcRectConstraint'>kStrict_SrcRectConstraint</a>,
114 <a href='#SkCanvas_kFast_SrcRectConstraint'>kFast_SrcRectConstraint</a>,
117a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='SkImage_Reference#SkImage'>SkIma…
118 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>,
119 …<a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStric…
120a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='SkImage_Reference#SkImage'>SkIma…
121 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>,
122 …<a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStric…
123a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='SkImage_Reference#SkImage'>SkIma…
124a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='undocumented#sk_sp'>sk_sp</a><<a
125 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>,
126 …<a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStric…
127a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='undocumented#sk_sp'>sk_sp</a><<a
128 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>,
129 …<a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStric…
130a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='undocumented#sk_sp'>sk_sp</a><<a
131a href='#SkCanvas_drawImageNine'>drawImageNine</a>(const <a href='SkImage_Reference#SkImage'>SkIma…
132 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
133a href='#SkCanvas_drawImageNine'>drawImageNine</a>(const <a href='undocumented#sk_sp'>sk_sp</a><<a
134 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
135a href='#SkCanvas_drawBitmap'>drawBitmap</a>(const <a href='SkBitmap_Reference#SkBitmap'>SkBitmap<…
136 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
137a href='#SkCanvas_drawBitmapRect'>drawBitmapRect</a>(const <a href='SkBitmap_Reference#SkBitmap'>S…
138 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>,
139 …<a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStric…
140a href='#SkCanvas_drawBitmapRect'>drawBitmapRect</a>(const <a href='SkBitmap_Reference#SkBitmap'>S…
141 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>,
142 …<a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStric…
143a href='#SkCanvas_drawBitmapRect'>drawBitmapRect</a>(const <a href='SkBitmap_Reference#SkBitmap'>S…
144 …<a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStric…
145a href='#SkCanvas_drawBitmapNine'>drawBitmapNine</a>(const <a href='SkBitmap_Reference#SkBitmap'>S…
146 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
147a href='#SkCanvas_drawBitmapLattice'>drawBitmapLattice</a>(const <a href='SkBitmap_Reference#SkBit…
148 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
149a href='#SkCanvas_drawImageLattice'>drawImageLattice</a>(const <a href='SkImage_Reference#SkImage'…
150 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
151a href='#SkCanvas_drawText'>drawText</a>(const void* <a href='undocumented#Text'>text</a>, size_t …
152 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& <a href='SkPaint_Reference#Paint'>paint</a>…
153a href='#SkCanvas_drawString'>drawString</a>(const char* <a href='undocumented#String'>string</a>,…
154a href='#SkCanvas_drawString'>drawString</a>(const <a href='undocumented#SkString'>SkString</a>& <
155a href='#SkCanvas_drawPosText'>drawPosText</a>(const void* <a href='undocumented#Text'>text</a>, s…
156 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& <a href='SkPaint_Reference#Paint'>paint</a>…
157a href='#SkCanvas_drawPosTextH'>drawPosTextH</a>(const void* <a href='undocumented#Text'>text</a>,…
158 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& <a href='SkPaint_Reference#Paint'>paint</a>…
159a href='#SkCanvas_drawTextRSXform'>drawTextRSXform</a>(const void* <a href='undocumented#Text'>tex…
160a href='SkRect_Reference#SkRect'>SkRect</a>* cullRect, const <a href='SkPaint_Reference#SkPaint'>S…
161a href='#SkCanvas_drawTextBlob'>drawTextBlob</a>(const <a href='SkTextBlob_Reference#SkTextBlob'>S…
162a href='#SkCanvas_drawTextBlob'>drawTextBlob</a>(const <a href='undocumented#sk_sp'>sk_sp</a><<a h…
163a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='SkPicture_Reference#SkPicture'>SkPic…
164a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented#sk_sp'>sk_sp</a><<a hre…
165a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='SkPicture_Reference#SkPicture'>SkPic…
166a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented#sk_sp'>sk_sp</a><<a hre…
167 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
168a href='#SkCanvas_drawVertices'>drawVertices</a>(const <a href='undocumented#SkVertices'>SkVertice…
169a href='#SkCanvas_drawVertices'>drawVertices</a>(const <a href='undocumented#sk_sp'>sk_sp</a><<a h…
170a href='#SkCanvas_drawVertices'>drawVertices</a>(const <a href='undocumented#SkVertices'>SkVertice…
171a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> mode, const <a href='SkPaint_Reference#…
172a href='#SkCanvas_drawVertices'>drawVertices</a>(const <a href='undocumented#sk_sp'>sk_sp</a><<a h…
173a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> mode, const <a href='SkPaint_Reference#…
174a href='#SkCanvas_drawPatch'>drawPatch</a>(const <a href='SkPoint_Reference#SkPoint'>SkPoint</a> <
175a href='SkPoint_Reference#SkPoint'>SkPoint</a> texCoords[4], <a href='SkBlendMode_Reference#SkBlen…
176a href='#SkCanvas_drawPatch'>drawPatch</a>(const <a href='SkPoint_Reference#SkPoint'>SkPoint</a> <
177a href='SkPoint_Reference#SkPoint'>SkPoint</a> texCoords[4], const <a href='SkPaint_Reference#SkPa…
178a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='SkImage_Reference#SkImage'>SkImage</a>* …
179a href='SkColor_Reference#SkColor'>SkColor</a> colors[], int count, <a href='SkBlendMode_Reference…
180 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
181a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='undocumented#sk_sp'>sk_sp</a><<a href='S…
182a href='SkColor_Reference#SkColor'>SkColor</a> colors[], int count, <a href='SkBlendMode_Reference…
183 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
184a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='SkImage_Reference#SkImage'>SkImage</a>* …
185a href='SkRect_Reference#SkRect'>SkRect</a>* cullRect, const <a href='SkPaint_Reference#SkPaint'>S…
186a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='undocumented#sk_sp'>sk_sp</a><<a href='S…
187a href='SkRect_Reference#SkRect'>SkRect</a>* cullRect, const <a href='SkPaint_Reference#SkPaint'>S…
188a href='#SkCanvas_drawDrawable'>drawDrawable</a>(<a href='undocumented#SkDrawable'>SkDrawable</a>*…
189a href='#SkCanvas_drawDrawable'>drawDrawable</a>(<a href='undocumented#SkDrawable'>SkDrawable</a>*…
190a href='#SkCanvas_drawAnnotation'>drawAnnotation</a>(const <a href='SkRect_Reference#SkRect'>SkRec…
191a href='#SkCanvas_drawAnnotation'>drawAnnotation</a>(const <a href='SkRect_Reference#SkRect'>SkRec…
192 virtual bool <a href='#SkCanvas_isClipEmpty'>isClipEmpty</a>() const;
193 virtual bool <a href='#SkCanvas_isClipRect'>isClipRect</a>() const;
194 …const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>& <a href='#SkCanvas_getTotalMatrix'>getTo…
199 <a href='SkCanvas_Reference#Canvas'>Canvas</a> provides an interface for drawing, and how the drawi…
200 <a href='SkCanvas_Reference#Canvas'>Canvas</a> contains a stack of <a href='SkMatrix_Reference#Matr…
202a href='SkCanvas_Reference#Canvas'>Canvas</a> and <a href='SkPaint_Reference#Paint'>Paint</a> toge…
203 Each <a href='SkCanvas_Reference#Canvas'>Canvas</a> draw call transforms the geometry of the object…
204 <a href='SkMatrix_Reference#Matrix'>Matrix</a> values in the stack. The transformed geometry is cli…
205 …alues in the stack. The <a href='SkCanvas_Reference#Canvas'>Canvas</a> draw calls use <a href='SkP…
206a href='SkColor_Reference#Color'>Color</a>, <a href='undocumented#Typeface'>Typeface</a>, <a href=…
208 To draw to a pixel-based destination, create <a href='#Raster_Surface'>Raster_Surface</a> or <a hre…
209 Request <a href='SkCanvas_Reference#Canvas'>Canvas</a> from <a href='SkSurface_Reference#Surface'>S…
210 <a href='SkCanvas_Reference#Canvas'>Canvas</a> generated by <a href='#Raster_Surface'>Raster_Surfac…
211 <a href='SkCanvas_Reference#Canvas'>Canvas</a> generated by <a href='#GPU_Surface'>GPU_Surface</a> …
213a <a href='undocumented#Document'>document</a>, obtain <a href='SkCanvas_Reference#Canvas'>Canvas<…
214a href='undocumented#Document'>Document</a> based <a href='SkCanvas_Reference#Canvas'>Canvas</a> a…
217a href='SkCanvas_Reference#Canvas'>Canvas</a> can be constructed to draw to <a href='SkBitmap_Refe…
220a href='SkCanvas_Reference#Canvas'>Canvas</a> may be created directly when no <a href='SkSurface_R…
221 implicitly create <a href='#Raster_Surface'>Raster_Surface</a>.
223 <a name='SkCanvas_MakeRasterDirect'></a>
228a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>&gt; <a href='#SkCanvas_MakeRasterDirect'>MakeRas…
230 … const <a href='undocumented#SkSurfaceProps'>SkSurfaceProps</a>* props = nullptr)
233 …s raster <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> that will draw directly into <a href='…
235 <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> is returned if all parameters are valid.
237 <a href='#SkCanvas_MakeRasterDirect_info'>info</a> dimensions are zero or positive;
238a href='#SkCanvas_MakeRasterDirect_info'>info</a> contains <a href='SkImageInfo_Reference#SkColorT…
239 <a href='#SkCanvas_MakeRasterDirect_pixels'>pixels</a> is not nullptr;
240a href='#SkCanvas_MakeRasterDirect_rowBytes'>rowBytes</a> is zero or large enough to contain <a hr…
242a href='#SkCanvas_MakeRasterDirect_rowBytes'>rowBytes</a> to compute <a href='#SkCanvas_MakeRaster…
243 If <a href='#SkCanvas_MakeRasterDirect_rowBytes'>rowBytes</a> is greater than zero, it must be equa…
244 <a href='#SkCanvas_MakeRasterDirect_info'>info</a> width times bytes required for <a href='SkImageI…
246a href='undocumented#Pixel'>Pixel</a> buffer <a href='undocumented#Size'>size</a> should be <a hre…
248a href='#SkCanvas_MakeRasterDirect_pixels'>pixels</a> after drawing, call <a href='#SkCanvas_flush…
252 <table> <tr> <td><a name='SkCanvas_MakeRasterDirect_info'><code><strong>info</strong></code></a
253a href='SkImageInfo_Reference#SkColorType'>SkColorType</a>, <a href='SkImageInfo_Reference#SkAlpha…
261 <table> <tr> <td><a name='SkCanvas_MakeRasterDirect_pixels'><code><strong>pixels</strong></code…
262 <td>pointer to destination <a href='#SkCanvas_MakeRasterDirect_pixels'>pixels</a> buffer</td>
264 …<tr> <td><a name='SkCanvas_MakeRasterDirect_rowBytes'><code><strong>rowBytes</strong></code></a
265 …<td>interval from one <a href='SkSurface_Reference#SkSurface'>SkSurface</a> row to the next, or ze…
267 <tr> <td><a name='SkCanvas_MakeRasterDirect_props'><code><strong>props</strong></code></a></td>
268 …<td>LCD striping orientation and setting for <a href='undocumented#Device'>device</a> independent …
276 <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> if all parameters are valid; otherwise, nullptr
280 …cates a three by three <a href='SkBitmap_Reference#Bitmap'>bitmap</a>, clears it to white, and dra…
296a href='#SkCanvas_MakeRasterDirectN32'>MakeRasterDirectN32</a> <a href='SkSurface_Reference#SkSurf…
298 <a name='SkCanvas_MakeRasterDirectN32'></a>
303a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>&gt; <a href='#SkCanvas_MakeRasterDirectN32'>Make…
307a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> specified by inline <a href='SkImage_Reference#I…
308 calls draw into <a href='#SkCanvas_MakeRasterDirectN32_pixels'>pixels</a>.
309 <a href='SkImageInfo_Reference#SkColorType'>SkColorType</a> is set to <a href='SkImageInfo_Referenc…
310 <a href='SkImageInfo_Reference#SkAlphaType'>SkAlphaType</a> is set to <a href='SkImageInfo_Referenc…
311a href='#SkCanvas_MakeRasterDirectN32_pixels'>pixels</a> after drawing, call <a href='#SkCanvas_fl…
313 <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> is returned if all parameters are valid.
315 <a href='#SkCanvas_MakeRasterDirectN32_width'>width</a> and <a href='#SkCanvas_MakeRasterDirectN32_…
316 <a href='#SkCanvas_MakeRasterDirectN32_pixels'>pixels</a> is not nullptr;
317a href='#SkCanvas_MakeRasterDirectN32_rowBytes'>rowBytes</a> is zero or large enough to contain <a
319a href='#SkCanvas_MakeRasterDirectN32_rowBytes'>rowBytes</a> to compute <a href='#SkCanvas_MakeRas…
320 If <a href='#SkCanvas_MakeRasterDirectN32_rowBytes'>rowBytes</a> is greater than zero, it must be e…
321 <a href='#SkCanvas_MakeRasterDirectN32_width'>width</a> times bytes required for <a href='SkImageIn…
323a href='undocumented#Pixel'>Pixel</a> buffer <a href='undocumented#Size'>size</a> should be <a hre…
327 <table> <tr> <td><a name='SkCanvas_MakeRasterDirectN32_width'><code><strong>width</strong></cod…
328 …<td><a href='undocumented#Pixel'>pixel</a> column count on <a href='undocumented#Raster_Surface'>…
330 …<tr> <td><a name='SkCanvas_MakeRasterDirectN32_height'><code><strong>height</strong></code></a>…
331 …<td><a href='undocumented#Pixel'>pixel</a> row count on <a href='undocumented#Raster_Surface'>ras…
333 …<tr> <td><a name='SkCanvas_MakeRasterDirectN32_pixels'><code><strong>pixels</strong></code></a>…
334a href='#SkCanvas_MakeRasterDirectN32_pixels'>pixels</a> buffer; buffer <a href='undocumented#Size…
338 times <a href='#SkCanvas_MakeRasterDirectN32_rowBytes'>rowBytes</a>
342 <table> <tr> <td><a name='SkCanvas_MakeRasterDirectN32_rowBytes'><code><strong>rowBytes</strong…
343 …<td>interval from one <a href='SkSurface_Reference#SkSurface'>SkSurface</a> row to the next, or ze…
349 <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> if all parameters are valid; otherwise, nullptr
353 …cates a three by three <a href='SkBitmap_Reference#Bitmap'>bitmap</a>, clears it to white, and dra…
369a href='#SkCanvas_MakeRasterDirect'>MakeRasterDirect</a> <a href='SkSurface_Reference#SkSurface'>S…
371 <a name='SkCanvas_empty_constructor'></a>
376 <a href='#SkCanvas_empty_constructor'>SkCanvas()</a>
379 Creates an empty <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> with no backing <a href='undocu…
380 a width and height of zero.
384 empty <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>
388 <div><fiddle-embed name="4a00e6589e862fde5be532f4b6e316ce"><div>Passes a placeholder to a function …
403a href='#SkCanvas_MakeRasterDirect'>MakeRasterDirect</a> <a href='undocumented#SkRasterHandleAlloc…
405 <a name='SkCanvas_int_int_const_SkSurfaceProps_star'></a>
410 <a href='#SkCanvas_int_int_const_SkSurfaceProps_star'>SkCanvas</a>(int width, int height, const <a
413 …ates <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> of the specified dimensions without a <a h…
416 If <a href='#SkCanvas_int_int_const_SkSurfaceProps_star_props'>props</a> equals nullptr, <a href='u…
417a href='undocumented#SkSurfaceProps'>SkSurfaceProps</a>::<a href='#SkSurfaceProps_InitType'>InitTy…
418 direction and order. Since a platform may dynamically change its direction when
419 the <a href='undocumented#Device'>device</a> is rotated, and since a platform may have multiple mon…
424 <table> <tr> <td><a name='SkCanvas_int_int_const_SkSurfaceProps_star_width'><code><strong>width…
427 …<tr> <td><a name='SkCanvas_int_int_const_SkSurfaceProps_star_height'><code><strong>height</stro…
430 …<tr> <td><a name='SkCanvas_int_int_const_SkSurfaceProps_star_props'><code><strong>props</strong…
431 …<td>LCD striping orientation and setting for <a href='undocumented#Device'>device</a> independent …
439 <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> placeholder with dimensions
455a href='#SkCanvas_MakeRasterDirect'>MakeRasterDirect</a> <a href='undocumented#SkSurfaceProps'>SkS…
457 <a name='SkCanvas_copy_const_SkBitmap'></a>
462a href='#SkCanvas_copy_const_SkBitmap'>SkCanvas</a>(const <a href='SkBitmap_Reference#SkBitmap'>Sk…
465 Constructs a <a href='SkCanvas_Reference#Canvas'>canvas</a> that draws into <a href='#SkCanvas_copy…
466a href='undocumented#SkSurfaceProps'>SkSurfaceProps</a>::<a href='#SkSurfaceProps_kLegacyFontHost_…
468 <a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a> is copied so that subsequently editing <a href='…
469 constructed <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>.
475 <table> <tr> <td><a name='SkCanvas_copy_const_SkBitmap_bitmap'><code><strong>bitmap</strong></c…
476a href='SkImageInfo_Reference#SkColorType'>SkColorType</a>, <a href='SkImageInfo_Reference#SkAlpha…
480 storage of <a href='undocumented#Raster_Surface'>raster surface</a>
484 <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> that can be used to draw into <a href='#SkCanvas…
511a href='#SkCanvas_MakeRasterDirect'>MakeRasterDirect</a> <a href='undocumented#SkRasterHandleAlloc…
513 <a name='SkCanvas_const_SkBitmap_const_SkSurfaceProps'></a>
518a href='#SkCanvas_const_SkBitmap_const_SkSurfaceProps'>SkCanvas</a>(const <a href='SkBitmap_Refere…
521 …structs a <a href='SkCanvas_Reference#Canvas'>canvas</a> that draws into <a href='#SkCanvas_const_…
522 Use <a href='#SkCanvas_const_SkBitmap_const_SkSurfaceProps_props'>props</a> to match the <a href='u…
524a href='#SkCanvas_const_SkBitmap_const_SkSurfaceProps_bitmap'>bitmap</a> is copied so that subsequ…
525 constructed <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>.
529 <table> <tr> <td><a name='SkCanvas_const_SkBitmap_const_SkSurfaceProps_bitmap'><code><strong>bi…
530 …>width, height, <a href='SkImageInfo_Reference#SkColorType'>SkColorType</a>, <a href='SkImageInfo_…
534 and <a href='undocumented#Pixel_Storage'>pixel storage</a> of <a href='undocumented#Raster_Surfac…
538 <table> <tr> <td><a name='SkCanvas_const_SkBitmap_const_SkSurfaceProps_props'><code><strong>pro…
543 <a href='undocumented#Device'>device</a> independent fonts
547a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> that can be used to draw into <a href='#SkCanvas…
574a href='#SkCanvas_MakeRasterDirect'>MakeRasterDirect</a> <a href='undocumented#SkRasterHandleAlloc…
576 <a name='SkCanvas_destructor'></a>
581 virtual <a href='#SkCanvas_destructor'>~SkCanvas()</a>
584 Draws saved <a href='SkCanvas_Reference#Layer'>layers</a>, if any.
585 Frees up resources used by <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>.
589a href='SkCanvas_Reference#Canvas'>Canvas</a> <a href='SkCanvas_Reference#Layer'>Layer</a> draws i…
590a href='SkSurface_Reference#Surface'>surface</a> that blends with the <a href='SkBitmap_Reference#…
591 scope, <a href='SkCanvas_Reference#Layer'>Layer</a> destructor is called. The saved <a href='SkCanv…
597 <a href='#Canvas_State_Stack'>State_Stack</a>
599 <a name='Property'></a>
601 <a name='SkCanvas_getMetaData'></a>
606 <a href='undocumented#SkMetaData'>SkMetaData</a>& <a href='#SkCanvas_getMetaData'>getMetaData</a>()
609 …orage to associate additional <a href='undocumented#Data'>data</a> with the <a href='SkCanvas_Refe…
610 The storage is freed when <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> is deleted.
632 <a href='undocumented#SkMetaData'>SkMetaData</a>
634 <a name='SkCanvas_imageInfo'></a>
639 <a href='SkImageInfo_Reference#SkImageInfo'>SkImageInfo</a> <a href='#SkCanvas_imageInfo'>imageInfo…
642a href='SkImageInfo_Reference#SkImageInfo'>SkImageInfo</a> for <a href='SkCanvas_Reference#SkCanva…
643a href='SkSurface_Reference#Surface'>surface</a>, returned <a href='SkImageInfo_Reference#SkColorT…
647 dimensions and <a href='SkImageInfo_Reference#SkColorType'>SkColorType</a> of <a href='SkCanvas_Ref…
663a href='SkImageInfo_Reference#SkImageInfo'>SkImageInfo</a> <a href='#SkCanvas_MakeRasterDirect'>Ma…
665 <a name='SkCanvas_getProps'></a>
670 bool <a href='#SkCanvas_getProps'>getProps</a>(<a href='undocumented#SkSurfaceProps'>SkSurfaceProps…
673a href='undocumented#SkSurfaceProps'>SkSurfaceProps</a>, if <a href='SkCanvas_Reference#SkCanvas'>…
674 <a href='undocumented#GPU_Surface'>GPU surface</a>, and returns true. Otherwise, returns false and …
678 <table> <tr> <td><a name='SkCanvas_getProps_props'><code><strong>props</strong></code></a></td>
679 <td>storage for writable <a href='undocumented#SkSurfaceProps'>SkSurfaceProps</a></td>
685 true if <a href='undocumented#SkSurfaceProps'>SkSurfaceProps</a> was copied
702 <a href='undocumented#SkSurfaceProps'>SkSurfaceProps</a> <a href='#SkCanvas_makeSurface'>makeSurfac…
704 <a name='Utility'></a>
706 <a name='SkCanvas_flush'></a>
711 void <a href='#SkCanvas_flush'>flush()</a>
715 If <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> is associated with GPU <a href='SkSurface_Ref…
716 If <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> is associated with raster <a href='SkSurface_…
721a href='#SkCanvas_peekPixels'>peekPixels</a> <a href='SkSurface_Reference#SkSurface'>SkSurface</a>…
723 <a name='SkCanvas_getBaseLayerSize'></a>
728 virtual <a href='undocumented#SkISize'>SkISize</a> <a href='#SkCanvas_getBaseLayerSize'>getBaseLaye…
731a href='undocumented#Size'>size</a> of the base or root <a href='SkCanvas_Reference#Layer'>layer</
732 origin of the base <a href='SkCanvas_Reference#Layer'>layer</a> is always (0,0). The area available…
733 smaller (due to clipping or <a href='#SkCanvas_saveLayer'>saveLayer</a>).
737 integral width and height of base <a href='SkCanvas_Reference#Layer'>layer</a>
754 <a href='#SkCanvas_getDeviceClipBounds'>getDeviceClipBounds</a>
756 <a name='SkCanvas_makeSurface'></a>
761a href='undocumented#sk_sp'>sk_sp</a>&lt;<a href='SkSurface_Reference#SkSurface'>SkSurface</a>&gt;…
764a href='SkSurface_Reference#SkSurface'>SkSurface</a> matching <a href='#SkCanvas_makeSurface_info'…
767a href='#SkCanvas_makeSurface_props'>props</a> is nullptr, matches <a href='undocumented#SkSurface…
768a href='undocumented#SkSurfaceProps'>SkSurfaceProps</a>, creates <a href='SkSurface_Reference#SkSu…
772 <table> <tr> <td><a name='SkCanvas_makeSurface_info'><code><strong>info</strong></code></a></td>
773a href='SkImageInfo_Reference#SkColorType'>SkColorType</a>, <a href='SkImageInfo_Reference#SkAlpha…
775 <tr> <td><a name='SkCanvas_makeSurface_props'><code><strong>props</strong></code></a></td>
776 …<td><a href='undocumented#SkSurfaceProps'>SkSurfaceProps</a> to match; may be nullptr to match <a
782a href='SkSurface_Reference#SkSurface'>SkSurface</a> matching <a href='#SkCanvas_makeSurface_info'…
799a href='SkSurface_Reference#SkSurface'>SkSurface</a> <a href='SkSurface_Reference#SkSurface'>SkSur…
801 <a name='SkCanvas_getGrContext'></a>
806 virtual <a href='undocumented#GrContext'>GrContext</a>* <a href='#SkCanvas_getGrContext'>getGrConte…
809 …ontext of the GPU <a href='SkSurface_Reference#Surface'>surface</a> associated with <a href='SkCan…
821 <a href='undocumented#GrContext'>GrContext</a>
823 <a name='SkCanvas_accessTopLayerPixels'></a>
828a href='#SkCanvas_accessTopLayerPixels'>accessTopLayerPixels</a>(<a href='SkImageInfo_Reference#Sk…
831a href='undocumented#Pixel'>pixel</a> base address, <a href='SkImageInfo_Reference#SkImageInfo'>Sk…
833a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> is in scope and unchanged. Any <a href='SkCanvas…
836a href='#SkCanvas_accessTopLayerPixels_info'>info</a>, <a href='#SkCanvas_accessTopLayerPixels_row…
840 <table> <tr> <td><a name='SkCanvas_accessTopLayerPixels_info'><code><strong>info</strong></code…
841 …<td>storage for writable pixels' <a href='SkImageInfo_Reference#SkImageInfo'>SkImageInfo</a>; may …
843 …<tr> <td><a name='SkCanvas_accessTopLayerPixels_rowBytes'><code><strong>rowBytes</strong></code…
846 …<tr> <td><a name='SkCanvas_accessTopLayerPixels_origin'><code><strong>origin</strong></code></a
847a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> top <a href='SkCanvas_Reference#Layer'>layer</a>…
863 …div>Draws "ABC" on the <a href='undocumented#Device'>device</a>. Then draws "DEF" in <a href='SkCa…
864 <a href='SkCanvas_Reference#Layer'>Layer</a> to add a large dotted "DEF". Finally blends <a href='S…
865 <a href='undocumented#Device'>device</a>.
867 The <a href='SkCanvas_Reference#Layer'>Layer</a> and blended result appear on the CPU and GPU but t…
873 <a href='SkImageInfo_Reference#SkImageInfo'>SkImageInfo</a> <a href='SkPixmap_Reference#SkPixmap'>S…
875 <a name='SkCanvas_accessTopRasterHandle'></a>
880a href='undocumented#SkRasterHandleAllocator'>SkRasterHandleAllocator</a>::<a href='#SkRasterHandl…
883 Returns custom context that tracks the <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> and clip.
885 Use <a href='undocumented#SkRasterHandleAllocator'>SkRasterHandleAllocator</a> to blend Skia drawin…
887a href='undocumented#SkRasterHandleAllocator'>SkRasterHandleAllocator</a>::<a href='#SkRasterHandl…
908 <a href='undocumented#SkRasterHandleAllocator'>SkRasterHandleAllocator</a>
910 <a name='Pixels'></a>
912 <a name='SkCanvas_peekPixels'></a>
917 …ool <a href='#SkCanvas_peekPixels'>peekPixels</a>(<a href='SkPixmap_Reference#SkPixmap'>SkPixmap</
920 Returns true if <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> has direct access to its pixels.
922 …when <a href='undocumented#SkBaseDevice'>SkBaseDevice</a> is raster. Pixels are not readable when …
923a href='undocumented#GPU_Surface'>GPU surface</a>, returned by <a href='undocumented#SkDocument'>S…
924a href='undocumented#SkPictureRecorder'>SkPictureRecorder</a>::<a href='#SkPictureRecorder_beginRe…
925 like <a href='undocumented#SkDebugCanvas'>SkDebugCanvas</a>.
927 <a href='#SkCanvas_peekPixels_pixmap'>pixmap</a> is valid only while <a href='SkCanvas_Reference#Sk…
928a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> or <a href='SkSurface_Reference#SkSurface'>SkSur…
932 <table> <tr> <td><a name='SkCanvas_peekPixels_pixmap'><code><strong>pixmap</strong></code></a><…
933 …<td>storage for <a href='undocumented#Pixel'>pixel</a> state if pixels are readable; otherwise, ig…
939 true if <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> has direct access to pixels
955a href='#SkCanvas_readPixels'>readPixels</a> <a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a>::<
957 <a name='SkCanvas_readPixels'></a>
962 bool <a href='#SkCanvas_readPixels'>readPixels</a>(const <a href='SkImageInfo_Reference#SkImageInfo…
965a href='SkRect_Reference#Rect'>Rect</a> of pixels from <a href='SkCanvas_Reference#Canvas'>Canvas<…
968a href='SkRect_Reference#Rect'>Rect</a> corners are (<a href='#SkCanvas_readPixels_srcX'>srcX</a>,…
969a href='SkRect_Reference#Rect'>Rect</a> corners are (0, 0) and (<a href='#SkCanvas_readPixels_dstI…
970 Copies each readable <a href='undocumented#Pixel'>pixel</a> intersecting both rectangles, without s…
971a href='#SkCanvas_readPixels_dstInfo'>dstInfo</a>.<a href='#SkImageInfo_colorType'>colorType</a>()…
973 Pixels are readable when <a href='undocumented#Device'>Device</a> is raster, or backed by a GPU.
974a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> is returned by <a href='undocumented#SkDocument'…
975a href='undocumented#SkPictureRecorder'>SkPictureRecorder</a>::<a href='#SkPictureRecorder_beginRe…
976 class like <a href='undocumented#SkDebugCanvas'>SkDebugCanvas</a>.
978 The destination <a href='undocumented#Pixel_Storage'>pixel storage</a> must be allocated by the ca…
980a href='undocumented#Pixel'>Pixel</a> values are converted only if <a href='#Image_Info_Color_Type…
982 are copied. <a href='#SkCanvas_readPixels_dstPixels'>dstPixels</a> contents outside <a href='SkRect…
984 Pass negative values for <a href='#SkCanvas_readPixels_srcX'>srcX</a> or <a href='#SkCanvas_readPix…
991a href='SkCanvas_Reference#Canvas'>Canvas</a> pixels could not be converted to <a href='#SkCanvas_…
993 …<td><a href='SkCanvas_Reference#Canvas'>Canvas</a> pixels are not readable; for instance, <a href=…
995 …<td><a href='#SkCanvas_readPixels_dstRowBytes'>dstRowBytes</a> is too small to contain one row of …
1001 <table> <tr> <td><a name='SkCanvas_readPixels_dstInfo'><code><strong>dstInfo</strong></code></a
1002a href='#Image_Info_Color_Type'>Color_Type</a>, and <a href='#Image_Info_Alpha_Type'>Alpha_Type</a
1004 …<tr> <td><a name='SkCanvas_readPixels_dstPixels'><code><strong>dstPixels</strong></code></a></t…
1005a href='#SkCanvas_readPixels_dstInfo'>dstInfo</a>.<a href='#SkImageInfo_height'>height()</a> times…
1007 …<tr> <td><a name='SkCanvas_readPixels_dstRowBytes'><code><strong>dstRowBytes</strong></code></a
1008a href='undocumented#Size'>size</a> of one destination row; <a href='#SkCanvas_readPixels_dstInfo'…
1010 <tr> <td><a name='SkCanvas_readPixels_srcX'><code><strong>srcX</strong></code></a></td>
1013 <tr> <td><a name='SkCanvas_readPixels_srcY'><code><strong>srcY</strong></code></a></td>
1024 …af11"><div>A black <a href='undocumented#Circle'>circle</a> drawn on a blue background provides an…
1025 <a href='#SkCanvas_readPixels'>readPixels</a> copies one quarter of the <a href='SkCanvas_Reference…
1026 The copied quarter <a href='undocumented#Circle'>circles</a> overdraw the original <a href='undocum…
1031a href='SkCanvas_Reference#Canvas'>Canvas</a> returned by <a href='#Raster_Surface'>Raster_Surface…
1032 <a href='#SkCanvas_clear'>clear()</a> takes <a href='undocumented#Unpremultiply'>Unpremultiplied</a
1033 and RGB equal 0x55, 0xAA, 0xFF. RGB is multiplied by <a href='#Color_Alpha'>Color_Alpha</a>
1034a href='undocumented#Premultiply'>Premultiplied</a> value 0x802B5580. <a href='#SkCanvas_readPixel…
1035 to <a href='undocumented#Unpremultiply'>Unpremultiplied</a> value 0x8056A9FF, introducing error.
1049a href='#SkCanvas_peekPixels'>peekPixels</a> <a href='#SkCanvas_writePixels'>writePixels</a> <a hr…
1051 <a name='SkCanvas_readPixels_2'></a>
1056 … <a href='#SkCanvas_readPixels'>readPixels</a>(const <a href='SkPixmap_Reference#SkPixmap'>SkPixma…
1059a href='SkRect_Reference#Rect'>Rect</a> of pixels from <a href='SkCanvas_Reference#Canvas'>Canvas<…
1062a href='SkRect_Reference#Rect'>Rect</a> corners are (<a href='#SkCanvas_readPixels_2_srcX'>srcX</a
1063a href='SkRect_Reference#Rect'>Rect</a> corners are (0, 0) and (<a href='#SkCanvas_readPixels_2_pi…
1064 Copies each readable <a href='undocumented#Pixel'>pixel</a> intersecting both rectangles, without s…
1065a href='#SkCanvas_readPixels_2_pixmap'>pixmap</a>.<a href='#SkPixmap_colorType'>colorType</a>() an…
1067 Pixels are readable when <a href='undocumented#Device'>Device</a> is raster, or backed by a GPU.
1068a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> is returned by <a href='undocumented#SkDocument'…
1069a href='undocumented#SkPictureRecorder'>SkPictureRecorder</a>::<a href='#SkPictureRecorder_beginRe…
1070 class like <a href='undocumented#SkDebugCanvas'>SkDebugCanvas</a>.
1072 Caller must allocate <a href='undocumented#Pixel_Storage'>pixel storage</a> in <a href='#SkCanvas_…
1074a href='undocumented#Pixel'>Pixel</a> values are converted only if <a href='#Image_Info_Color_Type…
1075 …not match. Only pixels within both source and destination <a href='SkRect_Reference#Rect'>Rects</a>
1076 are copied. <a href='SkPixmap_Reference#Pixmap_Pixels'>pixmap pixels</a> contents outside <a href=…
1078a href='#SkCanvas_readPixels_2_srcX'>srcX</a> or <a href='#SkCanvas_readPixels_2_srcY'>srcY</a> to…
1085a href='SkCanvas_Reference#Canvas'>Canvas</a> pixels could not be converted to <a href='#SkCanvas_…
1087 …<td><a href='SkCanvas_Reference#Canvas'>Canvas</a> pixels are not readable; for instance, <a href=…
1089 <td><a href='SkPixmap_Reference#Pixmap'>Pixmap</a> pixels could not be allocated.</td>
1091 …<td><a href='#SkCanvas_readPixels_2_pixmap'>pixmap</a>.<a href='#SkPixmap_rowBytes'>rowBytes</a>()…
1097 <table> <tr> <td><a name='SkCanvas_readPixels_2_pixmap'><code><strong>pixmap</strong></code></a
1098 <td>storage for pixels copied from <a href='SkCanvas_Reference#Canvas'>Canvas</a></td>
1100 <tr> <td><a name='SkCanvas_readPixels_2_srcX'><code><strong>srcX</strong></code></a></td>
1103 <tr> <td><a name='SkCanvas_readPixels_2_srcY'><code><strong>srcY</strong></code></a></td>
1114 …><a href='#SkCanvas_clear'>clear()</a> takes <a href='undocumented#Unpremultiply'>Unpremultiplied<…
1115 and RGB equal 0x55, 0xAA, 0xFF. RGB is multiplied by <a href='#Color_Alpha'>Color_Alpha</a>
1116 to generate <a href='undocumented#Premultiply'>Premultiplied</a> value 0x802B5580.
1129a href='#SkCanvas_peekPixels'>peekPixels</a> <a href='#SkCanvas_writePixels'>writePixels</a> <a hr…
1131 <a name='SkCanvas_readPixels_3'></a>
1136 … <a href='#SkCanvas_readPixels'>readPixels</a>(const <a href='SkBitmap_Reference#SkBitmap'>SkBitma…
1139a href='SkRect_Reference#Rect'>Rect</a> of pixels from <a href='SkCanvas_Reference#Canvas'>Canvas<…
1142a href='SkRect_Reference#Rect'>Rect</a> corners are (<a href='#SkCanvas_readPixels_3_srcX'>srcX</a
1143a href='SkRect_Reference#Rect'>Rect</a> corners are (0, 0) and (<a href='#SkCanvas_readPixels_3_bi…
1144 Copies each readable <a href='undocumented#Pixel'>pixel</a> intersecting both rectangles, without s…
1145a href='#SkCanvas_readPixels_3_bitmap'>bitmap</a>.<a href='#SkBitmap_colorType'>colorType</a>() an…
1147 Pixels are readable when <a href='undocumented#Device'>Device</a> is raster, or backed by a GPU.
1148a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> is returned by <a href='undocumented#SkDocument'…
1149a href='undocumented#SkPictureRecorder'>SkPictureRecorder</a>::<a href='#SkPictureRecorder_beginRe…
1150 class like <a href='undocumented#SkDebugCanvas'>SkDebugCanvas</a>.
1152 Caller must allocate <a href='undocumented#Pixel_Storage'>pixel storage</a> in <a href='#SkCanvas_…
1154a href='SkBitmap_Reference#Bitmap'>Bitmap</a> values are converted only if <a href='#Image_Info_Co…
1156 are copied. <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> pixels outside <a href='SkRect_Reference…
1158a href='#SkCanvas_readPixels_3_srcX'>srcX</a> or <a href='#SkCanvas_readPixels_3_srcY'>srcY</a> to…
1165a href='SkCanvas_Reference#Canvas'>Canvas</a> pixels could not be converted to <a href='#SkCanvas_…
1167 …<td><a href='SkCanvas_Reference#Canvas'>Canvas</a> pixels are not readable; for instance, <a href=…
1169 <td><a href='SkBitmap_Reference#Bitmap_Pixels'>bitmap pixels</a> could not be allocated.</td>
1171 …<td><a href='#SkCanvas_readPixels_3_bitmap'>bitmap</a>.<a href='#SkBitmap_rowBytes'>rowBytes</a>()…
1177 <table> <tr> <td><a name='SkCanvas_readPixels_3_bitmap'><code><strong>bitmap</strong></code></a
1178 <td>storage for pixels copied from <a href='SkCanvas_Reference#Canvas'>Canvas</a></td>
1180 <tr> <td><a name='SkCanvas_readPixels_3_srcX'><code><strong>srcX</strong></code></a></td>
1183 <tr> <td><a name='SkCanvas_readPixels_3_srcY'><code><strong>srcY</strong></code></a></td>
1194 …><a href='#SkCanvas_clear'>clear()</a> takes <a href='undocumented#Unpremultiply'>Unpremultiplied<…
1195 and RGB equal 0x55, 0xAA, 0xFF. RGB is multiplied by <a href='#Color_Alpha'>Color_Alpha</a>
1196 to generate <a href='undocumented#Premultiply'>Premultiplied</a> value 0x802B5580.
1209a href='#SkCanvas_peekPixels'>peekPixels</a> <a href='#SkCanvas_writePixels'>writePixels</a> <a hr…
1211 <a name='SkCanvas_writePixels'></a>
1216 bool <a href='#SkCanvas_writePixels'>writePixels</a>(const <a href='SkImageInfo_Reference#SkImageIn…
1219a href='SkRect_Reference#Rect'>Rect</a> from <a href='#SkCanvas_writePixels_pixels'>pixels</a> to …
1220a href='SkRect_Reference#Rect'>Rect</a> corners are (0, 0) and (<a href='#SkCanvas_writePixels_inf…
1221 …tination <a href='SkRect_Reference#Rect'>Rect</a> corners are (<a href='#SkCanvas_writePixels_x'>x…
1222a href='#SkCanvas_imageInfo'>imageInfo</a>().<a href='#SkImageInfo_width'>width()</a>, <a href='#S…
1224 Copies each readable <a href='undocumented#Pixel'>pixel</a> intersecting both rectangles, without s…
1225a href='#SkCanvas_imageInfo'>imageInfo</a>().<a href='#SkImageInfo_colorType'>colorType</a>() and …
1227 Pixels are writable when <a href='undocumented#Device'>Device</a> is raster, or backed by a GPU.
1228a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> is returned by <a href='undocumented#SkDocument'…
1229a href='undocumented#SkPictureRecorder'>SkPictureRecorder</a>::<a href='#SkPictureRecorder_beginRe…
1230 class like <a href='undocumented#SkDebugCanvas'>SkDebugCanvas</a>.
1232a href='undocumented#Pixel'>Pixel</a> values are converted only if <a href='#Image_Info_Color_Type…
1233 do not match. Only <a href='#SkCanvas_writePixels_pixels'>pixels</a> within both source and destina…
1234 …ed. <a href='SkCanvas_Reference#Canvas'>Canvas</a> <a href='#SkCanvas_writePixels_pixels'>pixels</
1236 … for <a href='#SkCanvas_writePixels_x'>x</a> or <a href='#SkCanvas_writePixels_y'>y</a> to offset …
1237 above <a href='SkCanvas_Reference#Canvas'>Canvas</a> <a href='#SkCanvas_writePixels_pixels'>pixels<…
1244a href='#SkCanvas_writePixels_pixels'>pixels</a> could not be converted to <a href='SkCanvas_Refer…
1245 <a href='#SkCanvas_imageInfo'>imageInfo</a>().<a href='#SkImageInfo_alphaType'>alphaType</a>().</td>
1247a href='SkCanvas_Reference#Canvas'>Canvas</a> <a href='#SkCanvas_writePixels_pixels'>pixels</a> ar…
1249 …<td><a href='#SkCanvas_writePixels_rowBytes'>rowBytes</a> is too small to contain one row of <a hr…
1255 <table> <tr> <td><a name='SkCanvas_writePixels_info'><code><strong>info</strong></code></a></td>
1256 …<a href='#Image_Info_Color_Type'>Color_Type</a>, and <a href='#Image_Info_Alpha_Type'>Alpha_Type</
1258 <tr> <td><a name='SkCanvas_writePixels_pixels'><code><strong>pixels</strong></code></a></td>
1259a href='#SkCanvas_writePixels_pixels'>pixels</a> to copy, of <a href='undocumented#Size'>size</a> …
1261 …<tr> <td><a name='SkCanvas_writePixels_rowBytes'><code><strong>rowBytes</strong></code></a></td>
1262a href='undocumented#Size'>size</a> of one row of <a href='#SkCanvas_writePixels_pixels'>pixels</a
1264 <tr> <td><a name='SkCanvas_writePixels_x'><code><strong>x</strong></code></a></td>
1265 …<td>offset into <a href='SkCanvas_Reference#Canvas'>Canvas</a> writable <a href='#SkCanvas_writePi…
1267 <tr> <td><a name='SkCanvas_writePixels_y'><code><strong>y</strong></code></a></td>
1268 …<td>offset into <a href='SkCanvas_Reference#Canvas'>Canvas</a> writable <a href='#SkCanvas_writePi…
1274 true if <a href='#SkCanvas_writePixels_pixels'>pixels</a> were written to <a href='SkCanvas_Referen…
1282a href='#SkCanvas_readPixels'>readPixels</a> <a href='#SkCanvas_drawBitmap'>drawBitmap</a> <a href…
1284 <a name='SkCanvas_writePixels_2'></a>
1289 …<a href='#SkCanvas_writePixels'>writePixels</a>(const <a href='SkBitmap_Reference#SkBitmap'>SkBitm…
1292 … <a href='SkRect_Reference#Rect'>Rect</a> from pixels to <a href='SkCanvas_Reference#Canvas'>Canva…
1293a href='SkRect_Reference#Rect'>Rect</a> corners are (0, 0) and (<a href='#SkCanvas_writePixels_2_b…
1295 …nation <a href='SkRect_Reference#Rect'>Rect</a> corners are (<a href='#SkCanvas_writePixels_2_x'>x…
1296a href='#SkCanvas_imageInfo'>imageInfo</a>().<a href='#SkImageInfo_width'>width()</a>, <a href='#S…
1298 Copies each readable <a href='undocumented#Pixel'>pixel</a> intersecting both rectangles, without s…
1299a href='#SkCanvas_imageInfo'>imageInfo</a>().<a href='#SkImageInfo_colorType'>colorType</a>() and …
1301 Pixels are writable when <a href='undocumented#Device'>Device</a> is raster, or backed by a GPU.
1302a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> is returned by <a href='undocumented#SkDocument'…
1303a href='undocumented#SkPictureRecorder'>SkPictureRecorder</a>::<a href='#SkPictureRecorder_beginRe…
1304 class like <a href='undocumented#SkDebugCanvas'>SkDebugCanvas</a>.
1306a href='undocumented#Pixel'>Pixel</a> values are converted only if <a href='#Image_Info_Color_Type…
1308 are copied. <a href='SkCanvas_Reference#Canvas'>Canvas</a> pixels outside <a href='SkRect_Reference…
1310 Pass negative values for <a href='#SkCanvas_writePixels_2_x'>x</a> or <a href='#SkCanvas_writePixel…
1311 above <a href='SkCanvas_Reference#Canvas'>Canvas</a> pixels.
1318 <td><a href='#SkCanvas_writePixels_2_bitmap'>bitmap</a> does not have allocated pixels.</td>
1320a href='SkBitmap_Reference#Bitmap_Pixels'>bitmap pixels</a> could not be converted to <a href='SkC…
1321 <a href='#SkCanvas_imageInfo'>imageInfo</a>().<a href='#SkImageInfo_alphaType'>alphaType</a>().</td>
1323a href='SkCanvas_Reference#Canvas'>Canvas</a> pixels are not writable; for instance, <a href='SkCa…
1325a href='SkBitmap_Reference#Bitmap_Pixels'>bitmap pixels</a> are inaccessible; for instance, <a hre…
1331 <table> <tr> <td><a name='SkCanvas_writePixels_2_bitmap'><code><strong>bitmap</strong></code></
1332 <td>contains pixels copied to <a href='SkCanvas_Reference#Canvas'>Canvas</a></td>
1334 <tr> <td><a name='SkCanvas_writePixels_2_x'><code><strong>x</strong></code></a></td>
1335 …<td>offset into <a href='SkCanvas_Reference#Canvas'>Canvas</a> writable pixels in <a href='#SkCanv…
1337 <tr> <td><a name='SkCanvas_writePixels_2_y'><code><strong>y</strong></code></a></td>
1338 …<td>offset into <a href='SkCanvas_Reference#Canvas'>Canvas</a> writable pixels in <a href='#SkCanv…
1344 true if pixels were written to <a href='SkCanvas_Reference#Canvas'>Canvas</a>
1352a href='#SkCanvas_readPixels'>readPixels</a> <a href='#SkCanvas_drawBitmap'>drawBitmap</a> <a href…
1354 <a name='State_Stack'></a>
1358 <a href='SkCanvas_Reference#Canvas'>Canvas</a> maintains a stack of state that allows hierarchical …
1359 …windows and views. The initial state has an identity <a href='SkMatrix_Reference#Matrix'>matrix</a
1360 an infinite clip. Even with a wide-open clip, drawing is constrained by the
1361 …f the <a href='SkCanvas_Reference#Canvas'>Canvas</a> <a href='SkSurface_Reference#Surface'>Surface…
1363 <a href='SkCanvas_Reference#Canvas'>Canvas</a> savable state consists of Clip and <a href='SkMatrix…
1365 <a href='SkMatrix_Reference#Matrix'>Matrix</a> transforms the geometry.
1367a href='#SkCanvas_save'>save()</a>, <a href='#SkCanvas_saveLayer'>saveLayer</a>, <a href='#SkCanva…
1370 <a href='#SkCanvas_restore'>restore()</a>, <a href='#SkCanvas_restoreToCount'>restoreToCount</a>, a…
1373 and concatenates <a href='SkMatrix_Reference#Matrix'>Matrix</a> with the previous <a href='SkMatrix…
1375 the concatenated <a href='SkMatrix_Reference#Matrix'>Matrix</a> may move the origin and potentially…
1378 <a href='SkCanvas_Reference#Canvas'>Canvas</a> does not require balancing the <a href='#State_Stac…
1379 to do so. Calling <a href='#SkCanvas_save'>save()</a> without <a href='#SkCanvas_restore'>restore()…
1380 mismatched <a href='#SkCanvas_save'>save()</a> and <a href='#SkCanvas_restore'>restore()</a> create…
1387 … to ever smaller clips; then restore drawing to full <a href='SkCanvas_Reference#Canvas'>canvas</a
1388 Note that the second <a href='#SkCanvas_clipRect'>clipRect</a> is not permitted to enlarge Clip.
1391 Each Clip uses the current <a href='SkMatrix_Reference#Matrix'>Matrix</a> for its coordinates.
1395 …4e"><div>While <a href='#SkCanvas_clipRect'>clipRect</a> is given the same rectangle twice, <a hre…
1396 <a href='#SkCanvas_clipRect'>clipRect</a> draw at half the <a href='undocumented#Size'>size</a> of …
1401a href='#SkCanvas_save'>save</a> <a href='#SkCanvas_saveLayer'>saveLayer</a> <a href='#SkCanvas_sa…
1403 <a name='SkCanvas_save'></a>
1408 int <a href='#SkCanvas_save'>save()</a>
1411 Saves <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> and clip.
1412 Calling <a href='#SkCanvas_restore'>restore()</a> discards changes to <a href='SkMatrix_Reference#S…
1413 restoring the <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> and clip to their state when <a hr…
1415a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> may be changed by <a href='#SkCanvas_translate'>…
1416a href='#SkCanvas_resetMatrix'>resetMatrix</a>(). Clip may be changed by <a href='#SkCanvas_clipRe…
1418 Saved <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> state is put on a stack; multiple calls to…
1419 by an equal number of calls to <a href='#SkCanvas_restore'>restore()</a>.
1421 Call <a href='#SkCanvas_restoreToCount'>restoreToCount</a>() with result to restore this and subseq…
1430a href='SkCanvas_Reference#Canvas'>Canvas</a> state removes <a href='#SkCanvas_translate'>translat…
1436a href='#SkCanvas_saveLayer'>saveLayer</a> <a href='#SkCanvas_saveLayerPreserveLCDTextRequests'>sa…
1438 <a name='SkCanvas_restore'></a>
1443 void <a href='#SkCanvas_restore'>restore()</a>
1446 …emoves changes to <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> and clip since <a href='SkCan…
1457a href='#SkCanvas_save'>save</a> <a href='#SkCanvas_saveLayer'>saveLayer</a> <a href='#SkCanvas_sa…
1459 <a name='SkCanvas_getSaveCount'></a>
1464 int <a href='#SkCanvas_getSaveCount'>getSaveCount</a>()const
1467 …turns the number of saved states, each containing: <a href='SkMatrix_Reference#SkMatrix'>SkMatrix<…
1468 Equals the number of <a href='#SkCanvas_save'>save()</a> calls less the number of <a href='#SkCanva…
1469 The save count of a new <a href='SkCanvas_Reference#Canvas'>canvas</a> is one.
1491 <a href='#SkCanvas_save'>save</a> <a href='#SkCanvas_restore'>restore</a> <a href='#SkCanvas_restor…
1493 <a name='SkCanvas_restoreToCount'></a>
1498 void <a href='#SkCanvas_restoreToCount'>restoreToCount</a>(int saveCount)
1501 …<a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> and clip values when <a href='#SkCanvas_save'>s…
1502a href='#SkCanvas_saveLayerPreserveLCDTextRequests'>saveLayerPreserveLCDTextRequests</a>(), or <a
1504 Does nothing if <a href='#SkCanvas_restoreToCount_saveCount'>saveCount</a> is greater than <a href…
1505 Restores state to initial values if <a href='#SkCanvas_restoreToCount_saveCount'>saveCount</a> is l…
1509 <table> <tr> <td><a name='SkCanvas_restoreToCount_saveCount'><code><strong>saveCount</strong></…
1510 <td>depth of <a href='#State_Stack'>state stack</a> to restore</td>
1530 <a href='#SkCanvas_restore'>restore</a> <a href='#SkCanvas_getSaveCount'>getSaveCount</a> <a href='…
1532 <a name='Layer'></a>
1534 <a href='SkCanvas_Reference#Layer'>Layer</a> allocates a temporary <a href='SkBitmap_Reference#Bitm…
1535 complete, the <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> is drawn into the <a href='SkCanvas_Re…
1537a href='SkCanvas_Reference#Layer'>Layer</a> is saved in a stack along with other saved state. When…
1538 is restored, the <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> is drawn into the previous <a href=…
1540a href='SkCanvas_Reference#Layer'>Layer</a> may be initialized with the contents of the previous <
1541a href='SkBitmap_Reference#Bitmap'>Bitmap</a> can be modified by <a href='SkPaint_Reference#Paint'…
1542a href='#Color_Alpha'>Color_Alpha</a>, <a href='#Color_Filter'>Color_Filter</a>, <a href='#Image_F…
1544 <a name='SkCanvas_saveLayer'></a>
1549a href='#SkCanvas_saveLayer'>saveLayer</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>* bou…
1552 Saves <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> and clip, and allocates a <a href='SkBitma…
1553a href='#SkCanvas_restore'>restore()</a> discards changes to <a href='SkMatrix_Reference#SkMatrix'…
1555a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> may be changed by <a href='#SkCanvas_translate'>…
1556a href='#SkCanvas_setMatrix'>setMatrix</a>(), and <a href='#SkCanvas_resetMatrix'>resetMatrix</a>(…
1557 <a href='#SkCanvas_clipPath'>clipPath</a>(), <a href='#SkCanvas_clipRegion'>clipRegion</a>().
1559a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_saveLayer_bounds'>bounds</a> sugges…
1560 a specific rectangle, use <a href='#SkCanvas_clipRect'>clipRect</a>().
1562a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_saveLayer_paint'>paint</a> appli…
1563 <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> when <a href='#SkCanvas_restore'>restor…
1565 Call <a href='#SkCanvas_restoreToCount'>restoreToCount</a>() with returned value to restore this an…
1569 <table> <tr> <td><a name='SkCanvas_saveLayer_bounds'><code><strong>bounds</strong></code></a></…
1570 …<td>hint to limit the <a href='undocumented#Size'>size</a> of the <a href='SkCanvas_Reference#Laye…
1572 <tr> <td><a name='SkCanvas_saveLayer_paint'><code><strong>paint</strong></code></a></td>
1573 <td>graphics state for <a href='SkCanvas_Reference#Layer'>layer</a>; may be nullptr</td>
1583 …red by <a href='#Image_Filter'>Image_Filter</a> when <a href='#SkCanvas_restore'>restore()</a> dra…
1584 <a href='SkCanvas_Reference#Canvas'>Canvas</a>.
1589a href='#SkCanvas_save'>save</a> <a href='#SkCanvas_restore'>restore</a> <a href='#SkCanvas_saveLa…
1591 <a name='SkCanvas_saveLayer_2'></a>
1596a href='#SkCanvas_saveLayer'>saveLayer</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& bou…
1599 Saves <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> and clip, and allocates a <a href='SkBitma…
1600a href='#SkCanvas_restore'>restore()</a> discards changes to <a href='SkMatrix_Reference#SkMatrix'…
1602a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> may be changed by <a href='#SkCanvas_translate'>…
1603a href='#SkCanvas_setMatrix'>setMatrix</a>(), and <a href='#SkCanvas_resetMatrix'>resetMatrix</a>(…
1604 <a href='#SkCanvas_clipPath'>clipPath</a>(), <a href='#SkCanvas_clipRegion'>clipRegion</a>().
1606a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_saveLayer_2_bounds'>bounds</a> sugg…
1607 a specific rectangle, use <a href='#SkCanvas_clipRect'>clipRect</a>().
1609a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_saveLayer_2_paint'>paint</a> app…
1610 <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> when <a href='#SkCanvas_restore'>restor…
1612 Call <a href='#SkCanvas_restoreToCount'>restoreToCount</a>() with returned value to restore this an…
1616 <table> <tr> <td><a name='SkCanvas_saveLayer_2_bounds'><code><strong>bounds</strong></code></a>…
1617 …<td>hint to limit the <a href='undocumented#Size'>size</a> of <a href='SkCanvas_Reference#Layer'>l…
1619 <tr> <td><a name='SkCanvas_saveLayer_2_paint'><code><strong>paint</strong></code></a></td>
1620 <td>graphics state for <a href='SkCanvas_Reference#Layer'>layer</a>; may be nullptr</td>
1630a href='#Image_Filter'>Image_Filter</a> when <a href='#SkCanvas_restore'>restore()</a> draws <a hr…
1631 The red rectangle is clipped; it does not fully fit on <a href='SkCanvas_Reference#Layer'>Layer</a>.
1632 <a href='#Image_Filter'>Image_Filter</a> blurs past edge of <a href='SkCanvas_Reference#Layer'>Laye…
1637a href='#SkCanvas_save'>save</a> <a href='#SkCanvas_restore'>restore</a> <a href='#SkCanvas_saveLa…
1639 <a name='SkCanvas_saveLayerPreserveLCDTextRequests'></a>
1644a href='#SkCanvas_saveLayerPreserveLCDTextRequests'>saveLayerPreserveLCDTextRequests</a>(const <a
1647 Saves <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> and clip, and allocates a <a href='SkBitma…
1648a href='undocumented#Text'>text</a> is preserved when the <a href='SkCanvas_Reference#Layer'>layer…
1650a href='#SkCanvas_restore'>restore()</a> discards changes to <a href='SkMatrix_Reference#SkMatrix'…
1652a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> may be changed by <a href='#SkCanvas_translate'>…
1653a href='#SkCanvas_setMatrix'>setMatrix</a>(), and <a href='#SkCanvas_resetMatrix'>resetMatrix</a>(…
1654 <a href='#SkCanvas_clipPath'>clipPath</a>(), <a href='#SkCanvas_clipRegion'>clipRegion</a>().
1656a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_saveLayerPreserveLCDTextRequests_bo…
1657 a specific rectangle, use <a href='#SkCanvas_clipRect'>clipRect</a>().
1659a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_saveLayerPreserveLCDTextRequests…
1660 <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> when <a href='#SkCanvas_restore'>restor…
1662 Call <a href='#SkCanvas_restoreToCount'>restoreToCount</a>() with returned value to restore this an…
1664 Draw <a href='undocumented#Text'>text</a> on an opaque background so that LCD <a href='undocumented…
1665 prior <a href='SkCanvas_Reference#Layer'>layer</a>. LCD <a href='undocumented#Text'>text</a> drawn …
1670 <table> <tr> <td><a name='SkCanvas_saveLayerPreserveLCDTextRequests_bounds'><code><strong>bound…
1671 …<td>hint to limit the <a href='undocumented#Size'>size</a> of <a href='SkCanvas_Reference#Layer'>l…
1673 …<tr> <td><a name='SkCanvas_saveLayerPreserveLCDTextRequests_paint'><code><strong>paint</strong>…
1674 <td>graphics state for <a href='SkCanvas_Reference#Layer'>layer</a>; may be nullptr</td>
1688a href='#SkCanvas_save'>save</a> <a href='#SkCanvas_restore'>restore</a> <a href='#SkCanvas_saveLa…
1690 <a name='SkCanvas_saveLayerAlpha'></a>
1695a href='#SkCanvas_saveLayerAlpha'>saveLayerAlpha</a>(const <a href='SkRect_Reference#SkRect'>SkRec…
1698 Saves <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> and clip, and allocates <a href='SkBitmap_…
1700 Calling <a href='#SkCanvas_restore'>restore()</a> discards changes to <a href='SkMatrix_Reference#S…
1701a href='SkCanvas_Reference#Layer'>layer</a> with <a href='#SkCanvas_saveLayerAlpha_alpha'>alpha</a
1703a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> may be changed by <a href='#SkCanvas_translate'>…
1704a href='#SkCanvas_setMatrix'>setMatrix</a>(), and <a href='#SkCanvas_resetMatrix'>resetMatrix</a>(…
1705 <a href='#SkCanvas_clipPath'>clipPath</a>(), <a href='#SkCanvas_clipRegion'>clipRegion</a>().
1707a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_saveLayerAlpha_bounds'>bounds</a> s…
1708 a specific rectangle, use <a href='#SkCanvas_clipRect'>clipRect</a>().
1710 <a href='#SkCanvas_saveLayerAlpha_alpha'>alpha</a> of zero is fully transparent, 255 is fully opaqu…
1712 Call <a href='#SkCanvas_restoreToCount'>restoreToCount</a>() with returned value to restore this an…
1716 <table> <tr> <td><a name='SkCanvas_saveLayerAlpha_bounds'><code><strong>bounds</strong></code><…
1717 …<td>hint to limit the <a href='undocumented#Size'>size</a> of <a href='SkCanvas_Reference#Layer'>l…
1719 <tr> <td><a name='SkCanvas_saveLayerAlpha_alpha'><code><strong>alpha</strong></code></a></td>
1720 <td>opacity of <a href='SkCanvas_Reference#Layer'>layer</a></td>
1734a href='#SkCanvas_save'>save</a> <a href='#SkCanvas_restore'>restore</a> <a href='#SkCanvas_saveLa…
1736 <a name='SkCanvas_SaveLayerFlagsSet'></a>
1741 enum <a href='#SkCanvas_SaveLayerFlagsSet'>SaveLayerFlagsSet</a> {
1742 … <a href='#SkCanvas_kPreserveLCDText_SaveLayerFlag'>kPreserveLCDText_SaveLayerFlag</a> = 1 << 1,
1743 … <a href='#SkCanvas_kInitWithPrevious_SaveLayerFlag'>kInitWithPrevious_SaveLayerFlag</a> = 1 << 2,
1748 <a name='SkCanvas_SaveLayerFlags'></a>
1752a href='#SkCanvas_SaveLayerFlags'>SaveLayerFlags</a> provides options that may be used in any comb…
1753 defining how <a href='SkCanvas_Reference#Layer'>Layer</a> allocated by <a href='#SkCanvas_saveLayer…
1754a href='#SkCanvas_kPreserveLCDText_SaveLayerFlag'>kPreserveLCDText_SaveLayerFlag</a>, <a href='#Sk…
1763 …ddddd; padding: 8px; '><a name='SkCanvas_kPreserveLCDText_SaveLayerFlag'><code>SkCanvas::kPreserve…
1766a href='SkCanvas_Reference#Layer'>Layer</a> for LCD <a href='undocumented#Text'>text</a>. Flag is …
1767 <a href='#Image_Filter'>Image_Filter</a> or <a href='#Color_Filter'>Color_Filter</a>.
1771 …dddd; padding: 8px; '><a name='SkCanvas_kInitWithPrevious_SaveLayerFlag'><code>SkCanvas::kInitWith…
1774 Initializes <a href='SkCanvas_Reference#Layer'>Layer</a> with the contents of the previous <a href=…
1781a href='SkCanvas_Reference#Canvas'>Canvas</a> <a href='SkCanvas_Reference#Layer'>Layer</a> capture…
1782 scalePaint blends <a href='SkCanvas_Reference#Layer'>Layer</a> back with transparency.
1787a href='#SkCanvas_save'>save</a> <a href='#SkCanvas_restore'>restore</a> <a href='#SkCanvas_saveLa…
1789 <a name='Layer_SaveLayerRec'></a>
1791 <a name='SkCanvas_SaveLayerRec'></a>
1796 struct <a href='#SkCanvas_SaveLayerRec'>SaveLayerRec</a> {
1798 <a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec()</a>;
1799a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a>(const <a href='SkRect_Reference#SkRe…
1800a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec</a>(const <a href='SkRect_Reference#SkRe…
1801 <a href='#SkCanvas_SaveLayerFlags'>SaveLayerFlags</a> saveLayerFlags);
1803 …const <a href='SkRect_Reference#SkRect'>SkRect</a>* <a href='#SkCanvas_SaveLayerRec_fBounds'>fBoun…
1804 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='#SkCanvas_SaveLayerRec_fPaint'>fPa…
1805 …const <a href='undocumented#SkImageFilter'>SkImageFilter</a>* <a href='#SkCanvas_SaveLayerRec_fBac…
1806 …const <a href='SkImage_Reference#SkImage'>SkImage</a>* <a href='#SkCanvas_SaveLayerRec_fClipMask'>…
1807 …const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>* <a href='#SkCanvas_SaveLayerRec_fClipMat…
1808 …<a href='#SkCanvas_SaveLayerFlags'>SaveLayerFlags</a> <a href='#SkCanvas_SaveLayerRec_fSaveLayerFl…
1813 <a href='#SkCanvas_SaveLayerRec'>SaveLayerRec</a> contains the state used to create the <a href='Sk…
1820 … border: 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_SaveLayerRec_fBounds'><code>fBounds<…
1822a href='#SkCanvas_SaveLayerRec_fBounds'>fBounds</a> is used as a hint to limit the <a href='undocu…
1823a href='#SkCanvas_SaveLayerRec_fBounds'>fBounds</a> suggests but does not define <a href='SkCanvas…
1824 a specific rectangle, use <a href='#SkCanvas_clipRect'>clipRect</a>.
1829 …; border: 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_SaveLayerRec_fPaint'><code>fPaint</…
1831a href='#SkCanvas_SaveLayerRec_fPaint'>fPaint</a> modifies how <a href='SkCanvas_Reference#Layer'>…
1832a href='#Color_Alpha'>Color_Alpha</a>, <a href='#Blend_Mode'>Blend_Mode</a>, <a href='#Color_Filte…
1833 <a href='#Mask_Filter'>Mask_Filter</a> affect <a href='SkCanvas_Reference#Layer'>Layer</a> draw.
1838 …order: 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_SaveLayerRec_fBackdrop'><code>fBackdro…
1840a href='#SkCanvas_SaveLayerRec_fBackdrop'>fBackdrop</a> applies <a href='#Image_Filter'>Image_Filt…
1841 may be nullptr. Use <a href='#SkCanvas_kInitWithPrevious_SaveLayerFlag'>kInitWithPrevious_SaveLayer…
1842 prior <a href='SkCanvas_Reference#Layer'>Layer</a> without an <a href='#Image_Filter'>Image_Filter<…
1847 …order: 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_SaveLayerRec_fClipMask'><code>fClipMas…
1849a href='#SkCanvas_restore'>restore()</a> clips <a href='SkCanvas_Reference#Layer'>Layer</a> by the…
1850a href='SkCanvas_Reference#Layer'>Layer</a> is copied to <a href='undocumented#Device'>Device</a>.…
1855 …der: 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_SaveLayerRec_fClipMatrix'><code>fClipMat…
1857a href='#SkCanvas_SaveLayerRec_fClipMatrix'>fClipMatrix</a> transforms <a href='#SkCanvas_SaveLaye…
1858 <a href='#SkCanvas_SaveLayerRec_fClipMask'>fClipMask</a> describes a translucent gradient, it may b…
1859 without introducing artifacts. <a href='#SkCanvas_SaveLayerRec_fClipMatrix'>fClipMatrix</a> may be …
1864 … 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_SaveLayerRec_fSaveLayerFlags'><code>fSaveLay…
1866 <a href='#SkCanvas_SaveLayerRec_fSaveLayerFlags'>fSaveLayerFlags</a> are used to create <a href='Sk…
1867 …e <a href='SkCanvas_Reference#Layer'>Layer</a> for LCD <a href='undocumented#Text'>text</a>, and t…
1868 contents of the previous <a href='SkCanvas_Reference#Layer'>Layer</a>.
1875a href='SkCanvas_Reference#Canvas'>Canvas</a> <a href='SkCanvas_Reference#Layer'>Layer</a> capture…
1876 …drawing another red <a href='undocumented#Circle'>circle</a> without scaling on top, the <a href='…
1877 transferred to the main <a href='SkCanvas_Reference#Canvas'>canvas</a>.
1880 <a name='Layer_SaveLayerRec_Constructors'></a>
1882 <a name='SkCanvas_SaveLayerRec_SaveLayerRec'></a>
1887 <a href='#SkCanvas_SaveLayerRec_SaveLayerRec'>SaveLayerRec()</a>
1890a href='#SkCanvas_SaveLayerRec_fBounds'>fBounds</a>, <a href='#SkCanvas_SaveLayerRec_fPaint'>fPain…
1894 empty <a href='#SkCanvas_SaveLayerRec'>SaveLayerRec</a>
1910a href='#SkCanvas_save'>save</a> <a href='#SkCanvas_restore'>restore</a> <a href='#SkCanvas_saveLa…
1912 <a name='SkCanvas_SaveLayerRec_const_SkRect_star_const_SkPaint_star'></a>
1917a href='#SkCanvas_SaveLayerRec'>SaveLayerRec</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a
1920a href='#SkCanvas_SaveLayerRec_fBounds'>fBounds</a>, <a href='#SkCanvas_SaveLayerRec_fPaint'>fPain…
1924 …ble> <tr> <td><a name='SkCanvas_SaveLayerRec_const_SkRect_star_const_SkPaint_star_bounds'><cod…
1925 <td><a href='SkCanvas_Reference#Layer'>layer</a> dimensions; may be nullptr</td>
1927 …<tr> <td><a name='SkCanvas_SaveLayerRec_const_SkRect_star_const_SkPaint_star_paint'><code><stro…
1928 …<td>applied to <a href='SkCanvas_Reference#Layer'>layer</a> when overlaying prior <a href='SkCanva…
1930 …r> <td><a name='SkCanvas_SaveLayerRec_const_SkRect_star_const_SkPaint_star_saveLayerFlags'><cod…
1931 …<td><a href='#SkCanvas_SaveLayerRec'>SaveLayerRec</a> options to modify <a href='SkCanvas_Referenc…
1937 <a href='#SkCanvas_SaveLayerRec'>SaveLayerRec</a> with empty <a href='#SkCanvas_SaveLayerRec_fBackd…
1953a href='#SkCanvas_save'>save</a> <a href='#SkCanvas_restore'>restore</a> <a href='#SkCanvas_saveLa…
1955 <a name='SkCanvas_SaveLayerRec_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star'></a>
1960a href='#SkCanvas_SaveLayerRec'>SaveLayerRec</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a
1961 <a href='#SkCanvas_SaveLayerFlags'>SaveLayerFlags</a> saveLayerFlags)
1964a href='#SkCanvas_SaveLayerRec_fBounds'>fBounds</a>, <a href='#SkCanvas_SaveLayerRec_fPaint'>fPain…
1968 … <td><a name='SkCanvas_SaveLayerRec_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star…
1969 <td><a href='SkCanvas_Reference#Layer'>layer</a> dimensions; may be nullptr</td>
1971 … <td><a name='SkCanvas_SaveLayerRec_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_sta…
1972 …<td>applied to <a href='SkCanvas_Reference#Layer'>layer</a> when overlaying prior <a href='SkCanva…
1980 …<td><a name='SkCanvas_SaveLayerRec_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_b…
1981 …<td>prior <a href='SkCanvas_Reference#Layer'>layer</a> copied with <a href='undocumented#SkImageFi…
1983a name='SkCanvas_SaveLayerRec_const_SkRect_star_const_SkPaint_star_const_SkImageFilter_star_saveLa…
1984 …<td><a href='#SkCanvas_SaveLayerRec'>SaveLayerRec</a> options to modify <a href='SkCanvas_Referenc…
1990 <a href='#SkCanvas_SaveLayerRec'>SaveLayerRec</a> fully specified
2006a href='#SkCanvas_save'>save</a> <a href='#SkCanvas_restore'>restore</a> <a href='#SkCanvas_saveLa…
2008 <a name='SkCanvas_saveLayer_3'></a>
2013 int <a href='#SkCanvas_saveLayer'>saveLayer</a>(const <a href='#SkCanvas_SaveLayerRec'>SaveLayerRec…
2016 Saves <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> and clip, and allocates <a href='SkBitmap_…
2018 Calling <a href='#SkCanvas_restore'>restore()</a> discards changes to <a href='SkMatrix_Reference#S…
2019a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a> with <a href='SkColor_Reference#Alpha'>alpha</a>…
2021a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> may be changed by <a href='#SkCanvas_translate'>…
2022a href='#SkCanvas_setMatrix'>setMatrix</a>(), and <a href='#SkCanvas_resetMatrix'>resetMatrix</a>(…
2023 <a href='#SkCanvas_clipPath'>clipPath</a>(), <a href='#SkCanvas_clipRegion'>clipRegion</a>().
2025 <a href='#SkCanvas_SaveLayerRec'>SaveLayerRec</a> contains the state used to create the <a href='Sk…
2027 Call <a href='#SkCanvas_restoreToCount'>restoreToCount</a>() with returned value to restore this an…
2031 <table> <tr> <td><a name='SkCanvas_saveLayer_3_layerRec'><code><strong>layerRec</strong></code>…
2032 <td><a href='SkCanvas_Reference#Layer'>layer</a> state</td>
2038 depth of save <a href='#State_Stack'>state stack</a> before this call was made.
2042a href='SkImage_Reference#Image'>image</a>, and saves it into a <a href='SkCanvas_Reference#Layer'…
2043a hole in <a href='SkCanvas_Reference#Layer'>Layer</a> and restore with <a href='SkBlendMode_Refer…
2044 Where <a href='SkCanvas_Reference#Layer'>Layer</a> was cleared, the original <a href='SkImage_Refer…
2045 Outside of the <a href='undocumented#Circle'>circle</a> the mandrill is brightened.
2050a href='#SkCanvas_save'>save</a> <a href='#SkCanvas_restore'>restore</a> <a href='#SkCanvas_saveLa…
2052 <a name='Matrix'></a>
2054 <a name='SkCanvas_translate'></a>
2059 void translate(<a href='undocumented#SkScalar'>SkScalar</a> dx, <a href='undocumented#SkScalar'>SkS…
2062a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> by <a href='#SkCanvas_translate_dx'>dx</a> along…
2064 …tically, replaces <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> with a translation <a href='S…
2065 <a href='undocumented#Premultiply'>premultiplied</a> with <a href='SkMatrix_Reference#SkMatrix'>SkM…
2067 …he effect of moving the drawing by (<a href='#SkCanvas_translate_dx'>dx</a>, <a href='#SkCanvas_tr…
2068 the result with <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>.
2072 <table> <tr> <td><a name='SkCanvas_translate_dx'><code><strong>dx</strong></code></a></td>
2075 <tr> <td><a name='SkCanvas_translate_dy'><code><strong>dy</strong></code></a></td>
2082a href='#SkCanvas_scale'>scale()</a> followed by <a href='#SkCanvas_translate'>translate()</a> pro…
2083 by <a href='#SkCanvas_scale'>scale()</a>.
2085 The blue stroke follows translate of (50, 50); a black
2087 <a href='SkMatrix_Reference#Matrix'>Matrix</a>, a red frame follows the same scale of (2, 1/2.f); a
2093a href='#SkCanvas_concat'>concat()</a> <a href='#SkCanvas_scale'>scale()</a> <a href='#SkCanvas_sk…
2095 <a name='SkCanvas_scale'></a>
2100 void scale(<a href='undocumented#SkScalar'>SkScalar</a> sx, <a href='undocumented#SkScalar'>SkScala…
2103 …ales <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> by <a href='#SkCanvas_scale_sx'>sx</a> on …
2105 …ematically, replaces <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> with a scale <a href='SkMa…
2106 <a href='undocumented#Premultiply'>premultiplied</a> with <a href='SkMatrix_Reference#SkMatrix'>SkM…
2108 …s the effect of scaling the drawing by (<a href='#SkCanvas_scale_sx'>sx</a>, <a href='#SkCanvas_sc…
2109 the result with <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>.
2113 <table> <tr> <td><a name='SkCanvas_scale_sx'><code><strong>sx</strong></code></a></td>
2116 <tr> <td><a name='SkCanvas_scale_sy'><code><strong>sy</strong></code></a></td>
2127a href='#SkCanvas_concat'>concat()</a> <a href='#SkCanvas_translate'>translate()</a> <a href='#SkC…
2129 <a name='SkCanvas_rotate'></a>
2134 void rotate(<a href='undocumented#SkScalar'>SkScalar</a> degrees)
2137a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> by <a href='#SkCanvas_rotate_degrees'>degrees</a
2139 …matically, replaces <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> with a rotation <a href='Sk…
2140 <a href='undocumented#Premultiply'>premultiplied</a> with <a href='SkMatrix_Reference#SkMatrix'>SkM…
2142 This has the effect of rotating the drawing by <a href='#SkCanvas_rotate_degrees'>degrees</a> befor…
2143 the result with <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>.
2147 <table> <tr> <td><a name='SkCanvas_rotate_degrees'><code><strong>degrees</strong></code></a></t…
2148 <td>amount to rotate, in <a href='#SkCanvas_rotate_degrees'>degrees</a></td>
2154 …lock hands at time 5:10. The hour hand and minute hand <a href='SkPoint_Reference#Point'>point</a>…
2160a href='#SkCanvas_concat'>concat()</a> <a href='#SkCanvas_translate'>translate()</a> <a href='#SkC…
2162 <a name='SkCanvas_rotate_2'></a>
2167 …te(<a href='undocumented#SkScalar'>SkScalar</a> degrees, <a href='undocumented#SkScalar'>SkScalar<…
2170a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> by <a href='#SkCanvas_rotate_2_degrees'>degrees<…
2173a rotation <a href='SkMatrix_Reference#Matrix'>matrix</a>; <a href='undocumented#Premultiply'>prem…
2174 a translation <a href='SkMatrix_Reference#Matrix'>matrix</a>; then replaces <a href='SkMatrix_Refer…
2175 <a href='undocumented#Premultiply'>premultiplied</a> with <a href='SkMatrix_Reference#SkMatrix'>SkM…
2177 This has the effect of rotating the drawing about a given <a href='SkPoint_Reference#Point'>point</
2178 transforming the result with <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>.
2182 <table> <tr> <td><a name='SkCanvas_rotate_2_degrees'><code><strong>degrees</strong></code></a><…
2183 <td>amount to rotate, in <a href='#SkCanvas_rotate_2_degrees'>degrees</a></td>
2185 <tr> <td><a name='SkCanvas_rotate_2_px'><code><strong>px</strong></code></a></td>
2186 <td>x-axis value of the <a href='SkPoint_Reference#Point'>point</a> to rotate about</td>
2188 <tr> <td><a name='SkCanvas_rotate_2_py'><code><strong>py</strong></code></a></td>
2189 <td>y-axis value of the <a href='SkPoint_Reference#Point'>point</a> to rotate about</td>
2199a href='#SkCanvas_concat'>concat()</a> <a href='#SkCanvas_translate'>translate()</a> <a href='#SkC…
2201 <a name='SkCanvas_skew'></a>
2206 void skew(<a href='undocumented#SkScalar'>SkScalar</a> sx, <a href='undocumented#SkScalar'>SkScalar…
2209a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> by <a href='#SkCanvas_skew_sx'>sx</a> on the x-a…
2210 …kews the drawing right as y-axis values increase; a positive value of <a href='#SkCanvas_skew_sy'>…
2213a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> with a skew <a href='SkMatrix_Reference#Matrix'>…
2215 …as the effect of skewing the drawing by (<a href='#SkCanvas_skew_sx'>sx</a>, <a href='#SkCanvas_sk…
2216 the result with <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>.
2220 <table> <tr> <td><a name='SkCanvas_skew_sx'><code><strong>sx</strong></code></a></td>
2223 <tr> <td><a name='SkCanvas_skew_sy'><code><strong>sy</strong></code></a></td>
2230 …0ad2ca99e"><div>Black <a href='undocumented#Text'>text</a> mimics an oblique <a href='undocumented…
2232 Red <a href='undocumented#Text'>text</a> uses a positive skew on y-axis to shift the geometry down
2234 Blue <a href='undocumented#Text'>text</a> combines <a href='#SkCanvas_skew_sx'>sx</a> and <a href='…
2239a href='#SkCanvas_concat'>concat()</a> <a href='#SkCanvas_translate'>translate()</a> <a href='#SkC…
2241 <a name='SkCanvas_concat'></a>
2246 void <a href='#SkCanvas_concat'>concat</a>(const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>…
2249a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> with <a href='#SkCanvas_concat_matrix'>matrix</a
2251 … has the effect of transforming the drawn geometry by <a href='#SkCanvas_concat_matrix'>matrix</a>…
2252 transforming the result with existing <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>.
2256 <table> <tr> <td><a name='SkCanvas_concat_matrix'><code><strong>matrix</strong></code></a></td>
2257a href='#SkCanvas_concat_matrix'>matrix</a> to <a href='undocumented#Premultiply'>premultiply</a> …
2267a href='#SkCanvas_translate'>translate()</a> <a href='#SkCanvas_rotate'>rotate()</a> <a href='#SkC…
2269 <a name='SkCanvas_setMatrix'></a>
2274 …d <a href='#SkCanvas_setMatrix'>setMatrix</a>(const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix…
2277 Replaces <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> with <a href='#SkCanvas_setMatrix_matri…
2278 Unlike <a href='#SkCanvas_concat'>concat()</a>, any prior <a href='#SkCanvas_setMatrix_matrix'>matr…
2282 <table> <tr> <td><a name='SkCanvas_setMatrix_matrix'><code><strong>matrix</strong></code></a></…
2283 …<td><a href='#SkCanvas_setMatrix_matrix'>matrix</a> to copy, replacing existing <a href='SkMatrix_…
2293a href='#SkCanvas_resetMatrix'>resetMatrix</a> <a href='#SkCanvas_concat'>concat()</a> <a href='#S…
2295 <a name='SkCanvas_resetMatrix'></a>
2300 void <a href='#SkCanvas_resetMatrix'>resetMatrix</a>()
2303 Sets <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> to the identity <a href='SkMatrix_Reference…
2304 Any prior <a href='SkMatrix_Reference#Matrix'>matrix</a> state is overwritten.
2312a href='#SkCanvas_setMatrix'>setMatrix</a> <a href='#SkCanvas_concat'>concat()</a> <a href='#SkCan…
2314 <a name='SkCanvas_getTotalMatrix'></a>
2319 const <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>& <a href='#SkCanvas_getTotalMatrix'>getTot…
2322 Returns <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>.
2323 …nt for translation by <a href='undocumented#SkBaseDevice'>SkBaseDevice</a> or <a href='SkSurface_R…
2327 <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> in <a href='SkCanvas_Reference#SkCanvas'>SkCanva…
2343 <a href='#SkCanvas_setMatrix'>setMatrix</a> <a href='#SkCanvas_resetMatrix'>resetMatrix</a> <a href…
2345 <a name='Clip'></a>
2349 Clip is built from a stack of clipping <a href='SkPath_Reference#Path'>paths</a>. Each <a href='SkP…
2350 stack can be constructed from one or more <a href='#Path_Overview_Contour'>Path_Contour</a> element…
2351 <a href='#Path_Overview_Contour'>Path_Contour</a> may be composed of any number of <a href='#Path_V…
2352 <a href='#Path_Overview_Contour'>Path_Contour</a> forms a closed area; <a href='#Path_Fill_Type'>Pa…
2353 by <a href='#Path_Overview_Contour'>Path_Contour</a>.
2355 Clip stack of <a href='SkPath_Reference#Path'>Path</a> elements successfully restrict the <a href='…
2356 <a href='SkPath_Reference#Path'>Path</a> is transformed by <a href='SkMatrix_Reference#Matrix'>Matr…
2357 …orm the replacement Clip. Use <a href='undocumented#SkClipOp'>SkClipOp</a>::<a href='#SkClipOp_kDi…
2358a href='SkPath_Reference#Path'>Path</a> from Clip; use <a href='undocumented#SkClipOp'>SkClipOp</a
2361 A clipping <a href='SkPath_Reference#Path'>Path</a> may be <a href='#Paint_Anti_Alias'>Anti_Aliased…
2362 …sed of horizontal and vertical <a href='undocumented#Line'>lines</a>, clearing <a href='#Paint_Ant…
2363 … be inside or outside the clip. The fastest drawing has a <a href='undocumented#Alias'>Aliased</a>,
2366a href='SkPath_Reference#Path'>Path</a> has <a href='#Paint_Anti_Alias'>Anti_Alias</a> set, clip m…
2367 that drawing blend partially with the destination along the edge. A rotated
2368 rectangular <a href='#Paint_Anti_Alias'>Anti_Aliased</a> clip looks smoother but draws slower.
2370 Clip can combine with <a href='SkRect_Reference#Rect'>Rect</a> and <a href='#RRect'>Round_Rect</a> …
2371 <a href='SkPath_Reference#Path'>Path</a>, these are transformed by <a href='SkMatrix_Reference#Matr…
2373a href='SkRegion_Reference#Region'>Region</a>. <a href='SkRegion_Reference#Region'>Region</a> is a…
2374 and is unaffected by <a href='SkMatrix_Reference#Matrix'>Matrix</a>.
2378a red <a href='undocumented#Circle'>circle</a> with an <a href='undocumented#Alias'>Aliased</a> c…
2379 Use an <a href='SkImage_Reference#Image'>image filter</a> to zoom into the pixels drawn.
2380 The edge of the <a href='undocumented#Alias'>Aliased</a> clip fully draws pixels in the red <a href…
2381 …e edge of the <a href='#Paint_Anti_Alias'>Anti_Aliased</a> clip partially draws pixels in the red …
2384 <a name='SkCanvas_clipRect'></a>
2389a href='#SkCanvas_clipRect'>clipRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& <a hr…
2392 …es clip with the intersection or difference of clip and <a href='#SkCanvas_clipRect_rect'>rect</a>,
2393a href='undocumented#Alias'>aliased</a> or <a href='SkPaint_Reference#Anti_Alias'>anti-aliased</a>…
2398 <table> <tr> <td><a name='SkCanvas_clipRect_rect'><code><strong>rect</strong></code></a></td>
2399 <td><a href='SkRect_Reference#SkRect'>SkRect</a> to combine with clip</td>
2401 <tr> <td><a name='SkCanvas_clipRect_op'><code><strong>op</strong></code></a></td>
2402 <td><a href='undocumented#SkClipOp'>SkClipOp</a> to apply to clip</td>
2404 …<tr> <td><a name='SkCanvas_clipRect_doAntiAlias'><code><strong>doAntiAlias</strong></code></a><…
2405 <td>true if clip is to be <a href='SkPaint_Reference#Anti_Alias'>anti-aliased</a></td>
2415 <a href='#SkCanvas_clipRRect'>clipRRect</a> <a href='#SkCanvas_clipPath'>clipPath</a> <a href='#SkC…
2417 <a name='SkCanvas_clipRect_2'></a>
2422a href='#SkCanvas_clipRect'>clipRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& <a hr…
2425 … clip with the intersection or difference of clip and <a href='#SkCanvas_clipRect_2_rect'>rect</a>.
2426 Resulting clip is <a href='undocumented#Alias'>aliased</a>; pixels are fully contained by the clip.
2427 <a href='#SkCanvas_clipRect_2_rect'>rect</a> is transformed by <a href='SkMatrix_Reference#SkMatrix…
2431 <table> <tr> <td><a name='SkCanvas_clipRect_2_rect'><code><strong>rect</strong></code></a></td>
2432 <td><a href='SkRect_Reference#SkRect'>SkRect</a> to combine with clip</td>
2434 <tr> <td><a name='SkCanvas_clipRect_2_op'><code><strong>op</strong></code></a></td>
2435 <td><a href='undocumented#SkClipOp'>SkClipOp</a> to apply to clip</td>
2445 <a href='#SkCanvas_clipRRect'>clipRRect</a> <a href='#SkCanvas_clipPath'>clipPath</a> <a href='#SkC…
2447 <a name='SkCanvas_clipRect_3'></a>
2452 void <a href='#SkCanvas_clipRect'>clipRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& …
2455 Replaces clip with the intersection of clip and <a href='#SkCanvas_clipRect_3_rect'>rect</a>.
2456 Resulting clip is <a href='undocumented#Alias'>aliased</a>; pixels are fully contained by the clip.
2457 <a href='#SkCanvas_clipRect_3_rect'>rect</a> is transformed by <a href='SkMatrix_Reference#SkMatrix…
2462 <table> <tr> <td><a name='SkCanvas_clipRect_3_rect'><code><strong>rect</strong></code></a></td>
2463 <td><a href='SkRect_Reference#SkRect'>SkRect</a> to combine with clip</td>
2465 …<tr> <td><a name='SkCanvas_clipRect_3_doAntiAlias'><code><strong>doAntiAlias</strong></code></a
2466 <td>true if clip is to be <a href='SkPaint_Reference#Anti_Alias'>anti-aliased</a></td>
2472 …fe10aa99"><div>A <a href='undocumented#Circle'>circle</a> drawn in pieces looks uniform when drawn…
2473 The same <a href='undocumented#Circle'>circle</a> pieces blend with pixels more than once when <a h…
2474 visible as a thin pair of <a href='undocumented#Line'>lines</a> through the right <a href='undocume…
2479 <a href='#SkCanvas_clipRRect'>clipRRect</a> <a href='#SkCanvas_clipPath'>clipPath</a> <a href='#SkC…
2481 <a name='SkCanvas_clipRRect'></a>
2486 … <a href='#SkCanvas_clipRRect'>clipRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>…
2489 … clip with the intersection or difference of clip and <a href='#SkCanvas_clipRRect_rrect'>rrect</a
2490 with an <a href='undocumented#Alias'>aliased</a> or <a href='SkPaint_Reference#Anti_Alias'>anti-ali…
2491 <a href='#SkCanvas_clipRRect_rrect'>rrect</a> is transformed by <a href='SkMatrix_Reference#SkMatri…
2496 <table> <tr> <td><a name='SkCanvas_clipRRect_rrect'><code><strong>rrect</strong></code></a></td>
2497 <td><a href='SkRRect_Reference#SkRRect'>SkRRect</a> to combine with clip</td>
2499 <tr> <td><a name='SkCanvas_clipRRect_op'><code><strong>op</strong></code></a></td>
2500 <td><a href='undocumented#SkClipOp'>SkClipOp</a> to apply to clip</td>
2502 …<tr> <td><a name='SkCanvas_clipRRect_doAntiAlias'><code><strong>doAntiAlias</strong></code></a>…
2503 <td>true if clip is to be <a href='SkPaint_Reference#Anti_Alias'>anti-aliased</a></td>
2513 <a href='#SkCanvas_clipRect'>clipRect</a> <a href='#SkCanvas_clipPath'>clipPath</a> <a href='#SkCan…
2515 <a name='SkCanvas_clipRRect_2'></a>
2520 … <a href='#SkCanvas_clipRRect'>clipRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>…
2523 …clip with the intersection or difference of clip and <a href='#SkCanvas_clipRRect_2_rrect'>rrect</
2524 Resulting clip is <a href='undocumented#Alias'>aliased</a>; pixels are fully contained by the clip.
2525 <a href='#SkCanvas_clipRRect_2_rrect'>rrect</a> is transformed by <a href='SkMatrix_Reference#SkMat…
2529 <table> <tr> <td><a name='SkCanvas_clipRRect_2_rrect'><code><strong>rrect</strong></code></a></…
2530 <td><a href='SkRRect_Reference#SkRRect'>SkRRect</a> to combine with clip</td>
2532 <tr> <td><a name='SkCanvas_clipRRect_2_op'><code><strong>op</strong></code></a></td>
2533 <td><a href='undocumented#SkClipOp'>SkClipOp</a> to apply to clip</td>
2543 <a href='#SkCanvas_clipRect'>clipRect</a> <a href='#SkCanvas_clipPath'>clipPath</a> <a href='#SkCan…
2545 <a name='SkCanvas_clipRRect_3'></a>
2550 void <a href='#SkCanvas_clipRRect'>clipRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect<…
2553 Replaces clip with the intersection of clip and <a href='#SkCanvas_clipRRect_3_rrect'>rrect</a>,
2554 with an <a href='undocumented#Alias'>aliased</a> or <a href='SkPaint_Reference#Anti_Alias'>anti-ali…
2555 <a href='#SkCanvas_clipRRect_3_rrect'>rrect</a> is transformed by <a href='SkMatrix_Reference#SkMat…
2559 <table> <tr> <td><a name='SkCanvas_clipRRect_3_rrect'><code><strong>rrect</strong></code></a></…
2560 <td><a href='SkRRect_Reference#SkRRect'>SkRRect</a> to combine with clip</td>
2562 …<tr> <td><a name='SkCanvas_clipRRect_3_doAntiAlias'><code><strong>doAntiAlias</strong></code></
2563 <td>true if clip is to be <a href='SkPaint_Reference#Anti_Alias'>anti-aliased</a></td>
2573 <a href='#SkCanvas_clipRect'>clipRect</a> <a href='#SkCanvas_clipPath'>clipPath</a> <a href='#SkCan…
2575 <a name='SkCanvas_clipPath'></a>
2580a href='#SkCanvas_clipPath'>clipPath</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& <a hr…
2583 …es clip with the intersection or difference of clip and <a href='#SkCanvas_clipPath_path'>path</a>,
2584a href='undocumented#Alias'>aliased</a> or <a href='SkPaint_Reference#Anti_Alias'>anti-aliased</a>…
2585 … inside or outside its <a href='SkPath_Overview#Contour'>contours</a>; and if <a href='SkPath_Ove…
2586 itself or another <a href='SkPath_Overview#Contour'>path contour</a>, whether the overlaps form pa…
2587 <a href='#SkCanvas_clipPath_path'>path</a> is transformed by <a href='SkMatrix_Reference#SkMatrix'>…
2591 <table> <tr> <td><a name='SkCanvas_clipPath_path'><code><strong>path</strong></code></a></td>
2592 <td><a href='SkPath_Reference#SkPath'>SkPath</a> to combine with clip</td>
2594 <tr> <td><a name='SkCanvas_clipPath_op'><code><strong>op</strong></code></a></td>
2595 <td><a href='undocumented#SkClipOp'>SkClipOp</a> to apply to clip</td>
2597 …<tr> <td><a name='SkCanvas_clipPath_doAntiAlias'><code><strong>doAntiAlias</strong></code></a><…
2598 <td>true if clip is to be <a href='SkPaint_Reference#Anti_Alias'>anti-aliased</a></td>
2604a href='SkPath_Reference#SkPath'>SkPath</a>::<a href='#SkPath_kInverseWinding_FillType'>kInverseWi…
2605 area outside clip is subtracted from <a href='undocumented#Circle'>circle</a>.
2607a href='SkPath_Reference#SkPath'>SkPath</a>::<a href='#SkPath_kWinding_FillType'>kWinding_FillType…
2608 area inside clip is intersected with <a href='undocumented#Circle'>circle</a>.
2613 <a href='#SkCanvas_clipRect'>clipRect</a> <a href='#SkCanvas_clipRRect'>clipRRect</a> <a href='#SkC…
2615 <a name='SkCanvas_clipPath_2'></a>
2620a href='#SkCanvas_clipPath'>clipPath</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& <a hr…
2623 … clip with the intersection or difference of clip and <a href='#SkCanvas_clipPath_2_path'>path</a>.
2624 Resulting clip is <a href='undocumented#Alias'>aliased</a>; pixels are fully contained by the clip.
2625 <a href='SkPath_Reference#SkPath'>SkPath</a>::<a href='#SkPath_FillType'>FillType</a> determines if…
2626 … inside or outside its <a href='SkPath_Overview#Contour'>contours</a>; and if <a href='SkPath_Ove…
2627 itself or another <a href='SkPath_Overview#Contour'>path contour</a>, whether the overlaps form pa…
2628 <a href='#SkCanvas_clipPath_2_path'>path</a> is transformed by <a href='SkMatrix_Reference#SkMatrix…
2633 <table> <tr> <td><a name='SkCanvas_clipPath_2_path'><code><strong>path</strong></code></a></td>
2634 <td><a href='SkPath_Reference#SkPath'>SkPath</a> to combine with clip</td>
2636 <tr> <td><a name='SkCanvas_clipPath_2_op'><code><strong>op</strong></code></a></td>
2637 <td><a href='undocumented#SkClipOp'>SkClipOp</a> to apply to clip</td>
2643 …5ad"><div>Overlapping <a href='SkRect_Reference#Rect'>Rects</a> form a clip. When clip <a href='#P…
2644 <a href='SkPath_Reference#SkPath'>SkPath</a>::<a href='#SkPath_kWinding_FillType'>kWinding_FillType…
2645 <a href='SkPath_Reference#SkPath'>SkPath</a>::<a href='#SkPath_kEvenOdd_FillType'>kEvenOdd_FillType…
2650 <a href='#SkCanvas_clipRect'>clipRect</a> <a href='#SkCanvas_clipRRect'>clipRRect</a> <a href='#SkC…
2652 <a name='SkCanvas_clipPath_3'></a>
2657 void <a href='#SkCanvas_clipPath'>clipPath</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& …
2660 Replaces clip with the intersection of clip and <a href='#SkCanvas_clipPath_3_path'>path</a>.
2661 Resulting clip is <a href='undocumented#Alias'>aliased</a>; pixels are fully contained by the clip.
2662 <a href='SkPath_Reference#SkPath'>SkPath</a>::<a href='#SkPath_FillType'>FillType</a> determines if…
2663 … inside or outside its <a href='SkPath_Overview#Contour'>contours</a>; and if <a href='SkPath_Ove…
2664 itself or another <a href='SkPath_Overview#Contour'>path contour</a>, whether the overlaps form pa…
2665 <a href='#SkCanvas_clipPath_3_path'>path</a> is transformed by <a href='SkMatrix_Reference#SkMatrix…
2669 <table> <tr> <td><a name='SkCanvas_clipPath_3_path'><code><strong>path</strong></code></a></td>
2670 <td><a href='SkPath_Reference#SkPath'>SkPath</a> to combine with clip</td>
2672 …<tr> <td><a name='SkCanvas_clipPath_3_doAntiAlias'><code><strong>doAntiAlias</strong></code></a
2673 <td>true if clip is to be <a href='SkPaint_Reference#Anti_Alias'>anti-aliased</a></td>
2679 …loops over itself covering its center twice. When clip <a href='#Path_Fill_Type'>Path_Fill_Type</a>
2680 is set to <a href='SkPath_Reference#SkPath'>SkPath</a>::<a href='#SkPath_kWinding_FillType'>kWindin…
2681 <a href='SkPath_Reference#SkPath'>SkPath</a>::<a href='#SkPath_kEvenOdd_FillType'>kEvenOdd_FillType…
2686 <a href='#SkCanvas_clipRect'>clipRect</a> <a href='#SkCanvas_clipRRect'>clipRRect</a> <a href='#SkC…
2688 <a name='SkCanvas_clipRegion'></a>
2693a href='#SkCanvas_clipRegion'>clipRegion</a>(const <a href='SkRegion_Reference#SkRegion'>SkRegion<…
2696 … difference of clip and <a href='SkRegion_Reference#SkRegion'>SkRegion</a> <a href='#SkCanvas_clip…
2697 Resulting clip is <a href='undocumented#Alias'>aliased</a>; pixels are fully contained by the clip.
2698 <a href='#SkCanvas_clipRegion_deviceRgn'>deviceRgn</a> is unaffected by <a href='SkMatrix_Reference…
2702 <table> <tr> <td><a name='SkCanvas_clipRegion_deviceRgn'><code><strong>deviceRgn</strong></code…
2703 <td><a href='SkRegion_Reference#SkRegion'>SkRegion</a> to combine with clip</td>
2705 <tr> <td><a name='SkCanvas_clipRegion_op'><code><strong>op</strong></code></a></td>
2706 <td><a href='undocumented#SkClipOp'>SkClipOp</a> to apply to clip</td>
2712a href='SkRegion_Reference#Region'>region</a> is unaffected by <a href='SkCanvas_Reference#Canvas'…
2713 Both clips are <a href='undocumented#Alias'>Aliased</a>; this is not noticeable on <a href='SkRegio…
2714 aligns to <a href='undocumented#Pixel'>pixel</a> boundaries.
2719 <a href='#SkCanvas_clipRect'>clipRect</a> <a href='#SkCanvas_clipRRect'>clipRRect</a> <a href='#SkC…
2721 <a name='SkCanvas_quickReject'></a>
2726 bool <a href='#SkCanvas_quickReject'>quickReject</a>(const <a href='SkRect_Reference#SkRect'>SkRect…
2729a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_quickReject_rect'>rect</a>, transfo…
2730 outside of clip. May return false even though <a href='#SkCanvas_quickReject_rect'>rect</a> is outs…
2736 <table> <tr> <td><a name='SkCanvas_quickReject_rect'><code><strong>rect</strong></code></a></td>
2737 <td><a href='SkRect_Reference#SkRect'>SkRect</a> to compare with clip</td>
2743 true if <a href='#SkCanvas_quickReject_rect'>rect</a>, transformed by <a href='SkMatrix_Reference#S…
2760a href='#SkCanvas_getLocalClipBounds'>getLocalClipBounds</a> <a href='#SkCanvas_getTotalMatrix'>ge…
2762 <a name='SkCanvas_quickReject_2'></a>
2767 bool <a href='#SkCanvas_quickReject'>quickReject</a>(const <a href='SkPath_Reference#SkPath'>SkPath…
2770 Returns true if <a href='#SkCanvas_quickReject_2_path'>path</a>, transformed by <a href='SkMatrix_R…
2771 outside of clip. May return false even though <a href='#SkCanvas_quickReject_2_path'>path</a> is ou…
2777 <table> <tr> <td><a name='SkCanvas_quickReject_2_path'><code><strong>path</strong></code></a></…
2778 <td><a href='SkPath_Reference#SkPath'>SkPath</a> to compare with clip</td>
2784 true if <a href='#SkCanvas_quickReject_2_path'>path</a>, transformed by <a href='SkMatrix_Reference…
2801a href='#SkCanvas_getLocalClipBounds'>getLocalClipBounds</a> <a href='#SkCanvas_getTotalMatrix'>ge…
2803 <a name='SkCanvas_getLocalClipBounds'></a>
2808 <a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_getLocalClipBounds'>getLocalClipBou…
2811 Returns bounds of clip, transformed by inverse of <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a
2812 …turn <a href='SkRect_Reference#SkRect'>SkRect</a>::<a href='#SkRect_MakeEmpty'>MakeEmpty</a>, wher…
2814 <a href='SkRect_Reference#SkRect'>SkRect</a> returned is outset by one to account for partial <a hr…
2815 is <a href='SkPaint_Reference#Anti_Alias'>anti-aliased</a>.
2823 …f60cb030d3f9b2473adbe3e34b19d91"><div>Initial bounds is <a href='undocumented#Device'>device</a> b…
2824 Clipped bounds is <a href='#SkCanvas_clipPath'>clipPath</a> bounds outset by 1 on all sides.
2825 Scaling the <a href='SkCanvas_Reference#Canvas'>canvas</a> by two on both axes scales the local bou…
2841a href='#SkCanvas_getDeviceClipBounds'>getDeviceClipBounds</a> <a href='#SkCanvas_getBaseLayerSize…
2843 <a name='SkCanvas_getLocalClipBounds_2'></a>
2848 bool <a href='#SkCanvas_getLocalClipBounds'>getLocalClipBounds</a>(<a href='SkRect_Reference#SkRect…
2851 …rns <a href='#SkCanvas_getLocalClipBounds_2_bounds'>bounds</a> of clip, transformed by inverse of …
2852a href='#SkCanvas_getLocalClipBounds_2_bounds'>bounds</a> to <a href='SkRect_Reference#SkRect'>SkR…
2854 <a href='#SkCanvas_getLocalClipBounds_2_bounds'>bounds</a> is outset by one to account for partial …
2855 is <a href='SkPaint_Reference#Anti_Alias'>anti-aliased</a>.
2859 <table> <tr> <td><a name='SkCanvas_getLocalClipBounds_2_bounds'><code><strong>bounds</strong></…
2860 <td><a href='SkRect_Reference#SkRect'>SkRect</a> of clip in local coordinates</td>
2866 true if clip <a href='#SkCanvas_getLocalClipBounds_2_bounds'>bounds</a> is not empty
2883a href='#SkCanvas_getDeviceClipBounds'>getDeviceClipBounds</a> <a href='#SkCanvas_getBaseLayerSize…
2885 <a name='SkCanvas_getDeviceClipBounds'></a>
2890 <a href='SkIRect_Reference#SkIRect'>SkIRect</a> <a href='#SkCanvas_getDeviceClipBounds'>getDeviceCl…
2893 Returns <a href='SkIRect_Reference#SkIRect'>SkIRect</a> bounds of clip, unaffected by <a href='SkMa…
2894 …turn <a href='SkRect_Reference#SkRect'>SkRect</a>::<a href='#SkRect_MakeEmpty'>MakeEmpty</a>, wher…
2896 Unlike <a href='#SkCanvas_getLocalClipBounds'>getLocalClipBounds</a>(), returned <a href='SkIRect_R…
2900 bounds of clip in <a href='undocumented#SkBaseDevice'>SkBaseDevice</a> coordinates
2904 …56832ac5711af662a98c21c547185e9"><div>Initial bounds is <a href='undocumented#Device'>device</a> b…
2905 Clipped bounds is <a href='#SkCanvas_clipPath'>clipPath</a> bounds, not outset.
2906 Scaling the <a href='SkCanvas_Reference#Canvas'>canvas</a> by 1/2 on both axes scales the <a href='…
2922a href='#SkCanvas_getLocalClipBounds'>getLocalClipBounds</a> <a href='#SkCanvas_getBaseLayerSize'>…
2924 <a name='SkCanvas_getDeviceClipBounds_2'></a>
2929 bool <a href='#SkCanvas_getDeviceClipBounds'>getDeviceClipBounds</a>(<a href='SkIRect_Reference#SkI…
2932a href='SkIRect_Reference#SkIRect'>SkIRect</a> <a href='#SkCanvas_getDeviceClipBounds_2_bounds'>bo…
2933a href='#SkCanvas_getDeviceClipBounds_2_bounds'>bounds</a> to <a href='SkRect_Reference#SkRect'>Sk…
2935 Unlike <a href='#SkCanvas_getLocalClipBounds'>getLocalClipBounds</a>(), <a href='#SkCanvas_getDevic…
2939 <table> <tr> <td><a name='SkCanvas_getDeviceClipBounds_2_bounds'><code><strong>bounds</strong><…
2940 …<td><a href='SkRect_Reference#SkRect'>SkRect</a> of clip in <a href='undocumented#Device'>device</
2946 true if clip <a href='#SkCanvas_getDeviceClipBounds_2_bounds'>bounds</a> is not empty
2963a href='#SkCanvas_getLocalClipBounds'>getLocalClipBounds</a> <a href='#SkCanvas_getBaseLayerSize'>…
2965 <a name='Draw'></a>
2967 <a name='SkCanvas_drawColor'></a>
2972a href='#SkCanvas_drawColor'>drawColor</a>(<a href='SkColor_Reference#SkColor'>SkColor</a> <a href…
2975 Fills clip with <a href='#SkCanvas_drawColor_color'>color color</a>.
2976 <a href='#SkCanvas_drawColor_mode'>mode</a> determines how ARGB is combined with destination.
2980 <table> <tr> <td><a name='SkCanvas_drawColor_color'><code><strong>color</strong></code></a></td>
2981 <td><a href='undocumented#Unpremultiply'>unpremultiplied</a> ARGB</td>
2983 <tr> <td><a name='SkCanvas_drawColor_mode'><code><strong>mode</strong></code></a></td>
2984 …<td><a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> used to combine source <a href='#S…
2994a href='#SkCanvas_clear'>clear</a> <a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a>::<a href='#S…
2996 <a name='SkCanvas_clear'></a>
3001 void clear(<a href='SkColor_Reference#SkColor'>SkColor</a> <a href='SkColor_Reference#Color'>color<…
3004 … <a href='#SkCanvas_clear_color'>color color</a> using <a href='SkBlendMode_Reference#SkBlendMode'…
3005 …he effect of replacing all pixels contained by clip with <a href='#SkCanvas_clear_color'>color</a>.
3009 <table> <tr> <td><a name='SkCanvas_clear_color'><code><strong>color</strong></code></a></td>
3010 <td><a href='undocumented#Unpremultiply'>unpremultiplied</a> ARGB</td>
3020a href='#SkCanvas_drawColor'>drawColor</a> <a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a>::<a
3022 <a name='SkCanvas_discard'></a>
3027 void <a href='#SkCanvas_discard'>discard()</a>
3030 …s <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> contents undefined. Subsequent calls that rea…
3031 …rawing with <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a>, return undefined results.…
3032 not change clip or <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>.
3034a href='#SkCanvas_discard'>discard()</a> may do nothing, depending on the implementation of <a hre…
3035 that created <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>.
3037 <a href='#SkCanvas_discard'>discard()</a> allows optimized performance on subsequent draws by remov…
3038a href='undocumented#Data'>data</a> associated with <a href='SkSurface_Reference#SkSurface'>SkSurf…
3039 … not necessary to call <a href='#SkCanvas_discard'>discard()</a> once done with <a href='SkCanvas_…
3040a href='undocumented#Data'>data</a> is deleted when owning <a href='SkSurface_Reference#SkSurface'…
3044 <a href='#SkCanvas_flush'>flush()</a> <a href='undocumented#GrContext'>GrContext</a>::<a href='#GrC…
3046 <a name='SkCanvas_drawPaint'></a>
3051 void <a href='#SkCanvas_drawPaint'>drawPaint</a>(const <a href='SkPaint_Reference#SkPaint'>SkPaint<…
3054a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawPaint_paint'>paint</a>. <a h…
3055a href='undocumented#SkColorFilter'>SkColorFilter</a>, <a href='undocumented#SkImageFilter'>SkImag…
3056 <a href='undocumented#SkPathEffect'>SkPathEffect</a> in <a href='#SkCanvas_drawPaint_paint'>paint</
3060 <table> <tr> <td><a name='SkCanvas_drawPaint_paint'><code><strong>paint</strong></code></a></td>
3061 <td>graphics state used to fill <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a></td>
3071a href='#SkCanvas_clear'>clear</a> <a href='#SkCanvas_drawColor'>drawColor</a> <a href='SkBitmap_R…
3073 <a name='SkCanvas_PointMode'></a>
3078 enum <a href='#SkCanvas_PointMode'>PointMode</a> {
3079 <a href='#SkCanvas_kPoints_PointMode'>kPoints_PointMode</a>,
3080 <a href='#SkCanvas_kLines_PointMode'>kLines_PointMode</a>,
3081 <a href='#SkCanvas_kPolygon_PointMode'>kPolygon_PointMode</a>,
3086 …<a href='SkPoint_Reference#Point'>points</a> are drawn as discrete <a href='SkPoint_Reference#Poin…
3096 … 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_kPoints_PointMode'><code>SkCanvas::kPoints_P…
3102 …: 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_kLines_PointMode'><code>SkCanvas::kLines_Po…
3105 draw each pair of points as a line segment</td>
3108 …2px solid #dddddd; padding: 8px; '><a name='SkCanvas_kPolygon_PointMode'><code>SkCanvas::kPolygon_…
3111 draw the array of points as a open polygon</td>
3117 …e upper left corner shows three squares when drawn as <a href='SkPoint_Reference#Point'>points</a>.
3118a href='undocumented#Line'>line</a>; when drawn as <a href='undocumented#Line'>lines</a>, two <a h…
3119 The lower right corner shows two <a href='undocumented#Line'>lines</a>; when draw as polygon, no mi…
3120 …lower left corner shows two <a href='undocumented#Line'>lines</a> with a miter when <a href='SkPat…
3125 <a href='#SkCanvas_drawLine'>drawLine</a> <a href='#SkCanvas_drawPoint'>drawPoint</a> <a href='#SkC…
3127 <a name='SkCanvas_drawPoints'></a>
3132a href='#SkCanvas_drawPoints'>drawPoints</a>(<a href='#SkCanvas_PointMode'>PointMode</a> mode, siz…
3135a href='#SkCanvas_drawPoints_pts'>pts</a> using clip, <a href='SkMatrix_Reference#SkMatrix'>SkMatr…
3136a href='#SkCanvas_drawPoints_count'>count</a> is the number of <a href='SkPoint_Reference#Point'>p…
3137a href='#SkCanvas_drawPoints_mode'>mode</a> may be one of: <a href='#SkCanvas_kPoints_PointMode'>k…
3139a href='#SkCanvas_drawPoints_mode'>mode</a> is <a href='#SkCanvas_kPoints_PointMode'>kPoints_Point…
3140a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_Cap'>Cap</a>. If <a href='#SkCan…
3141a href='undocumented#Circle'>circle</a> of diameter <a href='SkPaint_Reference#SkPaint'>SkPaint</a
3142 … <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_kButt_Cap'>kButt_Cap</a>, each…
3143 <a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width.
3145a href='#SkCanvas_drawPoints_mode'>mode</a> is <a href='#SkCanvas_kLines_PointMode'>kLines_PointMo…
3146a href='undocumented#Line'>line</a> is drawn for every two <a href='SkPoint_Reference#Point'>point…
3147 the final <a href='SkPoint_Reference#Point'>point</a> is ignored.
3149a href='#SkCanvas_drawPoints_mode'>mode</a> is <a href='#SkCanvas_kPolygon_PointMode'>kPolygon_Poi…
3150a href='#SkCanvas_drawPoints_count'>count</a> minus one <a href='undocumented#Line'>lines</a> are …
3152a href='undocumented#Line'>line</a> segment respects <a href='#SkCanvas_drawPoints_paint'>paint</a
3153a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_Style'>Style</a> is ignored, as …
3155 Always draws each element one at a time; is not affected by
3156a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_Join'>Join</a>, and unlike <a hr…
3157 and <a href='undocumented#Line'>lines</a> before drawing.
3161 <table> <tr> <td><a name='SkCanvas_drawPoints_mode'><code><strong>mode</strong></code></a></td>
3162 …>whether <a href='#SkCanvas_drawPoints_pts'>pts</a> draws <a href='SkPoint_Reference#Point'>points…
3164 <tr> <td><a name='SkCanvas_drawPoints_count'><code><strong>count</strong></code></a></td>
3165 <td>number of <a href='SkPoint_Reference#Point'>points</a> in the array</td>
3167 <tr> <td><a name='SkCanvas_drawPoints_pts'><code><strong>pts</strong></code></a></td>
3168 <td>array of <a href='SkPoint_Reference#Point'>points</a> to draw</td>
3170 <tr> <td><a name='SkCanvas_drawPoints_paint'><code><strong>paint</strong></code></a></td>
3171 <td>stroke, blend, <a href='SkColor_Reference#Color'>color</a>, and so on, used to draw</td>
3180 <td>The first column draws <a href='SkPoint_Reference#Point'>points</a>.</td>
3182 …<td>The second column draws <a href='SkPoint_Reference#Point'>points</a> as <a href='undocumented#…
3184 <td>The third column draws <a href='SkPoint_Reference#Point'>points</a> as a polygon.</td>
3186 …d>The fourth column draws <a href='SkPoint_Reference#Point'>points</a> as a polygonal <a href='SkP…
3188 <td>The first row uses a round cap and round join.</td>
3190 <td>The second row uses a square cap and a miter join.</td>
3192 <td>The third row uses a butt cap and a bevel join.</td>
3196 The transparent <a href='SkColor_Reference#Color'>color</a> makes multiple <a href='undocumented#Li…
3197 the <a href='SkPath_Reference#Path'>path</a> is drawn all at once.
3202 <a href='#SkCanvas_drawLine'>drawLine</a> <a href='#SkCanvas_drawPoint'>drawPoint</a> <a href='#SkC…
3204 <a name='SkCanvas_drawPoint'></a>
3209a href='#SkCanvas_drawPoint'>drawPoint</a>(<a href='undocumented#SkScalar'>SkScalar</a> x, <a href…
3212a href='SkPoint_Reference#Point'>point</a> at (<a href='#SkCanvas_drawPoint_x'>x</a>, <a href='#Sk…
3214a href='SkPoint_Reference#Point'>point</a> drawn depends on <a href='#SkCanvas_drawPoint_paint'>pa…
3215a href='#SkCanvas_drawPoint_paint'>paint</a> is set to <a href='SkPaint_Reference#SkPaint'>SkPaint…
3216a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width. If <a href='#SkCanvas_drawPoint_paint…
3217 draw a square of width and height <a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width.
3218a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_Style'>Style</a> is ignored, as …
3222 <table> <tr> <td><a name='SkCanvas_drawPoint_x'><code><strong>x</strong></code></a></td>
3223 <td>left edge of <a href='undocumented#Circle'>circle</a> or square</td>
3225 <tr> <td><a name='SkCanvas_drawPoint_y'><code><strong>y</strong></code></a></td>
3226 <td>top edge of <a href='undocumented#Circle'>circle</a> or square</td>
3228 <tr> <td><a name='SkCanvas_drawPoint_paint'><code><strong>paint</strong></code></a></td>
3229 <td>stroke, blend, <a href='SkColor_Reference#Color'>color</a>, and so on, used to draw</td>
3239a href='#SkCanvas_drawPoints'>drawPoints</a> <a href='#SkCanvas_drawCircle'>drawCircle</a> <a href…
3241 <a name='SkCanvas_drawPoint_2'></a>
3246a href='#SkCanvas_drawPoint'>drawPoint</a>(<a href='SkPoint_Reference#SkPoint'>SkPoint</a> p, cons…
3249a href='SkPoint_Reference#Point'>point</a> <a href='#SkCanvas_drawPoint_2_p'>p</a> using clip, <a
3251a href='SkPoint_Reference#Point'>point</a> drawn depends on <a href='#SkCanvas_drawPoint_2_paint'>…
3252a href='#SkCanvas_drawPoint_2_paint'>paint</a> is set to <a href='SkPaint_Reference#SkPaint'>SkPai…
3253a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width. If <a href='#SkCanvas_drawPoint_2_pai…
3254 draw a square of width and height <a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width.
3255a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_Style'>Style</a> is ignored, as …
3259 <table> <tr> <td><a name='SkCanvas_drawPoint_2_p'><code><strong>p</strong></code></a></td>
3260 <td>top-left edge of <a href='undocumented#Circle'>circle</a> or square</td>
3262 <tr> <td><a name='SkCanvas_drawPoint_2_paint'><code><strong>paint</strong></code></a></td>
3263 <td>stroke, blend, <a href='SkColor_Reference#Color'>color</a>, and so on, used to draw</td>
3273a href='#SkCanvas_drawPoints'>drawPoints</a> <a href='#SkCanvas_drawCircle'>drawCircle</a> <a href…
3275 <a name='SkCanvas_drawLine'></a>
3280a href='#SkCanvas_drawLine'>drawLine</a>(<a href='undocumented#SkScalar'>SkScalar</a> x0, <a href=…
3283a href='undocumented#Line'>line</a> segment from (<a href='#SkCanvas_drawLine_x0'>x0</a>, <a href=…
3284a href='#SkCanvas_drawLine_paint'>paint</a>: <a href='SkPaint_Reference#SkPaint'>SkPaint</a> strok…
3285 <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_Cap'>Cap</a> draws the end round…
3286a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_Style'>Style</a> is ignored, as …
3290 <table> <tr> <td><a name='SkCanvas_drawLine_x0'><code><strong>x0</strong></code></a></td>
3291 <td>start of <a href='undocumented#Line'>line</a> segment on x-axis</td>
3293 <tr> <td><a name='SkCanvas_drawLine_y0'><code><strong>y0</strong></code></a></td>
3294 <td>start of <a href='undocumented#Line'>line</a> segment on y-axis</td>
3296 <tr> <td><a name='SkCanvas_drawLine_x1'><code><strong>x1</strong></code></a></td>
3297 <td>end of <a href='undocumented#Line'>line</a> segment on x-axis</td>
3299 <tr> <td><a name='SkCanvas_drawLine_y1'><code><strong>y1</strong></code></a></td>
3300 <td>end of <a href='undocumented#Line'>line</a> segment on y-axis</td>
3302 <tr> <td><a name='SkCanvas_drawLine_paint'><code><strong>paint</strong></code></a></td>
3303 <td>stroke, blend, <a href='SkColor_Reference#Color'>color</a>, and so on, used to draw</td>
3313a href='#SkCanvas_drawPoint'>drawPoint</a> <a href='#SkCanvas_drawCircle'>drawCircle</a> <a href='…
3315 <a name='SkCanvas_drawLine_2'></a>
3320a href='#SkCanvas_drawLine'>drawLine</a>(<a href='SkPoint_Reference#SkPoint'>SkPoint</a> p0, <a hr…
3323a href='undocumented#Line'>line</a> segment from <a href='#SkCanvas_drawLine_2_p0'>p0</a> to <a hr…
3324a href='#SkCanvas_drawLine_2_paint'>paint</a>: <a href='SkPaint_Reference#SkPaint'>SkPaint</a> str…
3325 <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_Cap'>Cap</a> draws the end round…
3326a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_Style'>Style</a> is ignored, as …
3330 <table> <tr> <td><a name='SkCanvas_drawLine_2_p0'><code><strong>p0</strong></code></a></td>
3331 <td>start of <a href='undocumented#Line'>line</a> segment</td>
3333 <tr> <td><a name='SkCanvas_drawLine_2_p1'><code><strong>p1</strong></code></a></td>
3334 <td>end of <a href='undocumented#Line'>line</a> segment</td>
3336 <tr> <td><a name='SkCanvas_drawLine_2_paint'><code><strong>paint</strong></code></a></td>
3337 <td>stroke, blend, <a href='SkColor_Reference#Color'>color</a>, and so on, used to draw</td>
3347a href='#SkCanvas_drawPoint'>drawPoint</a> <a href='#SkCanvas_drawCircle'>drawCircle</a> <a href='…
3349 <a name='SkCanvas_drawRect'></a>
3354a href='#SkCanvas_drawRect'>drawRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& <a hr…
3357a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_drawRect_rect'>rect</a> using clip,…
3358 In <a href='#SkCanvas_drawRect_paint'>paint</a>: <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<
3359 if stroked, <a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width describes the <a href='und…
3360 <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_Join'>Join</a> draws the corners…
3364 <table> <tr> <td><a name='SkCanvas_drawRect_rect'><code><strong>rect</strong></code></a></td>
3367 <tr> <td><a name='SkCanvas_drawRect_paint'><code><strong>paint</strong></code></a></td>
3368 …<td>stroke or fill, blend, <a href='SkColor_Reference#Color'>color</a>, and so on, used to draw</t…
3378a href='#SkCanvas_drawIRect'>drawIRect</a> <a href='#SkCanvas_drawRRect'>drawRRect</a> <a href='#S…
3380 <a name='SkCanvas_drawIRect'></a>
3385a href='#SkCanvas_drawIRect'>drawIRect</a>(const <a href='SkIRect_Reference#SkIRect'>SkIRect</a>& …
3388a href='SkIRect_Reference#SkIRect'>SkIRect</a> <a href='#SkCanvas_drawIRect_rect'>rect</a> using c…
3389 In <a href='#SkCanvas_drawIRect_paint'>paint</a>: <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::…
3390 if stroked, <a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width describes the <a href='und…
3391 <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_Join'>Join</a> draws the corners…
3395 <table> <tr> <td><a name='SkCanvas_drawIRect_rect'><code><strong>rect</strong></code></a></td>
3398 <tr> <td><a name='SkCanvas_drawIRect_paint'><code><strong>paint</strong></code></a></td>
3399 …<td>stroke or fill, blend, <a href='SkColor_Reference#Color'>color</a>, and so on, used to draw</t…
3409a href='#SkCanvas_drawRect'>drawRect</a> <a href='#SkCanvas_drawRRect'>drawRRect</a> <a href='#SkC…
3411 <a name='SkCanvas_drawRegion'></a>
3416a href='#SkCanvas_drawRegion'>drawRegion</a>(const <a href='SkRegion_Reference#SkRegion'>SkRegion<…
3419a href='SkRegion_Reference#SkRegion'>SkRegion</a> <a href='#SkCanvas_drawRegion_region'>region</a>…
3420 In <a href='#SkCanvas_drawRegion_paint'>paint</a>: <a href='SkPaint_Reference#SkPaint'>SkPaint</a>:…
3421 if stroked, <a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width describes the <a href='und…
3422 <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_Join'>Join</a> draws the corners…
3426 <table> <tr> <td><a name='SkCanvas_drawRegion_region'><code><strong>region</strong></code></a><…
3427 <td><a href='#SkCanvas_drawRegion_region'>region</a> to draw</td>
3429 <tr> <td><a name='SkCanvas_drawRegion_paint'><code><strong>paint</strong></code></a></td>
3430 …<td><a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke or fill, blend, <a href='SkColor_Refere…
3440 <a href='#SkCanvas_drawRect'>drawRect</a> <a href='#SkCanvas_drawIRect'>drawIRect</a> <a href='#SkC…
3442 <a name='SkCanvas_drawOval'></a>
3447a href='#SkCanvas_drawOval'>drawOval</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& <a hr…
3450a href='#SkCanvas_drawOval_oval'>oval</a> <a href='#SkCanvas_drawOval_oval'>oval</a> using clip, <
3451a href='#SkCanvas_drawOval_paint'>paint</a>: <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a h…
3452 if stroked, <a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width describes the <a href='und…
3456 <table> <tr> <td><a name='SkCanvas_drawOval_oval'><code><strong>oval</strong></code></a></td>
3457 …<td><a href='SkRect_Reference#SkRect'>SkRect</a> bounds of <a href='#SkCanvas_drawOval_oval'>oval<…
3459 <tr> <td><a name='SkCanvas_drawOval_paint'><code><strong>paint</strong></code></a></td>
3460 …<td><a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke or fill, blend, <a href='SkColor_Refere…
3470a href='#SkCanvas_drawCircle'>drawCircle</a> <a href='#SkCanvas_drawPoint'>drawPoint</a> <a href='…
3472 <a name='SkCanvas_drawRRect'></a>
3477a href='#SkCanvas_drawRRect'>drawRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>& …
3480a href='SkRRect_Reference#SkRRect'>SkRRect</a> <a href='#SkCanvas_drawRRect_rrect'>rrect</a> using…
3481a href='#SkCanvas_drawRRect_paint'>paint</a>: <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a
3482 if stroked, <a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width describes the <a href='und…
3484 <a href='#SkCanvas_drawRRect_rrect'>rrect</a> may represent a rectangle, <a href='undocumented#Circ…
3489 <table> <tr> <td><a name='SkCanvas_drawRRect_rrect'><code><strong>rrect</strong></code></a></td>
3490 <td><a href='SkRRect_Reference#SkRRect'>SkRRect</a> with up to eight corner radii to draw</td>
3492 <tr> <td><a name='SkCanvas_drawRRect_paint'><code><strong>paint</strong></code></a></td>
3493 …<td><a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke or fill, blend, <a href='SkColor_Refere…
3503a href='#SkCanvas_drawRect'>drawRect</a> <a href='#SkCanvas_drawRoundRect'>drawRoundRect</a> <a hr…
3505 <a name='SkCanvas_drawDRRect'></a>
3510a href='#SkCanvas_drawDRRect'>drawDRRect</a>(const <a href='SkRRect_Reference#SkRRect'>SkRRect</a>…
3513 …aws <a href='SkRRect_Reference#SkRRect'>SkRRect</a> <a href='#SkCanvas_drawDRRect_outer'>outer</a>…
3514 … <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, and <a href='SkPaint_Reference#SkPaint'>SkPai…
3515 <a href='#SkCanvas_drawDRRect_outer'>outer</a> must contain <a href='#SkCanvas_drawDRRect_inner'>in…
3516a href='#SkCanvas_drawDRRect_paint'>paint</a>: <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a
3517 if stroked, <a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width describes the <a href='und…
3518a href='SkRRect_Reference#SkRRect'>SkRRect</a> corner has zero length radii, <a href='SkPaint_Ref…
3521 … optimize drawing when both <a href='#SkCanvas_drawDRRect_outer'>outer</a> and <a href='#SkCanvas_…
3522 concave and <a href='#SkCanvas_drawDRRect_outer'>outer</a> contains <a href='#SkCanvas_drawDRRect_i…
3523 <a href='SkPath_Reference#SkPath'>SkPath</a> built with identical <a href='undocumented#Data'>data<…
3527 <table> <tr> <td><a name='SkCanvas_drawDRRect_outer'><code><strong>outer</strong></code></a></t…
3528 …<td><a href='SkRRect_Reference#SkRRect'>SkRRect</a> <a href='#SkCanvas_drawDRRect_outer'>outer</a>…
3530 <tr> <td><a name='SkCanvas_drawDRRect_inner'><code><strong>inner</strong></code></a></td>
3531 …<td><a href='SkRRect_Reference#SkRRect'>SkRRect</a> <a href='#SkCanvas_drawDRRect_inner'>inner</a>…
3533 <tr> <td><a name='SkCanvas_drawDRRect_paint'><code><strong>paint</strong></code></a></td>
3534 …<td><a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke or fill, blend, <a href='SkColor_Refere…
3544 …mbed name="30823cb4edf884d330285ea161664931"><div>Outer <a href='SkRect_Reference#Rect'>Rect</a> h…
3545 Inner <a href='#RRect'>Round_Rect</a> has corner radii; outset stroke increases radii of corners.
3546 Stroke join does not affect <a href='#SkCanvas_drawDRRect_inner'>inner</a> <a href='#RRect'>Round_R…
3551a href='#SkCanvas_drawRect'>drawRect</a> <a href='#SkCanvas_drawRoundRect'>drawRoundRect</a> <a hr…
3553 <a name='SkCanvas_drawCircle'></a>
3558a href='#SkCanvas_drawCircle'>drawCircle</a>(<a href='undocumented#SkScalar'>SkScalar</a> cx, <a h…
3561a href='undocumented#Circle'>circle</a> at (<a href='#SkCanvas_drawCircle_cx'>cx</a>, <a href='#Sk…
3562 If <a href='#SkCanvas_drawCircle_radius'>radius</a> is zero or less, nothing is drawn.
3563a href='#SkCanvas_drawCircle_paint'>paint</a>: <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a
3564 if stroked, <a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width describes the <a href='und…
3568 <table> <tr> <td><a name='SkCanvas_drawCircle_cx'><code><strong>cx</strong></code></a></td>
3569 <td><a href='undocumented#Circle'>circle</a> center on the x-axis</td>
3571 <tr> <td><a name='SkCanvas_drawCircle_cy'><code><strong>cy</strong></code></a></td>
3572 <td><a href='undocumented#Circle'>circle</a> center on the y-axis</td>
3574 <tr> <td><a name='SkCanvas_drawCircle_radius'><code><strong>radius</strong></code></a></td>
3575 <td>half the diameter of <a href='undocumented#Circle'>circle</a></td>
3577 <tr> <td><a name='SkCanvas_drawCircle_paint'><code><strong>paint</strong></code></a></td>
3578 …<td><a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke or fill, blend, <a href='SkColor_Refere…
3588a href='#SkCanvas_drawOval'>drawOval</a> <a href='#SkCanvas_drawRRect'>drawRRect</a> <a href='#SkC…
3590 <a name='SkCanvas_drawCircle_2'></a>
3595a href='#SkCanvas_drawCircle'>drawCircle</a>(<a href='SkPoint_Reference#SkPoint'>SkPoint</a> cente…
3598a href='undocumented#Circle'>circle</a> at <a href='#SkCanvas_drawCircle_2_center'>center</a> with…
3599 If <a href='#SkCanvas_drawCircle_2_radius'>radius</a> is zero or less, nothing is drawn.
3600a href='#SkCanvas_drawCircle_2_paint'>paint</a>: <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::…
3601 if stroked, <a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width describes the <a href='und…
3605 <table> <tr> <td><a name='SkCanvas_drawCircle_2_center'><code><strong>center</strong></code></a
3606 …<td><a href='undocumented#Circle'>circle</a> <a href='#SkCanvas_drawCircle_2_center'>center</a></t…
3608 <tr> <td><a name='SkCanvas_drawCircle_2_radius'><code><strong>radius</strong></code></a></td>
3609 <td>half the diameter of <a href='undocumented#Circle'>circle</a></td>
3611 <tr> <td><a name='SkCanvas_drawCircle_2_paint'><code><strong>paint</strong></code></a></td>
3612 …<td><a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke or fill, blend, <a href='SkColor_Refere…
3622a href='#SkCanvas_drawOval'>drawOval</a> <a href='#SkCanvas_drawRRect'>drawRRect</a> <a href='#SkC…
3624 <a name='SkCanvas_drawArc'></a>
3629a href='#SkCanvas_drawArc'>drawArc</a>(const <a href='SkRect_Reference#SkRect'>SkRect</a>& <a href…
3630 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& <a href='SkPaint_Reference#Paint'>paint</a>)
3633a href='undocumented#Arc'>arc</a> using clip, <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, …
3635a href='undocumented#Arc'>Arc</a> is part of <a href='#SkCanvas_drawArc_oval'>oval</a> bounded by …
3636a href='#SkCanvas_drawArc_sweepAngle'>sweepAngle</a>. <a href='#SkCanvas_drawArc_startAngle'>start…
3638a href='#SkCanvas_drawArc_startAngle'>startAngle</a> of zero places start <a href='SkPoint_Referen…
3639 A positive <a href='#SkCanvas_drawArc_sweepAngle'>sweepAngle</a> places <a href='undocumented#Arc'>…
3640 a negative <a href='#SkCanvas_drawArc_sweepAngle'>sweepAngle</a> places <a href='undocumented#Arc'>…
3641 <a href='#SkCanvas_drawArc_sweepAngle'>sweepAngle</a> may exceed 360 degrees, a full <a href='undoc…
3642a href='#SkCanvas_drawArc_useCenter'>useCenter</a> is true, draw a wedge that includes <a href='un…
3643a href='undocumented#Arc'>arc</a> end <a href='SkPoint_Reference#Point'>points</a>. If <a href='#S…
3645 …<a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_drawArc_oval'>oval</a> is empty or…
3649 <table> <tr> <td><a name='SkCanvas_drawArc_oval'><code><strong>oval</strong></code></a></td>
3650 …<td><a href='SkRect_Reference#SkRect'>SkRect</a> bounds of <a href='#SkCanvas_drawArc_oval'>oval</
3652 …<tr> <td><a name='SkCanvas_drawArc_startAngle'><code><strong>startAngle</strong></code></a></td>
3653 <td>angle in degrees where <a href='undocumented#Arc'>arc</a> begins</td>
3655 …<tr> <td><a name='SkCanvas_drawArc_sweepAngle'><code><strong>sweepAngle</strong></code></a></td>
3658 <tr> <td><a name='SkCanvas_drawArc_useCenter'><code><strong>useCenter</strong></code></a></td>
3659 <td>if true, include the center of the <a href='#SkCanvas_drawArc_oval'>oval</a></td>
3661 <tr> <td><a name='SkCanvas_drawArc_paint'><code><strong>paint</strong></code></a></td>
3662 …<td><a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke or fill, blend, <a href='SkColor_Refere…
3676a href='SkPath_Reference#SkPath'>SkPath</a>::<a href='#SkPath_arcTo'>arcTo</a> <a href='#SkCanvas_…
3678 <a name='SkCanvas_drawRoundRect'></a>
3683a href='#SkCanvas_drawRoundRect'>drawRoundRect</a>(const <a href='SkRect_Reference#SkRect'>SkRect<…
3686a href='SkRRect_Reference#SkRRect'>SkRRect</a> bounded by <a href='SkRect_Reference#SkRect'>SkRect…
3687 <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, and <a href='SkPaint_Reference#SkPaint'>SkPaint…
3689a href='#SkCanvas_drawRoundRect_paint'>paint</a>: <a href='SkPaint_Reference#SkPaint'>SkPaint</a>:…
3690 if stroked, <a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width describes the <a href='und…
3691 If <a href='#SkCanvas_drawRoundRect_rx'>rx</a> or <a href='#SkCanvas_drawRoundRect_ry'>ry</a> are l…
3692a href='#SkCanvas_drawRoundRect_rx'>rx</a> plus <a href='#SkCanvas_drawRoundRect_ry'>ry</a> exceed…
3693a href='#SkCanvas_drawRoundRect_rx'>rx</a> and <a href='#SkCanvas_drawRoundRect_ry'>ry</a> are zer…
3694 <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_Join'>Join</a>.
3698 <table> <tr> <td><a name='SkCanvas_drawRoundRect_rect'><code><strong>rect</strong></code></a></…
3699 …<td><a href='SkRect_Reference#SkRect'>SkRect</a> bounds of <a href='SkRRect_Reference#SkRRect'>SkR…
3701 <tr> <td><a name='SkCanvas_drawRoundRect_rx'><code><strong>rx</strong></code></a></td>
3702 … <td>axis length on x-axis of <a href='undocumented#Oval'>oval</a> describing rounded corners</td>
3704 <tr> <td><a name='SkCanvas_drawRoundRect_ry'><code><strong>ry</strong></code></a></td>
3705 … <td>axis length on y-axis of <a href='undocumented#Oval'>oval</a> describing rounded corners</td>
3707 <tr> <td><a name='SkCanvas_drawRoundRect_paint'><code><strong>paint</strong></code></a></td>
3708 <td>stroke, blend, <a href='SkColor_Reference#Color'>color</a>, and so on, used to draw</td>
3714 …embed name="199fe818c09026c114e165bff166a39f"><div>Top row has a zero radius a generates a rectang…
3722a href='#SkCanvas_drawRRect'>drawRRect</a> <a href='#SkCanvas_drawRect'>drawRect</a> <a href='#SkC…
3724 <a name='SkCanvas_drawPath'></a>
3729a href='#SkCanvas_drawPath'>drawPath</a>(const <a href='SkPath_Reference#SkPath'>SkPath</a>& <a hr…
3732a href='SkPath_Reference#SkPath'>SkPath</a> <a href='#SkCanvas_drawPath_path'>path</a> using clip,…
3733 <a href='SkPath_Reference#SkPath'>SkPath</a> contains an array of <a href='SkPath_Overview#Contour…
3735a href='#SkCanvas_drawPath_paint'>paint</a>: <a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a h…
3736a href='SkPath_Reference#SkPath'>SkPath</a>::<a href='#SkPath_FillType'>FillType</a> determines wh…
3737 …of fill; if stroked, <a href='SkPaint_Reference#SkPaint'>SkPaint</a> stroke width describes the <a
3738a href='SkPaint_Reference#SkPaint'>SkPaint</a>::<a href='#SkPaint_Cap'>Cap</a> describes <a href='…
3743 <table> <tr> <td><a name='SkCanvas_drawPath_path'><code><strong>path</strong></code></a></td>
3744 <td><a href='SkPath_Reference#SkPath'>SkPath</a> to draw</td>
3746 <tr> <td><a name='SkCanvas_drawPath_paint'><code><strong>paint</strong></code></a></td>
3747 <td>stroke, blend, <a href='SkColor_Reference#Color'>color</a>, and so on, used to draw</td>
3753 … stroked <a href='#SkCanvas_drawPath_path'>path</a> with combinations of joins and caps. The open …
3754 is affected by caps; the closed <a href='SkPath_Overview#Contour'>contour</a> is affected by joins.
3755 Bottom row draws fill the same for open and closed <a href='SkPath_Overview#Contour'>contour</a>.
3758 …column shows inverse winding fills area outside both <a href='SkPath_Overview#Contour'>contours</a
3763a href='SkPath_Reference#SkPath'>SkPath</a> <a href='#SkCanvas_drawLine'>drawLine</a> <a href='#Sk…
3765 <a name='Draw_Image'></a>
3767a href='#SkCanvas_drawImage'>drawImage</a>, <a href='#SkCanvas_drawImageRect'>drawImageRect</a>, a…
3768 a <a href='undocumented#Smart_Pointer'>smart pointer</a> as a convenience. The pairs of calls are …
3770 <a name='SkCanvas_drawImage'></a>
3775a href='#SkCanvas_drawImage'>drawImage</a>(const <a href='SkImage_Reference#SkImage'>SkImage</a>* …
3778a href='SkImage_Reference#SkImage'>SkImage</a> <a href='#SkCanvas_drawImage_image'>image</a>, with…
3779a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, and optional <a href='SkPaint_Reference#SkPaint…
3781a href='#SkCanvas_drawImage_paint'>paint</a> is supplied, apply <a href='undocumented#SkColorFilte…
3782a href='undocumented#SkDrawLooper'>SkDrawLooper</a>. If <a href='#SkCanvas_drawImage_image'>image<…
3783a href='#SkCanvas_drawImage_paint'>paint</a> contains <a href='undocumented#SkMaskFilter'>SkMaskFi…
3784a href='#SkCanvas_drawImage_image'>image</a> bounds, replicate <a href='#SkCanvas_drawImage_image'…
3785a href='SkImage_Reference#SkImage'>SkImage</a>::<a href='#SkImage_makeShader'>makeShader</a> with …
3786 <a href='#SkCanvas_drawImage_image'>image</a> edge <a href='SkColor_Reference#Color'>color</a> when…
3790 <table> <tr> <td><a name='SkCanvas_drawImage_image'><code><strong>image</strong></code></a></td>
3793 <tr> <td><a name='SkCanvas_drawImage_left'><code><strong>left</strong></code></a></td>
3794 …<td><a href='#SkCanvas_drawImage_left'>left side</a> of <a href='#SkCanvas_drawImage_image'>image<…
3796 <tr> <td><a name='SkCanvas_drawImage_top'><code><strong>top</strong></code></a></td>
3797 …<td><a href='#SkCanvas_drawImage_top'>top</a> side of <a href='#SkCanvas_drawImage_image'>image</a
3799 <tr> <td><a name='SkCanvas_drawImage_paint'><code><strong>paint</strong></code></a></td>
3800a href='SkPaint_Reference#SkPaint'>SkPaint</a> containing <a href='SkBlendMode_Reference#SkBlendMo…
3812a href='#SkCanvas_drawBitmap'>drawBitmap</a> <a href='#SkCanvas_drawImageLattice'>drawImageLattice…
3814 <a name='SkCanvas_drawImage_2'></a>
3819a href='#SkCanvas_drawImage'>drawImage</a>(const <a href='undocumented#sk_sp'>sk_sp</a>&lt;<a href…
3820 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
3823a href='SkImage_Reference#SkImage'>SkImage</a> <a href='#SkCanvas_drawImage_2_image'>image</a>, wi…
3824a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, and optional <a href='SkPaint_Reference#SkPaint…
3826a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawImage_2_paint'>paint</a> is …
3827a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a>, and <a href='undocumented#SkDrawLooper…
3828a href='#SkCanvas_drawImage_2_paint'>paint</a> contains <a href='undocumented#SkMaskFilter'>SkMask…
3829a href='#SkCanvas_drawImage_2_image'>image</a> bounds, replicate <a href='#SkCanvas_drawImage_2_im…
3830a href='SkImage_Reference#SkImage'>SkImage</a>::<a href='#SkImage_makeShader'>makeShader</a> with …
3831 <a href='#SkCanvas_drawImage_2_image'>image</a> edge <a href='SkColor_Reference#Color'>color</a> wh…
3835 <table> <tr> <td><a name='SkCanvas_drawImage_2_image'><code><strong>image</strong></code></a></…
3838 <tr> <td><a name='SkCanvas_drawImage_2_left'><code><strong>left</strong></code></a></td>
3839 …<td><a href='#SkCanvas_drawImage_2_left'>left side</a> of <a href='#SkCanvas_drawImage_2_image'>im…
3841 <tr> <td><a name='SkCanvas_drawImage_2_top'><code><strong>top</strong></code></a></td>
3842 <td>pop side of <a href='#SkCanvas_drawImage_2_image'>image</a></td>
3844 <tr> <td><a name='SkCanvas_drawImage_2_paint'><code><strong>paint</strong></code></a></td>
3845a href='SkPaint_Reference#SkPaint'>SkPaint</a> containing <a href='SkBlendMode_Reference#SkBlendMo…
3857a href='#SkCanvas_drawBitmap'>drawBitmap</a> <a href='#SkCanvas_drawImageLattice'>drawImageLattice…
3859 <a name='SkCanvas_SrcRectConstraint'></a>
3864 enum <a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> {
3865 <a href='#SkCanvas_kStrict_SrcRectConstraint'>kStrict_SrcRectConstraint</a>,
3866 <a href='#SkCanvas_kFast_SrcRectConstraint'>kFast_SrcRectConstraint</a>,
3871 <a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> controls the behavior at the edge of so…
3872 provided to <a href='#SkCanvas_drawImageRect'>drawImageRect</a>, trading off speed for precision.
3874a href='#Image_Filter'>Image_Filter</a> in <a href='SkPaint_Reference#Paint'>Paint</a> may sample …
3875 restricts the bounds of pixels that may be read. <a href='#Image_Filter'>Image_Filter</a> may slow …
3876 …outside the bounds, when sampling near the edge of source <a href='SkRect_Reference#Rect'>Rect</a>.
3877 <a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> specifies whether an <a href='#Image_Fi…
3878 outside source <a href='SkRect_Reference#Rect'>Rect</a>.
3887 …id #dddddd; padding: 8px; '><a name='SkCanvas_kStrict_SrcRectConstraint'><code>SkCanvas::kStrict_S…
3890 Requires <a href='#Image_Filter'>Image_Filter</a> to respect source <a href='SkRect_Reference#Rect'…
3891 sampling only inside of its bounds, possibly with a performance penalty.
3895 …olid #dddddd; padding: 8px; '><a name='SkCanvas_kFast_SrcRectConstraint'><code>SkCanvas::kFast_Src…
3898 Permits <a href='#Image_Filter'>Image_Filter</a> to sample outside of source <a href='SkRect_Refere…
3899 by half the width of <a href='#Image_Filter'>Image_Filter</a>, permitting it to run faster but with
3900 error at the <a href='SkImage_Reference#Image'>image</a> edges.
3907 <div><fiddle-embed name="5df49d1f4da37275a1f10ef7f1a749f0"><div>redBorder contains a black and whit…
3909 The middle and right <a href='SkBitmap_Reference#Bitmap'>bitmaps</a> are filtered checkerboards.
3910 Drawing the checkerboard with <a href='#SkCanvas_kStrict_SrcRectConstraint'>kStrict_SrcRectConstrai…
3911 Drawing the checkerboard with <a href='#SkCanvas_kFast_SrcRectConstraint'>kFast_SrcRectConstraint</
3916a href='#SkCanvas_drawImageRect'>drawImageRect</a> <a href='#SkCanvas_drawImage'>drawImage</a> <a
3918 <a name='SkCanvas_drawImageRect'></a>
3923a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='SkImage_Reference#SkImage'>SkIma…
3924 …<a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStric…
3927a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_drawImageRect_src'>src</a> of <a hr…
3928a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, and optional <a href='SkPaint_Reference#SkPaint…
3930a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawImageRect_paint'>paint</a> i…
3931a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a>, and <a href='undocumented#SkDrawLooper…
3932a href='#SkCanvas_drawImageRect_paint'>paint</a> contains <a href='undocumented#SkMaskFilter'>SkMa…
3934 …sk extends beyond <a href='#SkCanvas_drawImageRect_image'>image</a> bounds, replicate <a href='#Sk…
3935a href='undocumented#SkShader'>SkShader</a> made from <a href='SkImage_Reference#SkImage'>SkImage<…
3936 replicates the <a href='#SkCanvas_drawImageRect_image'>image</a> edge <a href='SkColor_Reference#Co…
3938a href='#SkCanvas_drawImageRect_constraint'>constraint</a> set to <a href='#SkCanvas_kStrict_SrcRe…
3939 sample within <a href='#SkCanvas_drawImageRect_src'>src</a>; set to <a href='#SkCanvas_kFast_SrcRec…
3944 <table> <tr> <td><a name='SkCanvas_drawImageRect_image'><code><strong>image</strong></code></a>…
3945 … <td><a href='SkImage_Reference#SkImage'>SkImage</a> containing pixels, dimensions, and format</td>
3947 <tr> <td><a name='SkCanvas_drawImageRect_src'><code><strong>src</strong></code></a></td>
3948 …<td>source <a href='SkRect_Reference#SkRect'>SkRect</a> of <a href='#SkCanvas_drawImageRect_image'…
3950 <tr> <td><a name='SkCanvas_drawImageRect_dst'><code><strong>dst</strong></code></a></td>
3951 …<td>destination <a href='SkRect_Reference#SkRect'>SkRect</a> of <a href='#SkCanvas_drawImageRect_i…
3953 <tr> <td><a name='SkCanvas_drawImageRect_paint'><code><strong>paint</strong></code></a></td>
3954a href='SkPaint_Reference#SkPaint'>SkPaint</a> containing <a href='SkBlendMode_Reference#SkBlendMo…
3962 <table> <tr> <td><a name='SkCanvas_drawImageRect_constraint'><code><strong>constraint</strong><…
3963 <td>filter strictly within <a href='#SkCanvas_drawImageRect_src'>src</a> or draw faster</td>
3969a href='SkBitmap_Reference#Bitmap'>bitmap</a> draws with <a href='SkPaint_Reference#Paint'>Paint</
3970 its bounds; there is no bleeding with <a href='#SkCanvas_kFast_SrcRectConstraint'>kFast_SrcRectCons…
3971 …le and right <a href='SkBitmap_Reference#Bitmap'>bitmaps</a> draw with <a href='undocumented#kLow_…
3972 <a href='#SkCanvas_kStrict_SrcRectConstraint'>kStrict_SrcRectConstraint</a>, the filter remains wit…
3973 with <a href='#SkCanvas_kFast_SrcRectConstraint'>kFast_SrcRectConstraint</a> red bleeds on the edge…
3978a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> <a href='#SkCanvas_drawImage'>drawImage…
3980 <a name='SkCanvas_drawImageRect_2'></a>
3985a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='SkImage_Reference#SkImage'>SkIma…
3986 …<a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStric…
3989a href='SkIRect_Reference#SkIRect'>SkIRect</a> <a href='#SkCanvas_drawImageRect_2_isrc'>isrc</a> o…
3990a href='#SkCanvas_drawImageRect_2_isrc'>isrc</a> is on integer <a href='undocumented#Pixel'>pixel<…
3991 …rm draw using clip, <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, and optional <a href='SkPa…
3992 <a href='#SkCanvas_drawImageRect_2_paint'>paint</a>.
3994a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawImageRect_2_paint'>paint</a>…
3995a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a>, and <a href='undocumented#SkDrawLooper…
3996a href='#SkCanvas_drawImageRect_2_paint'>paint</a> contains <a href='undocumented#SkMaskFilter'>Sk…
3998 … extends beyond <a href='#SkCanvas_drawImageRect_2_image'>image</a> bounds, replicate <a href='#Sk…
3999a href='undocumented#SkShader'>SkShader</a> made from <a href='SkImage_Reference#SkImage'>SkImage<…
4000 replicates the <a href='#SkCanvas_drawImageRect_2_image'>image</a> edge <a href='SkColor_Reference#…
4002a href='#SkCanvas_drawImageRect_2_constraint'>constraint</a> set to <a href='#SkCanvas_kStrict_Src…
4003 …mple within <a href='#SkCanvas_drawImageRect_2_isrc'>isrc</a>; set to <a href='#SkCanvas_kFast_Src…
4008 <table> <tr> <td><a name='SkCanvas_drawImageRect_2_image'><code><strong>image</strong></code></
4009 … <td><a href='SkImage_Reference#SkImage'>SkImage</a> containing pixels, dimensions, and format</td>
4011 <tr> <td><a name='SkCanvas_drawImageRect_2_isrc'><code><strong>isrc</strong></code></a></td>
4012 …<td>source <a href='SkIRect_Reference#SkIRect'>SkIRect</a> of <a href='#SkCanvas_drawImageRect_2_i…
4014 <tr> <td><a name='SkCanvas_drawImageRect_2_dst'><code><strong>dst</strong></code></a></td>
4015 …<td>destination <a href='SkRect_Reference#SkRect'>SkRect</a> of <a href='#SkCanvas_drawImageRect_2…
4017 <tr> <td><a name='SkCanvas_drawImageRect_2_paint'><code><strong>paint</strong></code></a></td>
4018a href='SkPaint_Reference#SkPaint'>SkPaint</a> containing <a href='SkBlendMode_Reference#SkBlendMo…
4026 <table> <tr> <td><a name='SkCanvas_drawImageRect_2_constraint'><code><strong>constraint</strong…
4027 <td>filter strictly within <a href='#SkCanvas_drawImageRect_2_isrc'>isrc</a> or draw faster</td>
4037a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> <a href='#SkCanvas_drawImage'>drawImage…
4039 <a name='SkCanvas_drawImageRect_3'></a>
4044a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='SkImage_Reference#SkImage'>SkIma…
4047a href='SkImage_Reference#SkImage'>SkImage</a> <a href='#SkCanvas_drawImageRect_3_image'>image</a>…
4048 and optional <a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawImageRect_3_pai…
4050a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawImageRect_3_paint'>paint</a>…
4051a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a>, and <a href='undocumented#SkDrawLooper…
4052a href='#SkCanvas_drawImageRect_3_paint'>paint</a> contains <a href='undocumented#SkMaskFilter'>Sk…
4054 … extends beyond <a href='#SkCanvas_drawImageRect_3_image'>image</a> bounds, replicate <a href='#Sk…
4055a href='undocumented#SkShader'>SkShader</a> made from <a href='SkImage_Reference#SkImage'>SkImage<…
4056 replicates the <a href='#SkCanvas_drawImageRect_3_image'>image</a> edge <a href='SkColor_Reference#…
4060 <table> <tr> <td><a name='SkCanvas_drawImageRect_3_image'><code><strong>image</strong></code></
4061 … <td><a href='SkImage_Reference#SkImage'>SkImage</a> containing pixels, dimensions, and format</td>
4063 <tr> <td><a name='SkCanvas_drawImageRect_3_dst'><code><strong>dst</strong></code></a></td>
4064 …<td>destination <a href='SkRect_Reference#SkRect'>SkRect</a> of <a href='#SkCanvas_drawImageRect_3…
4066 <tr> <td><a name='SkCanvas_drawImageRect_3_paint'><code><strong>paint</strong></code></a></td>
4067a href='SkPaint_Reference#SkPaint'>SkPaint</a> containing <a href='SkBlendMode_Reference#SkBlendMo…
4079a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> <a href='#SkCanvas_drawImage'>drawImage…
4081 <a name='SkCanvas_drawImageRect_4'></a>
4086a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='undocumented#sk_sp'>sk_sp</a>&lt…
4087a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>, <a hr…
4090a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_drawImageRect_4_src'>src</a> of <a
4091a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, and optional <a href='SkPaint_Reference#SkPaint…
4093a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawImageRect_4_paint'>paint</a>…
4094a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a>, and <a href='undocumented#SkDrawLooper…
4095a href='#SkCanvas_drawImageRect_4_paint'>paint</a> contains <a href='undocumented#SkMaskFilter'>Sk…
4097 … extends beyond <a href='#SkCanvas_drawImageRect_4_image'>image</a> bounds, replicate <a href='#Sk…
4098a href='undocumented#SkShader'>SkShader</a> made from <a href='SkImage_Reference#SkImage'>SkImage<…
4099 replicates the <a href='#SkCanvas_drawImageRect_4_image'>image</a> edge <a href='SkColor_Reference#…
4103 <table> <tr> <td><a name='SkCanvas_drawImageRect_4_image'><code><strong>image</strong></code></
4104 … <td><a href='SkImage_Reference#SkImage'>SkImage</a> containing pixels, dimensions, and format</td>
4106 <tr> <td><a name='SkCanvas_drawImageRect_4_src'><code><strong>src</strong></code></a></td>
4107 …<td>source <a href='SkRect_Reference#SkRect'>SkRect</a> of <a href='#SkCanvas_drawImageRect_4_imag…
4109 <tr> <td><a name='SkCanvas_drawImageRect_4_dst'><code><strong>dst</strong></code></a></td>
4110 …<td>destination <a href='SkRect_Reference#SkRect'>SkRect</a> of <a href='#SkCanvas_drawImageRect_4…
4112 <tr> <td><a name='SkCanvas_drawImageRect_4_paint'><code><strong>paint</strong></code></a></td>
4113a href='SkPaint_Reference#SkPaint'>SkPaint</a> containing <a href='SkBlendMode_Reference#SkBlendMo…
4121 <table> <tr> <td><a name='SkCanvas_drawImageRect_4_constraint'><code><strong>constraint</strong…
4122 <td>filter strictly within <a href='#SkCanvas_drawImageRect_4_src'>src</a> or draw faster</td>
4128a href='SkCanvas_Reference#Canvas'>Canvas</a> scales and translates; transformation from <a href='…
4129 The two <a href='SkMatrix_Reference#Matrix'>matrices</a> are concatenated to create the final trans…
4134a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> <a href='#SkCanvas_drawImage'>drawImage…
4136 <a name='SkCanvas_drawImageRect_5'></a>
4141a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='undocumented#sk_sp'>sk_sp</a>&lt…
4142a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>, <a hr…
4145a href='SkIRect_Reference#SkIRect'>SkIRect</a> <a href='#SkCanvas_drawImageRect_5_isrc'>isrc</a> o…
4146a href='#SkCanvas_drawImageRect_5_isrc'>isrc</a> is on integer <a href='undocumented#Pixel'>pixel<…
4147a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, and optional <a href='SkPaint_Reference#SkPaint…
4149a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawImageRect_5_paint'>paint</a>…
4150a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a>, and <a href='undocumented#SkDrawLooper…
4151a href='#SkCanvas_drawImageRect_5_paint'>paint</a> contains <a href='undocumented#SkMaskFilter'>Sk…
4153 … extends beyond <a href='#SkCanvas_drawImageRect_5_image'>image</a> bounds, replicate <a href='#Sk…
4154a href='undocumented#SkShader'>SkShader</a> made from <a href='SkImage_Reference#SkImage'>SkImage<…
4155 replicates the <a href='#SkCanvas_drawImageRect_5_image'>image</a> edge <a href='SkColor_Reference#…
4157a href='#SkCanvas_drawImageRect_5_constraint'>constraint</a> set to <a href='#SkCanvas_kStrict_Src…
4158 …ple within <a href='#SkCanvas_drawImageRect_5_image'>image</a>; set to <a href='#SkCanvas_kFast_Sr…
4163 <table> <tr> <td><a name='SkCanvas_drawImageRect_5_image'><code><strong>image</strong></code></
4164 … <td><a href='SkImage_Reference#SkImage'>SkImage</a> containing pixels, dimensions, and format</td>
4166 <tr> <td><a name='SkCanvas_drawImageRect_5_isrc'><code><strong>isrc</strong></code></a></td>
4167 …<td>source <a href='SkIRect_Reference#SkIRect'>SkIRect</a> of <a href='#SkCanvas_drawImageRect_5_i…
4169 <tr> <td><a name='SkCanvas_drawImageRect_5_dst'><code><strong>dst</strong></code></a></td>
4170 …<td>destination <a href='SkRect_Reference#SkRect'>SkRect</a> of <a href='#SkCanvas_drawImageRect_5…
4172 <tr> <td><a name='SkCanvas_drawImageRect_5_paint'><code><strong>paint</strong></code></a></td>
4173a href='SkPaint_Reference#SkPaint'>SkPaint</a> containing <a href='SkBlendMode_Reference#SkBlendMo…
4181 <table> <tr> <td><a name='SkCanvas_drawImageRect_5_constraint'><code><strong>constraint</strong…
4182 … <td>filter strictly within <a href='#SkCanvas_drawImageRect_5_image'>image</a> or draw faster</td>
4192a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> <a href='#SkCanvas_drawImage'>drawImage…
4194 <a name='SkCanvas_drawImageRect_6'></a>
4199a href='#SkCanvas_drawImageRect'>drawImageRect</a>(const <a href='undocumented#sk_sp'>sk_sp</a>&lt…
4202a href='SkImage_Reference#SkImage'>SkImage</a> <a href='#SkCanvas_drawImageRect_6_image'>image</a>…
4203a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, and optional <a href='SkPaint_Reference#SkPaint…
4205a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawImageRect_6_paint'>paint</a>…
4206a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a>, and <a href='undocumented#SkDrawLooper…
4207a href='#SkCanvas_drawImageRect_6_paint'>paint</a> contains <a href='undocumented#SkMaskFilter'>Sk…
4209 … extends beyond <a href='#SkCanvas_drawImageRect_6_image'>image</a> bounds, replicate <a href='#Sk…
4210a href='undocumented#SkShader'>SkShader</a> made from <a href='SkImage_Reference#SkImage'>SkImage<…
4211 replicates the <a href='#SkCanvas_drawImageRect_6_image'>image</a> edge <a href='SkColor_Reference#…
4213a href='#SkCanvas_kStrict_SrcRectConstraint'>kStrict_SrcRectConstraint</a> limits <a href='SkPaint…
4214 …ple within <a href='#SkCanvas_drawImageRect_6_image'>image</a>; set to <a href='#SkCanvas_kFast_Sr…
4219 <table> <tr> <td><a name='SkCanvas_drawImageRect_6_image'><code><strong>image</strong></code></
4220 … <td><a href='SkImage_Reference#SkImage'>SkImage</a> containing pixels, dimensions, and format</td>
4222 <tr> <td><a name='SkCanvas_drawImageRect_6_dst'><code><strong>dst</strong></code></a></td>
4223 …<td>destination <a href='SkRect_Reference#SkRect'>SkRect</a> of <a href='#SkCanvas_drawImageRect_6…
4225 <tr> <td><a name='SkCanvas_drawImageRect_6_paint'><code><strong>paint</strong></code></a></td>
4226a href='SkPaint_Reference#SkPaint'>SkPaint</a> containing <a href='SkBlendMode_Reference#SkBlendMo…
4238a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> <a href='#SkCanvas_drawImage'>drawImage…
4240 <a name='SkCanvas_drawImageNine'></a>
4245a href='#SkCanvas_drawImageNine'>drawImageNine</a>(const <a href='SkImage_Reference#SkImage'>SkIma…
4246 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
4249a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageNine_image'>image</a> stret…
4250a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_drawImageNine_center'>center</a> div…
4251 the <a href='#SkCanvas_drawImageNine_center'>center</a>. Corners are unmodified or scaled down prop…
4252 are larger than <a href='#SkCanvas_drawImageNine_dst'>dst</a>; <a href='#SkCanvas_drawImageNine_cen…
4254a href='SkMatrix_Reference#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Pain…
4255a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageNine_paint'>paint</a> is su…
4256a href='#Blend_Mode'>Blend_Mode</a>, and <a href='#Draw_Looper'>Draw_Looper</a>. If image is <a hr…
4257a href='#SkCanvas_drawImageNine_paint'>paint</a> contains <a href='#Mask_Filter'>Mask_Filter</a>, …
4258a href='#Filter_Quality'>Filter_Quality</a> set to <a href='undocumented#kNone_SkFilterQuality'>kN…
4259a href='#SkCanvas_drawImageNine_paint'>paint</a> <a href='#Filter_Quality'>Filter_Quality</a>, use…
4260a href='undocumented#SkMaskFilter'>SkMaskFilter</a> on <a href='#SkCanvas_drawImageNine_paint'>pai…
4261 …sk extends beyond <a href='#SkCanvas_drawImageNine_image'>image</a> bounds, replicate <a href='#Sk…
4262a href='undocumented#Shader'>Shader</a> made from <a href='SkImage_Reference#SkImage'>SkImage</a>:…
4263 replicates the <a href='#SkCanvas_drawImageNine_image'>image</a> edge <a href='SkColor_Reference#Co…
4267 <table> <tr> <td><a name='SkCanvas_drawImageNine_image'><code><strong>image</strong></code></a>…
4268 <td><a href='SkImage_Reference#Image'>Image</a> containing pixels, dimensions, and format</td>
4270 <tr> <td><a name='SkCanvas_drawImageNine_center'><code><strong>center</strong></code></a></td>
4271 …<td><a href='SkIRect_Reference#IRect'>IRect</a> edge of <a href='#SkCanvas_drawImageNine_image'>im…
4273 <tr> <td><a name='SkCanvas_drawImageNine_dst'><code><strong>dst</strong></code></a></td>
4274 …<td>destination <a href='SkRect_Reference#Rect'>Rect</a> of <a href='#SkCanvas_drawImageNine_image…
4276 <tr> <td><a name='SkCanvas_drawImageNine_paint'><code><strong>paint</strong></code></a></td>
4277a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='#Blend_Mode'>Blend_Mode</a>, <a hre…
4285 …<div>The leftmost <a href='#SkCanvas_drawImageNine_image'>image</a> is smaller than <a href='#SkCa…
4286 …<a href='#SkCanvas_drawImageNine_image'>image</a> equals the <a href='undocumented#Size'>size</a> …
4287 The remaining images are larger than <a href='#SkCanvas_drawImageNine_center'>center</a>. All corne…
4288 The sides and <a href='#SkCanvas_drawImageNine_center'>center</a> are scaled if needed to take up t…
4293a href='#SkCanvas_drawImage'>drawImage</a> <a href='#SkCanvas_drawBitmapNine'>drawBitmapNine</a> <
4295 <a name='SkCanvas_drawImageNine_2'></a>
4300a href='#SkCanvas_drawImageNine'>drawImageNine</a>(const <a href='undocumented#sk_sp'>sk_sp</a>&lt…
4301 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
4304a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageNine_2_image'>image</a> str…
4305a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_drawImageNine_2_center'>center</a> d…
4306 the <a href='#SkCanvas_drawImageNine_2_center'>center</a>. Corners are not scaled, or scaled down p…
4307 are larger than <a href='#SkCanvas_drawImageNine_2_dst'>dst</a>; <a href='#SkCanvas_drawImageNine_2…
4309a href='SkMatrix_Reference#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Pain…
4310a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageNine_2_paint'>paint</a> is …
4311a href='#Blend_Mode'>Blend_Mode</a>, and <a href='#Draw_Looper'>Draw_Looper</a>. If image is <a hr…
4312a href='#SkCanvas_drawImageNine_2_paint'>paint</a> contains <a href='#Mask_Filter'>Mask_Filter</a>…
4313a href='#Filter_Quality'>Filter_Quality</a> set to <a href='undocumented#kNone_SkFilterQuality'>kN…
4314a href='#SkCanvas_drawImageNine_2_paint'>paint</a> <a href='#Filter_Quality'>Filter_Quality</a>, u…
4315a href='undocumented#SkMaskFilter'>SkMaskFilter</a> on <a href='#SkCanvas_drawImageNine_2_paint'>p…
4316 … extends beyond <a href='#SkCanvas_drawImageNine_2_image'>image</a> bounds, replicate <a href='#Sk…
4317a href='undocumented#Shader'>Shader</a> made from <a href='SkImage_Reference#SkImage'>SkImage</a>:…
4318 replicates the <a href='#SkCanvas_drawImageNine_2_image'>image</a> edge <a href='SkColor_Reference#…
4322 <table> <tr> <td><a name='SkCanvas_drawImageNine_2_image'><code><strong>image</strong></code></
4323 <td><a href='SkImage_Reference#Image'>Image</a> containing pixels, dimensions, and format</td>
4325 …<tr> <td><a name='SkCanvas_drawImageNine_2_center'><code><strong>center</strong></code></a></td>
4326 …<td><a href='SkIRect_Reference#IRect'>IRect</a> edge of <a href='#SkCanvas_drawImageNine_2_image'>…
4328 <tr> <td><a name='SkCanvas_drawImageNine_2_dst'><code><strong>dst</strong></code></a></td>
4329 …<td>destination <a href='SkRect_Reference#Rect'>Rect</a> of <a href='#SkCanvas_drawImageNine_2_ima…
4331 <tr> <td><a name='SkCanvas_drawImageNine_2_paint'><code><strong>paint</strong></code></a></td>
4332a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='#Blend_Mode'>Blend_Mode</a>, <a hre…
4340 …s four corners and sides to the left and right of <a href='#SkCanvas_drawImageNine_2_center'>cente…
4341 The leftmost <a href='#SkCanvas_drawImageNine_2_image'>image</a> scales the width of corners propor…
4342 …urth <a href='#SkCanvas_drawImageNine_2_image'>image</a> corners are not scaled; the sides and <a
4344 The rightmost <a href='#SkCanvas_drawImageNine_2_image'>image</a> has four corners scaled verticall…
4345 and below <a href='#SkCanvas_drawImageNine_2_center'>center</a> to fill the remaining space.
4350a href='#SkCanvas_drawImage'>drawImage</a> <a href='#SkCanvas_drawBitmapNine'>drawBitmapNine</a> <
4352 <a name='SkCanvas_drawBitmap'></a>
4357a href='#SkCanvas_drawBitmap'>drawBitmap</a>(const <a href='SkBitmap_Reference#SkBitmap'>SkBitmap<…
4360a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a> <a href='#SkCanvas_drawBitmap_bitmap'>bitmap</a>…
4361a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, and optional <a href='SkPaint_Reference#SkPaint…
4363a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawBitmap_paint'>paint</a> is n…
4364a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a>, and <a href='undocumented#SkDrawLooper…
4365a href='#SkCanvas_drawBitmap_paint'>paint</a> contains <a href='undocumented#SkMaskFilter'>SkMaskF…
4367 …ask extends beyond <a href='#SkCanvas_drawBitmap_bitmap'>bitmap</a> bounds, replicate <a href='#Sk…
4368a href='undocumented#SkShader'>SkShader</a> made from <a href='undocumented#SkShader'>SkShader</a>…
4369a href='undocumented#SkShader'>SkShader</a>::<a href='#SkShader_kClamp_TileMode'>kClamp_TileMode</
4374 <table> <tr> <td><a name='SkCanvas_drawBitmap_bitmap'><code><strong>bitmap</strong></code></a><…
4375 …<td><a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a> containing pixels, dimensions, and format</…
4377 <tr> <td><a name='SkCanvas_drawBitmap_left'><code><strong>left</strong></code></a></td>
4378 …<td><a href='#SkCanvas_drawBitmap_left'>left side</a> of <a href='#SkCanvas_drawBitmap_bitmap'>bit…
4380 <tr> <td><a name='SkCanvas_drawBitmap_top'><code><strong>top</strong></code></a></td>
4381 …<td><a href='#SkCanvas_drawBitmap_top'>top</a> side of <a href='#SkCanvas_drawBitmap_bitmap'>bitma…
4383 <tr> <td><a name='SkCanvas_drawBitmap_paint'><code><strong>paint</strong></code></a></td>
4384a href='SkPaint_Reference#SkPaint'>SkPaint</a> containing <a href='SkBlendMode_Reference#SkBlendMo…
4396a href='#SkCanvas_drawImage'>drawImage</a> <a href='#SkCanvas_drawBitmapLattice'>drawBitmapLattice…
4398 <a name='SkCanvas_drawBitmapRect'></a>
4403a href='#SkCanvas_drawBitmapRect'>drawBitmapRect</a>(const <a href='SkBitmap_Reference#SkBitmap'>S…
4404a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>, <a hr…
4407a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_drawBitmapRect_src'>src</a> of <a h…
4408a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, and optional <a href='SkPaint_Reference#SkPaint…
4410a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawBitmapRect_paint'>paint</a> …
4411a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a>, and <a href='undocumented#SkDrawLooper…
4412a href='#SkCanvas_drawBitmapRect_paint'>paint</a> contains <a href='undocumented#SkMaskFilter'>SkM…
4414 …extends beyond <a href='#SkCanvas_drawBitmapRect_bitmap'>bitmap</a> bounds, replicate <a href='#Sk…
4415a href='undocumented#SkShader'>SkShader</a> made from <a href='undocumented#SkShader'>SkShader</a>…
4416a href='undocumented#SkShader'>SkShader</a>::<a href='#SkShader_kClamp_TileMode'>kClamp_TileMode</
4419a href='#SkCanvas_drawBitmapRect_constraint'>constraint</a> set to <a href='#SkCanvas_kStrict_SrcR…
4420 …ample within <a href='#SkCanvas_drawBitmapRect_src'>src</a>; set to <a href='#SkCanvas_kFast_SrcRe…
4425 <table> <tr> <td><a name='SkCanvas_drawBitmapRect_bitmap'><code><strong>bitmap</strong></code><…
4426 …<td><a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a> containing pixels, dimensions, and format</…
4428 <tr> <td><a name='SkCanvas_drawBitmapRect_src'><code><strong>src</strong></code></a></td>
4429 …<td>source <a href='SkRect_Reference#SkRect'>SkRect</a> of <a href='SkImage_Reference#Image'>image…
4431 <tr> <td><a name='SkCanvas_drawBitmapRect_dst'><code><strong>dst</strong></code></a></td>
4432 …<td>destination <a href='SkRect_Reference#SkRect'>SkRect</a> of <a href='SkImage_Reference#Image'>…
4434 <tr> <td><a name='SkCanvas_drawBitmapRect_paint'><code><strong>paint</strong></code></a></td>
4435a href='SkPaint_Reference#SkPaint'>SkPaint</a> containing <a href='SkBlendMode_Reference#SkBlendMo…
4443 <table> <tr> <td><a name='SkCanvas_drawBitmapRect_constraint'><code><strong>constraint</strong>…
4444 <td>filter strictly within <a href='#SkCanvas_drawBitmapRect_src'>src</a> or draw faster</td>
4454a href='#SkCanvas_drawImageRect'>drawImageRect</a> <a href='#SkCanvas_drawBitmap'>drawBitmap</a> <
4456 <a name='SkCanvas_drawBitmapRect_2'></a>
4461a href='#SkCanvas_drawBitmapRect'>drawBitmapRect</a>(const <a href='SkBitmap_Reference#SkBitmap'>S…
4462a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>, <a hr…
4465a href='SkIRect_Reference#SkIRect'>SkIRect</a> <a href='#SkCanvas_drawBitmapRect_2_isrc'>isrc</a> …
4466a href='#SkCanvas_drawBitmapRect_2_isrc'>isrc</a> is on integer <a href='undocumented#Pixel'>pixel…
4467a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, and optional <a href='SkPaint_Reference#SkPaint…
4469a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawBitmapRect_2_paint'>paint</a
4470a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a>, and <a href='undocumented#SkDrawLooper…
4471a href='#SkCanvas_drawBitmapRect_2_paint'>paint</a> contains <a href='undocumented#SkMaskFilter'>S…
4473 …tends beyond <a href='#SkCanvas_drawBitmapRect_2_bitmap'>bitmap</a> bounds, replicate <a href='#Sk…
4474a href='undocumented#SkShader'>SkShader</a> made from <a href='undocumented#SkShader'>SkShader</a>…
4475a href='undocumented#SkShader'>SkShader</a>::<a href='#SkShader_kClamp_TileMode'>kClamp_TileMode</
4478a href='#SkCanvas_drawBitmapRect_2_constraint'>constraint</a> set to <a href='#SkCanvas_kStrict_Sr…
4479 …ple within <a href='#SkCanvas_drawBitmapRect_2_isrc'>isrc</a>; set to <a href='#SkCanvas_kFast_Src…
4484 <table> <tr> <td><a name='SkCanvas_drawBitmapRect_2_bitmap'><code><strong>bitmap</strong></code…
4485 …<td><a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a> containing pixels, dimensions, and format</…
4487 <tr> <td><a name='SkCanvas_drawBitmapRect_2_isrc'><code><strong>isrc</strong></code></a></td>
4488 …<td>source <a href='SkIRect_Reference#SkIRect'>SkIRect</a> of <a href='SkImage_Reference#Image'>im…
4490 <tr> <td><a name='SkCanvas_drawBitmapRect_2_dst'><code><strong>dst</strong></code></a></td>
4491 …<td>destination <a href='SkRect_Reference#SkRect'>SkRect</a> of <a href='SkImage_Reference#Image'>…
4493 <tr> <td><a name='SkCanvas_drawBitmapRect_2_paint'><code><strong>paint</strong></code></a></td>
4494a href='SkPaint_Reference#SkPaint'>SkPaint</a> containing <a href='SkBlendMode_Reference#SkBlendMo…
4502 <table> <tr> <td><a name='SkCanvas_drawBitmapRect_2_constraint'><code><strong>constraint</stron…
4503 … <td>sample strictly within <a href='#SkCanvas_drawBitmapRect_2_isrc'>isrc</a>, or draw faster</td>
4513a href='#SkCanvas_drawImageRect'>drawImageRect</a> <a href='#SkCanvas_drawBitmap'>drawBitmap</a> <
4515 <a name='SkCanvas_drawBitmapRect_3'></a>
4520a href='#SkCanvas_drawBitmapRect'>drawBitmapRect</a>(const <a href='SkBitmap_Reference#SkBitmap'>S…
4521 …<a href='#SkCanvas_SrcRectConstraint'>SrcRectConstraint</a> constraint = <a href='#SkCanvas_kStric…
4524a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a> <a href='#SkCanvas_drawBitmapRect_3_bitmap'>bitm…
4525a href='#SkCanvas_drawBitmapRect_3_bitmap'>bitmap</a> bounds is on integer <a href='undocumented#P…
4526a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, and optional <a href='SkPaint_Reference#SkPaint…
4528a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawBitmapRect_3_paint'>paint</a
4529a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a>, and <a href='undocumented#SkDrawLooper…
4530a href='#SkCanvas_drawBitmapRect_3_paint'>paint</a> contains <a href='undocumented#SkMaskFilter'>S…
4532 …tends beyond <a href='#SkCanvas_drawBitmapRect_3_bitmap'>bitmap</a> bounds, replicate <a href='#Sk…
4533a href='undocumented#SkShader'>SkShader</a> made from <a href='undocumented#SkShader'>SkShader</a>…
4534a href='undocumented#SkShader'>SkShader</a>::<a href='#SkShader_kClamp_TileMode'>kClamp_TileMode</
4537a href='#SkCanvas_drawBitmapRect_3_constraint'>constraint</a> set to <a href='#SkCanvas_kStrict_Sr…
4538 …e within <a href='#SkCanvas_drawBitmapRect_3_bitmap'>bitmap</a>; set to <a href='#SkCanvas_kFast_S…
4543 <table> <tr> <td><a name='SkCanvas_drawBitmapRect_3_bitmap'><code><strong>bitmap</strong></code…
4544 …<td><a href='SkBitmap_Reference#SkBitmap'>SkBitmap</a> containing pixels, dimensions, and format</…
4546 <tr> <td><a name='SkCanvas_drawBitmapRect_3_dst'><code><strong>dst</strong></code></a></td>
4547 …<td>destination <a href='SkRect_Reference#SkRect'>SkRect</a> of <a href='SkImage_Reference#Image'>…
4549 <tr> <td><a name='SkCanvas_drawBitmapRect_3_paint'><code><strong>paint</strong></code></a></td>
4550a href='SkPaint_Reference#SkPaint'>SkPaint</a> containing <a href='SkBlendMode_Reference#SkBlendMo…
4558 <table> <tr> <td><a name='SkCanvas_drawBitmapRect_3_constraint'><code><strong>constraint</stron…
4559 …<td>filter strictly within <a href='#SkCanvas_drawBitmapRect_3_bitmap'>bitmap</a> or draw faster</…
4569a href='#SkCanvas_drawImageRect'>drawImageRect</a> <a href='#SkCanvas_drawBitmap'>drawBitmap</a> <
4571 <a name='SkCanvas_drawBitmapNine'></a>
4576a href='#SkCanvas_drawBitmapNine'>drawBitmapNine</a>(const <a href='SkBitmap_Reference#SkBitmap'>S…
4577 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
4580a href='SkBitmap_Reference#Bitmap'>Bitmap</a> <a href='#SkCanvas_drawBitmapNine_bitmap'>bitmap</a>…
4581a href='SkIRect_Reference#IRect'>IRect</a> <a href='#SkCanvas_drawBitmapNine_center'>center</a> di…
4582 and the <a href='#SkCanvas_drawBitmapNine_center'>center</a>. Corners are not scaled, or scaled dow…
4583 sides are larger than <a href='#SkCanvas_drawBitmapNine_dst'>dst</a>; <a href='#SkCanvas_drawBitmap…
4586a href='SkMatrix_Reference#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Pain…
4587a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawBitmapNine_paint'>paint</a> is s…
4588a href='#Blend_Mode'>Blend_Mode</a>, and <a href='#Draw_Looper'>Draw_Looper</a>. If bitmap is <a h…
4589a href='#SkCanvas_drawBitmapNine_paint'>paint</a> contains <a href='#Mask_Filter'>Mask_Filter</a>,…
4590a href='#Filter_Quality'>Filter_Quality</a> set to <a href='undocumented#kNone_SkFilterQuality'>kN…
4591a href='#SkCanvas_drawBitmapNine_paint'>paint</a> <a href='#Filter_Quality'>Filter_Quality</a>, us…
4592a href='undocumented#SkMaskFilter'>SkMaskFilter</a> on <a href='#SkCanvas_drawBitmapNine_paint'>pa…
4593 …extends beyond <a href='#SkCanvas_drawBitmapNine_bitmap'>bitmap</a> bounds, replicate <a href='#Sk…
4594a href='undocumented#Shader'>Shader</a> made from <a href='undocumented#SkShader'>SkShader</a>::<a
4595a href='undocumented#SkShader'>SkShader</a>::<a href='#SkShader_kClamp_TileMode'>kClamp_TileMode</
4600 <table> <tr> <td><a name='SkCanvas_drawBitmapNine_bitmap'><code><strong>bitmap</strong></code><…
4601 … <td><a href='SkBitmap_Reference#Bitmap'>Bitmap</a> containing pixels, dimensions, and format</td>
4603 <tr> <td><a name='SkCanvas_drawBitmapNine_center'><code><strong>center</strong></code></a></td>
4604 …<td><a href='SkIRect_Reference#IRect'>IRect</a> edge of <a href='SkImage_Reference#Image'>image</a
4606 <tr> <td><a name='SkCanvas_drawBitmapNine_dst'><code><strong>dst</strong></code></a></td>
4607 …<td>destination <a href='SkRect_Reference#Rect'>Rect</a> of <a href='SkImage_Reference#Image'>imag…
4609 <tr> <td><a name='SkCanvas_drawBitmapNine_paint'><code><strong>paint</strong></code></a></td>
4610a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='#Blend_Mode'>Blend_Mode</a>, <a hre…
4618a href='#SkCanvas_drawBitmapNine_bitmap'>bitmap</a> draws has four corners and sides to the left a…
4619 The leftmost <a href='SkBitmap_Reference#Bitmap_Draw'>bitmap draw</a> scales the width of corners …
4620 …fourth draw corners are not scaled; the sides and <a href='#SkCanvas_drawBitmapNine_center'>center…
4622 The rightmost <a href='SkBitmap_Reference#Bitmap_Draw'>bitmap draw</a> has four corners scaled ver…
4623 and below <a href='#SkCanvas_drawBitmapNine_center'>center</a> to fill the remaining space.
4628a href='#SkCanvas_drawImageNine'>drawImageNine</a> <a href='#SkCanvas_drawBitmap'>drawBitmap</a> <
4630 <a name='Draw_Image_Lattice'></a>
4632 <a name='SkCanvas_Lattice'></a>
4637 struct <a href='#SkCanvas_Lattice'>Lattice</a> {
4639 enum <a href='#SkCanvas_Lattice_RectType'>RectType</a> : uint8_t {
4640 <a href='#SkCanvas_Lattice_kDefault'>kDefault</a> = 0,
4641 <a href='#SkCanvas_Lattice_kTransparent'>kTransparent</a>,
4642 <a href='#SkCanvas_Lattice_kFixedColor'>kFixedColor</a>,
4645 const int* <a href='#SkCanvas_Lattice_fXDivs'>fXDivs</a>;
4646 const int* <a href='#SkCanvas_Lattice_fYDivs'>fYDivs</a>;
4647 …const <a href='#SkCanvas_Lattice_RectType'>RectType</a>* <a href='#SkCanvas_Lattice_fRectTypes'>fR…
4648 int <a href='#SkCanvas_Lattice_fXCount'>fXCount</a>;
4649 int <a href='#SkCanvas_Lattice_fYCount'>fYCount</a>;
4650 …const <a href='SkIRect_Reference#SkIRect'>SkIRect</a>* <a href='#SkCanvas_Lattice_fBounds'>fBounds…
4651 …const <a href='SkColor_Reference#SkColor'>SkColor</a>* <a href='#SkCanvas_Lattice_fColors'>fColors…
4656 <a href='#SkCanvas_Lattice'>Lattice</a> divides <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> or <
4658 always drawn at their original <a href='undocumented#Size'>size</a> if the destination is large eno…
4664 <a name='SkCanvas_Lattice_RectType'></a>
4669 enum <a href='#SkCanvas_Lattice_RectType'>RectType</a> : uint8_t {
4670 <a href='#SkCanvas_Lattice_kDefault'>kDefault</a> = 0,
4671 <a href='#SkCanvas_Lattice_kTransparent'>kTransparent</a>,
4672 <a href='#SkCanvas_Lattice_kFixedColor'>kFixedColor</a>,
4678 or to fill the grid entry with a <a href='SkColor_Reference#Color'>color</a>.
4687 … 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_Lattice_kDefault'><code>SkCanvas::Lattice::k…
4693 … solid #dddddd; padding: 8px; '><a name='SkCanvas_Lattice_kTransparent'><code>SkCanvas::Lattice::k…
4699 …x solid #dddddd; padding: 8px; '><a name='SkCanvas_Lattice_kFixedColor'><code>SkCanvas::Lattice::k…
4706 <a name='Draw_Image_Lattice_Members'></a><table style='border-collapse: collapse; width: 62.5em'>
4713 …eft; border: 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_Lattice_fXDivs'><code>fXDivs</co…
4715 Array of x-axis values that divide the <a href='SkBitmap_Reference#Bitmap'>bitmap</a> vertically.
4717 <a href='#SkCanvas_Lattice_fBounds'>fBounds</a> left edge, and less than <a href='#SkCanvas_Lattice…
4718 Set the first element to <a href='#SkCanvas_Lattice_fBounds'>fBounds</a> left to collapse the left …
4724 …eft; border: 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_Lattice_fYDivs'><code>fYDivs</co…
4726 Array of y-axis values that divide the <a href='SkBitmap_Reference#Bitmap'>bitmap</a> horizontally.
4728 <a href='#SkCanvas_Lattice_fBounds'>fBounds</a> top edge, and less than <a href='#SkCanvas_Lattice_…
4729 Set the first element to <a href='#SkCanvas_Lattice_fBounds'>fBounds</a> top to collapse the top ro…
4735 … border: 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_Lattice_fRectTypes'><code>fRectTypes…
4738 …ay length must be <code>(<a href='#SkCanvas_Lattice_fXCount'>fXCount</a> + 1) * (<a href='#SkCanva…
4740a href='#SkCanvas_Lattice_RectType'>RectType</a> is one of: <a href='#SkCanvas_Lattice_kDefault'>k…
4748 …ft; border: 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_Lattice_fXCount'><code>fXCount</c…
4750 Number of entries in <a href='#SkCanvas_Lattice_fXDivs'>fXDivs</a> array; one less than the number …
4756 …ft; border: 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_Lattice_fYCount'><code>fYCount</c…
4758 Number of entries in <a href='#SkCanvas_Lattice_fYDivs'>fYDivs</a> array; one less than the number …
4764 …ft; border: 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_Lattice_fBounds'><code>fBounds</c…
4766 Optional subset <a href='SkIRect_Reference#IRect'>IRect</a> source to draw from.
4767 …ource bounds is dimensions of <a href='SkBitmap_Reference#Bitmap'>Bitmap</a> or <a href='SkImage_R…
4772 …ft; border: 2px solid #dddddd; padding: 8px; '><a name='SkCanvas_Lattice_fColors'><code>fColors</c…
4775 …ay length must be <code>(<a href='#SkCanvas_Lattice_fXCount'>fXCount</a> + 1) * (<a href='#SkCanva…
4783 <a name='SkCanvas_drawBitmapLattice'></a>
4788a href='#SkCanvas_drawBitmapLattice'>drawBitmapLattice</a>(const <a href='SkBitmap_Reference#SkBit…
4789 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
4792a href='SkBitmap_Reference#Bitmap'>Bitmap</a> <a href='#SkCanvas_drawBitmapLattice_bitmap'>bitmap<…
4794a href='#SkCanvas_Lattice'>Lattice</a> <a href='#SkCanvas_drawBitmapLattice_lattice'>lattice</a> d…
4796 of <a href='#SkCanvas_drawBitmapNine'>drawBitmapNine</a>, fixed <a href='#SkCanvas_drawBitmapLattic…
4797a href='undocumented#Size'>size</a> and shrink proportionately when all fixed elements exceed the …
4800a href='SkMatrix_Reference#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Pain…
4801a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawBitmapLattice_paint'>paint</a> i…
4802a href='#Blend_Mode'>Blend_Mode</a>, and <a href='#Draw_Looper'>Draw_Looper</a>. If bitmap is <a h…
4803a href='#SkCanvas_drawBitmapLattice_paint'>paint</a> contains <a href='#Mask_Filter'>Mask_Filter</
4804a href='#Filter_Quality'>Filter_Quality</a> set to <a href='undocumented#kNone_SkFilterQuality'>kN…
4805a href='#SkCanvas_drawBitmapLattice_paint'>paint</a> <a href='#Filter_Quality'>Filter_Quality</a>,…
4806a href='undocumented#SkMaskFilter'>SkMaskFilter</a> on <a href='#SkCanvas_drawBitmapLattice_paint'…
4807 …ends beyond <a href='#SkCanvas_drawBitmapLattice_bitmap'>bitmap</a> bounds, replicate <a href='#Sk…
4808a href='undocumented#Shader'>Shader</a> made from <a href='undocumented#SkShader'>SkShader</a>::<a
4809a href='undocumented#SkShader'>SkShader</a>::<a href='#SkShader_kClamp_TileMode'>kClamp_TileMode</
4814 <table> <tr> <td><a name='SkCanvas_drawBitmapLattice_bitmap'><code><strong>bitmap</strong></cod…
4815 … <td><a href='SkBitmap_Reference#Bitmap'>Bitmap</a> containing pixels, dimensions, and format</td>
4817 …<tr> <td><a name='SkCanvas_drawBitmapLattice_lattice'><code><strong>lattice</strong></code></a>…
4818 …<td>division of <a href='#SkCanvas_drawBitmapLattice_bitmap'>bitmap</a> into fixed and variable re…
4820 <tr> <td><a name='SkCanvas_drawBitmapLattice_dst'><code><strong>dst</strong></code></a></td>
4821 …<td>destination <a href='SkRect_Reference#Rect'>Rect</a> of <a href='SkImage_Reference#Image'>imag…
4823 …<tr> <td><a name='SkCanvas_drawBitmapLattice_paint'><code><strong>paint</strong></code></a></td>
4824a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='#Blend_Mode'>Blend_Mode</a>, <a hre…
4832 …4e17ba4a4400dc799f032069c"><div>The two leftmost <a href='#SkCanvas_drawBitmapLattice_bitmap'>bitm…
4833 The leftmost <a href='SkBitmap_Reference#Bitmap_Draw'>bitmap draw</a> scales the width of corners …
4836 The rightmost <a href='SkBitmap_Reference#Bitmap_Draw'>bitmap draw</a> has four corners scaled ver…
4842a href='#SkCanvas_drawImageLattice'>drawImageLattice</a> <a href='#SkCanvas_drawBitmap'>drawBitmap…
4844 <a name='SkCanvas_drawImageLattice'></a>
4849a href='#SkCanvas_drawImageLattice'>drawImageLattice</a>(const <a href='SkImage_Reference#SkImage'…
4850 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>…
4853a href='SkImage_Reference#Image'>Image</a> <a href='#SkCanvas_drawImageLattice_image'>image</a> st…
4855a href='#SkCanvas_Lattice'>Lattice</a> <a href='#SkCanvas_drawImageLattice_lattice'>lattice</a> di…
4857 of <a href='#SkCanvas_drawBitmapNine'>drawBitmapNine</a>, fixed <a href='#SkCanvas_drawImageLattice…
4858 <a href='undocumented#Size'>size</a> and shrink proportionately when all fixed elements exceed the …
4861a href='SkMatrix_Reference#Matrix'>Matrix</a>, and optional <a href='SkPaint_Reference#Paint'>Pain…
4862a href='SkPaint_Reference#Paint'>Paint</a> <a href='#SkCanvas_drawImageLattice_paint'>paint</a> is…
4863a href='#Blend_Mode'>Blend_Mode</a>, and <a href='#Draw_Looper'>Draw_Looper</a>. If image is <a hr…
4864a href='#SkCanvas_drawImageLattice_paint'>paint</a> contains <a href='#Mask_Filter'>Mask_Filter</a
4865a href='#Filter_Quality'>Filter_Quality</a> set to <a href='undocumented#kNone_SkFilterQuality'>kN…
4866a href='#SkCanvas_drawImageLattice_paint'>paint</a> <a href='#Filter_Quality'>Filter_Quality</a>, …
4867a href='undocumented#SkMaskFilter'>SkMaskFilter</a> on <a href='#SkCanvas_drawImageLattice_paint'>…
4868 … mask extends beyond <a href='SkBitmap_Reference#Bitmap'>bitmap</a> bounds, replicate <a href='SkB…
4869a href='undocumented#Shader'>Shader</a> made from <a href='undocumented#SkShader'>SkShader</a>::<a
4870a href='undocumented#SkShader'>SkShader</a>::<a href='#SkShader_kClamp_TileMode'>kClamp_TileMode</
4875 <table> <tr> <td><a name='SkCanvas_drawImageLattice_image'><code><strong>image</strong></code><…
4876 <td><a href='SkImage_Reference#Image'>Image</a> containing pixels, dimensions, and format</td>
4878 …<tr> <td><a name='SkCanvas_drawImageLattice_lattice'><code><strong>lattice</strong></code></a><…
4879 …<td>division of <a href='SkBitmap_Reference#Bitmap'>bitmap</a> into fixed and variable rectangles<…
4881 <tr> <td><a name='SkCanvas_drawImageLattice_dst'><code><strong>dst</strong></code></a></td>
4882 …<td>destination <a href='SkRect_Reference#Rect'>Rect</a> of <a href='#SkCanvas_drawImageLattice_im…
4884 <tr> <td><a name='SkCanvas_drawImageLattice_paint'><code><strong>paint</strong></code></a></td>
4885a href='SkPaint_Reference#Paint'>Paint</a> containing <a href='#Blend_Mode'>Blend_Mode</a>, <a hre…
4893 …153cf1d0dbe1a95acf5badeec14dae"><div>The leftmost <a href='#SkCanvas_drawImageLattice_image'>image…
4894 The second <a href='#SkCanvas_drawImageLattice_image'>image</a> equals the <a href='undocumented#Si…
4901a href='#SkCanvas_drawBitmapLattice'>drawBitmapLattice</a> <a href='#SkCanvas_drawImage'>drawImage…
4903 <a name='Draw_Text'></a>
4905 <a name='SkCanvas_drawText'></a>
4910a href='#SkCanvas_drawText'>drawText</a>(const void* <a href='undocumented#Text'>text</a>, size_t …
4913a href='#SkCanvas_drawText_text'>text</a>, with origin at (<a href='#SkCanvas_drawText_x'>x</a>, <
4915a href='#SkCanvas_drawText_text'>text</a> meaning depends on <a href='undocumented#SkTextEncoding'…
4918a href='#SkCanvas_drawText_x'>x</a> and <a href='#SkCanvas_drawText_y'>y</a> meaning depends on <a
4919a href='#SkCanvas_drawText_text'>text</a> draws left to right, positioning the first <a href='undo…
4920a href='#SkCanvas_drawText_y'>y</a>. <a href='undocumented#Text'>Text</a> <a href='undocumented#Si…
4922a href='#SkCanvas_drawText_paint'>paint</a>: <a href='undocumented#SkPathEffect'>SkPathEffect</a>,…
4923a href='undocumented#SkColorFilter'>SkColorFilter</a>, <a href='undocumented#SkImageFilter'>SkImag…
4924 filled 12 <a href='SkPoint_Reference#Point'>point</a> black <a href='undocumented#Glyph'>glyphs</a>.
4928 <table> <tr> <td><a name='SkCanvas_drawText_text'><code><strong>text</strong></code></a></td>
4929 …<td>character code <a href='SkPoint_Reference#Point'>points</a> or <a href='undocumented#Glyph'>gl…
4931 …<tr> <td><a name='SkCanvas_drawText_byteLength'><code><strong>byteLength</strong></code></a></t…
4932 <td>byte length of <a href='#SkCanvas_drawText_text'>text</a> array</td>
4934 <tr> <td><a name='SkCanvas_drawText_x'><code><strong>x</strong></code></a></td>
4935 <td>start of <a href='#SkCanvas_drawText_text'>text</a> on x-axis</td>
4937 <tr> <td><a name='SkCanvas_drawText_y'><code><strong>y</strong></code></a></td>
4938 <td>start of <a href='#SkCanvas_drawText_text'>text</a> on y-axis</td>
4940 <tr> <td><a name='SkCanvas_drawText_paint'><code><strong>paint</strong></code></a></td>
4941 …<td><a href='#SkCanvas_drawText_text'>text</a> <a href='undocumented#Size'>size</a>, blend, <a hre…
4947 …789f732"><div>The same <a href='#SkCanvas_drawText_text'>text</a> is drawn varying <a href='#Paint…
4948 <a href='SkMatrix_Reference#Matrix'>Matrix</a>.
4953a href='#SkCanvas_drawString'>drawString</a> <a href='#SkCanvas_drawPosText'>drawPosText</a> <a hr…
4955 <a name='SkCanvas_drawString'></a>
4960a href='#SkCanvas_drawString'>drawString</a>(const char* <a href='undocumented#String'>string</a>,…
4963a href='#SkCanvas_drawString_string'>string</a>, with origin at (<a href='#SkCanvas_drawString_x'>…
4964 <a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawString_paint'>paint</a>.
4966 <a href='#SkCanvas_drawString_string'>string</a> meaning depends on <a href='undocumented#SkTextEnc…
4967 as UTF-8. Other values of <a href='undocumented#SkTextEncoding'>SkTextEncoding</a> are unlikely to …
4968 results, since zero bytes may be embedded in the <a href='#SkCanvas_drawString_string'>string</a>.
4970a href='#SkCanvas_drawString_x'>x</a> and <a href='#SkCanvas_drawString_y'>y</a> meaning depends o…
4971a href='#SkCanvas_drawString_string'>string</a> draws left to right, positioning the first <a href…
4972a href='#SkCanvas_drawString_y'>y</a>. <a href='undocumented#Text'>Text</a> <a href='undocumented#…
4974a href='#SkCanvas_drawString_paint'>paint</a>: <a href='undocumented#SkPathEffect'>SkPathEffect</a
4975a href='undocumented#SkColorFilter'>SkColorFilter</a>, <a href='undocumented#SkImageFilter'>SkImag…
4976 filled 12 <a href='SkPoint_Reference#Point'>point</a> black <a href='undocumented#Glyph'>glyphs</a>.
4980 <table> <tr> <td><a name='SkCanvas_drawString_string'><code><strong>string</strong></code></a><…
4981 …<td>character code <a href='SkPoint_Reference#Point'>points</a> or <a href='undocumented#Glyph'>gl…
4985 ending with a char value of zero
4989 <table> <tr> <td><a name='SkCanvas_drawString_x'><code><strong>x</strong></code></a></td>
4990 <td>start of <a href='#SkCanvas_drawString_string'>string</a> on x-axis</td>
4992 <tr> <td><a name='SkCanvas_drawString_y'><code><strong>y</strong></code></a></td>
4993 <td>start of <a href='#SkCanvas_drawString_string'>string</a> on y-axis</td>
4995 <tr> <td><a name='SkCanvas_drawString_paint'><code><strong>paint</strong></code></a></td>
4996 …<td><a href='undocumented#Text'>text</a> <a href='undocumented#Size'>size</a>, blend, <a href='SkC…
5006a href='#SkCanvas_drawText'>drawText</a> <a href='#SkCanvas_drawPosText'>drawPosText</a> <a href='…
5008 <a name='SkCanvas_drawString_2'></a>
5013a href='#SkCanvas_drawString'>drawString</a>(const <a href='undocumented#SkString'>SkString</a>& <
5016a href='#SkCanvas_drawString_2_string'>string</a>, with origin at (<a href='#SkCanvas_drawString_2…
5017 <a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawString_2_paint'>paint</a>.
5019 <a href='#SkCanvas_drawString_2_string'>string</a> meaning depends on <a href='undocumented#SkTextE…
5020 as UTF-8. Other values of <a href='undocumented#SkTextEncoding'>SkTextEncoding</a> are unlikely to …
5021 results, since zero bytes may be embedded in the <a href='#SkCanvas_drawString_2_string'>string</a>.
5023a href='#SkCanvas_drawString_2_x'>x</a> and <a href='#SkCanvas_drawString_2_y'>y</a> meaning depen…
5024a href='#SkCanvas_drawString_2_string'>string</a> draws left to right, positioning the first <a hr…
5025a href='#SkCanvas_drawString_2_y'>y</a>. <a href='undocumented#Text'>Text</a> <a href='undocumente…
5027a href='#SkCanvas_drawString_2_paint'>paint</a>: <a href='undocumented#SkPathEffect'>SkPathEffect<…
5028a href='undocumented#SkColorFilter'>SkColorFilter</a>, <a href='undocumented#SkImageFilter'>SkImag…
5029 filled 12 <a href='SkPoint_Reference#Point'>point</a> black <a href='undocumented#Glyph'>glyphs</a>.
5033 <table> <tr> <td><a name='SkCanvas_drawString_2_string'><code><strong>string</strong></code></a
5034 …<td>character code <a href='SkPoint_Reference#Point'>points</a> or <a href='undocumented#Glyph'>gl…
5038 ending with a char value of zero
5042 <table> <tr> <td><a name='SkCanvas_drawString_2_x'><code><strong>x</strong></code></a></td>
5043 <td>start of <a href='#SkCanvas_drawString_2_string'>string</a> on x-axis</td>
5045 <tr> <td><a name='SkCanvas_drawString_2_y'><code><strong>y</strong></code></a></td>
5046 <td>start of <a href='#SkCanvas_drawString_2_string'>string</a> on y-axis</td>
5048 <tr> <td><a name='SkCanvas_drawString_2_paint'><code><strong>paint</strong></code></a></td>
5049 …<td><a href='undocumented#Text'>text</a> <a href='undocumented#Size'>size</a>, blend, <a href='SkC…
5059a href='#SkCanvas_drawText'>drawText</a> <a href='#SkCanvas_drawPosText'>drawPosText</a> <a href='…
5061 <a name='SkCanvas_drawPosText'></a>
5066a href='#SkCanvas_drawPosText'>drawPosText</a>(const void* <a href='undocumented#Text'>text</a>, s…
5069a href='undocumented#Glyph'>glyph</a> in <a href='#SkCanvas_drawPosText_text'>text</a> with the or…
5070a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawPosText_paint'>paint</a>. Th…
5071 described by <a href='#SkCanvas_drawPosText_byteLength'>byteLength</a> of <a href='#SkCanvas_drawPo…
5073a href='#SkCanvas_drawPosText_text'>text</a> meaning depends on <a href='undocumented#SkTextEncodi…
5074a href='#SkCanvas_drawPosText_pos'>pos</a> elements meaning depends on <a href='SkPaint_Reference#…
5075a href='undocumented#Glyph'>glyph</a> <a href='undocumented#Left_Side_Bearing'>left side bearing…
5076a href='undocumented#Text'>Text</a> <a href='undocumented#Size'>size</a> is affected by <a href='S…
5078a href='#SkCanvas_drawPosText_paint'>paint</a>: <a href='undocumented#SkPathEffect'>SkPathEffect</
5079a href='undocumented#SkColorFilter'>SkColorFilter</a>, <a href='undocumented#SkImageFilter'>SkImag…
5080 filled 12 <a href='SkPoint_Reference#Point'>point</a> black <a href='undocumented#Glyph'>glyphs</a>.
5082 Layout engines such as Harfbuzz typically position each <a href='undocumented#Glyph'>glyph</a>
5083 rather than using the <a href='SkFont_Reference#Font_Advance'>font advance</a> widths.
5087 <table> <tr> <td><a name='SkCanvas_drawPosText_text'><code><strong>text</strong></code></a></td>
5088 …<td>character code <a href='SkPoint_Reference#Point'>points</a> or <a href='undocumented#Glyph'>gl…
5090 …<tr> <td><a name='SkCanvas_drawPosText_byteLength'><code><strong>byteLength</strong></code></a>…
5091 <td>byte length of <a href='#SkCanvas_drawPosText_text'>text</a> array</td>
5093 <tr> <td><a name='SkCanvas_drawPosText_pos'><code><strong>pos</strong></code></a></td>
5094 <td>array of <a href='undocumented#Glyph'>glyph</a> origins</td>
5096 <tr> <td><a name='SkCanvas_drawPosText_paint'><code><strong>paint</strong></code></a></td>
5097 …<td><a href='#SkCanvas_drawPosText_text'>text</a> <a href='undocumented#Size'>size</a>, blend, <a
5107a href='#SkCanvas_drawText'>drawText</a> <a href='#SkCanvas_drawPosTextH'>drawPosTextH</a> <a href…
5109 <a name='SkCanvas_drawPosTextH'></a>
5114a href='#SkCanvas_drawPosTextH'>drawPosTextH</a>(const void* <a href='undocumented#Text'>text</a>,…
5115 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& <a href='SkPaint_Reference#Paint'>paint</a>)
5118a href='undocumented#Glyph'>glyph</a> in <a href='#SkCanvas_drawPosTextH_text'>text</a> with its o…
5119a href='#SkCanvas_drawPosTextH_constY'>constY</a>, using clip, <a href='SkMatrix_Reference#SkMatri…
5120a href='undocumented#Glyph'>glyphs</a> described by <a href='#SkCanvas_drawPosTextH_byteLength'>by…
5122a href='#SkCanvas_drawPosTextH_text'>text</a> meaning depends on <a href='undocumented#SkTextEncod…
5123a href='#SkCanvas_drawPosTextH_xpos'>xpos</a> elements meaning depends on <a href='SkPaint_Referen…
5124a href='undocumented#Glyph'>glyph</a> <a href='undocumented#Left_Side_Bearing'>left side bearing…
5125a href='#SkCanvas_drawPosTextH_constY'>constY</a>. <a href='undocumented#Text'>Text</a> <a href='u…
5126 <a href='SkPaint_Reference#SkPaint'>SkPaint</a> <a href='#SkCanvas_drawPosTextH_text'>text</a> <a h…
5128a href='#SkCanvas_drawPosTextH_paint'>paint</a>: <a href='undocumented#SkPathEffect'>SkPathEffect<…
5129a href='undocumented#SkColorFilter'>SkColorFilter</a>, <a href='undocumented#SkImageFilter'>SkImag…
5130 filled 12 <a href='SkPoint_Reference#Point'>point</a> black <a href='undocumented#Glyph'>glyphs</a>.
5132 Layout engines such as Harfbuzz typically position each <a href='undocumented#Glyph'>glyph</a>
5133 …ther than using the <a href='SkFont_Reference#Font_Advance'>font advance</a> widths if all <a hre…
5138 <table> <tr> <td><a name='SkCanvas_drawPosTextH_text'><code><strong>text</strong></code></a></t…
5139 …<td>character code <a href='SkPoint_Reference#Point'>points</a> or <a href='undocumented#Glyph'>gl…
5141 …<tr> <td><a name='SkCanvas_drawPosTextH_byteLength'><code><strong>byteLength</strong></code></a
5142 <td>byte length of <a href='#SkCanvas_drawPosTextH_text'>text</a> array</td>
5144 <tr> <td><a name='SkCanvas_drawPosTextH_xpos'><code><strong>xpos</strong></code></a></td>
5145 <td>array of x-axis positions, used to position each <a href='undocumented#Glyph'>glyph</a></td>
5147 <tr> <td><a name='SkCanvas_drawPosTextH_constY'><code><strong>constY</strong></code></a></td>
5150 <tr> <td><a name='SkCanvas_drawPosTextH_paint'><code><strong>paint</strong></code></a></td>
5151 …<td><a href='#SkCanvas_drawPosTextH_text'>text</a> <a href='undocumented#Size'>size</a>, blend, <a
5161a href='#SkCanvas_drawText'>drawText</a> <a href='#SkCanvas_drawPosText'>drawPosText</a> <a href='…
5163 <a name='SkCanvas_drawTextRSXform'></a>
5168a href='#SkCanvas_drawTextRSXform'>drawTextRSXform</a>(const void* <a href='undocumented#Text'>tex…
5169a href='SkRect_Reference#SkRect'>SkRect</a>* cullRect, const <a href='SkPaint_Reference#SkPaint'>S…
5172a href='#SkCanvas_drawTextRSXform_text'>text</a>, transforming each <a href='undocumented#Glyph'>g…
5173a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a>, and <a href='SkPaint_Reference#SkPaint'>SkPaint…
5175 <a href='undocumented#SkRSXform'>SkRSXform</a> <a href='#SkCanvas_drawTextRSXform_xform'>xform</a> …
5176a href='undocumented#Glyph'>glyph</a>. <a href='#SkCanvas_drawTextRSXform_xform'>xform</a> does no…
5178a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_drawTextRSXform_cullRect'>cullRect<…
5179a href='undocumented#SkRSXform'>SkRSXform</a> and <a href='#SkCanvas_drawTextRSXform_paint'>paint<…
5181a href='#SkCanvas_drawTextRSXform_paint'>paint</a>: <a href='undocumented#SkPathEffect'>SkPathEffe…
5182a href='undocumented#SkColorFilter'>SkColorFilter</a>, <a href='undocumented#SkImageFilter'>SkImag…
5183 filled 12 <a href='SkPoint_Reference#Point'>point</a> black <a href='undocumented#Glyph'>glyphs</a>.
5187 <table> <tr> <td><a name='SkCanvas_drawTextRSXform_text'><code><strong>text</strong></code></a>…
5188 …<td>character code <a href='SkPoint_Reference#Point'>points</a> or <a href='undocumented#Glyph'>gl…
5190 …<tr> <td><a name='SkCanvas_drawTextRSXform_byteLength'><code><strong>byteLength</strong></code>…
5191 <td>byte length of <a href='#SkCanvas_drawTextRSXform_text'>text</a> array</td>
5193 <tr> <td><a name='SkCanvas_drawTextRSXform_xform'><code><strong>xform</strong></code></a></td>
5194 …<td><a href='undocumented#SkRSXform'>SkRSXform</a> rotates, scales, and translates each <a href='u…
5196 …<tr> <td><a name='SkCanvas_drawTextRSXform_cullRect'><code><strong>cullRect</strong></code></a>…
5197 …<td><a href='SkRect_Reference#SkRect'>SkRect</a> bounds of <a href='#SkCanvas_drawTextRSXform_text…
5199 <tr> <td><a name='SkCanvas_drawTextRSXform_paint'><code><strong>paint</strong></code></a></td>
5200 …<td><a href='#SkCanvas_drawTextRSXform_text'>text</a> <a href='undocumented#Size'>size</a>, blend,…
5210 <a href='#SkCanvas_drawText'>drawText</a> <a href='#SkCanvas_drawPosText'>drawPosText</a> <a href='…
5212 <a name='SkCanvas_drawTextBlob'></a>
5217a href='#SkCanvas_drawTextBlob'>drawTextBlob</a>(const <a href='SkTextBlob_Reference#SkTextBlob'>S…
5220a href='#Text_Blob'>Text_Blob</a> <a href='#SkCanvas_drawTextBlob_blob'>blob</a> at (<a href='#SkC…
5222a href='#SkCanvas_drawTextBlob_blob'>blob</a> contains <a href='undocumented#Glyph'>Glyphs</a>, th…
5223a href='#Font_Skew_X'>Font_Skew_X</a>, <a href='#Font_Hinting'>Font_Hinting</a>, <a href='#Paint_A…
5224a href='#Font_Embedded_Bitmaps'>Font_Embedded_Bitmaps</a>, <a href='#Font_Hinting_Spacing'>Font_Hi…
5225 and <a href='#Font_Subpixel'>Font_Subpixel</a>
5228 <a href='#Paint_Text_Encoding'>Paint_Text_Encoding</a> must be set to <a href='undocumented#kGlyphI…
5230a href='#SkCanvas_drawTextBlob_paint'>paint</a>: <a href='#Paint_Anti_Alias'>Anti_Alias</a>, <a hr…
5231a href='#Color_Filter'>Color_Filter</a>, <a href='#Paint_Dither'>Paint_Dither</a>, <a href='#Draw_…
5232a href='#Paint_Style'>Paint_Style</a>; apply to <a href='#SkCanvas_drawTextBlob_blob'>blob</a>. If…
5233a href='#Paint_Miter_Limit'>Paint_Miter_Limit</a>, <a href='#Paint_Stroke_Cap'>Paint_Stroke_Cap</a
5234 apply to <a href='SkPath_Reference#Path'>Path</a> created from <a href='#SkCanvas_drawTextBlob_blob…
5238 <table> <tr> <td><a name='SkCanvas_drawTextBlob_blob'><code><strong>blob</strong></code></a></t…
5239a href='undocumented#Glyph'>Glyphs</a>, positions, and their paints' <a href='undocumented#Text'>t…
5241 <tr> <td><a name='SkCanvas_drawTextBlob_x'><code><strong>x</strong></code></a></td>
5242 <td>horizontal offset applied to <a href='#SkCanvas_drawTextBlob_blob'>blob</a></td>
5244 <tr> <td><a name='SkCanvas_drawTextBlob_y'><code><strong>y</strong></code></a></td>
5245 <td>vertical offset applied to <a href='#SkCanvas_drawTextBlob_blob'>blob</a></td>
5247 <tr> <td><a name='SkCanvas_drawTextBlob_paint'><code><strong>paint</strong></code></a></td>
5248 <td>blend, <a href='SkColor_Reference#Color'>color</a>, stroking, and so on, used to draw</td>
5258 <a href='#SkCanvas_drawText'>drawText</a> <a href='#SkCanvas_drawPosText'>drawPosText</a> <a href='…
5260 <a name='SkCanvas_drawTextBlob_2'></a>
5265a href='#SkCanvas_drawTextBlob'>drawTextBlob</a>(const <a href='undocumented#sk_sp'>sk_sp</a>&lt;<
5268a href='#Text_Blob'>Text_Blob</a> <a href='#SkCanvas_drawTextBlob_2_blob'>blob</a> at (<a href='#S…
5270a href='#SkCanvas_drawTextBlob_2_blob'>blob</a> contains <a href='undocumented#Glyph'>Glyphs</a>, …
5271a href='#Font_Skew_X'>Font_Skew_X</a>, <a href='#Font_Hinting'>Font_Hinting</a>, <a href='#Paint_A…
5272a href='#Font_Embedded_Bitmaps'>Font_Embedded_Bitmaps</a>, <a href='#Font_Hinting_Spacing'>Font_Hi…
5273 and <a href='#Font_Subpixel'>Font_Subpixel</a>
5276 <a href='#Paint_Text_Encoding'>Paint_Text_Encoding</a> must be set to <a href='undocumented#kGlyphI…
5278a href='#SkCanvas_drawTextBlob_2_paint'>paint</a>: <a href='#Path_Effect'>Path_Effect</a>, <a href…
5279 <a href='#Image_Filter'>Image_Filter</a>, and <a href='#Draw_Looper'>Draw_Looper</a>; apply to <a h…
5283 <table> <tr> <td><a name='SkCanvas_drawTextBlob_2_blob'><code><strong>blob</strong></code></a><…
5284a href='undocumented#Glyph'>Glyphs</a>, positions, and their paints' <a href='undocumented#Text'>t…
5286 <tr> <td><a name='SkCanvas_drawTextBlob_2_x'><code><strong>x</strong></code></a></td>
5287 <td>horizontal offset applied to <a href='#SkCanvas_drawTextBlob_2_blob'>blob</a></td>
5289 <tr> <td><a name='SkCanvas_drawTextBlob_2_y'><code><strong>y</strong></code></a></td>
5290 <td>vertical offset applied to <a href='#SkCanvas_drawTextBlob_2_blob'>blob</a></td>
5292 <tr> <td><a name='SkCanvas_drawTextBlob_2_paint'><code><strong>paint</strong></code></a></td>
5293 <td>blend, <a href='SkColor_Reference#Color'>color</a>, stroking, and so on, used to draw</td>
5299a href='SkPaint_Reference#Paint'>Paint</a> attributes related to <a href='undocumented#Text'>text<…
5304 <a href='#SkCanvas_drawText'>drawText</a> <a href='#SkCanvas_drawPosText'>drawPosText</a> <a href='…
5306 <a name='SkCanvas_drawPicture'></a>
5311a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='SkPicture_Reference#SkPicture'>SkPic…
5314a href='SkPicture_Reference#SkPicture'>SkPicture</a> <a href='#SkCanvas_drawPicture_picture'>pictu…
5315 Clip and <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> are unchanged by <a href='#SkCanvas_dra…
5316a href='#SkCanvas_save'>save()</a> was called before and <a href='#SkCanvas_restore'>restore()</a>…
5318 <a href='SkPicture_Reference#SkPicture'>SkPicture</a> records a series of draw commands for later p…
5322 <table> <tr> <td><a name='SkCanvas_drawPicture_picture'><code><strong>picture</strong></code></
5333a href='#SkCanvas_drawDrawable'>drawDrawable</a> <a href='SkPicture_Reference#SkPicture'>SkPicture…
5335 <a name='SkCanvas_drawPicture_2'></a>
5340a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented#sk_sp'>sk_sp</a>&lt;<a
5343a href='SkPicture_Reference#SkPicture'>SkPicture</a> <a href='#SkCanvas_drawPicture_2_picture'>pic…
5344 Clip and <a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> are unchanged by <a href='#SkCanvas_dra…
5345a href='#SkCanvas_save'>save()</a> was called before and <a href='#SkCanvas_restore'>restore()</a>…
5347 <a href='SkPicture_Reference#SkPicture'>SkPicture</a> records a series of draw commands for later p…
5351 <table> <tr> <td><a name='SkCanvas_drawPicture_2_picture'><code><strong>picture</strong></code>…
5362a href='#SkCanvas_drawDrawable'>drawDrawable</a> <a href='SkPicture_Reference#SkPicture'>SkPicture…
5364 <a name='SkCanvas_drawPicture_3'></a>
5369a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='SkPicture_Reference#SkPicture'>SkPic…
5372a href='SkPicture_Reference#SkPicture'>SkPicture</a> <a href='#SkCanvas_drawPicture_3_picture'>pic…
5373a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> <a href='#SkCanvas_drawPicture_3_matrix'>matrix<…
5374 <a href='undocumented#SkImageFilter'>SkImageFilter</a>, and <a href='SkBlendMode_Reference#SkBlendM…
5376a href='#SkCanvas_drawPicture_3_matrix'>matrix</a> transformation is equivalent to: <a href='#SkCa…
5377a href='#SkCanvas_drawPicture_3_paint'>paint</a> use is equivalent to: <a href='#SkCanvas_saveLaye…
5381 <table> <tr> <td><a name='SkCanvas_drawPicture_3_picture'><code><strong>picture</strong></code>…
5384 <tr> <td><a name='SkCanvas_drawPicture_3_matrix'><code><strong>matrix</strong></code></a></td>
5385 …<td><a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> to rotate, scale, translate, and so on; may…
5387 <tr> <td><a name='SkCanvas_drawPicture_3_paint'><code><strong>paint</strong></code></a></td>
5388 …<td><a href='SkPaint_Reference#SkPaint'>SkPaint</a> to apply transparency, filtering, and so on; m…
5398a href='#SkCanvas_drawDrawable'>drawDrawable</a> <a href='SkPicture_Reference#SkPicture'>SkPicture…
5400 <a name='SkCanvas_drawPicture_4'></a>
5405a href='#SkCanvas_drawPicture'>drawPicture</a>(const <a href='undocumented#sk_sp'>sk_sp</a>&lt;<a
5408a href='SkPicture_Reference#SkPicture'>SkPicture</a> <a href='#SkCanvas_drawPicture_4_picture'>pic…
5409a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> <a href='#SkCanvas_drawPicture_4_matrix'>matrix<…
5410 <a href='undocumented#SkImageFilter'>SkImageFilter</a>, and <a href='SkBlendMode_Reference#SkBlendM…
5412a href='#SkCanvas_drawPicture_4_matrix'>matrix</a> transformation is equivalent to: <a href='#SkCa…
5413a href='#SkCanvas_drawPicture_4_paint'>paint</a> use is equivalent to: <a href='#SkCanvas_saveLaye…
5417 <table> <tr> <td><a name='SkCanvas_drawPicture_4_picture'><code><strong>picture</strong></code>…
5420 <tr> <td><a name='SkCanvas_drawPicture_4_matrix'><code><strong>matrix</strong></code></a></td>
5421 …<td><a href='SkMatrix_Reference#SkMatrix'>SkMatrix</a> to rotate, scale, translate, and so on; may…
5423 <tr> <td><a name='SkCanvas_drawPicture_4_paint'><code><strong>paint</strong></code></a></td>
5424 …<td><a href='SkPaint_Reference#SkPaint'>SkPaint</a> to apply transparency, filtering, and so on; m…
5434a href='#SkCanvas_drawDrawable'>drawDrawable</a> <a href='SkPicture_Reference#SkPicture'>SkPicture…
5436 <a name='SkCanvas_drawVertices'></a>
5441a href='#SkCanvas_drawVertices'>drawVertices</a>(const <a href='undocumented#SkVertices'>SkVertice…
5444a href='undocumented#SkVertices'>SkVertices</a> <a href='#SkCanvas_drawVertices_vertices'>vertices…
5445a href='undocumented#Vertices_Texs'>vertices texs</a> and <a href='undocumented#Vertices_Colors'>…
5446a href='undocumented#SkShader'>SkShader</a>, <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMo…
5450 <table> <tr> <td><a name='SkCanvas_drawVertices_vertices'><code><strong>vertices</strong></code…
5453 <tr> <td><a name='SkCanvas_drawVertices_mode'><code><strong>mode</strong></code></a></td>
5454 …<td>combines <a href='undocumented#Vertices_Colors'>vertices colors</a> with <a href='undocumente…
5456 <tr> <td><a name='SkCanvas_drawVertices_paint'><code><strong>paint</strong></code></a></td>
5457 …the <a href='undocumented#SkShader'>SkShader</a>, used as <a href='undocumented#SkVertices'>SkVert…
5467 <a href='#SkCanvas_drawPatch'>drawPatch</a> <a href='#SkCanvas_drawPicture'>drawPicture</a>
5469 <a name='SkCanvas_drawVertices_2'></a>
5474a href='#SkCanvas_drawVertices'>drawVertices</a>(const <a href='undocumented#sk_sp'>sk_sp</a>&lt;<
5477a href='undocumented#SkVertices'>SkVertices</a> <a href='#SkCanvas_drawVertices_2_vertices'>vertic…
5478a href='undocumented#Vertices_Texs'>vertices texs</a> and <a href='undocumented#Vertices_Colors'>…
5479a href='undocumented#SkShader'>SkShader</a>, <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMo…
5483 <table> <tr> <td><a name='SkCanvas_drawVertices_2_vertices'><code><strong>vertices</strong></co…
5486 <tr> <td><a name='SkCanvas_drawVertices_2_mode'><code><strong>mode</strong></code></a></td>
5487 …<td>combines <a href='undocumented#Vertices_Colors'>vertices colors</a> with <a href='undocumente…
5489 <tr> <td><a name='SkCanvas_drawVertices_2_paint'><code><strong>paint</strong></code></a></td>
5490 …the <a href='undocumented#SkShader'>SkShader</a>, used as <a href='undocumented#SkVertices'>SkVert…
5500 <a href='#SkCanvas_drawPatch'>drawPatch</a> <a href='#SkCanvas_drawPicture'>drawPicture</a>
5502 <a name='SkCanvas_drawVertices_3'></a>
5507a href='#SkCanvas_drawVertices'>drawVertices</a>(const <a href='undocumented#SkVertices'>SkVertice…
5508a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> mode, const <a href='SkPaint_Reference#…
5511a href='undocumented#SkVertices'>SkVertices</a> <a href='#SkCanvas_drawVertices_3_vertices'>vertic…
5512 deform <a href='#SkCanvas_drawVertices_3_vertices'>vertices</a> with bone <a href='SkPath_Reference…
5513a href='undocumented#Vertices_Texs'>vertices texs</a> and <a href='undocumented#Vertices_Colors'>…
5514a href='undocumented#SkShader'>SkShader</a>, <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMo…
5515 …of <a href='#SkCanvas_drawVertices_3_bones'>bones</a> should be an object to world space transform…
5517 it should be the identity <a href='SkMatrix_Reference#Matrix'>matrix</a>.
5518a href='#SkCanvas_drawVertices_3_boneCount'>boneCount</a> must be at most 80, and thus the <a href…
5522 <table> <tr> <td><a name='SkCanvas_drawVertices_3_vertices'><code><strong>vertices</strong></co…
5525 <tr> <td><a name='SkCanvas_drawVertices_3_bones'><code><strong>bones</strong></code></a></td>
5526 … <td>bone <a href='SkMatrix_Reference#Matrix'>matrix</a> <a href='undocumented#Data'>data</a></td>
5528 …<tr> <td><a name='SkCanvas_drawVertices_3_boneCount'><code><strong>boneCount</strong></code></a
5529 <td>number of bone <a href='SkMatrix_Reference#Matrix'>matrices</a></td>
5531 <tr> <td><a name='SkCanvas_drawVertices_3_mode'><code><strong>mode</strong></code></a></td>
5532 …<td>combines <a href='undocumented#Vertices_Colors'>vertices colors</a> with <a href='undocumente…
5534 <tr> <td><a name='SkCanvas_drawVertices_3_paint'><code><strong>paint</strong></code></a></td>
5535 …the <a href='undocumented#SkShader'>SkShader</a>, used as <a href='undocumented#SkVertices'>SkVert…
5541 <a href='#SkCanvas_drawPatch'>drawPatch</a> <a href='#SkCanvas_drawPicture'>drawPicture</a>
5543 <a name='SkCanvas_drawVertices_4'></a>
5548a href='#SkCanvas_drawVertices'>drawVertices</a>(const <a href='undocumented#sk_sp'>sk_sp</a>&lt;<
5549a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> mode, const <a href='SkPaint_Reference#…
5552a href='undocumented#SkVertices'>SkVertices</a> <a href='#SkCanvas_drawVertices_4_vertices'>vertic…
5553 deform <a href='#SkCanvas_drawVertices_4_vertices'>vertices</a> with bone <a href='SkPath_Reference…
5554a href='undocumented#Vertices_Texs'>vertices texs</a> and <a href='undocumented#Vertices_Colors'>…
5555a href='undocumented#SkShader'>SkShader</a>, <a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMo…
5556 …of <a href='#SkCanvas_drawVertices_4_bones'>bones</a> should be an object to world space transform…
5558 it should be the identity <a href='SkMatrix_Reference#Matrix'>matrix</a>.
5559a href='#SkCanvas_drawVertices_4_boneCount'>boneCount</a> must be at most 80, and thus the <a href…
5563 <table> <tr> <td><a name='SkCanvas_drawVertices_4_vertices'><code><strong>vertices</strong></co…
5566 <tr> <td><a name='SkCanvas_drawVertices_4_bones'><code><strong>bones</strong></code></a></td>
5567 … <td>bone <a href='SkMatrix_Reference#Matrix'>matrix</a> <a href='undocumented#Data'>data</a></td>
5569 …<tr> <td><a name='SkCanvas_drawVertices_4_boneCount'><code><strong>boneCount</strong></code></a
5570 <td>number of bone <a href='SkMatrix_Reference#Matrix'>matrices</a></td>
5572 <tr> <td><a name='SkCanvas_drawVertices_4_mode'><code><strong>mode</strong></code></a></td>
5573 …<td>combines <a href='undocumented#Vertices_Colors'>vertices colors</a> with <a href='undocumente…
5575 <tr> <td><a name='SkCanvas_drawVertices_4_paint'><code><strong>paint</strong></code></a></td>
5576 …the <a href='undocumented#SkShader'>SkShader</a>, used as <a href='undocumented#SkVertices'>SkVert…
5582 <a href='#SkCanvas_drawPatch'>drawPatch</a> <a href='#SkCanvas_drawPicture'>drawPicture</a>
5584 <a name='SkCanvas_drawPatch'></a>
5589a href='#SkCanvas_drawPatch'>drawPatch</a>(const <a href='SkPoint_Reference#SkPoint'>SkPoint</a> <
5590a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> mode, const <a href='SkPaint_Reference#…
5593 Draws a <a href='undocumented#Coons_Patch'>Coons patch</a>: the interpolation of four <a href='#Sk…
5594a <a href='SkColor_Reference#Color'>color</a>, and optionally a <a href='undocumented#Texture'>tex…
5596a href='undocumented#Coons_Patch'>Coons patch</a> uses clip and <a href='SkMatrix_Reference#SkMatr…
5597a href='SkColor_Reference#Alpha'>alpha</a>, <a href='undocumented#SkImageFilter'>SkImageFilter</a>…
5598a href='undocumented#Coons_Patch'>Coons patch</a> <a href='undocumented#Texture'>texture</a>; <a h…
5601a href='SkPath_Reference#Point_Array'>SkPoint array</a> <a href='#SkCanvas_drawPatch_cubics'>cubic…
5602 …ourth <a href='SkPoint_Reference#Point'>point</a>. The last <a href='SkPath_Reference#SkPath'>SkPa…
5603 first <a href='SkPoint_Reference#Point'>point</a>.
5605 <a href='SkColor_Reference#Color'>Color</a> array <a href='SkColor_Reference#Color'>color</a> assoc…
5608a href='#SkCanvas_drawPatch_paint'>paint</a> contains <a href='undocumented#SkShader'>SkShader</a>…
5613 <table> <tr> <td><a name='SkCanvas_drawPatch_cubics'><code><strong>cubics</strong></code></a></…
5614a href='SkPath_Reference#SkPath'>SkPath</a> <a href='SkPath_Reference#Cubic'>cubic</a> array, shar…
5616 <tr> <td><a name='SkCanvas_drawPatch_colors'><code><strong>colors</strong></code></a></td>
5617 <td><a href='SkColor_Reference#Color'>color</a> array, one for each corner</td>
5619 …<tr> <td><a name='SkCanvas_drawPatch_texCoords'><code><strong>texCoords</strong></code></a></td>
5620a href='SkPath_Reference#Point_Array'>SkPoint array</a> of <a href='undocumented#Texture'>texture<…
5628 <table> <tr> <td><a name='SkCanvas_drawPatch_mode'><code><strong>mode</strong></code></a></td>
5629a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> for <a href='#SkCanvas_drawPatch_colors…
5631 <tr> <td><a name='SkCanvas_drawPatch_paint'><code><strong>paint</strong></code></a></td>
5632a href='undocumented#SkShader'>SkShader</a>, <a href='undocumented#SkColorFilter'>SkColorFilter</a
5642 <a href='#SkCanvas_drawVertices'>drawVertices</a> <a href='#SkCanvas_drawPicture'>drawPicture</a>
5644 <a name='SkCanvas_drawPatch_2'></a>
5649a href='#SkCanvas_drawPatch'>drawPatch</a>(const <a href='SkPoint_Reference#SkPoint'>SkPoint</a> <
5650 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>& <a href='SkPaint_Reference#Paint'>paint</a>)
5653a href='SkPath_Reference#SkPath'>SkPath</a> <a href='SkPath_Reference#Cubic'>cubic</a> <a href='u…
5654a <a href='SkColor_Reference#Color'>color</a>, and optionally a <a href='undocumented#Texture'>tex…
5656a href='undocumented#Coons_Patch'>Coons patch</a> uses clip and <a href='SkMatrix_Reference#SkMatr…
5657a href='SkColor_Reference#Alpha'>alpha</a>, <a href='undocumented#SkImageFilter'>SkImageFilter</a>…
5658a href='undocumented#Coons_Patch'>Coons patch</a> <a href='undocumented#Texture'>texture</a>; <a h…
5661a href='SkPath_Reference#Point_Array'>SkPoint array</a> <a href='#SkCanvas_drawPatch_2_cubics'>cub…
5662 …ourth <a href='SkPoint_Reference#Point'>point</a>. The last <a href='SkPath_Reference#SkPath'>SkPa…
5663 first <a href='SkPoint_Reference#Point'>point</a>.
5665a href='SkColor_Reference#Color'>Color</a> array <a href='SkColor_Reference#Color'>color</a> assoc…
5668a href='#SkCanvas_drawPatch_2_paint'>paint</a> contains <a href='undocumented#SkShader'>SkShader</
5673 <table> <tr> <td><a name='SkCanvas_drawPatch_2_cubics'><code><strong>cubics</strong></code></a>…
5674a href='SkPath_Reference#SkPath'>SkPath</a> <a href='SkPath_Reference#Cubic'>cubic</a> array, shar…
5676 <tr> <td><a name='SkCanvas_drawPatch_2_colors'><code><strong>colors</strong></code></a></td>
5677 <td><a href='SkColor_Reference#Color'>color</a> array, one for each corner</td>
5679 …<tr> <td><a name='SkCanvas_drawPatch_2_texCoords'><code><strong>texCoords</strong></code></a></…
5680a href='SkPath_Reference#Point_Array'>SkPoint array</a> of <a href='undocumented#Texture'>texture<…
5688 <table> <tr> <td><a name='SkCanvas_drawPatch_2_paint'><code><strong>paint</strong></code></a></…
5689a href='undocumented#SkShader'>SkShader</a>, <a href='undocumented#SkColorFilter'>SkColorFilter</a
5703 <a href='#SkCanvas_drawVertices'>drawVertices</a> <a href='#SkCanvas_drawPicture'>drawPicture</a>
5705 <a name='SkCanvas_drawAtlas'></a>
5710a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='SkImage_Reference#SkImage'>SkImage</a>* …
5711a href='SkColor_Reference#SkColor'>SkColor</a> colors[], int count, <a href='SkBlendMode_Reference…
5712 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>)
5715a set of <a href='undocumented#Sprite'>sprites</a> from <a href='#SkCanvas_drawAtlas_atlas'>atlas<…
5716a href='#SkCanvas_drawAtlas_paint'>paint</a> uses <a href='SkPaint_Reference#Anti_Alias'>anti-alia…
5717 …e array, <a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_drawAtlas_tex'>tex</a> lo…
5718 <a href='#SkCanvas_drawAtlas_atlas'>atlas</a>, and <a href='undocumented#SkRSXform'>SkRSXform</a> <
5720a href='#SkCanvas_drawAtlas_xform'>xform</a>, <a href='undocumented#Text'>text</a>, and <a href='#…
5721a href='#SkCanvas_drawAtlas_colors'>colors</a> are applied for each <a href='undocumented#Sprite'>…
5722 <a href='undocumented#Sprite'>sprite</a> as source and <a href='#SkCanvas_drawAtlas_colors'>colors<…
5723 …ptional <a href='#SkCanvas_drawAtlas_cullRect'>cullRect</a> is a conservative bounds of all transf…
5724 If <a href='#SkCanvas_drawAtlas_cullRect'>cullRect</a> is outside of clip, <a href='SkCanvas_Refere…
5728 <table> <tr> <td><a name='SkCanvas_drawAtlas_atlas'><code><strong>atlas</strong></code></a></td>
5729 …<td><a href='SkImage_Reference#SkImage'>SkImage</a> containing <a href='undocumented#Sprite'>sprit…
5731 <tr> <td><a name='SkCanvas_drawAtlas_xform'><code><strong>xform</strong></code></a></td>
5732 …><a href='undocumented#SkRSXform'>SkRSXform</a> mappings for <a href='undocumented#Sprite'>sprites…
5734 <tr> <td><a name='SkCanvas_drawAtlas_tex'><code><strong>tex</strong></code></a></td>
5735 …d><a href='SkRect_Reference#SkRect'>SkRect</a> locations of <a href='undocumented#Sprite'>sprites<…
5737 <tr> <td><a name='SkCanvas_drawAtlas_colors'><code><strong>colors</strong></code></a></td>
5738a href='undocumented#Sprite'>sprite</a>, blended with <a href='undocumented#Sprite'>sprite</a> usi…
5740 <tr> <td><a name='SkCanvas_drawAtlas_count'><code><strong>count</strong></code></a></td>
5741 <td>number of <a href='undocumented#Sprite'>sprites</a> to draw</td>
5743 <tr> <td><a name='SkCanvas_drawAtlas_mode'><code><strong>mode</strong></code></a></td>
5744a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> combining <a href='#SkCanvas_drawAtlas_…
5746 <tr> <td><a name='SkCanvas_drawAtlas_cullRect'><code><strong>cullRect</strong></code></a></td>
5747 …<td>bounds of transformed <a href='undocumented#Sprite'>sprites</a> for efficient clipping; may be…
5749 <tr> <td><a name='SkCanvas_drawAtlas_paint'><code><strong>paint</strong></code></a></td>
5750a href='undocumented#SkColorFilter'>SkColorFilter</a>, <a href='undocumented#SkImageFilter'>SkImag…
5760 <a href='#SkCanvas_drawBitmap'>drawBitmap</a> <a href='#SkCanvas_drawImage'>drawImage</a>
5762 <a name='SkCanvas_drawAtlas_2'></a>
5767a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='undocumented#sk_sp'>sk_sp</a>&lt;<a href…
5768a href='SkColor_Reference#SkColor'>SkColor</a> colors[], int count, <a href='SkBlendMode_Reference…
5769 …const <a href='SkPaint_Reference#SkPaint'>SkPaint</a>* <a href='SkPaint_Reference#Paint'>paint</a>)
5772a set of <a href='undocumented#Sprite'>sprites</a> from <a href='#SkCanvas_drawAtlas_2_atlas'>atla…
5773a href='#SkCanvas_drawAtlas_2_paint'>paint</a> uses <a href='SkPaint_Reference#Anti_Alias'>anti-al…
5774 … array, <a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_drawAtlas_2_tex'>tex</a> l…
5775 <a href='#SkCanvas_drawAtlas_2_atlas'>atlas</a>, and <a href='undocumented#SkRSXform'>SkRSXform</a>…
5777a href='#SkCanvas_drawAtlas_2_xform'>xform</a>, <a href='undocumented#Text'>text</a>, and <a href=…
5778a href='#SkCanvas_drawAtlas_2_colors'>colors</a> is applied for each <a href='undocumented#Sprite'…
5779 …tional <a href='#SkCanvas_drawAtlas_2_cullRect'>cullRect</a> is a conservative bounds of all trans…
5780 If <a href='#SkCanvas_drawAtlas_2_cullRect'>cullRect</a> is outside of clip, <a href='SkCanvas_Refe…
5784 <table> <tr> <td><a name='SkCanvas_drawAtlas_2_atlas'><code><strong>atlas</strong></code></a></…
5785 …<td><a href='SkImage_Reference#SkImage'>SkImage</a> containing <a href='undocumented#Sprite'>sprit…
5787 <tr> <td><a name='SkCanvas_drawAtlas_2_xform'><code><strong>xform</strong></code></a></td>
5788 …<a href='undocumented#SkRSXform'>SkRSXform</a> mappings for <a href='undocumented#Sprite'>sprites<…
5790 <tr> <td><a name='SkCanvas_drawAtlas_2_tex'><code><strong>tex</strong></code></a></td>
5791 …><a href='SkRect_Reference#SkRect'>SkRect</a> locations of <a href='undocumented#Sprite'>sprites</
5793 <tr> <td><a name='SkCanvas_drawAtlas_2_colors'><code><strong>colors</strong></code></a></td>
5794a href='undocumented#Sprite'>sprite</a>, blended with <a href='undocumented#Sprite'>sprite</a> usi…
5796 <tr> <td><a name='SkCanvas_drawAtlas_2_count'><code><strong>count</strong></code></a></td>
5797 <td>number of <a href='undocumented#Sprite'>sprites</a> to draw</td>
5799 <tr> <td><a name='SkCanvas_drawAtlas_2_mode'><code><strong>mode</strong></code></a></td>
5800a href='SkBlendMode_Reference#SkBlendMode'>SkBlendMode</a> combining <a href='#SkCanvas_drawAtlas_…
5802 …<tr> <td><a name='SkCanvas_drawAtlas_2_cullRect'><code><strong>cullRect</strong></code></a></td>
5803 …<td>bounds of transformed <a href='undocumented#Sprite'>sprites</a> for efficient clipping; may be…
5805 <tr> <td><a name='SkCanvas_drawAtlas_2_paint'><code><strong>paint</strong></code></a></td>
5806a href='undocumented#SkColorFilter'>SkColorFilter</a>, <a href='undocumented#SkImageFilter'>SkImag…
5816 <a href='#SkCanvas_drawBitmap'>drawBitmap</a> <a href='#SkCanvas_drawImage'>drawImage</a>
5818 <a name='SkCanvas_drawAtlas_3'></a>
5823a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='SkImage_Reference#SkImage'>SkImage</a>* …
5824a href='SkRect_Reference#SkRect'>SkRect</a>* cullRect, const <a href='SkPaint_Reference#SkPaint'>S…
5827a set of <a href='undocumented#Sprite'>sprites</a> from <a href='#SkCanvas_drawAtlas_3_atlas'>atla…
5828a href='#SkCanvas_drawAtlas_3_paint'>paint</a> uses <a href='SkPaint_Reference#Anti_Alias'>anti-al…
5829 … array, <a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_drawAtlas_3_tex'>tex</a> l…
5830 <a href='#SkCanvas_drawAtlas_3_atlas'>atlas</a>, and <a href='undocumented#SkRSXform'>SkRSXform</a>…
5832 <a href='#SkCanvas_drawAtlas_3_xform'>xform</a> and <a href='undocumented#Text'>text</a> must conta…
5833 …tional <a href='#SkCanvas_drawAtlas_3_cullRect'>cullRect</a> is a conservative bounds of all trans…
5834 If <a href='#SkCanvas_drawAtlas_3_cullRect'>cullRect</a> is outside of clip, <a href='SkCanvas_Refe…
5838 <table> <tr> <td><a name='SkCanvas_drawAtlas_3_atlas'><code><strong>atlas</strong></code></a></…
5839 …<td><a href='SkImage_Reference#SkImage'>SkImage</a> containing <a href='undocumented#Sprite'>sprit…
5841 <tr> <td><a name='SkCanvas_drawAtlas_3_xform'><code><strong>xform</strong></code></a></td>
5842 …<a href='undocumented#SkRSXform'>SkRSXform</a> mappings for <a href='undocumented#Sprite'>sprites<…
5844 <tr> <td><a name='SkCanvas_drawAtlas_3_tex'><code><strong>tex</strong></code></a></td>
5845 …><a href='SkRect_Reference#SkRect'>SkRect</a> locations of <a href='undocumented#Sprite'>sprites</
5847 <tr> <td><a name='SkCanvas_drawAtlas_3_count'><code><strong>count</strong></code></a></td>
5848 <td>number of <a href='undocumented#Sprite'>sprites</a> to draw</td>
5850 …<tr> <td><a name='SkCanvas_drawAtlas_3_cullRect'><code><strong>cullRect</strong></code></a></td>
5851 …<td>bounds of transformed <a href='undocumented#Sprite'>sprites</a> for efficient clipping; may be…
5853 <tr> <td><a name='SkCanvas_drawAtlas_3_paint'><code><strong>paint</strong></code></a></td>
5854a href='undocumented#SkColorFilter'>SkColorFilter</a>, <a href='undocumented#SkImageFilter'>SkImag…
5864 <a href='#SkCanvas_drawBitmap'>drawBitmap</a> <a href='#SkCanvas_drawImage'>drawImage</a>
5866 <a name='SkCanvas_drawAtlas_4'></a>
5871a href='#SkCanvas_drawAtlas'>drawAtlas</a>(const <a href='undocumented#sk_sp'>sk_sp</a>&lt;<a href…
5872a href='SkRect_Reference#SkRect'>SkRect</a>* cullRect, const <a href='SkPaint_Reference#SkPaint'>S…
5875a set of <a href='undocumented#Sprite'>sprites</a> from <a href='#SkCanvas_drawAtlas_4_atlas'>atla…
5876a href='#SkCanvas_drawAtlas_4_paint'>paint</a> uses <a href='SkPaint_Reference#Anti_Alias'>anti-al…
5877 … array, <a href='SkRect_Reference#SkRect'>SkRect</a> <a href='#SkCanvas_drawAtlas_4_tex'>tex</a> l…
5878 <a href='#SkCanvas_drawAtlas_4_atlas'>atlas</a>, and <a href='undocumented#SkRSXform'>SkRSXform</a>…
5880 <a href='#SkCanvas_drawAtlas_4_xform'>xform</a> and <a href='undocumented#Text'>text</a> must conta…
5881 …tional <a href='#SkCanvas_drawAtlas_4_cullRect'>cullRect</a> is a conservative bounds of all trans…
5882 If <a href='#SkCanvas_drawAtlas_4_cullRect'>cullRect</a> is outside of clip, <a href='SkCanvas_Refe…
5886 <table> <tr> <td><a name='SkCanvas_drawAtlas_4_atlas'><code><strong>atlas</strong></code></a></…
5887 …<td><a href='SkImage_Reference#SkImage'>SkImage</a> containing <a href='undocumented#Sprite'>sprit…
5889 <tr> <td><a name='SkCanvas_drawAtlas_4_xform'><code><strong>xform</strong></code></a></td>
5890 …<a href='undocumented#SkRSXform'>SkRSXform</a> mappings for <a href='undocumented#Sprite'>sprites<…
5892 <tr> <td><a name='SkCanvas_drawAtlas_4_tex'><code><strong>tex</strong></code></a></td>
5893 …><a href='SkRect_Reference#SkRect'>SkRect</a> locations of <a href='undocumented#Sprite'>sprites</
5895 <tr> <td><a name='SkCanvas_drawAtlas_4_count'><code><strong>count</strong></code></a></td>
5896 <td>number of <a href='undocumented#Sprite'>sprites</a> to draw</td>
5898 …<tr> <td><a name='SkCanvas_drawAtlas_4_cullRect'><code><strong>cullRect</strong></code></a></td>
5899 …<td>bounds of transformed <a href='undocumented#Sprite'>sprites</a> for efficient clipping; may be…
5901 <tr> <td><a name='SkCanvas_drawAtlas_4_paint'><code><strong>paint</strong></code></a></td>
5902a href='undocumented#SkColorFilter'>SkColorFilter</a>, <a href='undocumented#SkImageFilter'>SkImag…
5912 <a href='#SkCanvas_drawBitmap'>drawBitmap</a> <a href='#SkCanvas_drawImage'>drawImage</a>
5914 <a name='SkCanvas_drawDrawable'></a>
5919a href='#SkCanvas_drawDrawable'>drawDrawable</a>(<a href='undocumented#SkDrawable'>SkDrawable</a>*…
5922a href='undocumented#SkDrawable'>SkDrawable</a> <a href='#SkCanvas_drawDrawable_drawable'>drawable…
5923 optional <a href='#SkCanvas_drawDrawable_matrix'>matrix</a>.
5925 If <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> has an asynchronous implementation, as is the…
5926 … is recording into <a href='SkPicture_Reference#SkPicture'>SkPicture</a>, then <a href='#SkCanvas_…
5927 so that <a href='undocumented#SkDrawable'>SkDrawable</a>::<a href='#SkDrawable_draw'>draw()</a> can…
5928 immediate drawing, call <a href='undocumented#SkDrawable'>SkDrawable</a>::<a href='#SkDrawable_draw…
5932 <table> <tr> <td><a name='SkCanvas_drawDrawable_drawable'><code><strong>drawable</strong></code…
5935 <tr> <td><a name='SkCanvas_drawDrawable_matrix'><code><strong>matrix</strong></code></a></td>
5946 <a href='undocumented#SkDrawable'>SkDrawable</a> <a href='#SkCanvas_drawPicture'>drawPicture</a>
5948 <a name='SkCanvas_drawDrawable_2'></a>
5953a href='#SkCanvas_drawDrawable'>drawDrawable</a>(<a href='undocumented#SkDrawable'>SkDrawable</a>*…
5956a href='undocumented#SkDrawable'>SkDrawable</a> <a href='#SkCanvas_drawDrawable_2_drawable'>drawab…
5958 If <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> has an asynchronous implementation, as is the…
5959 …is recording into <a href='SkPicture_Reference#SkPicture'>SkPicture</a>, then <a href='#SkCanvas_d…
5960 so that <a href='undocumented#SkDrawable'>SkDrawable</a>::<a href='#SkDrawable_draw'>draw()</a> can…
5961 immediate drawing, call <a href='undocumented#SkDrawable'>SkDrawable</a>::<a href='#SkDrawable_draw…
5965 <table> <tr> <td><a name='SkCanvas_drawDrawable_2_drawable'><code><strong>drawable</strong></co…
5968 <tr> <td><a name='SkCanvas_drawDrawable_2_x'><code><strong>x</strong></code></a></td>
5969 … <td>offset into <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> writable pixels on x-axis</td>
5971 <tr> <td><a name='SkCanvas_drawDrawable_2_y'><code><strong>y</strong></code></a></td>
5972 … <td>offset into <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> writable pixels on y-axis</td>
5982 <a href='undocumented#SkDrawable'>SkDrawable</a> <a href='#SkCanvas_drawPicture'>drawPicture</a>
5984 <a name='SkCanvas_drawAnnotation'></a>
5989a href='#SkCanvas_drawAnnotation'>drawAnnotation</a>(const <a href='SkRect_Reference#SkRect'>SkRec…
5992a href='SkRect_Reference#SkRect'>SkRect</a> on <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> …
5993 a null-terminated UTF-8 <a href='undocumented#String'>string</a>, and optional <a href='#SkCanvas_d…
5995 …y some <a href='SkCanvas_Reference#Canvas'>canvas</a> implementations, such as recording to <a hre…
5996 <a href='undocumented#Document_PDF'>document PDF</a>, use annotations.
6000 <table> <tr> <td><a name='SkCanvas_drawAnnotation_rect'><code><strong>rect</strong></code></a><…
6001 …<td><a href='SkRect_Reference#SkRect'>SkRect</a> extent of <a href='SkCanvas_Reference#Canvas'>can…
6003 <tr> <td><a name='SkCanvas_drawAnnotation_key'><code><strong>key</strong></code></a></td>
6004 <td><a href='undocumented#String'>string</a> used for lookup</td>
6006 <tr> <td><a name='SkCanvas_drawAnnotation_value'><code><strong>value</strong></code></a></td>
6007 …<td><a href='undocumented#Data'>data</a> holding <a href='#SkCanvas_drawAnnotation_value'>value</a
6017 <a href='SkPicture_Reference#SkPicture'>SkPicture</a> <a href='undocumented#SkDocument'>SkDocument<…
6019 <a name='SkCanvas_drawAnnotation_2'></a>
6024a href='#SkCanvas_drawAnnotation'>drawAnnotation</a>(const <a href='SkRect_Reference#SkRect'>SkRec…
6027a href='SkRect_Reference#SkRect'>SkRect</a> on <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> …
6028 a null-terminated UTF-8 <a href='undocumented#String'>string</a>, and optional <a href='#SkCanvas_d…
6030 …y some <a href='SkCanvas_Reference#Canvas'>canvas</a> implementations, such as recording to <a hre…
6031 <a href='undocumented#Document_PDF'>document PDF</a>, use annotations.
6035 <table> <tr> <td><a name='SkCanvas_drawAnnotation_2_rect'><code><strong>rect</strong></code></a
6036 …<td><a href='SkRect_Reference#SkRect'>SkRect</a> extent of <a href='SkCanvas_Reference#Canvas'>can…
6038 <tr> <td><a name='SkCanvas_drawAnnotation_2_key'><code><strong>key</strong></code></a></td>
6039 <td><a href='undocumented#String'>string</a> used for lookup</td>
6041 <tr> <td><a name='SkCanvas_drawAnnotation_2_value'><code><strong>value</strong></code></a></td>
6042 …<td><a href='undocumented#Data'>data</a> holding <a href='#SkCanvas_drawAnnotation_2_value'>value<…
6052 <a href='SkPicture_Reference#SkPicture'>SkPicture</a> <a href='undocumented#SkDocument'>SkDocument<…
6054 <a name='SkCanvas_isClipEmpty'></a>
6059 virtual bool <a href='#SkCanvas_isClipEmpty'>isClipEmpty</a>()const
6087a href='#SkCanvas_isClipRect'>isClipRect</a> <a href='#SkCanvas_getLocalClipBounds'>getLocalClipBo…
6089 <a name='SkCanvas_isClipRect'></a>
6094 virtual bool <a href='#SkCanvas_isClipRect'>isClipRect</a>()const
6097 Returns true if clip is <a href='SkRect_Reference#SkRect'>SkRect</a> and not empty.
6098 Returns false if the clip is empty, or if it is not <a href='SkRect_Reference#SkRect'>SkRect</a>.
6102 true if clip is <a href='SkRect_Reference#SkRect'>SkRect</a> and not empty
6119a href='#SkCanvas_isClipEmpty'>isClipEmpty</a> <a href='#SkCanvas_getLocalClipBounds'>getLocalClip…