diff options
author | 2017-11-02 17:49:34 -0400 | |
---|---|---|
committer | 2017-11-02 22:10:53 +0000 | |
commit | 2ade99783120cf9149e7b2e85b3c3c2bd63d4839 (patch) | |
tree | 62498c450e03777d3e8f6a2e3aed31eb0b4c3020 /site/user | |
parent | ba7cf29fa8cb60514177bcf7c91f5f1607480ad6 (diff) |
filling holes in canvas doc
filling holes in canvas doc
Docs-Preview: https://skia.org/?cl=66920
TBR=caryclark@google.com
Bug: skia:6898
Change-Id: I3a211df5f19ecfbfa0bb060bb6d55005a38cd360
Reviewed-on: https://skia-review.googlesource.com/66920
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Diffstat (limited to 'site/user')
-rw-r--r-- | site/user/api/SkBitmap_Reference.md | 6 | ||||
-rw-r--r-- | site/user/api/SkCanvas_Reference.md | 517 | ||||
-rw-r--r-- | site/user/api/SkMatrix_Reference.md | 8 | ||||
-rw-r--r-- | site/user/api/SkPaint_Reference.md | 16 | ||||
-rw-r--r-- | site/user/api/SkPath_Reference.md | 3 | ||||
-rw-r--r-- | site/user/api/SkPixmap_Reference.md | 14 | ||||
-rw-r--r-- | site/user/api/catalog.htm | 85 | ||||
-rw-r--r-- | site/user/api/undocumented.md | 147 |
8 files changed, 715 insertions, 81 deletions
diff --git a/site/user/api/SkBitmap_Reference.md b/site/user/api/SkBitmap_Reference.md index df514533e9..824da343c7 100644 --- a/site/user/api/SkBitmap_Reference.md +++ b/site/user/api/SkBitmap_Reference.md @@ -1406,7 +1406,7 @@ integral rectangle from origin to <a href="#SkBitmap_width">width</a> and <a hre ### Example -<div><fiddle-embed name="977dd8a850f89a610505e3f4f260d540"></fiddle-embed></div> +<div><fiddle-embed name="bd020c1527964761adf7646e82a36487"></fiddle-embed></div> ### See Also @@ -2262,6 +2262,10 @@ subset origin: 32, 64 </fiddle-embed></div> +### See Also + +<a href="undocumented#SkPixelRef">SkPixelRef</a> <a href="#SkBitmap_getSubset">getSubset</a> <a href="#SkBitmap_setPixelRef">setPixelRef</a> + --- <a name="SkBitmap_setPixelRef"></a> diff --git a/site/user/api/SkCanvas_Reference.md b/site/user/api/SkCanvas_Reference.md index 5d59fd4dd4..33ce63104b 100644 --- a/site/user/api/SkCanvas_Reference.md +++ b/site/user/api/SkCanvas_Reference.md @@ -268,6 +268,10 @@ in the center.</div> </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_MakeRasterDirect">MakeRasterDirect</a> <a href="#SkSurface_MakeRasterDirect">SkSurface::MakeRasterDirect</a> <a href="#SkImageInfo_MakeN32Premul">SkImageInfo::MakeN32Premul</a> + --- <a name="SkCanvas_empty_constructor"></a> @@ -298,6 +302,10 @@ paint draws text top to bottom </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_MakeRasterDirect">MakeRasterDirect</a> <a href="#SkRasterHandleAllocator_MakeCanvas">SkRasterHandleAllocator::MakeCanvas</a> <a href="#SkSurface_getCanvas">SkSurface::getCanvas</a> <a href="undocumented#SkCreateColorSpaceXformCanvas">SkCreateColorSpaceXformCanvas</a> + --- <a name="SkCanvas_int_int_const_SkSurfaceProps_star"></a> @@ -346,7 +354,7 @@ canvas is empty ### See Also -<a href="undocumented#SkSurfaceProps">SkSurfaceProps</a> <a href="undocumented#SkPixelGeometry">SkPixelGeometry</a> +<a href="#SkCanvas_MakeRasterDirect">MakeRasterDirect</a> <a href="undocumented#SkSurfaceProps">SkSurfaceProps</a> <a href="undocumented#SkPixelGeometry">SkPixelGeometry</a> <a href="undocumented#SkCreateColorSpaceXformCanvas">SkCreateColorSpaceXformCanvas</a> --- @@ -375,6 +383,10 @@ specifies a <a href="#SkCanvas_copy_SkBaseDevice_star_device">device</a> for the <div><fiddle-embed name=""></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_MakeRasterDirect">MakeRasterDirect</a> <a href="#SkRasterHandleAllocator_MakeCanvas">SkRasterHandleAllocator::MakeCanvas</a> <a href="#SkSurface_getCanvas">SkSurface::getCanvas</a> <a href="undocumented#SkCreateColorSpaceXformCanvas">SkCreateColorSpaceXformCanvas</a> + --- <a name="SkCanvas_copy_const_SkBitmap"></a> @@ -426,6 +438,10 @@ storage of <a href="undocumented#Raster_Surface">Raster Surface</a></td> </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_MakeRasterDirect">MakeRasterDirect</a> <a href="#SkRasterHandleAllocator_MakeCanvas">SkRasterHandleAllocator::MakeCanvas</a> <a href="#SkSurface_getCanvas">SkSurface::getCanvas</a> <a href="undocumented#SkCreateColorSpaceXformCanvas">SkCreateColorSpaceXformCanvas</a> + --- ## <a name="SkCanvas_ColorBehavior"></a> Enum SkCanvas::ColorBehavior @@ -516,6 +532,10 @@ device independent fonts</td> </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_MakeRasterDirect">MakeRasterDirect</a> <a href="#SkRasterHandleAllocator_MakeCanvas">SkRasterHandleAllocator::MakeCanvas</a> <a href="#SkSurface_getCanvas">SkSurface::getCanvas</a> <a href="undocumented#SkCreateColorSpaceXformCanvas">SkCreateColorSpaceXformCanvas</a> + --- <a name="SkCanvas_destructor"></a> @@ -569,6 +589,10 @@ after: (null) </fiddle-embed></div> +### See Also + +<a href="undocumented#SkMetaData">SkMetaData</a> + --- <a name="SkCanvas_imageInfo"></a> @@ -597,6 +621,10 @@ emptyInfo == canvasInfo </fiddle-embed></div> +### See Also + +<a href="undocumented#SkImageInfo">SkImageInfo</a> <a href="#SkCanvas_MakeRasterDirect">MakeRasterDirect</a> <a href="#SkCanvas_makeSurface">makeSurface</a> + --- <a name="SkCanvas_getProps"></a> @@ -634,6 +662,10 @@ isRGB:1 </fiddle-embed></div> +### See Also + +<a href="undocumented#SkSurfaceProps">SkSurfaceProps</a> <a href="#SkCanvas_makeSurface">makeSurface</a> + --- <a name="SkCanvas_flush"></a> @@ -645,11 +677,17 @@ void flush() Triggers the immediate execution of all pending draw operations. If <a href="#Canvas">Canvas</a> is associated with <a href="undocumented#GPU_Surface">GPU Surface</a>, resolves all pending <a href="undocumented#GPU">GPU</a> operations. +If <a href="#Canvas">Canvas</a> is associated with <a href="undocumented#Raster_Surface">Raster Surface</a>, has no effect; raster draw +operations are never deferred. ### Example <div><fiddle-embed name=""></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_peekPixels">peekPixels</a> <a href="#SkSurface_flush">SkSurface::flush()</a> <a href="#flush">GrContext::flush()</a> <a href="#SkSurface_prepareForExternalIO">SkSurface::prepareForExternalIO</a> GrContext::abandonContext() + --- <a name="SkCanvas_getBaseLayerSize"></a> @@ -680,6 +718,10 @@ size=20,30 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_getDeviceClipBounds">getDeviceClipBounds</a> + --- <a name="SkCanvas_makeSurface"></a> @@ -722,6 +764,10 @@ size = 3, 4 </fiddle-embed></div> +### See Also + +<a href="undocumented#SkSurface">SkSurface</a> <a href="#SkSurface_makeSurface">SkSurface::makeSurface</a> <a href="undocumented#SkImageInfo">SkImageInfo</a> <a href="undocumented#SkSurfaceProps">SkSurfaceProps</a> + --- <a name="SkCanvas_getGrContext"></a> @@ -741,6 +787,10 @@ Returns <a href="undocumented#GPU_Context">GPU Context</a> of the <a href="undoc <div><fiddle-embed name="c4ea949e5fa5a0630dcb6b0204bd498f"></fiddle-embed></div> +### See Also + +<a href="undocumented#GrContext">GrContext</a> + --- <a name="SkCanvas_accessTopLayerPixels"></a> @@ -787,6 +837,10 @@ device. The <a href="#Layer">Layer</a> and blended result appear on the <a href="undocumented#CPU">CPU</a> and <a href="undocumented#GPU">GPU</a> but the large dotted "" appear only on the <a href="undocumented#CPU">CPU</a>.</div></fiddle-embed></div> +### See Also + +<a href="undocumented#SkImageInfo">SkImageInfo</a> <a href="SkPixmap_Reference#SkPixmap">SkPixmap</a> + --- <a name="SkCanvas_accessTopRasterHandle"></a> @@ -865,6 +919,10 @@ width=256 height=256 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_readPixels">readPixels</a> <a href="#SkBitmap_peekPixels">SkBitmap::peekPixels</a> <a href="#SkImage_peekPixels">SkImage::peekPixels</a> <a href="#SkSurface_peekPixels">SkSurface::peekPixels</a> + --- <a name="SkCanvas_readPixels"></a> @@ -949,7 +1007,7 @@ pixel = 8056a9ff ### See Also -<a href="#SkCanvas_peekPixels">peekPixels</a> <a href="#SkCanvas_writePixels">writePixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> +<a href="#SkCanvas_peekPixels">peekPixels</a> <a href="#SkCanvas_writePixels">writePixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkBitmap_readPixels">SkBitmap::readPixels</a> <a href="#SkPixmap_readPixels">SkPixmap::readPixels</a> <a href="#SkImage_readPixels">SkImage::readPixels</a> <a href="#SkSurface_readPixels">SkSurface::readPixels</a> --- @@ -1019,7 +1077,7 @@ pixel = 802b5580 ### See Also -<a href="#SkCanvas_peekPixels">peekPixels</a> <a href="#SkCanvas_writePixels">writePixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> +<a href="#SkCanvas_peekPixels">peekPixels</a> <a href="#SkCanvas_writePixels">writePixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkBitmap_readPixels">SkBitmap::readPixels</a> <a href="#SkPixmap_readPixels">SkPixmap::readPixels</a> <a href="#SkImage_readPixels">SkImage::readPixels</a> <a href="#SkSurface_readPixels">SkSurface::readPixels</a> --- @@ -1089,7 +1147,7 @@ pixel = 802b5580 ### See Also -<a href="#SkCanvas_peekPixels">peekPixels</a> <a href="#SkCanvas_writePixels">writePixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> +<a href="#SkCanvas_peekPixels">peekPixels</a> <a href="#SkCanvas_writePixels">writePixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkBitmap_readPixels">SkBitmap::readPixels</a> <a href="#SkPixmap_readPixels">SkPixmap::readPixels</a> <a href="#SkImage_readPixels">SkImage::readPixels</a> <a href="#SkSurface_readPixels">SkSurface::readPixels</a> --- @@ -1156,7 +1214,7 @@ true if <a href="#SkCanvas_writePixels_pixels">pixels</a> were written to <a hre ### See Also -<a href="#SkCanvas_readPixels">readPixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> +<a href="#SkCanvas_readPixels">readPixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkBitmap_writePixels">SkBitmap::writePixels</a> --- @@ -1217,7 +1275,7 @@ true if pixels were written to <a href="#Canvas">Canvas</a> ### See Also -<a href="#SkCanvas_readPixels">readPixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> +<a href="#SkCanvas_readPixels">readPixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkBitmap_writePixels">SkBitmap::writePixels</a> --- @@ -1282,6 +1340,10 @@ depth of saved stack Restoring <a href="#Canvas">Canvas</a> state removes <a href="#SkCanvas_translate">translate</a> from <a href="#Canvas">Canvas</a> stack; the red square is not translated, and is drawn at the origin.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_restoreToCount">restoreToCount</a> + --- <a name="SkCanvas_restore"></a> @@ -1300,6 +1362,10 @@ Does nothing if the stack is empty. <div><fiddle-embed name="e78471212a67f2f4fd39496e17a30d17"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> <a href="#SkCanvas_restoreToCount">restoreToCount</a> + --- <a name="SkCanvas_getSaveCount"></a> @@ -1331,6 +1397,10 @@ depth = 1 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_restoreToCount">restoreToCount</a> + --- <a name="SkCanvas_restoreToCount"></a> @@ -1367,6 +1437,10 @@ depth = 1 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_getSaveCount">getSaveCount</a> <a href="#SkCanvas_save">save</a> + --- # <a name="Layer"></a> Layer @@ -1422,6 +1496,10 @@ depth of saved stack <div><fiddle-embed name="05f9b6fa6b5007aea89dfe66c306855d"><div>Rectangles are blurred by <a href="undocumented#Image_Filter">Image Filter</a> when <a href="#SkCanvas_restore">restore</a> draws <a href="#Layer">Layer</a> to main <a href="#Canvas">Canvas</a>.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> <a href="#SkCanvas_SaveLayerRec">SaveLayerRec</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -1464,6 +1542,10 @@ depth of saved stack The red rectangle is clipped; it does not fully fit on <a href="#Layer">Layer</a>. <a href="undocumented#Image_Filter">Image Filter</a> blurs past edge of <a href="#Layer">Layer</a> so red rectangle is blurred on all sides.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> <a href="#SkCanvas_SaveLayerRec">SaveLayerRec</a> + --- <a name="SkCanvas_saveLayerPreserveLCDTextRequests"></a> @@ -1512,6 +1594,10 @@ depth of saved stack <div><fiddle-embed name="8460bf8b013f46c67e0bd96e13451aff"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> <a href="#SkCanvas_SaveLayerRec">SaveLayerRec</a> + --- <a name="SkCanvas_saveLayerAlpha"></a> @@ -1555,6 +1641,10 @@ depth of saved stack <div><fiddle-embed name="8ab88d86fb438856cc48d6e2f08a6e24"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_SaveLayerRec">SaveLayerRec</a> + --- ## <a name="SkCanvas__anonymous"></a> Enum SkCanvas::_anonymous @@ -1597,6 +1687,10 @@ Skips setting a clip to the <a href="#Layer">Layer</a> bounds.</td> <div><fiddle-embed name="d314c688925d2c549d4762f5cc6e6a1a"><div><a href="#Canvas">Canvas</a> <a href="#Layer">Layer</a> captures red and blue circles scaled up by four. scalePaint blends <a href="#Layer">Layer</a> back with transparency.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> <a href="#SkCanvas_SaveLayerRec">SaveLayerRec</a> + # <a name="SkCanvas_SaveLayerRec"></a> Struct SkCanvas::SaveLayerRec @@ -1679,6 +1773,10 @@ rec1 == rec2 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -1715,6 +1813,10 @@ rec1 == rec2 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -1754,6 +1856,10 @@ rec1 == rec2 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -1766,7 +1872,7 @@ Not ready for general use.Sets <a href="#SkCanvas_SaveLayerRec_fBounds">fBounds< <a href="#SkCanvas_SaveLayerRec_SaveLayerRec_4_clipMatrix">clipMatrix</a> uses <a href="#Alpha">Color Alpha</a> channel of image, transformed by <a href="#SkCanvas_SaveLayerRec_SaveLayerRec_4_clipMatrix">clipMatrix</a>, to clip <a href="#Layer">Layer</a> when drawn to <a href="#Canvas">Canvas</a>. -Implementation is incomplete; has no effect if <a href="undocumented#Device">Device</a> is <a href="undocumented#GPU_backed">GPU-backed</a>. +Implementation is not complete; has no effect if <a href="undocumented#Device">Device</a> is <a href="undocumented#GPU_backed">GPU-backed</a>. ### Parameters @@ -1792,6 +1898,10 @@ identity matrix</td> <a href="#SkCanvas_SaveLayerRec_SaveLayerRec">SaveLayerRec</a> fully specified +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -1830,6 +1940,10 @@ Next it punches a hole in <a href="#Layer">Layer</a> and <a href="#SkCanvas_rest Where <a href="#Layer">Layer</a> was cleared, the original image will draw unchanged. Outside of the circle the mandrill is brightened.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> + --- # <a name="Matrix"></a> Matrix @@ -1868,6 +1982,10 @@ fill follows <a href="#SkCanvas_scale">scale</a> of (2, 1/2.f). After restoring <a href="#Matrix">Matrix</a>, a red frame follows the same <a href="#SkCanvas_scale">scale</a> of (2, 1/2.f); a gray fill follows <a href="#SkCanvas_translate">translate</a> of (50, 50).</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_concat">concat</a> <a href="#SkCanvas_scale">scale</a> <a href="#SkCanvas_skew">skew</a> <a href="#SkCanvas_rotate">rotate</a> <a href="#SkCanvas_setMatrix">setMatrix</a> + --- <a name="SkCanvas_scale"></a> @@ -1898,6 +2016,10 @@ amount to <a href="#SkCanvas_scale">scale</a> in y</td> <div><fiddle-embed name="7d0d801ef13c6c6da51e840c22ac15b0"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_concat">concat</a> <a href="#SkCanvas_translate">translate</a> <a href="#SkCanvas_skew">skew</a> <a href="#SkCanvas_rotate">rotate</a> <a href="#SkCanvas_setMatrix">setMatrix</a> + --- <a name="SkCanvas_rotate"></a> @@ -1927,6 +2049,10 @@ amount to <a href="#SkCanvas_rotate">rotate</a>, in <a href="#SkCanvas_rotate_de <div><fiddle-embed name="caafb205771b714948e00dcd58ccaf1f"><div>Draw clock hands at time 5:10. The hour hand and minute hand point up and are rotated clockwise.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_concat">concat</a> <a href="#SkCanvas_translate">translate</a> <a href="#SkCanvas_skew">skew</a> <a href="#SkCanvas_scale">scale</a> <a href="#SkCanvas_setMatrix">setMatrix</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -1958,6 +2084,10 @@ y-coordinate of the point to <a href="#SkCanvas_rotate">rotate</a> about</td> <div><fiddle-embed name="bcf5baea1c66a957d5ffd7b54bbbfeff"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_concat">concat</a> <a href="#SkCanvas_translate">translate</a> <a href="#SkCanvas_skew">skew</a> <a href="#SkCanvas_scale">scale</a> <a href="#SkCanvas_setMatrix">setMatrix</a> + --- <a name="SkCanvas_skew"></a> @@ -1993,6 +2123,10 @@ shifts the geometry to the right as the y values decrease. increase. <a href="#Blue">Blue</a> text combines x and y <a href="#SkCanvas_skew">skew</a> to <a href="#SkCanvas_rotate">rotate</a> and <a href="#SkCanvas_scale">scale</a>.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_concat">concat</a> <a href="#SkCanvas_translate">translate</a> <a href="#SkCanvas_rotate">rotate</a> <a href="#SkCanvas_scale">scale</a> <a href="#SkCanvas_setMatrix">setMatrix</a> + --- <a name="SkCanvas_concat"></a> @@ -2018,6 +2152,10 @@ transforming the result with existing <a href="#Matrix">Matrix</a>. <div><fiddle-embed name="8f6818b25a92a88638ad99b2dd293f61"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_translate">translate</a> <a href="#SkCanvas_rotate">rotate</a> <a href="#SkCanvas_scale">scale</a> <a href="#SkCanvas_skew">skew</a> <a href="#SkCanvas_setMatrix">setMatrix</a> + --- <a name="SkCanvas_setMatrix"></a> @@ -2041,6 +2179,10 @@ Unlike <a href="#SkCanvas_concat">concat</a>, any prior <a href="#SkCanvas_setMa <div><fiddle-embed name="24b9cf7e6f9a08394e1e07413bd8733a"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_resetMatrix">resetMatrix</a> <a href="#SkCanvas_concat">concat</a> <a href="#SkCanvas_translate">translate</a> <a href="#SkCanvas_rotate">rotate</a> <a href="#SkCanvas_scale">scale</a> <a href="#SkCanvas_skew">skew</a> + --- <a name="SkCanvas_resetMatrix"></a> @@ -2057,6 +2199,10 @@ Any prior matrix state is overwritten. <div><fiddle-embed name="412afffdf4682baa503a4e2e99201967"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_setMatrix">setMatrix</a> <a href="#SkCanvas_concat">concat</a> <a href="#SkCanvas_translate">translate</a> <a href="#SkCanvas_rotate">rotate</a> <a href="#SkCanvas_scale">scale</a> <a href="#SkCanvas_skew">skew</a> + --- <a name="SkCanvas_getTotalMatrix"></a> @@ -2085,6 +2231,10 @@ isIdentity true </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_setMatrix">setMatrix</a> <a href="#SkCanvas_resetMatrix">resetMatrix</a> <a href="#SkCanvas_concat">concat</a> + --- # <a name="Clip"></a> Clip @@ -2148,6 +2298,10 @@ true if <a href="#Clip">Clip</a> is to be <a href="undocumented#Anti_alias">Anti <div><fiddle-embed name="6a614faa0fbcf19958b5559c19b02d0f"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRRect">clipRRect</a> <a href="#SkCanvas_clipPath">clipPath</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2171,6 +2325,10 @@ Resulting <a href="#Clip">Clip</a> is <a href="#Alias">Aliased</a>; pixels are f <div><fiddle-embed name="13bbc5fa5597a6cd4d704b419dbc66d9"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRRect">clipRRect</a> <a href="#SkCanvas_clipPath">clipPath</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2197,6 +2355,10 @@ true if <a href="#Clip">Clip</a> is to be <a href="undocumented#Anti_alias">Anti The same circle pieces blend with pixels more than once when <a href="undocumented#Anti_alias">Anti-aliased</a>, visible as a thin pair of lines through the right circle.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRRect">clipRRect</a> <a href="#SkCanvas_clipPath">clipPath</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <a name="SkCanvas_androidFramework_setDeviceClipRestriction"></a> @@ -2251,6 +2413,10 @@ true if <a href="#Clip">Clip</a> is to be <a href="undocumented#Anti_alias">Anti <div><fiddle-embed name="182ef48ab5e04ba3578496fda8d9fa36"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRect">clipRect</a> <a href="#SkCanvas_clipPath">clipPath</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2274,6 +2440,10 @@ Resulting <a href="#Clip">Clip</a> is <a href="#Alias">Aliased</a>; pixels are f <div><fiddle-embed name="ef6ae2eaae6761130ce38065d0364abd"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRect">clipRect</a> <a href="#SkCanvas_clipPath">clipPath</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2297,6 +2467,10 @@ true if <a href="#Clip">Clip</a> is to be <a href="undocumented#Anti_alias">Anti <div><fiddle-embed name="f583114580b2176fe3e75b0994476a84"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRect">clipRect</a> <a href="#SkCanvas_clipPath">clipPath</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <a name="SkCanvas_clipPath"></a> @@ -2331,6 +2505,10 @@ area outside clip is subtracted from circle. Bottom figure uses <a href="#SkPath_kWinding_FillType">SkPath::kWinding FillType</a> and <a href="#SkClipOp_kIntersect">SkClipOp::kIntersect</a>; area inside clip is intersected with circle.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRect">clipRect</a> <a href="#SkCanvas_clipRRect">clipRRect</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2360,6 +2538,10 @@ before it is combined with <a href="#Clip">Clip</a>. <a href="#SkPath_kWinding_FillType">SkPath::kWinding FillType</a>, the overlap is included. Set to <a href="#SkPath_kEvenOdd_FillType">SkPath::kEvenOdd FillType</a>, the overlap is excluded and forms a hole.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRect">clipRect</a> <a href="#SkCanvas_clipRRect">clipRRect</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2388,6 +2570,10 @@ true if <a href="#Clip">Clip</a> is to be <a href="undocumented#Anti_alias">Anti is set to <a href="#SkPath_kWinding_FillType">SkPath::kWinding FillType</a>, the overlap is included. Set to <a href="#SkPath_kEvenOdd_FillType">SkPath::kEvenOdd FillType</a>, the overlap is excluded and forms a hole.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRect">clipRect</a> <a href="#SkCanvas_clipRRect">clipRRect</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <a name="SkCanvas_setAllowSimplifyClip"></a> @@ -2427,6 +2613,10 @@ Resulting <a href="#Clip">Clip</a> is <a href="#Alias">Aliased</a>; pixels are f Both clips are <a href="#Alias">Aliased</a>; this is not noticeable on <a href="undocumented#Region">Region</a> clip because it aligns to pixel boundaries.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRect">clipRect</a> <a href="#SkCanvas_clipRRect">clipRRect</a> <a href="#SkCanvas_clipPath">clipPath</a> + --- <a name="SkCanvas_quickReject"></a> @@ -2465,6 +2655,10 @@ quickReject false </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_getLocalClipBounds">getLocalClipBounds</a> <a href="#SkCanvas_getTotalMatrix">getTotalMatrix</a> <a href="#SkBitmap_drawsNothing">SkBitmap::drawsNothing</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2500,6 +2694,10 @@ quickReject false </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_getLocalClipBounds">getLocalClipBounds</a> <a href="#SkCanvas_getTotalMatrix">getTotalMatrix</a> <a href="#SkBitmap_drawsNothing">SkBitmap::drawsNothing</a> + --- <a name="SkCanvas_getLocalClipBounds"></a> @@ -2535,6 +2733,10 @@ left:14.5 top:64.5 right:60.5 bottom:115.5 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_getDeviceClipBounds">getDeviceClipBounds</a> <a href="#SkCanvas_getBaseLayerSize">getBaseLayerSize</a> <a href="#SkCanvas_quickReject">quickReject</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2571,6 +2773,10 @@ local bounds empty = true </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_getDeviceClipBounds">getDeviceClipBounds</a> <a href="#SkCanvas_getBaseLayerSize">getBaseLayerSize</a> <a href="#SkCanvas_quickReject">quickReject</a> + --- <a name="SkCanvas_getDeviceClipBounds"></a> @@ -2605,6 +2811,10 @@ left:15 top:65 right:60 bottom:115 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_getLocalClipBounds">getLocalClipBounds</a> <a href="#SkCanvas_getBaseLayerSize">getBaseLayerSize</a> <a href="#SkCanvas_quickReject">quickReject</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2640,6 +2850,10 @@ device bounds empty = true </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_getLocalClipBounds">getLocalClipBounds</a> <a href="#SkCanvas_getBaseLayerSize">getBaseLayerSize</a> <a href="#SkCanvas_quickReject">quickReject</a> + --- <a name="SkCanvas_drawColor"></a> @@ -2665,6 +2879,10 @@ Fill <a href="#Clip">Clip</a> with <a href="undocumented#Color">Color</a> <a hre <div><fiddle-embed name="9cf94fead1e6b17d836c704b4eac269a"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clear">clear</a> <a href="#SkBitmap_erase">SkBitmap::erase</a> <a href="#SkCanvas_drawPaint">drawPaint</a> + --- <a name="SkCanvas_clear"></a> @@ -2688,6 +2906,10 @@ This has the effect of replacing all pixels contained by <a href="#Clip">Clip</a <div><fiddle-embed name="d97750e04989d42dc879406127b22c0b"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawColor">drawColor</a> <a href="#SkBitmap_erase">SkBitmap::erase</a> <a href="#SkCanvas_drawPaint">drawPaint</a> + --- <a name="SkCanvas_discard"></a> @@ -2709,6 +2931,10 @@ cached data associated with <a href="undocumented#Surface">Surface</a> or <a hre It is not necessary to call <a href="#SkCanvas_discard">discard</a> once done with <a href="#Canvas">Canvas</a>; any cached data is deleted when owning <a href="undocumented#Surface">Surface</a> or <a href="undocumented#Device">Device</a> is deleted. +### See Also + +<a href="#SkCanvas_flush">flush</a> <a href="#SkSurface_prepareForExternalIO">SkSurface::prepareForExternalIO</a> GrContext::abandonContext + --- <a name="SkCanvas_drawPaint"></a> @@ -2733,6 +2959,10 @@ graphics state used to fill <a href="#Canvas">Canvas</a></td> <div><fiddle-embed name="1cd076b9b1a7c976cdca72b93c4f42dd"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clear">clear</a> <a href="#SkCanvas_drawColor">drawColor</a> <a href="#SkBitmap_erase">SkBitmap::erase</a> + --- ## <a name="SkCanvas_PointMode"></a> Enum SkCanvas::PointMode @@ -2768,6 +2998,10 @@ The upper right corner shows one line; when drawn as lines, two points are requi The lower right corner shows two lines; when draw as polygon, no miter is drawn at the corner. The lower left corner shows two lines with a miter when path contains polygon.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawLine">drawLine</a> <a href="#SkCanvas_drawPoint">drawPoint</a> <a href="#SkCanvas_drawPath">drawPath</a> + <a name="SkCanvas_drawPoints"></a> @@ -2832,6 +3066,10 @@ stroke, blend, color, and so on, used to draw</td> The transparent color makes multiple line draws visible; the path is drawn all at once.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawLine">drawLine</a> <a href="#SkCanvas_drawPoint">drawPoint</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <a name="SkCanvas_drawPoint"></a> @@ -2864,6 +3102,10 @@ stroke, blend, color, and so on, used to draw</td> <div><fiddle-embed name="3476b553e7b547b604a3f6969f02d933"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawPoints">drawPoints</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawLine">drawLine</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2893,7 +3135,7 @@ stroke, blend, color, and so on, used to draw</td> ### See Also -<a href="#SkCanvas_drawPoints">drawPoints</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawRect">drawRect</a> +<a href="#SkCanvas_drawPoints">drawPoints</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawLine">drawLine</a> <a href="#SkCanvas_drawPath">drawPath</a> --- @@ -2929,6 +3171,10 @@ stroke, blend, color, and so on, used to draw</td> <div><fiddle-embed name="d10ee4a265f278d02afe11ad889b293b"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawPoint">drawPoint</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2955,6 +3201,10 @@ stroke, blend, color, and so on, used to draw</td> <div><fiddle-embed name="f8525816cb596dde1a3855446792c8e0"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawPoint">drawPoint</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <a name="SkCanvas_drawRect"></a> @@ -2982,6 +3232,10 @@ stroke or fill, blend, color, and so on, used to draw</td> <div><fiddle-embed name="871b0da9b4a23de11ae7a772ce14aed3"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawIRect">drawIRect</a> <a href="#SkCanvas_drawRRect">drawRRect</a> <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> <a href="#SkCanvas_drawRegion">drawRegion</a> <a href="#SkCanvas_drawPath">drawPath</a> <a href="#SkCanvas_drawLine">drawLine</a> + --- <a name="SkCanvas_drawIRect"></a> @@ -3009,6 +3263,10 @@ stroke or fill, blend, color, and so on, used to draw</td> <div><fiddle-embed name="d3d8ca584134560750b1efa4a4c6e138"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawRRect">drawRRect</a> <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> <a href="#SkCanvas_drawRegion">drawRegion</a> <a href="#SkCanvas_drawPath">drawPath</a> <a href="#SkCanvas_drawLine">drawLine</a> + --- <a name="SkCanvas_drawRegion"></a> @@ -3036,6 +3294,10 @@ if stroked, <a href="#Stroke_Width">Paint Stroke Width</a> describes the line th <div><fiddle-embed name="80309e0deca0f8add616cec7bec634ca"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawIRect">drawIRect</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <a name="SkCanvas_drawOval"></a> @@ -3062,6 +3324,10 @@ if stroked, <a href="#Stroke_Width">Paint Stroke Width</a> describes the line th <div><fiddle-embed name="8b6b86f8a022811cd29a9c6ab771df12"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawPoint">drawPoint</a> <a href="#SkCanvas_drawPath">drawPath</a> <a href="#SkCanvas_drawRRect">drawRRect</a> <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> + --- <a name="SkCanvas_drawRRect"></a> @@ -3091,6 +3357,10 @@ may have any combination of positive non-square radii for the four corners. <div><fiddle-embed name="369cdbfb2a200d5bb8ae40f7cc1025c3"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> <a href="#SkCanvas_drawDRRect">drawDRRect</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawOval">drawOval</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <a name="SkCanvas_drawDRRect"></a> @@ -3133,6 +3403,10 @@ concave and <a href="#SkCanvas_drawDRRect_outer">outer</a> contains <a href="#Sk Inner <a href="undocumented#Round_Rect">Round Rect</a> has corner radii; outset stroke increases radii of corners. Stroke join does not affect <a href="#SkCanvas_drawDRRect_inner">inner</a> <a href="undocumented#Round_Rect">Round Rect</a> since it has no sharp corners.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> <a href="#SkCanvas_drawRRect">drawRRect</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawOval">drawOval</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <a name="SkCanvas_drawCircle"></a> @@ -3164,6 +3438,10 @@ half the diameter of <a href="undocumented#Circle">Circle</a></td> <div><fiddle-embed name="841229e25ca9dfb68bd0dc4dfff356eb"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawOval">drawOval</a> <a href="#SkCanvas_drawRRect">drawRRect</a> <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> <a href="#SkCanvas_drawPath">drawPath</a> <a href="#SkCanvas_drawArc">drawArc</a> <a href="#SkCanvas_drawPoint">drawPoint</a> <a href="#SkCanvas_drawLine">drawLine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3190,6 +3468,10 @@ half the diameter of <a href="undocumented#Circle">Circle</a></td> <div><fiddle-embed name="9303ffae45ddd0b0a1f93d816a1762f4"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawOval">drawOval</a> <a href="#SkCanvas_drawRRect">drawRRect</a> <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> <a href="#SkCanvas_drawPath">drawPath</a> <a href="#SkCanvas_drawArc">drawArc</a> <a href="#SkCanvas_drawPoint">drawPoint</a> <a href="#SkCanvas_drawLine">drawLine</a> + --- <a name="SkCanvas_drawArc"></a> @@ -3237,6 +3519,10 @@ if true, include the center of the <a href="#SkCanvas_drawArc_oval">oval</a></td <div><fiddle-embed name="e91dbe45974489b8962c815017b7914f"></fiddle-embed></div> +### See Also + +<a href="#SkPath_arcTo">SkPath::arcTo</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawOval">drawOval</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <a name="SkCanvas_drawRoundRect"></a> @@ -3277,6 +3563,10 @@ Second row radii sum to less than sides. Third row radii sum equals sides. Fourth row radii sum exceeds sides; radii are scaled to fit.</div></fiddle-embed></div> +### See Also + +DrawRRect <a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawDRRect">drawDRRect</a> <a href="#SkCanvas_drawPath">drawPath</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawOval">drawOval</a> <a href="#SkCanvas_drawPoint">drawPoint</a> + --- <a name="SkCanvas_drawPath"></a> @@ -3313,6 +3603,10 @@ First bottom column shows winding fills overlap. Second bottom column shows even odd fills exclude overlap. Third bottom column shows inverse winding fills area outside both contours.</div></fiddle-embed></div> +### See Also + +<a href="SkPath_Reference#SkPath">SkPath</a> <a href="#SkCanvas_drawLine">drawLine</a> <a href="#SkCanvas_drawArc">drawArc</a> <a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawPoints">drawPoints</a> + --- # <a name="Draw_Image"></a> Draw Image @@ -3355,6 +3649,10 @@ and so on; or nullptr</td> <div><fiddle-embed name="185746dc0faa6f1df30c4afe098646ff"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> <a href="#SkCanvas_drawImageRect">drawImageRect</a> <a href="#SkPaint_setImageFilter">SkPaint::setImageFilter</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3390,6 +3688,10 @@ and so on; or nullptr</td> <div><fiddle-embed name="a4e877e891b1be5faa2b7fd07f673a10"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> <a href="#SkCanvas_drawImageRect">drawImageRect</a> <a href="#SkPaint_setImageFilter">SkPaint::setImageFilter</a> + --- ## <a name="SkCanvas_SrcRectConstraint"></a> Enum SkCanvas::SrcRectConstraint @@ -3429,6 +3731,10 @@ The middle and right bitmaps are filtered checkerboards. Drawing the checkerboard with <a href="#SkCanvas_kStrict_SrcRectConstraint">kStrict SrcRectConstraint</a> shows only a blur of black and white. Drawing the checkerboard with <a href="#SkCanvas_kFast_SrcRectConstraint">kFast SrcRectConstraint</a> allows red to bleed in the corners.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImageRect">drawImageRect</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkPaint_setImageFilter">SkPaint::setImageFilter</a> + <a name="SkCanvas_drawImageRect"></a> @@ -3479,6 +3785,10 @@ the middle and right bitmaps draw with <a href="undocumented#SkFilterQuality">kL <a href="#SkCanvas_kStrict_SrcRectConstraint">kStrict SrcRectConstraint</a>, the filter remains within the checkerboard, and with <a href="#SkCanvas_kFast_SrcRectConstraint">kFast SrcRectConstraint</a> red bleeds on the edges.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_SrcRectConstraint">SrcRectConstraint</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3524,6 +3834,10 @@ filter strictly within <a href="#SkCanvas_drawImageRect_2_isrc">isrc</a> or draw <div><fiddle-embed name="b63b8f9f587b8d918973dc065ce4a593"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_SrcRectConstraint">SrcRectConstraint</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3564,6 +3878,10 @@ filter strictly within <a href="#SkCanvas_drawImageRect_3_image">image</a> or dr <div><fiddle-embed name="3cf8fb639fef99993cafc064d550c739"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_SrcRectConstraint">SrcRectConstraint</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3608,6 +3926,10 @@ filter strictly within <a href="#SkCanvas_drawImageRect_4_src">src</a> or draw f <div><fiddle-embed name="589999454db90c573f7facfb007253a7"><div><a href="#Canvas">Canvas</a> scales and translates; transformation from <a href="#SkCanvas_drawImageRect_4_src">src</a> to <a href="#SkCanvas_drawImageRect_4_dst">dst</a> also scales. The two matrices are concatenated to create the final transformation.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_SrcRectConstraint">SrcRectConstraint</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3652,6 +3974,10 @@ filter strictly within <a href="#SkCanvas_drawImageRect_5_image">image</a> or dr <div><fiddle-embed name="249fadde5d0d0fc515e9f53f188af48b"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_SrcRectConstraint">SrcRectConstraint</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3693,6 +4019,10 @@ filter strictly within <a href="#SkCanvas_drawImageRect_6_image">image</a> or dr <div><fiddle-embed name="37a85bd2247487c7af584e42c1cabe4a"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_SrcRectConstraint">SrcRectConstraint</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> + --- <a name="SkCanvas_drawImageNine"></a> @@ -3739,6 +4069,10 @@ The second <a href="#SkCanvas_drawImageNine_image">image</a> equals the size of The remaining images are larger than <a href="#SkCanvas_drawImageNine_center">center</a>. All corners draw without scaling. The sides and <a href="#SkCanvas_drawImageNine_center">center</a> are scaled if needed to take up the remaining space.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawBitmapNine">drawBitmapNine</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageRect">drawImageRect</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3784,6 +4118,10 @@ fill the remaining space. The rightmost <a href="#SkCanvas_drawImageNine_2_image">image</a> has four corners scaled vertically to fit, and uses sides above and below <a href="#SkCanvas_drawImageNine_2_center">center</a> to fill the remaining space.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawBitmapNine">drawBitmapNine</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageRect">drawImageRect</a> + --- <a name="SkCanvas_drawBitmap"></a> @@ -3824,6 +4162,10 @@ and so on; or nullptr</td> <div><fiddle-embed name="70d7fbf7de82264dd66a526d98d31def"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawBitmapLattice">drawBitmapLattice</a> <a href="#SkCanvas_drawBitmapNine">drawBitmapNine</a> <a href="#SkCanvas_drawBitmapRect">drawBitmapRect</a> <a href="#SkBitmap_readPixels">SkBitmap::readPixels</a> <a href="#SkBitmap_writePixels">SkBitmap::writePixels</a> + --- <a name="SkCanvas_drawBitmapRect"></a> @@ -3871,6 +4213,10 @@ filter strictly within <a href="#SkCanvas_drawBitmapRect_src">src</a> or draw fa <div><fiddle-embed name="de449106e78ec558d9921b9f076de164"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImageRect">drawImageRect</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawBitmapLattice">drawBitmapLattice</a> <a href="#SkCanvas_drawBitmapNine">drawBitmapNine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3916,6 +4262,10 @@ sample strictly within <a href="#SkCanvas_drawBitmapRect_2_isrc">isrc</a>, or dr <div><fiddle-embed name="69b028ef1f95c355672fbdcbf47550f2"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImageRect">drawImageRect</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawBitmapLattice">drawBitmapLattice</a> <a href="#SkCanvas_drawBitmapNine">drawBitmapNine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3959,6 +4309,10 @@ filter strictly within <a href="#SkCanvas_drawBitmapRect_3_bitmap">bitmap</a> or <div><fiddle-embed name="76b74b826e43b4a595d18115564e88c7"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImageRect">drawImageRect</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawBitmapLattice">drawBitmapLattice</a> <a href="#SkCanvas_drawBitmapNine">drawBitmapNine</a> + --- <a name="SkCanvas_drawBitmapNine"></a> @@ -4009,6 +4363,10 @@ fill the remaining space. The rightmost <a href="#SkCanvas_drawBitmapNine_bitmap">bitmap</a> draw has four corners scaled vertically to fit, and uses sides above and below <a href="#SkCanvas_drawBitmapNine_center">center</a> to fill the remaining space.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImageNine">drawImageNine</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawBitmapLattice">drawBitmapLattice</a> <a href="#SkCanvas_drawBitmapRect">drawBitmapRect</a> + --- # <a name="SkCanvas_Lattice"></a> Struct SkCanvas::Lattice @@ -4140,6 +4498,10 @@ fill the remaining space; the center is transparent. The rightmost <a href="#SkCanvas_drawBitmapLattice_bitmap">bitmap</a> draw has four corners scaled vertically to fit, and uses sides above and below center to fill the remaining space.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawBitmapNine">drawBitmapNine</a> <a href="#SkCanvas_Lattice">Lattice</a> + --- <a name="SkCanvas_drawImageLattice"></a> @@ -4190,6 +4552,10 @@ The second <a href="#SkCanvas_drawImageLattice_image">image</a> equals the size The remaining images are larger than center. All corners draw without scaling. The sides are scaled if needed to take up the remaining space; the center is transparent.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawBitmapLattice">drawBitmapLattice</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> <a href="#SkCanvas_Lattice">Lattice</a> + --- <a name="SkCanvas_drawText"></a> @@ -4233,6 +4599,10 @@ start of <a href="#SkCanvas_drawText_text">text</a> on y-axis</td> <div><fiddle-embed name="a3365bd3044b13e8e0318ee8aefbdf91"><div>The same <a href="#SkCanvas_drawText_text">text</a> is drawn varying <a href="#Text_Size">Paint Text Size</a> and varying <a href="#Matrix">Matrix</a>.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawString">drawString</a> <a href="#SkCanvas_drawPosText">drawPosText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> <a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> + --- <a name="SkCanvas_drawString"></a> @@ -4277,7 +4647,7 @@ text size, blend, color, and so on, used to draw</td> ### See Also -<a href="#SkCanvas_drawText">drawText</a> +<a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosText">drawPosText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> <a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> --- @@ -4321,7 +4691,7 @@ text size, blend, color, and so on, used to draw</td> ### See Also -<a href="#SkCanvas_drawText">drawText</a> +<a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosText">drawPosText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> <a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> --- @@ -4367,6 +4737,10 @@ array of glyph origins</td> <div><fiddle-embed name="bf0b2402533a23b6392e0676b7a8414c"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> <a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> + --- <a name="SkCanvas_drawPosTextH"></a> @@ -4414,6 +4788,10 @@ shared y coordinate for all of x positions</td> <div><fiddle-embed name="95c6a7ef82993a8d2add676080e9438a"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosText">drawPosText</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> <a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> + --- <a name="SkCanvas_drawTextOnPathHV"></a> @@ -4462,6 +4840,10 @@ offset of <a href="#SkCanvas_drawTextOnPathHV_text">text</a> above (if negative) <div><fiddle-embed name="25cc5452156d7f06e85f514913d46b5c"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> <a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> + --- <a name="SkCanvas_drawTextOnPath"></a> @@ -4509,6 +4891,10 @@ to use identity <a href="#Matrix">Matrix</a></td> <div><fiddle-embed name="0f60797fbdce3d3c71c46b800e6bd6f8"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawTextOnPathHV">drawTextOnPathHV</a> <a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> + --- <a name="SkCanvas_drawTextRSXform"></a> @@ -4552,6 +4938,10 @@ byte length of <a href="#SkCanvas_drawTextRSXform_text">text</a> array</td> <div><fiddle-embed name="55c84c39890c7516f7c835c46b1b8fc9"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> <a href="#SkCanvas_drawTextOnPathHV">drawTextOnPathHV</a> <a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosText">drawPosText</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> + --- <a name="SkCanvas_drawTextBlob"></a> @@ -4590,6 +4980,10 @@ blend, color, stroking, and so on, used to draw</td> <div><fiddle-embed name="b8c0a748ed5c328f38e00f5f3d12e5e6"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosText">drawPosText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -4626,6 +5020,10 @@ blend, color, stroking, and so on, used to draw</td> <div><fiddle-embed name="d313ad4726518f5d44f6433887bb7ce9"><div><a href="SkPaint_Reference#Paint">Paint</a> attributes unrelated to text, like color, have no effect on <a href="#SkCanvas_drawTextBlob_2_paint">paint</a> in allocated <a href="undocumented#Text_Blob">Text Blob</a>. <a href="SkPaint_Reference#Paint">Paint</a> attributes related to text, like text size, have no effect on <a href="#SkCanvas_drawTextBlob_2_paint">paint</a> passed to <a href="#SkCanvas_drawTextBlob">drawTextBlob</a>.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosText">drawPosText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> + --- <a name="SkCanvas_drawPicture"></a> @@ -4652,6 +5050,10 @@ recorded drawing commands to play</td> <div><fiddle-embed name="fde216281ff93d612768a49f2cf309ae"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawDrawable">drawDrawable</a> <a href="undocumented#SkPicture">SkPicture</a> <a href="#SkPicture_playback">SkPicture::playback</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -4675,6 +5077,10 @@ recorded drawing commands to play</td> <div><fiddle-embed name="a7373b01354dda73dafe8718f4fd0cfc"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawDrawable">drawDrawable</a> <a href="undocumented#SkPicture">SkPicture</a> <a href="#SkPicture_playback">SkPicture::playback</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -4704,6 +5110,10 @@ recorded drawing commands to play</td> <div><fiddle-embed name="4ec028d8ffa0a6ae1a99ff8d094b02bc"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawDrawable">drawDrawable</a> <a href="undocumented#SkPicture">SkPicture</a> <a href="#SkPicture_playback">SkPicture::playback</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -4733,6 +5143,10 @@ recorded drawing commands to play</td> <div><fiddle-embed name="7295eb14091e98565cec0353661a6a7d"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawDrawable">drawDrawable</a> <a href="undocumented#SkPicture">SkPicture</a> <a href="#SkPicture_playback">SkPicture::playback</a> + --- <a name="SkCanvas_drawVertices"></a> @@ -4762,6 +5176,10 @@ specifies the <a href="undocumented#Shader">Shader</a>, used as <a href="undocum <div><fiddle-embed name="f48b22eaad1bb7adcc3faaa321754af6"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawPatch">drawPatch</a> <a href="#SkCanvas_drawPicture">drawPicture</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -4788,6 +5206,10 @@ specifies the <a href="undocumented#Shader">Shader</a>, used as <a href="undocum <div><fiddle-embed name="94e32538646d5f1299c427e473f9ec87"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawPatch">drawPatch</a> <a href="#SkCanvas_drawPicture">drawPicture</a> + --- <a name="SkCanvas_drawPatch"></a> @@ -4838,6 +5260,10 @@ may be nullptr</td> <div><fiddle-embed name="accb545d67984ced168f5be6ab824795"></fiddle-embed></div> +### See Also + +SeeAlso <a href="#SkCanvas_drawVertices">drawVertices</a> <a href="#SkCanvas_drawPicture">drawPicture</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -4886,6 +5312,10 @@ may be nullptr</td> <div><fiddle-embed name="3412c2a16cb529af0e04878d264451f2"></fiddle-embed></div> +### See Also + +SeeAlso <a href="#SkCanvas_drawVertices">drawVertices</a> <a href="#SkCanvas_drawPicture">drawPicture</a> + --- <a name="SkCanvas_drawAtlas"></a> @@ -4932,6 +5362,10 @@ bounds of transformed sprites for efficient clipping; may be nullptr</td> <div><fiddle-embed name="1df575f9b8132306ce0552a2554ed132"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -4975,6 +5409,10 @@ bounds of transformed sprites for efficient clipping; may be nullptr</td> <div><fiddle-embed name="0e66a8f230a8d531bcef9f5ebdc5aac1"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -5012,6 +5450,10 @@ bounds of transformed sprites for efficient clipping; may be nullptr</td> <div><fiddle-embed name="8dc0d0fdeab20bbc21cac6874ddbefcd"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -5050,6 +5492,10 @@ bounds of transformed sprites for efficient clipping; may be nullptr</td> <div><fiddle-embed name="c093c2b14bd3e6171ede7cd4049d9b57"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> + --- <a name="SkCanvas_drawDrawable"></a> @@ -5080,6 +5526,10 @@ transformation applied to drawing; may be nullptr</td> <div><fiddle-embed name="3a4dfcd08838866b5cfc0d82489195ba"></fiddle-embed></div> +### See Also + +<a href="undocumented#SkDrawable">SkDrawable</a> <a href="#SkCanvas_drawPicture">drawPicture</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -5108,6 +5558,10 @@ offset into <a href="#Canvas">Canvas</a> writable pixels in <a href="#SkCanvas_d <div><fiddle-embed name="1bdc07ad3b154c89b771722c2fcaee3f"></fiddle-embed></div> +### See Also + +<a href="undocumented#SkDrawable">SkDrawable</a> <a href="#SkCanvas_drawPicture">drawPicture</a> + --- <a name="SkCanvas_drawAnnotation"></a> @@ -5138,6 +5592,10 @@ data holding <a href="#SkCanvas_drawAnnotation_value">value</a> stored in annota <div><fiddle-embed name="00b430bd80d740e19c6d020a940f56d5"></fiddle-embed></div> +### See Also + +<a href="undocumented#SkPicture">SkPicture</a> <a href="undocumented#SkDocument">SkDocument</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -5166,6 +5624,10 @@ data holding <a href="#SkCanvas_drawAnnotation_2_value">value</a> stored in anno <div><fiddle-embed name="00b430bd80d740e19c6d020a940f56d5"></fiddle-embed></div> +### See Also + +<a href="undocumented#SkPicture">SkPicture</a> <a href="undocumented#SkDocument">SkDocument</a> + --- <a name="SkCanvas_getDrawFilter"></a> @@ -5220,6 +5682,10 @@ clip is empty </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_isClipRect">isClipRect</a> <a href="#SkCanvas_getLocalClipBounds">getLocalClipBounds</a> <a href="#SkCanvas_getDeviceClipBounds">getDeviceClipBounds</a> + --- <a name="SkCanvas_isClipRect"></a> @@ -5249,6 +5715,10 @@ clip is not rect </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_isClipEmpty">isClipEmpty</a> <a href="#SkCanvas_getLocalClipBounds">getLocalClipBounds</a> <a href="#SkCanvas_getDeviceClipBounds">getDeviceClipBounds</a> + --- # <a name="SkAutoCanvasRestore"></a> Class SkAutoCanvasRestore @@ -5278,7 +5748,7 @@ utility to <a href="#SkAutoCanvasRestore_restore">restore</a> <a href="#Canvas"> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="466ef576b88e29d7252422db7adeed1c"></fiddle-embed></div> ### See Also @@ -5293,11 +5763,8 @@ utility to <a href="#SkAutoCanvasRestore_restore">restore</a> <a href="#Canvas"> ~SkAutoCanvasRestore() </pre> -Restores <a href="#Canvas">Canvas</a> to saved state. - -### Example - -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +Restores <a href="#Canvas">Canvas</a> to saved state. <a href="undocumented#Destructor">Destructor</a> is called when container goes out of +scope. ### See Also @@ -5317,7 +5784,23 @@ Restores <a href="#Canvas">Canvas</a> to saved state immediately. Subsequent cal ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="9f459b218ec079c1ada23f4412968f9a"> + +#### Example Output + +~~~~ +saveCanvas: false before restore: 2 +saveCanvas: false after restore: 2 +saveCanvas: true before restore: 2 +saveCanvas: true after restore: 2 +saveCanvas: false before restore: 2 +saveCanvas: false after restore: 1 +saveCanvas: true before restore: 2 +saveCanvas: true after restore: 1 +final count: 1 +~~~~ + +</fiddle-embed></div> ### See Also diff --git a/site/user/api/SkMatrix_Reference.md b/site/user/api/SkMatrix_Reference.md index 6c9b893794..4fb273ca0f 100644 --- a/site/user/api/SkMatrix_Reference.md +++ b/site/user/api/SkMatrix_Reference.md @@ -1466,7 +1466,7 @@ perspective scale factor to store</td> ### Example -<div><fiddle-embed name="c51d81b637b58da30fb9ae2d68877167"></fiddle-embed></div> +<div><fiddle-embed name="95ccfc2a89ce593e6b7a9f992a844bc0"></fiddle-embed></div> ### See Also @@ -1697,7 +1697,7 @@ pivot y</td> ### Example -<div><fiddle-embed name="397db8da89bc92e7c576ad013d64ed24"></fiddle-embed></div> +<div><fiddle-embed name="4565a0792058178c88e0a129a87272d6"></fiddle-embed></div> ### See Also @@ -1722,7 +1722,7 @@ vertical scale factor</td> ### Example -<div><fiddle-embed name="94a9ec11b994580dca14aa2159a796a9"></fiddle-embed></div> +<div><fiddle-embed name="1579d0cc109c26e69f66f73abd35fb0e"></fiddle-embed></div> ### See Also @@ -3771,7 +3771,7 @@ storage for mapped corner <a href="#Point">Points</a></td> ### Example -<div><fiddle-embed name="3bf9404624735d7cf34b47b9c7b27bcc"></fiddle-embed></div> +<div><fiddle-embed name="c69cd2a590b5733c3cbc92cb9ceed3f5"></fiddle-embed></div> ### See Also diff --git a/site/user/api/SkPaint_Reference.md b/site/user/api/SkPaint_Reference.md index ffab03e288..33a92a7da3 100644 --- a/site/user/api/SkPaint_Reference.md +++ b/site/user/api/SkPaint_Reference.md @@ -647,6 +647,10 @@ serialized data describing <a href="#Paint">Paint</a> content</td> </tr> </table> +### See Also + +<a href="undocumented#SkReadBuffer">SkReadBuffer</a> + --- # <a name="Hinting"></a> Hinting @@ -862,6 +866,10 @@ enum <a href="#SkPaint_ReserveFlags">ReserveFlags</a> { </tr> </table> +### See Also + +<a href="#Flags">Flags</a> <a href="#SkPaint_getFlags">getFlags</a> + <a name="SkPaint_getFlags"></a> @@ -2436,7 +2444,7 @@ at the contour point. ### Example -<div><fiddle-embed name="3d92b449b298b4ce4004cfca6b91cee7"></fiddle-embed></div> +<div><fiddle-embed name="2bffb6384cc20077e632e7d01da045ca"></fiddle-embed></div> <a name="SkPaint_getStrokeCap"></a> ## getStrokeCap @@ -2516,7 +2524,7 @@ the following curve, the pair of curves meet at <a href="#Stroke_Join">Stroke Jo ### Example -<div><fiddle-embed name="4a4e41ed89a57d47eab5d1600c33b0e8"></fiddle-embed></div> +<div><fiddle-embed name="917c44b504d3f9308571fd3835d90a0d"></fiddle-embed></div> ## <a name="SkPaint_Join"></a> Enum SkPaint::Join @@ -5204,5 +5212,9 @@ text size = 12 </fiddle-embed></div> +### See Also + +<a href="#SkPathEffect_toString">SkPathEffect::toString</a> <a href="#SkMaskFilter_toString">SkMaskFilter::toString</a> <a href="#SkColorFilter_toString">SkColorFilter::toString</a> <a href="#SkImageFilter_toString">SkImageFilter::toString</a> + --- diff --git a/site/user/api/SkPath_Reference.md b/site/user/api/SkPath_Reference.md index 154b66b27d..d0bb7e0d50 100644 --- a/site/user/api/SkPath_Reference.md +++ b/site/user/api/SkPath_Reference.md @@ -106,7 +106,8 @@ Internally, <a href="#Path">Path</a> lazily computes metrics likes bounds and co | <a href="#SkPath_Convexity">Convexity</a> | Returns if <a href="#Path">Path</a> is convex or concave. | | <a href="#SkPath_Direction">Direction</a> | Sets <a href="#Contour">Contour</a> clockwise or counterclockwise. | | <a href="#SkPath_FillType">FillType</a> | Sets winding rule and inverse fill. | -| <a href="#SkPath_SegmentMask">SegmentMask</a> | <a href="#SkPath_Verb">Verb</a> | Controls how <a href="#Path">Path</a> <a href="#Point">Points</a> are interpreted. | +| <a href="#SkPath_SegmentMask">SegmentMask</a> | Returns <a href="#SkPath_Verb">Verb</a> types in <a href="#Path">Path</a>. | +| <a href="#SkPath_Verb">Verb</a> | Controls how <a href="#Path">Path</a> <a href="#Point">Points</a> are interpreted. | ## <a name="Classes_and_Structs"></a> Classes and Structs diff --git a/site/user/api/SkPixmap_Reference.md b/site/user/api/SkPixmap_Reference.md index 6e44b60aff..969fdb3ed6 100644 --- a/site/user/api/SkPixmap_Reference.md +++ b/site/user/api/SkPixmap_Reference.md @@ -224,7 +224,7 @@ size of one row of <a href="#SkPixmap_addr">addr</a>; <a href="#SkPixmap_width"> ### Example -<div><fiddle-embed name="c8e31733704bfebdb038b003aa8a62d7"></fiddle-embed></div> +<div><fiddle-embed name="a7c9bfe44f5d888ab5b9996f2b126788"></fiddle-embed></div> ### See Also @@ -1253,6 +1253,10 @@ pixmap.addr32(1, 2) == &storage[1 + 2 * w] </fiddle-embed></div> +### See Also + +<a href="#SkPixmap_addr">addr</a> <a href="#SkPixmap_addr8">addr8</a> <a href="#SkPixmap_addr16">addr16</a> <a href="#SkPixmap_addr64">addr64</a> <a href="#SkPixmap_addrF16">addrF16</a> <a href="#SkPixmap_getColor">getColor</a> <a href="#SkPixmap_writable_addr">writable addr</a> <a href="#SkPixmap_writable_addr64">writable addr64</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -1561,7 +1565,7 @@ writable unsigned 64-bit pointer to pixel ### Example -<div><fiddle-embed name="33a04ac51c74a1e8d461b1d6f31ed82a"></fiddle-embed></div> +<div><fiddle-embed name="de14d8d30e4a7b6462103d0e0dd96b0b"></fiddle-embed></div> ### See Also @@ -1938,7 +1942,7 @@ true if pixels are changed ### Example -<div><fiddle-embed name="f0a8f4e07fd8b6c48eb52f2238d8f88b"></fiddle-embed></div> +<div><fiddle-embed name="a0cdbafed4786788cc90681e7b294234"></fiddle-embed></div> ### See Also @@ -1967,7 +1971,7 @@ true if pixels are changed ### Example -<div><fiddle-embed name="ee0bb3f3aae12dbc1c2759349527e9da"></fiddle-embed></div> +<div><fiddle-embed name="838202e0d49cad2eb3eeb495834f6d63"></fiddle-embed></div> ### See Also @@ -1999,7 +2003,7 @@ true if pixels are changed ### Example -<div><fiddle-embed name="da215a59c574d26bc5caf7de630d5966"></fiddle-embed></div> +<div><fiddle-embed name="f884f3f46a565f052a5e252ae2f36e9b"></fiddle-embed></div> ### See Also diff --git a/site/user/api/catalog.htm b/site/user/api/catalog.htm index c38bd5fbc1..de9d211879 100644 --- a/site/user/api/catalog.htm +++ b/site/user/api/catalog.htm @@ -28,6 +28,13 @@ "name": "Weight_3", "stdout": "move {0, 0}, \\nline {0, 0}, {20, 0}, \\nline {20, 0}, {20, 20}, \\ndone \\n" }, + "SkAutoCanvasRestore_restore": { + "code": "void draw(SkCanvas* canvas) {\n for (bool callRestore : { false, true } ) {\n for (bool saveCanvas : {false, true} ) {\n SkAutoCanvasRestore autoRestore(canvas, saveCanvas);\n if (!saveCanvas) {\n canvas->save();\n }\n SkDebugf(\"saveCanvas: %s before restore: %d\\n\",\n saveCanvas ? \"true\" : \"false\", canvas->getSaveCount());\n if (callRestore) autoRestore.restore();\n SkDebugf(\"saveCanvas: %s after restore: %d\\n\",\n saveCanvas ? \"true\" : \"false\", canvas->getSaveCount());\n }\n }\n SkDebugf(\"final count: %d\\n\", canvas->getSaveCount());\n}", + "hash": "9f459b218ec079c1ada23f4412968f9a", + "file": "SkCanvas_Reference", + "name": "SkAutoCanvasRestore::restore()", + "stdout": "saveCanvas: false before restore: 2\\nsaveCanvas: false after restore: 2\\nsaveCanvas: true before restore: 2\\nsaveCanvas: true after restore: 2\\nsaveCanvas: false before restore: 2\\nsaveCanvas: false after restore: 1\\nsaveCanvas: true before restore: 2\\nsaveCanvas: true after restore: 1\\nfinal count: 1\\n" + }, "SkBitmap_ComputeIsOpaque": { "code": "void draw(SkCanvas* canvas) {\n SkBitmap bitmap;\n bitmap.setInfo(SkImageInfo::Make(2, 2, kN32_SkColorType, kPremul_SkAlphaType));\n for (int index = 0; index < 2; ++index) {\n bitmap.allocPixels();\n bitmap.eraseColor(0x00000000);\n SkDebugf(\"computeIsOpaque: %s\\n\", SkBitmap::ComputeIsOpaque(bitmap) ? \"true\" : \"false\");\n bitmap.eraseColor(0xFFFFFFFF);\n SkDebugf(\"computeIsOpaque: %s\\n\", SkBitmap::ComputeIsOpaque(bitmap) ? \"true\" : \"false\");\n bitmap.setInfo(bitmap.info().makeAlphaType(kOpaque_SkAlphaType));\n }\n}", "hash": "9df1baa17658fbd0c419780f26fd854f", @@ -3127,16 +3134,16 @@ "Paint_Stroke_Cap": { "code": "void draw(SkCanvas* canvas) {\n SkPaint paint;\n paint.setStyle(SkPaint::kStroke_Style);\n paint.setStrokeWidth(20);\n SkPath path;\n path.moveTo(30, 30);\n path.lineTo(30, 30);\n path.moveTo(70, 30);\n path.lineTo(90, 40);\n for (SkPaint::Cap c : { SkPaint::kButt_Cap, SkPaint::kRound_Cap, SkPaint::kSquare_Cap } ) {\n paint.setStrokeCap(c);\n canvas->drawPath(path, paint);\n canvas->translate(0, 70);\n }\n}", "width": 256, - "height": 256, - "hash": "3d92b449b298b4ce4004cfca6b91cee7", + "height": 200, + "hash": "2bffb6384cc20077e632e7d01da045ca", "file": "SkPaint_Reference", "name": "Stroke_Cap" }, "Paint_Stroke_Join": { - "code": "void draw(SkCanvas* canvas) {\n SkPaint paint;\n paint.setStyle(SkPaint::kStroke_Style);\n paint.setStrokeWidth(20);\n SkPath path;\n path.moveTo(30, 30);\n path.lineTo(40, 50);\n path.conicTo(70, 30, 100, 30, .707f);\n for (SkPaint::Join j : { SkPaint::kMiter_Join, SkPaint::kRound_Join, SkPaint::kBevel_Join } ) {\n paint.setStrokeJoin(j);\n canvas->drawPath(path, paint);\n canvas->translate(0, 70);\n }\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPaint paint;\n paint.setStyle(SkPaint::kStroke_Style);\n paint.setStrokeWidth(20);\n SkPath path;\n path.moveTo(30, 20);\n path.lineTo(40, 40);\n path.conicTo(70, 20, 100, 20, .707f);\n for (SkPaint::Join j : { SkPaint::kMiter_Join, SkPaint::kRound_Join, SkPaint::kBevel_Join } ) {\n paint.setStrokeJoin(j);\n canvas->drawPath(path, paint);\n canvas->translate(0, 70);\n }\n}", "width": 256, - "height": 256, - "hash": "4a4e41ed89a57d47eab5d1600c33b0e8", + "height": 200, + "hash": "917c44b504d3f9308571fd3835d90a0d", "file": "SkPaint_Reference", "name": "Stroke_Join" }, @@ -3293,29 +3300,13 @@ "name": "Path_2" }, "SkAutoCanvasRestore_SkCanvas_star": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPaint p;\n p.setAntiAlias(true);\n p.setTextSize(64);\n for (SkScalar sx : { -1, 1 } ) {\n for (SkScalar sy : { -1, 1 } ) {\n SkAutoCanvasRestore autoRestore(canvas, true);\n SkMatrix m = SkMatrix::MakeAll(sx, 1, 96, 0, sy, 64, 0, 0, 1);\n canvas->concat(m);\n canvas->drawString(\"R\", 0, 0, p);\n }\n }\n}", "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "height": 128, + "hash": "466ef576b88e29d7252422db7adeed1c", "file": "SkCanvas_Reference", "name": "SkAutoCanvasRestore::SkAutoCanvasRestore(SkCanvas* canvas, bool doSave)" }, - "SkAutoCanvasRestore_destructor": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", - "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", - "file": "SkCanvas_Reference", - "name": "SkAutoCanvasRestore::~SkAutoCanvasRestore()" -}, - "SkAutoCanvasRestore_restore": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", - "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", - "file": "SkCanvas_Reference", - "name": "SkAutoCanvasRestore::restore()" -}, "SkBitmap_allocN32Pixels": { "code": "void draw(SkCanvas* canvas) {\n SkRandom random;\n SkBitmap bitmap;\n bitmap.allocN32Pixels(64, 64);\n bitmap.eraseColor(SK_ColorTRANSPARENT);\n for (int y = 0; y < 256; y += 64) {\n for (int x = 0; x < 256; x += 64) {\n SkColor color = random.nextU();\n uint32_t w = random.nextRangeU(4, 32);\n uint32_t cx = random.nextRangeU(0, 64 - w);\n uint32_t h = random.nextRangeU(4, 32);\n uint32_t cy = random.nextRangeU(0, 64 - h);\n bitmap.erase(color, SkIRect::MakeXYWH(cx, cy, w, h));\n canvas->drawBitmap(bitmap, x, y);\n }\n }\n}", "width": 256, @@ -3367,8 +3358,8 @@ "SkBitmap_bounds": { "code": "void draw(SkCanvas* canvas) {\n SkIRect bounds = source.bounds();\n for (int x : { 0, bounds.width() } ) {\n for (int y : { 0, bounds.height() } ) {\n canvas->drawBitmap(source, x, y);\n }\n }\n}", "width": 256, - "height": 256, - "hash": "977dd8a850f89a610505e3f4f260d540", + "height": 128, + "hash": "bd020c1527964761adf7646e82a36487", "file": "SkBitmap_Reference", "name": "SkBitmap::bounds()" }, @@ -4575,8 +4566,8 @@ "SkMatrix_mapRectToQuad": { "code": "void draw(SkCanvas* canvas) {\n SkPaint paint;\n paint.setAntiAlias(true);\n SkMatrix matrix;\n matrix.setRotate(60, 128, 128);\n SkRect rect = {50, 50, 150, 150};\n SkPoint pts[4];\n matrix.mapRectToQuad(pts, rect);\n for (int i = 0; i < 4; ++i) {\n canvas->drawCircle(pts[i].fX, pts[i].fY, 3, paint);\n }\n canvas->concat(matrix);\n paint.setStyle(SkPaint::kStroke_Style);\n canvas->drawRect(rect, paint);\n}", "width": 256, - "height": 256, - "hash": "3bf9404624735d7cf34b47b9c7b27bcc", + "height": 192, + "hash": "c69cd2a590b5733c3cbc92cb9ceed3f5", "file": "SkMatrix_Reference", "name": "SkMatrix::mapRectToQuad" }, @@ -4789,10 +4780,10 @@ "name": "SkMatrix::set9" }, "SkMatrix_setAll": { - "code": "void draw(SkCanvas* canvas) {\n SkPaint p;\n p.setAntiAlias(true);\n p.setTextSize(64);\n SkMatrix m;\n for (SkScalar sx : { -1, 1 } ) {\n for (SkScalar sy : { -1, 1 } ) {\n SkAutoCanvasRestore autoRestore(canvas, true);\n m.setAll(sx, 1, 128, 0, sy, 128, 0, 0, 1);\n canvas->concat(m);\n canvas->drawString(\"K\", 0, 0, p);\n }\n }\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPaint p;\n p.setAntiAlias(true);\n p.setTextSize(64);\n SkMatrix m;\n for (SkScalar sx : { -1, 1 } ) {\n for (SkScalar sy : { -1, 1 } ) {\n SkAutoCanvasRestore autoRestore(canvas, true);\n m.setAll(sx, 1, 128, 0, sy, 64, 0, 0, 1);\n canvas->concat(m);\n canvas->drawString(\"K\", 0, 0, p);\n }\n }\n}", "width": 256, - "height": 256, - "hash": "c51d81b637b58da30fb9ae2d68877167", + "height": 128, + "hash": "95ccfc2a89ce593e6b7a9f992a844bc0", "file": "SkMatrix_Reference", "name": "SkMatrix::setAll" }, @@ -4853,10 +4844,10 @@ "name": "SkMatrix::setRotate_2" }, "SkMatrix_setScale": { - "code": "void draw(SkCanvas* canvas) {\n SkPaint p;\n p.setAntiAlias(true);\n p.setTextSize(64);\n SkMatrix m;\n for (SkScalar sx : { -1, 1 } ) {\n for (SkScalar sy : { -1, 1 } ) {\n SkAutoCanvasRestore autoRestore(canvas, true);\n m.setScale(sx, sy, 128, 128);\n canvas->concat(m);\n canvas->drawString(\"K\", 128, 128, p);\n }\n }\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPaint p;\n p.setAntiAlias(true);\n p.setTextSize(64);\n SkMatrix m;\n for (SkScalar sx : { -1, 1 } ) {\n for (SkScalar sy : { -1, 1 } ) {\n SkAutoCanvasRestore autoRestore(canvas, true);\n m.setScale(sx, sy, 128, 64);\n canvas->concat(m);\n canvas->drawString(\"%\", 128, 64, p);\n }\n }\n}", "width": 256, - "height": 256, - "hash": "397db8da89bc92e7c576ad013d64ed24", + "height": 128, + "hash": "4565a0792058178c88e0a129a87272d6", "file": "SkMatrix_Reference", "name": "SkMatrix::setScale" }, @@ -4877,10 +4868,10 @@ "name": "SkMatrix::setScaleY" }, "SkMatrix_setScale_2": { - "code": "void draw(SkCanvas* canvas) {\n SkPaint p;\n p.setAntiAlias(true);\n p.setTextSize(64);\n SkMatrix m;\n for (SkScalar sx : { -1, 1 } ) {\n for (SkScalar sy : { -1, 1 } ) {\n SkAutoCanvasRestore autoRestore(canvas, true);\n m.setScale(sx, sy);\n m.postTranslate(128, 128);\n canvas->concat(m);\n canvas->drawString(\"K\", 0, 0, p);\n }\n }\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPaint p;\n p.setAntiAlias(true);\n p.setTextSize(64);\n SkMatrix m;\n for (SkScalar sx : { -1, 1 } ) {\n for (SkScalar sy : { -1, 1 } ) {\n SkAutoCanvasRestore autoRestore(canvas, true);\n m.setScale(sx, sy);\n m.postTranslate(128, 64);\n canvas->concat(m);\n canvas->drawString(\"@\", 0, 0, p);\n }\n }\n}", "width": 256, - "height": 256, - "hash": "94a9ec11b994580dca14aa2159a796a9", + "height": 128, + "hash": "1579d0cc109c26e69f66f73abd35fb0e", "file": "SkMatrix_Reference", "name": "SkMatrix::setScale_2" }, @@ -5695,24 +5686,24 @@ "SkPixmap_erase": { "code": "void draw(SkCanvas* canvas) {\n uint32_t storage[2];\n SkImageInfo info = SkImageInfo::MakeN32Premul(1, 2);\n SkPixmap pixmap(info, storage, info.minRowBytes());\n pixmap.erase(SK_ColorBLUE, {0, 0, 1, 1});\n pixmap.erase(SK_ColorRED, {0, 1, 1, 2});\n SkBitmap bitmap;\n canvas->scale(20, 20);\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, 0, 0);\n}", "width": 256, - "height": 256, - "hash": "f0a8f4e07fd8b6c48eb52f2238d8f88b", + "height": 50, + "hash": "a0cdbafed4786788cc90681e7b294234", "file": "SkPixmap_Reference", "name": "SkPixmap::erase()" }, "SkPixmap_erase_2": { "code": "void draw(SkCanvas* canvas) {\n uint32_t storage[2];\n SkImageInfo info = SkImageInfo::MakeN32Premul(1, 2);\n SkPixmap pixmap(info, storage, info.minRowBytes());\n pixmap.erase(SK_ColorBLUE);\n SkBitmap bitmap;\n canvas->scale(20, 20);\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, 0, 0);\n}", "width": 256, - "height": 256, - "hash": "ee0bb3f3aae12dbc1c2759349527e9da", + "height": 50, + "hash": "838202e0d49cad2eb3eeb495834f6d63", "file": "SkPixmap_Reference", "name": "SkPixmap::erase_2" }, "SkPixmap_erase_3": { "code": "void draw(SkCanvas* canvas) {\n uint32_t storage[2];\n SkImageInfo info = SkImageInfo::MakeN32Premul(1, 2);\n SkPixmap pixmap(info, storage, info.minRowBytes());\n SkIRect topPixelBounds = {0, 0, 1, 1};\n pixmap.erase({ 0.65f, 0.45f, 0.25f, 1 }, &topPixelBounds);\n SkIRect bottomPixelBounds = {0, 1, 1, 2};\n pixmap.erase({ 0.25f, 0.65f, 0.45f, 1 }, &bottomPixelBounds);\n SkBitmap bitmap;\n canvas->scale(20, 20);\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, 0, 0);\n}", "width": 256, - "height": 256, - "hash": "da215a59c574d26bc5caf7de630d5966", + "height": 50, + "hash": "f884f3f46a565f052a5e252ae2f36e9b", "file": "SkPixmap_Reference", "name": "SkPixmap::erase_3" }, @@ -5767,8 +5758,8 @@ "SkPixmap_reset_2": { "code": "void draw(SkCanvas* canvas) {\n std::vector<int32_t> pixels;\n pixels.resize(image->height() * image->width() * 4);\n SkPixmap pixmap(SkImageInfo::Make(image->width(), image->height(), kN32_SkColorType,\n image->alphaType()), (const void*) &pixels.front(), image->width() * 4);\n image->readPixels(pixmap, 0, 0);\n int x = 0;\n for (auto colorType : { kRGBA_8888_SkColorType, kBGRA_8888_SkColorType } ) {\n pixmap.reset(SkImageInfo::Make(image->width(), image->height(), colorType, \n image->alphaType()), (const void*) &pixels.front(), image->width() * 4);\n SkBitmap bitmap;\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, x, 0);\n x += 128;\n }\n}\n", "width": 256, - "height": 128, - "hash": "c8e31733704bfebdb038b003aa8a62d7", + "height": 64, + "hash": "a7c9bfe44f5d888ab5b9996f2b126788", "file": "SkPixmap_Reference", "name": "SkPixmap::reset_2" }, @@ -5799,8 +5790,8 @@ "SkPixmap_writable_addr64": { "code": "void draw(SkCanvas* canvas) {\n SkImageInfo info = SkImageInfo::Make(3, 3, kRGBA_F16_SkColorType, kPremul_SkAlphaType);\n uint64_t storage[9];\n SkPixmap pixmap(info, storage, 3 * sizeof(uint64_t));\n SkColor4f c4 { 1, 0.45f, 0.25f, 0.65f };\n pixmap.erase(c4);\n SkBitmap bitmap;\n canvas->scale(10, 10);\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, 0, 0);\n *pixmap.writable_addr64(1, 1) |= 0x00ff000000000000LL;\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, 10, 0);\n}", "width": 256, - "height": 256, - "hash": "33a04ac51c74a1e8d461b1d6f31ed82a", + "height": 40, + "hash": "de14d8d30e4a7b6462103d0e0dd96b0b", "file": "SkPixmap_Reference", "name": "SkPixmap::writable_addr64" }, diff --git a/site/user/api/undocumented.md b/site/user/api/undocumented.md index dc102f84ab..7ac1e12d33 100644 --- a/site/user/api/undocumented.md +++ b/site/user/api/undocumented.md @@ -223,6 +223,15 @@ int SkColorSetARGB(a, r, g, b) # <a name="SkColorFilter"></a> Class SkColorFilter +<a name="SkColorFilter_toString"></a> +## toString + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +void toString(SkString* str) const +</pre> + +--- + # <a name="Color_Space"></a> Color Space # <a name="SkColorSpace"></a> Class SkColorSpace @@ -250,6 +259,19 @@ static sk_sp<SkColorSpace> MakeSRGBLinear() </table> +# <a name="Create_Color_Space_Xform_Canvas"></a> Create Color Space Xform Canvas + +<a name="SkCreateColorSpaceXformCanvas"></a> +## SkCreateColorSpaceXformCanvas + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +std::unique_ptr<SkCanvas> SK_API + SkCreateColorSpaceXformCanvas(SkCanvas* target, + sk_sp<SkColorSpace> targetCS) +</pre> + +--- + # <a name="Core_Graphics"></a> Core Graphics # <a name="Core_Text"></a> Core Text @@ -341,6 +363,17 @@ static std::unique_ptr<SkCanvas> # <a name="GPU_Context"></a> GPU Context +# <a name="GrContext"></a> Class GrContext + +<a name="GrContext_flush"></a> +## flush + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +void flush() +</pre> + +--- + # <a name="GPU_Surface"></a> GPU Surface # <a name="Image"></a> Image @@ -425,6 +458,16 @@ SkImageInfo() --- +<a name="SkImageInfo_MakeN32Premul"></a> +## MakeN32Premul + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +static SkImageInfo MakeN32Premul(int width, int height, + sk_sp<SkColorSpace> cs = nullptr) +</pre> + +--- + <a name="SkImageInfo_makeColorSpace"></a> ## makeColorSpace @@ -577,12 +620,30 @@ bool scalePixels(const SkPixmap& dst, SkFilterQuality, --- +<a name="SkImage_peekPixels"></a> +## peekPixels + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +bool peekPixels(SkPixmap* pixmap) const +</pre> + +--- + # <a name="Image_Filter"></a> Image Filter ## <a name="Scaling"></a> Scaling # <a name="SkImageFilter"></a> Class SkImageFilter +<a name="SkImageFilter_toString"></a> +## toString + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +void toString(SkString* str) const +</pre> + +--- + # <a name="Image_Scaling"></a> Image Scaling # <a name="Malloc_Pixel_Ref"></a> Malloc Pixel Ref @@ -650,6 +711,15 @@ virtual bool filterMask(SkMask* dst, const SkMask& src, const SkMatrix&, --- +<a name="SkMaskFilter_toString"></a> +## toString + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +void toString(SkString* str) const +</pre> + +--- + # <a name="Math"></a> Math <a name="sk_64_isS32"></a> @@ -742,6 +812,14 @@ template <typename D, typename S> inline bool SkTFitsIn(S s) --- +# <a name="Stream"></a> Stream + +# <a name="SkStream"></a> Class SkStream + +# <a name="Meta_Data"></a> Meta Data + +# <a name="SkMetaData"></a> Class SkMetaData + # <a name="Nine_Patch"></a> Nine Patch # <a name="Number_Types"></a> Number Types @@ -805,6 +883,15 @@ template <typename D, typename S> inline bool SkTFitsIn(S s) # <a name="SkPathEffect"></a> Class SkPathEffect +<a name="SkPathEffect_toString"></a> +## toString + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +void toString(SkString* str) const +</pre> + +--- + # <a name="Path_Measure"></a> Path Measure # <a name="SkPathMeasure"></a> Class SkPathMeasure @@ -831,6 +918,17 @@ bool SK_API Op(const SkPath& one, const SkPath& two, SkPathOp op, SkPath* result # <a name="Picture"></a> Picture +# <a name="SkPicture"></a> Class SkPicture + +<a name="SkPicture_playback"></a> +## playback + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +virtual void playback(SkCanvas*, AbortCallback* = nullptr) const = 0 +</pre> + +--- + ## <a name="Recorder"></a> Recorder # <a name="SkPictureRecorder"></a> Class SkPictureRecorder @@ -969,10 +1067,6 @@ static sk_sp<SkShader> MakeBitmapShader(const SkBitmap& src, TileMode tmx, # <a name="Sprite"></a> Sprite -# <a name="Stream"></a> Stream - -# <a name="SkStream"></a> Class SkStream - # <a name="String"></a> String # <a name="SkString"></a> Class SkString @@ -1003,6 +1097,51 @@ bool readPixels(const SkPixmap& dst, int srcX, int srcY) ; --- +<a name="SkSurface_getCanvas"></a> +## getCanvas + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +SkCanvas* getCanvas() +</pre> + +--- + +<a name="SkSurface_flush"></a> +## flush + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +void flush() +</pre> + +--- + +<a name="SkSurface_prepareForExternalIO"></a> +## prepareForExternalIO + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +void prepareForExternalIO() +</pre> + +--- + +<a name="SkSurface_makeSurface"></a> +## makeSurface + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +sk_sp<SkSurface> makeSurface(const SkImageInfo&) +</pre> + +--- + +<a name="SkSurface_peekPixels"></a> +## peekPixels + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +bool peekPixels(SkPixmap*) +</pre> + +--- + ## <a name="Properties"></a> Properties # <a name="SkSurfaceProps"></a> Class SkSurfaceProps |