diff options
author | Cary Clark <caryclark@skia.org> | 2018-02-07 07:27:09 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-02-07 12:46:16 +0000 |
commit | 78de7519692ea93a2d2c70f8c0e773668df49fce (patch) | |
tree | 3c6510b3d8b6b53c23c68efb6dd12fc9ad5666c2 /site | |
parent | d521b0cc73717186559b9bbaf9728d107bb6b975 (diff) |
add subtopics to all methods
add self-check looking for #In markup on every method, pointing
to an existing #Subtopic to reference the method.
Docs-Preview: https://skia.org/?cl=104325
Bug: skia:6898
Change-Id: I749a25b9a43033ae68d193249b2c0b810dcf8fc8
Reviewed-on: https://skia-review.googlesource.com/104325
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
Diffstat (limited to 'site')
-rw-r--r-- | site/user/api/SkBitmap_Reference.md | 144 | ||||
-rw-r--r-- | site/user/api/SkCanvas_Reference.md | 251 | ||||
-rw-r--r-- | site/user/api/SkIPoint16_Reference.md | 1 | ||||
-rw-r--r-- | site/user/api/SkIPoint_Reference.md | 3 | ||||
-rw-r--r-- | site/user/api/SkIRect_Reference.md | 23 | ||||
-rw-r--r-- | site/user/api/SkImageInfo_Reference.md | 62 | ||||
-rw-r--r-- | site/user/api/SkImage_Reference.md | 51 | ||||
-rw-r--r-- | site/user/api/SkMatrix_Reference.md | 133 | ||||
-rw-r--r-- | site/user/api/SkPaint_Reference.md | 12 | ||||
-rw-r--r-- | site/user/api/SkPath_Reference.md | 52 | ||||
-rw-r--r-- | site/user/api/SkPixmap_Reference.md | 30 | ||||
-rw-r--r-- | site/user/api/SkPoint_Reference.md | 14 | ||||
-rw-r--r-- | site/user/api/SkRect_Reference.md | 13 | ||||
-rw-r--r-- | site/user/api/SkSurface_Reference.md | 8 |
14 files changed, 603 insertions, 194 deletions
diff --git a/site/user/api/SkBitmap_Reference.md b/site/user/api/SkBitmap_Reference.md index edef11b2ec..f53ecaacc9 100644 --- a/site/user/api/SkBitmap_Reference.md +++ b/site/user/api/SkBitmap_Reference.md @@ -49,7 +49,13 @@ is useful to position one or more <a href="#Bitmap">Bitmaps</a> within a shared | name | description | | --- | --- | +| <a href="#Allocate">Allocate</a> | allocates storage for pixels | +| <a href="#Draw">Draw</a> | set pixels to <a href="undocumented#Color">Color</a> | +| <a href="#Pixels">Pixels</a> | read and write pixel values | +| <a href="#Property">Property</a> | metrics and attributes | | <a href="#Row_Bytes">Row Bytes</a> | interval from one row to the next | +| <a href="#Set">Set</a> | updates values and attributes | +| <a href="#Utility">Utility</a> | rarely called management functions | ## <a name="Constant"></a> Constant @@ -71,6 +77,12 @@ is useful to position one or more <a href="#Bitmap">Bitmaps</a> within a shared | <a href="#SkBitmap_empty_constructor">SkBitmap()</a> | constructs with default values | | <a href="#SkBitmap_move_SkBitmap">SkBitmap(SkBitmap&& src)</a> | takes ownership of pixels | | <a href="#SkBitmap_copy_const_SkBitmap">SkBitmap(const SkBitmap& src)</a> | shares ownership of pixels | +| <a href="#SkBitmap_extractAlpha">extractAlpha</a> | creates <a href="#Bitmap">Bitmap</a> containing <a href="#Alpha">Alpha</a> of pixels | +| | <a href="#SkBitmap_extractAlpha">extractAlpha(SkBitmap* dst)</a> const | +| | <a href="#SkBitmap_extractAlpha_2">extractAlpha(SkBitmap* dst, const SkPaint* paint, SkIPoint* offset)</a> const | +| | <a href="#SkBitmap_extractAlpha_3">extractAlpha(SkBitmap* dst, const SkPaint* paint, Allocator* allocator, SkIPoint* offset)</a> const | +| <a href="#SkBitmap_extractSubset">extractSubset</a> | creates <a href="#Bitmap">Bitmap</a>, sharing pixels if possible | +| <a href="#SkBitmap_reset">reset</a> | sets to default values, releases pixel ownership | | <a href="#SkBitmap_destructor">~SkBitmap()</a> | releases ownership of pixels | ## <a name="Operator"></a> Operator @@ -493,6 +505,44 @@ two width:1 height:1 colorType:kRGBA_8888_SkColorType alphaType:kOpaque_SkAlphaT --- +## <a name="Property"></a> Property + +| name | description | +| --- | --- | +| <a href="#SkBitmap_alphaType">alphaType</a> | returns <a href="SkImageInfo_Reference#Image_Info">Image Info</a> <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> | +| <a href="#SkBitmap_bounds">bounds</a> | returns <a href="#SkBitmap_width">width</a> and <a href="#SkBitmap_height">height</a> as Rectangle | +| <a href="#SkBitmap_bytesPerPixel">bytesPerPixel</a> | returns number of bytes in pixel based on <a href="SkImageInfo_Reference#Color_Type">Color Type</a> | +| <a href="#SkBitmap_colorSpace">colorSpace</a> | returns <a href="SkImageInfo_Reference#Image_Info">Image Info</a> <a href="undocumented#Color_Space">Color Space</a> | +| <a href="#SkBitmap_colorType">colorType</a> | returns <a href="SkImageInfo_Reference#Image_Info">Image Info</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> | +| <a href="#SkBitmap_dimensions">dimensions</a> | returns <a href="#SkBitmap_width">width</a> and <a href="#SkBitmap_height">height</a> | +| <a href="#SkBitmap_drawsNothing">drawsNothing</a> | returns true if no <a href="#SkBitmap_width">width</a>, no <a href="#SkBitmap_height">height</a>, or no <a href="undocumented#Pixel_Ref">Pixel Ref</a> | +| <a href="#SkBitmap_empty">empty</a> | returns true if <a href="SkImageInfo_Reference#Image_Info">Image Info</a> has zero <a href="#SkBitmap_width">width</a> or <a href="#SkBitmap_height">height</a> | +| <a href="#SkBitmap_getAddr">getAddr</a> | returns readable pixel address as void pointer | +| <a href="#SkBitmap_getAddr16">getAddr16</a> | returns readable pixel address as 16-bit pointer | +| <a href="#SkBitmap_getAddr32">getAddr32</a> | returns readable pixel address as 32-bit pointer | +| <a href="#SkBitmap_getAddr8">getAddr8</a> | returns readable pixel address as 8-bit pointer | +| <a href="#SkBitmap_getBounds">getBounds</a> | returns <a href="#SkBitmap_width">width</a> and <a href="#SkBitmap_height">height</a> as Rectangle | +| | <a href="#SkBitmap_getBounds">getBounds(SkRect* bounds)</a> const | +| | <a href="#SkBitmap_getBounds_2">getBounds(SkIRect* bounds)</a> const | +| <a href="#SkBitmap_getColor">getColor</a> | returns one pixel as <a href="#Unpremultiply">Unpremultiplied</a> <a href="undocumented#Color">Color</a> | +| <a href="#SkBitmap_getPixels">getPixels</a> | returns address of pixels | +| <a href="#SkBitmap_getSubset">getSubset</a> | returns bounds offset by origin | +| <a href="#SkBitmap_hasHardwareMipMap">hasHardwareMipMap</a> | returns Mip_Map support present; Android only | +| <a href="#SkBitmap_height">height</a> | returns pixel row count | +| <a href="#SkBitmap_info">info</a> | returns <a href="SkImageInfo_Reference#Image_Info">Image Info</a> | +| <a href="#SkBitmap_isImmutable">isImmutable</a> | returns true if pixels will not change | +| <a href="#SkBitmap_isNull">isNull</a> | returns true if <a href="undocumented#Pixel_Ref">Pixel Ref</a> is nullptr | +| <a href="#SkBitmap_isOpaque">isOpaque</a> | returns true if <a href="SkImageInfo_Reference#Image_Info">Image Info</a> describes opaque pixels | +| <a href="#SkBitmap_isVolatile">isVolatile</a> | returns true if pixels should not be cached | +| <a href="#SkBitmap_pixelRef">pixelRef</a> | returns <a href="undocumented#Pixel_Ref">Pixel Ref</a>, or nullptr | +| <a href="#SkBitmap_pixelRefOrigin">pixelRefOrigin</a> | returns offset within <a href="undocumented#Pixel_Ref">Pixel Ref</a> | +| <a href="#SkBitmap_pixmap">pixmap</a> | returns <a href="SkPixmap_Reference#Pixmap">Pixmap</a> | +| <a href="#SkBitmap_refColorSpace">refColorSpace</a> | returns <a href="SkImageInfo_Reference#Image_Info">Image Info</a> <a href="undocumented#Color_Space">Color Space</a> | +| <a href="#SkBitmap_rowBytes">rowBytes</a> | returns interval between rows in bytes | +| <a href="#SkBitmap_rowBytesAsPixels">rowBytesAsPixels</a> | returns interval between rows in pixels | +| <a href="#SkBitmap_shiftPerPixel">shiftPerPixel</a> | returns bit shift from pixels to bytes | +| <a href="#SkBitmap_width">width</a> | returns pixel column count | + <a name="SkBitmap_pixmap"></a> ## pixmap @@ -1611,6 +1661,29 @@ enum <a href="#SkBitmap_AllocFlags">AllocFlags</a> { +## <a name="Allocate"></a> Allocate + +| name | description | +| --- | --- | +| <a href="#SkBitmap_allocN32Pixels">allocN32Pixels</a> | allocates compatible <a href="#ARGB">Color ARGB</a> pixels, or aborts | +| <a href="#SkBitmap_allocPixels">allocPixels</a> | allocates pixels from <a href="SkImageInfo_Reference#Image_Info">Image Info</a>, or aborts | +| | <a href="#SkBitmap_allocPixels">allocPixels(const SkImageInfo& info, size t rowBytes)</a> | +| | <a href="#SkBitmap_allocPixels_2">allocPixels(const SkImageInfo& info)</a> | +| | <a href="#SkBitmap_allocPixels_3">allocPixels</a> | +| | <a href="#SkBitmap_allocPixels_4">allocPixels(Allocator* allocator)</a> | +| <a href="#SkBitmap_allocPixelsFlags">allocPixelsFlags</a> | allocates pixels from <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with options, or aborts | +| <a href="#SkBitmap_installPixels">installPixels</a> | creates <a href="undocumented#Pixel_Ref">Pixel Ref</a>, with optional release function | +| | <a href="#SkBitmap_installPixels">installPixels(const SkImageInfo& info, void* pixels, size t rowBytes, void (*releaseProc)</a> (void* addr, void* context) , void* context) | +| | <a href="#SkBitmap_installPixels_2">installPixels(const SkImageInfo& info, void* pixels, size t rowBytes)</a> | +| | <a href="#SkBitmap_installPixels_3">installPixels(const SkPixmap& pixmap)</a> | +| <a href="#SkBitmap_tryAllocN32Pixels">tryAllocN32Pixels</a> | allocates compatible <a href="#ARGB">Color ARGB</a> pixels if possible | +| <a href="#SkBitmap_tryAllocPixels">tryAllocPixels</a> | allocates pixels from <a href="SkImageInfo_Reference#Image_Info">Image Info</a> if possible | +| | <a href="#SkBitmap_tryAllocPixels">tryAllocPixels(const SkImageInfo& info, size t rowBytes)</a> | +| | <a href="#SkBitmap_tryAllocPixels_2">tryAllocPixels(const SkImageInfo& info)</a> | +| | <a href="#SkBitmap_tryAllocPixels_3">tryAllocPixels</a> | +| | <a href="#SkBitmap_tryAllocPixels_4">tryAllocPixels(Allocator* allocator)</a> | +| <a href="#SkBitmap_tryAllocPixelsFlags">tryAllocPixelsFlags</a> | allocates pixels from <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with options if possible | + <a name="SkBitmap_tryAllocPixelsFlags"></a> ## tryAllocPixelsFlags @@ -2075,7 +2148,7 @@ true if <a href="SkImageInfo_Reference#Image_Info">Image Info</a> was set to pix ### Example -<div><fiddle-embed name="6e2a8c9358b34aebd2ec586815fe9d3a"><div>Draw a five by five bitmap, and draw it again with a center white pixel.</div></fiddle-embed></div> +<div><fiddle-embed name="6e2a8c9358b34aebd2ec586815fe9d3a"><div><a href="#Draw">Draw</a> a five by five bitmap, and draw it again with a center white pixel.</div></fiddle-embed></div> ### See Also @@ -2094,6 +2167,23 @@ soon --- +## <a name="Pixels"></a> Pixels + +| name | description | +| --- | --- | +| <a href="#SkBitmap_notifyPixelsChanged">notifyPixelsChanged</a> | marks pixels as changed, altering the unique ID | +| <a href="#SkBitmap_peekPixels">peekPixels</a> | returns <a href="SkPixmap_Reference#Pixmap">Pixmap</a> if possible | +| <a href="#SkBitmap_readPixels">readPixels</a> | copies and converts pixels | +| | <a href="#SkBitmap_readPixels">readPixels(const SkImageInfo& dstInfo, void* dstPixels, size t dstRowBytes, int srcX, int srcY, SkTransferFunctionBehavior behavior)</a> const | +| | <a href="#SkBitmap_readPixels_2">readPixels(const SkImageInfo& dstInfo, void* dstPixels, size t dstRowBytes, int srcX, int srcY)</a> const | +| | <a href="#SkBitmap_readPixels_3">readPixels(const SkPixmap& dst, int srcX, int srcY)</a> const | +| | <a href="#SkBitmap_readPixels_4">readPixels(const SkPixmap& dst)</a> const | +| <a href="#SkBitmap_setPixels">setPixels</a> | sets <a href="undocumented#Pixel_Ref">Pixel Ref</a> without an offset | +| <a href="#SkBitmap_writePixels">writePixels</a> | copies and converts pixels | +| | <a href="#SkBitmap_writePixels">writePixels(const SkPixmap& src, int dstX, int dstY)</a> | +| | <a href="#SkBitmap_writePixels_2">writePixels(const SkPixmap& src)</a> | +| | <a href="#SkBitmap_writePixels_3">writePixels(const SkPixmap& src, int x, int y, SkTransferFunctionBehavior behavior)</a> | + <a name="SkBitmap_setPixels"></a> ## setPixels @@ -2189,7 +2279,7 @@ Allocates pixel memory with <a href="#SkBitmap_tryAllocPixels_4_allocator">alloc The allocation size is determined by <a href="SkImageInfo_Reference#Image_Info">Image Info</a> width, height, and <a href="SkImageInfo_Reference#Color_Type">Color Type</a>. If <a href="#SkBitmap_tryAllocPixels_4_allocator">allocator</a> is nullptr, use <a href="#SkBitmap_HeapAllocator">HeapAllocator</a> instead. -Returns false if <a href="#SkBitmap_tryAllocPixels_4_allocator">allocator</a> <a href="#SkBitmap_HeapAllocator_allocPixelRef">allocPixelRef</a> return false. +Returns false if <a href="#SkBitmap_Allocator_allocPixelRef">Allocator::allocPixelRef</a> return false. ### Parameters @@ -2225,7 +2315,7 @@ Allocates pixel memory with <a href="#SkBitmap_allocPixels_4_allocator">allocato The allocation size is determined by <a href="SkImageInfo_Reference#Image_Info">Image Info</a> width, height, and <a href="SkImageInfo_Reference#Color_Type">Color Type</a>. If <a href="#SkBitmap_allocPixels_4_allocator">allocator</a> is nullptr, use <a href="#SkBitmap_HeapAllocator">HeapAllocator</a> instead. -Aborts if <a href="#SkBitmap_allocPixels_4_allocator">allocator</a> <a href="#SkBitmap_HeapAllocator_allocPixelRef">allocPixelRef</a> return false. Abort steps may be provided by +Aborts if <a href="#SkBitmap_Allocator_allocPixelRef">Allocator::allocPixelRef</a> return false. Abort steps may be provided by the user at compile time by defining SK_ABORT. ### Parameters @@ -2310,6 +2400,17 @@ subset origin: 32, 64 --- +## <a name="Set"></a> Set + +| name | description | +| --- | --- | +| <a href="#SkBitmap_setAlphaType">setAlphaType</a> | sets <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> of shared pixels | +| <a href="#SkBitmap_setHasHardwareMipMap">setHasHardwareMipMap</a> | sets Mip_Map support present; Android only | +| <a href="#SkBitmap_setImmutable">setImmutable</a> | marks that pixels will not change | +| <a href="#SkBitmap_setInfo">setInfo</a> | sets height, width, <a href="SkImageInfo_Reference#Color_Type">Color Type</a>, and so on, releasing pixels | +| <a href="#SkBitmap_setIsVolatile">setIsVolatile</a> | marks if pixels should not be cached | +| <a href="#SkBitmap_setPixelRef">setPixelRef</a> | sets <a href="undocumented#Pixel_Ref">Pixel Ref</a> and offset | + <a name="SkBitmap_setPixelRef"></a> ## setPixelRef @@ -2428,6 +2529,15 @@ Marks that pixels in <a href="undocumented#Pixel_Ref">Pixel Ref</a> have changed --- +## <a name="Draw"></a> Draw + +| name | description | +| --- | --- | +| <a href="#SkBitmap_erase">erase</a> | writes <a href="undocumented#Color">Color</a> to rectangle of pixels | +| <a href="#SkBitmap_eraseARGB">eraseARGB</a> | writes <a href="undocumented#Color">Color</a> to pixels | +| <a href="#SkBitmap_eraseColor">eraseColor</a> | writes <a href="undocumented#Color">Color</a> to pixels | +| <a href="#SkBitmap_eraseRGB">eraseRGB</a> | deprecated | + <a name="SkBitmap_eraseColor"></a> ## eraseColor @@ -2821,7 +2931,7 @@ unsigned 8-bit pointer to pixel at (<a href="#SkBitmap_getAddr8_x">x</a>, <a hre bool extractSubset(SkBitmap* dst, const SkIRect& subset) const </pre> -Shares <a href="undocumented#Pixel_Ref">Pixel Ref</a> with <a href="#SkBitmap_extractSubset_dst">dst</a>. Pixels are not copied; <a href="#Bitmap">Bitmap</a> and <a href="#SkBitmap_extractSubset_dst">dst</a> point +Shares <a href="undocumented#Pixel_Ref">Pixel Ref</a> with <a href="#SkBitmap_extractSubset_dst">dst</a>. <a href="#Pixels">Pixels</a> are not copied; <a href="#Bitmap">Bitmap</a> and <a href="#SkBitmap_extractSubset_dst">dst</a> point to the same pixels; <a href="#SkBitmap_extractSubset_dst">dst</a> <a href="#SkBitmap_bounds">bounds</a> are set to the intersection of <a href="#SkBitmap_extractSubset_subset">subset</a> and the original <a href="#SkBitmap_bounds">bounds</a>. @@ -2902,7 +3012,7 @@ row to the next. Returns true if pixels are copied. Returns false if: <td><a href="undocumented#Pixel_Ref">Pixel Ref</a> is nullptr</td> </tr> </table> -Pixels are copied only if pixel conversion is possible. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkBitmap_readPixels_dstInfo">dstInfo</a>.<a href="#SkBitmap_colorType">colorType</a> must match. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkBitmap_readPixels_dstInfo">dstInfo</a>.<a href="#SkBitmap_colorSpace">colorSpace</a> must match. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_alphaType">alphaType</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkBitmap_readPixels_dstInfo">dstInfo</a>.<a href="#SkBitmap_alphaType">alphaType</a> must @@ -2969,7 +3079,7 @@ Returns true if pixels are copied. Returns false if: <td><a href="undocumented#Pixel_Ref">Pixel Ref</a> is nullptr</td> </tr> </table> -Pixels are copied only if pixel conversion is possible. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkBitmap_readPixels_2_dstInfo">dstInfo</a>.<a href="#SkBitmap_colorType">colorType</a> must match. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkBitmap_readPixels_2_dstInfo">dstInfo</a>.<a href="#SkBitmap_colorSpace">colorSpace</a> must match. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_alphaType">alphaType</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkBitmap_readPixels_2_dstInfo">dstInfo</a>.<a href="#SkBitmap_alphaType">alphaType</a> must @@ -3029,7 +3139,7 @@ row to the next. Returns true if pixels are copied. Returns false if: <td><a href="undocumented#Pixel_Ref">Pixel Ref</a> is nullptr</td> </tr> </table> -Pixels are copied only if pixel conversion is possible. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkBitmap_readPixels_3_dst">dst</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> must match. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkBitmap_readPixels_3_dst">dst</a> <a href="undocumented#Color_Space">Color Space</a> must match. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_alphaType">alphaType</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkBitmap_readPixels_3_dst">dst</a> <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> must @@ -3084,7 +3194,7 @@ row to the next. Returns true if pixels are copied. Returns false if: <td><a href="undocumented#Pixel_Ref">Pixel Ref</a> is nullptr</td> </tr> </table> -Pixels are copied only if pixel conversion is possible. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkBitmap_readPixels_4_dst">dst</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> must match. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkBitmap_readPixels_4_dst">dst</a> <a href="undocumented#Color_Space">Color Space</a> must match. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_alphaType">alphaType</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkBitmap_readPixels_4_dst">dst</a> <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> must @@ -3132,7 +3242,7 @@ row to the next. Returns true if pixels are copied. Returns false if: <td><a href="undocumented#Pixel_Ref">Pixel Ref</a> is nullptr</td> </tr> </table> -Pixels are copied only if pixel conversion is possible. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkBitmap_writePixels_src">src</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> must match. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkBitmap_writePixels_src">src</a> <a href="undocumented#Color_Space">Color Space</a> must match. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_alphaType">alphaType</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkBitmap_writePixels_src">src</a> <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> must @@ -3187,7 +3297,7 @@ row to the next. Returns true if pixels are copied. Returns false if: <td><a href="undocumented#Pixel_Ref">Pixel Ref</a> is nullptr</td> </tr> </table> -Pixels are copied only if pixel conversion is possible. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkBitmap_writePixels_2_src">src</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> must match. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkBitmap_writePixels_2_src">src</a> <a href="undocumented#Color_Space">Color Space</a> must match. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_alphaType">alphaType</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkBitmap_writePixels_2_src">src</a> <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> must @@ -3234,7 +3344,7 @@ row to the next. Returns true if pixels are copied. Returns false if: <td><a href="undocumented#Pixel_Ref">Pixel Ref</a> is nullptr</td> </tr> </table> -Pixels are copied only if pixel conversion is possible. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkBitmap_writePixels_3_src">src</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> must match. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkBitmap_writePixels_3_src">src</a> <a href="undocumented#Color_Space">Color Space</a> must match. If <a href="#Bitmap">Bitmap</a> <a href="#SkBitmap_alphaType">alphaType</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkBitmap_writePixels_3_src">src</a> <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> must @@ -3478,6 +3588,18 @@ x---x- --- +## <a name="Utility"></a> Utility + +| name | description | +| --- | --- | +| <a href="#SkBitmap_ComputeIsOpaque">ComputeIsOpaque</a> | returns true if all pixels are opaque | +| <a href="#SkBitmap_computeByteSize">computeByteSize</a> | returns size required for pixels | +| <a href="#SkBitmap_getGenerationID">getGenerationID</a> | returns unique ID | +| <a href="#SkBitmap_readyToDraw">readyToDraw</a> | returns true if address of pixels is not nullptr | +| <a href="#SkBitmap_swap">swap</a> | exchanges <a href="#Bitmap">Bitmap</a> pair | +| <a href="#SkBitmap_toString">toString</a> | converts <a href="#Bitmap">Bitmap</a> to machine readable form | +| <a href="#SkBitmap_validate">validate</a> | asserts if <a href="#Bitmap">Bitmap</a> is invalid (debug only) | + <a name="SkBitmap_validate"></a> ## validate diff --git a/site/user/api/SkCanvas_Reference.md b/site/user/api/SkCanvas_Reference.md index ebd746356f..6228d3ade4 100644 --- a/site/user/api/SkCanvas_Reference.md +++ b/site/user/api/SkCanvas_Reference.md @@ -42,10 +42,15 @@ This approach may be deprecated in the future. | name | description | | --- | --- | | <a href="#Clip">Clip</a> | stack of clipping <a href="#Path">Paths</a> | +| <a href="#Draw">Draw</a> | draws into <a href="#Canvas">Canvas</a> | | <a href="#Draw_Image">Draw Image</a> | draws <a href="SkImage_Reference#Image">Image</a> to <a href="#Canvas">Canvas</a> | +| <a href="#Draw_Text">Draw Text</a> | draws text into <a href="#Canvas">Canvas</a> | | <a href="#Layer">Layer</a> | temporary <a href="SkBitmap_Reference#Bitmap">Bitmap</a> to draw into | | <a href="#Matrix">Matrix</a> | coordinate transformation | +| <a href="#Pixels">Pixels</a> | read and write pixel values | +| <a href="#Property">Property</a> | metrics and attributes | | <a href="#State_Stack">State Stack</a> | stack of state for hierarchical drawing | +| <a href="#Utility">Utility</a> | rarely called management functions | ## <a name="Constant"></a> Constant @@ -187,7 +192,7 @@ If <a href="#SkCanvas_MakeRasterDirect_rowBytes">rowBytes</a> is greater than ze <a href="#SkCanvas_MakeRasterDirect_info">info</a> width times bytes required for <a href="SkImageInfo_Reference#Color_Type">Color Type</a>. <a href="undocumented#Pixel">Pixel</a> buffer size should be <a href="#SkCanvas_MakeRasterDirect_info">info</a> height times computed <a href="#SkCanvas_MakeRasterDirect_rowBytes">rowBytes</a>. -Pixels are not initialized. +<a href="#Pixels">Pixels</a> are not initialized. To access <a href="#SkCanvas_MakeRasterDirect_pixels">pixels</a> after drawing, call <a href="#SkCanvas_flush">flush</a> or <a href="#SkCanvas_peekPixels">peekPixels</a>. ### Parameters @@ -562,6 +567,18 @@ transparent letters.</div></fiddle-embed></div> --- +## <a name="Property"></a> Property + +| name | description | +| --- | --- | +| <a href="#SkCanvas_getBaseLayerSize">getBaseLayerSize</a> | returns size of base <a href="#Layer">Layer</a> in global coordinates | +| <a href="#SkCanvas_getGrContext">getGrContext</a> | returns <a href="undocumented#GPU_Context">GPU Context</a> of the <a href="undocumented#GPU_Surface">GPU Surface</a> | +| <a href="#SkCanvas_getMetaData">getMetaData</a> | associates additional data with the canvas | +| <a href="#SkCanvas_getProps">getProps</a> | copies <a href="undocumented#Surface_Properties">Surface Properties</a> if available | +| <a href="#SkCanvas_imageInfo">imageInfo</a> | returns <a href="SkImageInfo_Reference#Image_Info">Image Info</a> for <a href="#Canvas">Canvas</a> | +| <a href="#SkCanvas_isClipEmpty">isClipEmpty</a> | returns if <a href="#Clip">Clip</a> is empty | +| <a href="#SkCanvas_isClipRect">isClipRect</a> | returns if <a href="#Clip">Clip</a> is <a href="SkRect_Reference#Rect">Rect</a> and not empty | + <a name="SkCanvas_getMetaData"></a> ## getMetaData @@ -669,6 +686,15 @@ isRGB:1 --- +## <a name="Utility"></a> Utility + +| name | description | +| --- | --- | +| <a href="#SkCanvas_accessTopLayerPixels">accessTopLayerPixels</a> | returns writable pixel access if available | +| <a href="#SkCanvas_accessTopRasterHandle">accessTopRasterHandle</a> | returns context that tracks <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a> | +| <a href="#SkCanvas_discard">discard</a> | makes <a href="#Canvas">Canvas</a> contents undefined | +| <a href="#SkCanvas_flush">flush</a> | triggers execution of all pending draw operations | + <a name="SkCanvas_flush"></a> ## flush @@ -874,6 +900,19 @@ context = skia --- +## <a name="Pixels"></a> Pixels + +| name | description | +| --- | --- | +| <a href="#SkCanvas_peekPixels">peekPixels</a> | returns if <a href="#Canvas">Canvas</a> has direct access to its pixels | +| <a href="#SkCanvas_readPixels">readPixels</a> | copies and converts rectangle of pixels from <a href="#Canvas">Canvas</a> | +| | <a href="#SkCanvas_readPixels">readPixels(const SkImageInfo& dstInfo, void* dstPixels, size t dstRowBytes, int srcX, int srcY)</a> | +| | <a href="#SkCanvas_readPixels_2">readPixels(const SkPixmap& pixmap, int srcX, int srcY)</a> | +| | <a href="#SkCanvas_readPixels_3">readPixels(const SkBitmap& bitmap, int srcX, int srcY)</a> | +| <a href="#SkCanvas_writePixels">writePixels</a> | copies and converts rectangle of pixels to <a href="#Canvas">Canvas</a> | +| | <a href="#SkCanvas_writePixels">writePixels(const SkImageInfo& info, const void* pixels, size t rowBytes, int x, int y)</a> | +| | <a href="#SkCanvas_writePixels_2">writePixels(const SkBitmap& bitmap, int x, int y)</a> | + <a name="SkCanvas_peekPixels"></a> ## peekPixels @@ -883,7 +922,7 @@ bool peekPixels(SkPixmap* pixmap) Returns true if <a href="#Canvas">Canvas</a> has direct access to its pixels. -Pixels are readable when <a href="undocumented#Device">Device</a> is raster. Pixels are not readable when <a href="#Canvas">Canvas</a> +<a href="#Pixels">Pixels</a> are readable when <a href="undocumented#Device">Device</a> is raster. <a href="#Pixels">Pixels</a> are not readable when <a href="#Canvas">Canvas</a> is returned from <a href="undocumented#GPU_Surface">GPU Surface</a>, returned by <a href="#SkDocument_beginPage">SkDocument::beginPage</a>, returned by <a href="#SkPictureRecorder_beginRecording">SkPictureRecorder::beginRecording</a>, or <a href="#Canvas">Canvas</a> is the base of a utility class like <a href="undocumented#SkDumpCanvas">SkDumpCanvas</a>. @@ -935,8 +974,8 @@ Destination <a href="SkRect_Reference#Rect">Rect</a> corners are (0, 0) and (<a Copies each readable pixel intersecting both rectangles, without scaling, converting to <a href="#SkCanvas_readPixels_dstInfo">dstInfo</a>.colorType() and <a href="#SkCanvas_readPixels_dstInfo">dstInfo</a>.alphaType() if required. -Pixels are readable when <a href="undocumented#Device">Device</a> is raster, or backed by a GPU. -Pixels are not readable when <a href="#SkCanvas">SkCanvas</a> is returned by <a href="#SkDocument_beginPage">SkDocument::beginPage</a>, +<a href="#Pixels">Pixels</a> are readable when <a href="undocumented#Device">Device</a> is raster, or backed by a GPU. +<a href="#Pixels">Pixels</a> are not readable when <a href="#SkCanvas">SkCanvas</a> is returned by <a href="#SkDocument_beginPage">SkDocument::beginPage</a>, returned by <a href="#SkPictureRecorder_beginRecording">SkPictureRecorder::beginRecording</a>, or <a href="#Canvas">Canvas</a> is the base of a utility class like <a href="undocumented#SkDumpCanvas">SkDumpCanvas</a>. @@ -1019,8 +1058,8 @@ Destination <a href="SkRect_Reference#Rect">Rect</a> corners are (0, 0) and (<a Copies each readable pixel intersecting both rectangles, without scaling, converting to <a href="#SkCanvas_readPixels_2_pixmap">pixmap</a>.colorType() and <a href="#SkCanvas_readPixels_2_pixmap">pixmap</a>.alphaType() if required. -Pixels are readable when <a href="undocumented#Device">Device</a> is raster, or backed by a GPU. -Pixels are not readable when <a href="#SkCanvas">SkCanvas</a> is returned by <a href="#SkDocument_beginPage">SkDocument::beginPage</a>, +<a href="#Pixels">Pixels</a> are readable when <a href="undocumented#Device">Device</a> is raster, or backed by a GPU. +<a href="#Pixels">Pixels</a> are not readable when <a href="#SkCanvas">SkCanvas</a> is returned by <a href="#SkDocument_beginPage">SkDocument::beginPage</a>, returned by <a href="#SkPictureRecorder_beginRecording">SkPictureRecorder::beginRecording</a>, or <a href="#Canvas">Canvas</a> is the base of a utility class like <a href="undocumented#SkDumpCanvas">SkDumpCanvas</a>. @@ -1091,8 +1130,8 @@ Destination <a href="SkRect_Reference#Rect">Rect</a> corners are (0, 0) and (<a Copies each readable pixel intersecting both rectangles, without scaling, converting to <a href="#SkCanvas_readPixels_3_bitmap">bitmap</a>.colorType() and <a href="#SkCanvas_readPixels_3_bitmap">bitmap</a>.alphaType() if required. -Pixels are readable when <a href="undocumented#Device">Device</a> is raster, or backed by a GPU. -Pixels are not readable when <a href="#SkCanvas">SkCanvas</a> is returned by <a href="#SkDocument_beginPage">SkDocument::beginPage</a>, +<a href="#Pixels">Pixels</a> are readable when <a href="undocumented#Device">Device</a> is raster, or backed by a GPU. +<a href="#Pixels">Pixels</a> are not readable when <a href="#SkCanvas">SkCanvas</a> is returned by <a href="#SkDocument_beginPage">SkDocument::beginPage</a>, returned by <a href="#SkPictureRecorder_beginRecording">SkPictureRecorder::beginRecording</a>, or <a href="#Canvas">Canvas</a> is the base of a utility class like <a href="undocumented#SkDumpCanvas">SkDumpCanvas</a>. @@ -1164,8 +1203,8 @@ Destination <a href="SkRect_Reference#Rect">Rect</a> corners are (<a href="#SkCa Copies each readable pixel intersecting both rectangles, without scaling, converting to <a href="#SkCanvas_imageInfo">imageInfo</a>.colorType() and <a href="#SkCanvas_imageInfo">imageInfo</a>.alphaType() if required. -Pixels are writable when <a href="undocumented#Device">Device</a> is raster, or backed by a GPU. -Pixels are not writable when <a href="#SkCanvas">SkCanvas</a> is returned by <a href="#SkDocument_beginPage">SkDocument::beginPage</a>, +<a href="#Pixels">Pixels</a> are writable when <a href="undocumented#Device">Device</a> is raster, or backed by a GPU. +<a href="#Pixels">Pixels</a> are not writable when <a href="#SkCanvas">SkCanvas</a> is returned by <a href="#SkDocument_beginPage">SkDocument::beginPage</a>, returned by <a href="#SkPictureRecorder_beginRecording">SkPictureRecorder::beginRecording</a>, or <a href="#Canvas">Canvas</a> is the base of a utility class like <a href="undocumented#SkDumpCanvas">SkDumpCanvas</a>. @@ -1230,8 +1269,8 @@ Destination <a href="SkRect_Reference#Rect">Rect</a> corners are (<a href="#SkCa Copies each readable pixel intersecting both rectangles, without scaling, converting to <a href="#SkCanvas_imageInfo">imageInfo</a>.colorType() and <a href="#SkCanvas_imageInfo">imageInfo</a>.alphaType() if required. -Pixels are writable when <a href="undocumented#Device">Device</a> is raster, or backed by a GPU. -Pixels are not writable when <a href="#SkCanvas">SkCanvas</a> is returned by <a href="#SkDocument_beginPage">SkDocument::beginPage</a>, +<a href="#Pixels">Pixels</a> are writable when <a href="undocumented#Device">Device</a> is raster, or backed by a GPU. +<a href="#Pixels">Pixels</a> are not writable when <a href="#SkCanvas">SkCanvas</a> is returned by <a href="#SkDocument_beginPage">SkDocument::beginPage</a>, returned by <a href="#SkPictureRecorder_beginRecording">SkPictureRecorder::beginRecording</a>, or <a href="#Canvas">Canvas</a> is the base of a utility class like <a href="undocumented#SkDumpCanvas">SkDumpCanvas</a>. @@ -1297,7 +1336,7 @@ save state and return the depth of the stack. ### Example -<div><fiddle-embed name="a4548baa133302e933b4d3442c06f5b3"><div>Draw to ever smaller clips; then restore drawing to full canvas. +<div><fiddle-embed name="a4548baa133302e933b4d3442c06f5b3"><div><a href="#Draw">Draw</a> to ever smaller clips; then restore drawing to full canvas. Note that the second <a href="#SkCanvas_clipRect">clipRect</a> is not permitted to enlarge <a href="#Clip">Clip</a>.</div></fiddle-embed></div> Each <a href="#Clip">Clip</a> uses the current <a href="#Matrix">Matrix</a> for its coordinates. @@ -1576,7 +1615,7 @@ Optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_saveLaye Call <a href="#SkCanvas_restoreToCount">restoreToCount</a> with returned value to restore this and subsequent saves. -Draw text on an opaque background so that <a href="SkPaint_Reference#LCD_Text">LCD Text</a> blends correctly with the +<a href="#Draw">Draw</a> text on an opaque background so that <a href="SkPaint_Reference#LCD_Text">LCD Text</a> blends correctly with the prior <a href="#Layer">Layer</a>. <a href="SkPaint_Reference#LCD_Text">LCD Text</a> drawn on a background with transparency may result in incorrect blending. @@ -2052,7 +2091,7 @@ amount to rotate, in <a href="#SkCanvas_rotate_degrees">degrees</a></td> ### Example -<div><fiddle-embed name="caafb205771b714948e00dcd58ccaf1f"><div>Draw clock hands at time 5:10. The hour hand and minute hand point up and +<div><fiddle-embed name="caafb205771b714948e00dcd58ccaf1f"><div><a href="#Draw">Draw</a> clock hands at time 5:10. The hour hand and minute hand point up and are rotated clockwise.</div></fiddle-embed></div> ### See Also @@ -2276,7 +2315,7 @@ and is unaffected by <a href="#Matrix">Matrix</a>. ### Example -<div><fiddle-embed name="d2e60e5171f26ff9ddefae48387f889b"><div>Draw a red circle with an <a href="#Alias">Aliased</a> clip and an Anti-aliased clip. +<div><fiddle-embed name="d2e60e5171f26ff9ddefae48387f889b"><div><a href="#Draw">Draw</a> a red circle with an <a href="#Alias">Aliased</a> clip and an Anti-aliased clip. Use an image filter to zoom into the pixels drawn. The edge of the <a href="#Alias">Aliased</a> clip fully draws pixels in the red circle. The edge of the Anti-aliased clip partially draws pixels in the red circle.</div></fiddle-embed></div> @@ -2883,6 +2922,55 @@ device bounds empty = true --- +## <a name="Draw"></a> Draw + +| name | description | +| --- | --- | +| <a href="#SkCanvas_clear">clear</a> | fills <a href="#Clip">Clip</a> with <a href="undocumented#Color">Color</a> | +| <a href="#SkCanvas_drawAnnotation">drawAnnotation</a> | associates a <a href="SkRect_Reference#Rect">Rect</a> with a key-value pair | +| | <a href="#SkCanvas_drawAnnotation">drawAnnotation(const SkRect& rect, const char key[], SkData* value)</a> | +| | <a href="#SkCanvas_drawAnnotation_2">drawAnnotation(const SkRect& rect, const char key[], const sk sp<SkData>& value)</a> | +| <a href="#SkCanvas_drawArc">drawArc</a> | draws <a href="undocumented#Arc">Arc</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> | +| <a href="#SkCanvas_drawAtlas">drawAtlas</a> | draws sprites using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> | +| | <a href="#SkCanvas_drawAtlas">drawAtlas(const SkImage* atlas, const SkRSXform xform[], const SkRect tex[], const SkColor colors[], int count, SkBlendMode mode, const SkRect* cullRect, const SkPaint* paint)</a> | +| | <a href="#SkCanvas_drawAtlas_2">drawAtlas(const sk sp<SkImage>& atlas, const SkRSXform xform[], const SkRect tex[], const SkColor colors[], int count, SkBlendMode mode, const SkRect* cullRect, const SkPaint* paint)</a> | +| | <a href="#SkCanvas_drawAtlas_3">drawAtlas(const SkImage* atlas, const SkRSXform xform[], const SkRect tex[], int count, const SkRect* cullRect, const SkPaint* paint)</a> | +| | <a href="#SkCanvas_drawAtlas_4">drawAtlas(const sk sp<SkImage>& atlas, const SkRSXform xform[], const SkRect tex[], int count, const SkRect* cullRect, const SkPaint* paint)</a> | +| <a href="#SkCanvas_drawCircle">drawCircle</a> | draws <a href="undocumented#Circle">Circle</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> | +| | <a href="#SkCanvas_drawCircle">drawCircle(SkScalar cx, SkScalar cy, SkScalar radius, const SkPaint& paint)</a> | +| | <a href="#SkCanvas_drawCircle_2">drawCircle(SkPoint center, SkScalar radius, const SkPaint& paint)</a> | +| <a href="#SkCanvas_drawColor">drawColor</a> | fills <a href="#Clip">Clip</a> with <a href="undocumented#Color">Color</a> and <a href="undocumented#Blend_Mode">Blend Mode</a> | +| <a href="#SkCanvas_drawDRRect">drawDRRect</a> | draws double <a href="undocumented#Round_Rect">Round Rect</a> stroked or filled | +| <a href="#SkCanvas_drawDrawable">drawDrawable</a> | draws <a href="undocumented#Drawable">Drawable</a>, encapsulated drawing commands | +| | <a href="#SkCanvas_drawDrawable">drawDrawable(SkDrawable* drawable, const SkMatrix* matrix = nullptr)</a> | +| | <a href="#SkCanvas_drawDrawable_2">drawDrawable(SkDrawable* drawable, SkScalar x, SkScalar y)</a> | +| <a href="#SkCanvas_drawIRect">drawIRect</a> | draws <a href="SkIRect_Reference#IRect">IRect</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> | +| <a href="#SkCanvas_drawLine">drawLine</a> | draws line segment between two points | +| | <a href="#SkCanvas_drawLine">drawLine(SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1, const SkPaint& paint)</a> | +| | <a href="#SkCanvas_drawLine_2">drawLine(SkPoint p0, SkPoint p1, const SkPaint& paint)</a> | +| <a href="#SkCanvas_drawOval">drawOval</a> | draws <a href="undocumented#Oval">Oval</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> | +| <a href="#SkCanvas_drawPaint">drawPaint</a> | fills <a href="#Clip">Clip</a> with <a href="SkPaint_Reference#Paint">Paint</a> | +| <a href="#SkCanvas_drawPatch">drawPatch</a> | draws Coons_Patch | +| | <a href="#SkCanvas_drawPatch">drawPatch(const SkPoint cubics[12], const SkColor colors[4], const SkPoint texCoords[4], SkBlendMode mode, const SkPaint& paint)</a> | +| | <a href="#SkCanvas_drawPatch_2">drawPatch(const SkPoint cubics[12], const SkColor colors[4], const SkPoint texCoords[4], const SkPaint& paint)</a> | +| <a href="#SkCanvas_drawPath">drawPath</a> | draws <a href="SkPath_Reference#Path">Path</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> | +| <a href="#SkCanvas_drawPicture">drawPicture</a> | draws <a href="undocumented#Picture">Picture</a> using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a> | +| | <a href="#SkCanvas_drawPicture">drawPicture(const SkPicture* picture)</a> | +| | <a href="#SkCanvas_drawPicture_2">drawPicture(const sk sp<SkPicture>& picture)</a> | +| | <a href="#SkCanvas_drawPicture_3">drawPicture(const SkPicture* picture, const SkMatrix* matrix, const SkPaint* paint)</a> | +| | <a href="#SkCanvas_drawPicture_4">drawPicture(const sk sp<SkPicture>& picture, const SkMatrix* matrix, const SkPaint* paint)</a> | +| <a href="#SkCanvas_drawPoint">drawPoint</a> | draws point at (x, y) position | +| | <a href="#SkCanvas_drawPoint">drawPoint(SkScalar x, SkScalar y, const SkPaint& paint)</a> | +| | <a href="#SkCanvas_drawPoint_2">drawPoint(SkPoint p, const SkPaint& paint)</a> | +| <a href="#SkCanvas_drawPoints">drawPoints</a> | draws array as points, lines, polygon | +| <a href="#SkCanvas_drawRRect">drawRRect</a> | draws <a href="undocumented#Round_Rect">Round Rect</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> | +| <a href="#SkCanvas_drawRect">drawRect</a> | draws <a href="SkRect_Reference#Rect">Rect</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> | +| <a href="#SkCanvas_drawRegion">drawRegion</a> | draws <a href="undocumented#Region">Region</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> | +| <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> | draws <a href="undocumented#Round_Rect">Round Rect</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> | +| <a href="#SkCanvas_drawVertices">drawVertices</a> | draws <a href="undocumented#Vertices">Vertices</a>, a triangle mesh | +| | <a href="#SkCanvas_drawVertices">drawVertices(const SkVertices* vertices, SkBlendMode mode, const SkPaint& paint)</a> | +| | <a href="#SkCanvas_drawVertices_2">drawVertices(const sk sp<SkVertices>& vertices, SkBlendMode mode, const SkPaint& paint)</a> | + <a name="SkCanvas_drawColor"></a> ## drawColor @@ -3008,13 +3096,13 @@ an open polygon. <table> <tr> - <td><a name="SkCanvas_kPoints_PointMode"> <code><strong>SkCanvas::kPoints_PointMode </strong></code> </a></td><td>0</td><td>Draw each point separately.</td> + <td><a name="SkCanvas_kPoints_PointMode"> <code><strong>SkCanvas::kPoints_PointMode </strong></code> </a></td><td>0</td><td><a href="#Draw">Draw</a> each point separately.</td> </tr> <tr> - <td><a name="SkCanvas_kLines_PointMode"> <code><strong>SkCanvas::kLines_PointMode </strong></code> </a></td><td>1</td><td>Draw each pair of points as a line segment.</td> + <td><a name="SkCanvas_kLines_PointMode"> <code><strong>SkCanvas::kLines_PointMode </strong></code> </a></td><td>1</td><td><a href="#Draw">Draw</a> each pair of points as a line segment.</td> </tr> <tr> - <td><a name="SkCanvas_kPolygon_PointMode"> <code><strong>SkCanvas::kPolygon_PointMode </strong></code> </a></td><td>2</td><td>Draw the array of points as a open polygon.</td> + <td><a name="SkCanvas_kPolygon_PointMode"> <code><strong>SkCanvas::kPolygon_PointMode </strong></code> </a></td><td>2</td><td><a href="#Draw">Draw</a> the array of points as a open polygon.</td> </tr> </table> @@ -3038,7 +3126,7 @@ The lower left corner shows two lines with a miter when path contains polygon.</ void drawPoints(PointMode mode, size_t count, const SkPoint pts[], const SkPaint& paint) </pre> -Draw <a href="#SkCanvas_drawPoints_pts">pts</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a> and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawPoints_paint">paint</a>. +<a href="#Draw">Draw</a> <a href="#SkCanvas_drawPoints_pts">pts</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a> and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawPoints_paint">paint</a>. <a href="#SkCanvas_drawPoints_count">count</a> is the number of points; if <a href="#SkCanvas_drawPoints_count">count</a> is less than one, has no effect. <a href="#SkCanvas_drawPoints_mode">mode</a> may be one of: <a href="#SkCanvas_kPoints_PointMode">kPoints PointMode</a>, <a href="#SkCanvas_kLines_PointMode">kLines PointMode</a>, or <a href="#SkCanvas_kPolygon_PointMode">kPolygon PointMode</a>. @@ -3105,7 +3193,7 @@ the path is drawn all at once.</div></fiddle-embed></div> void drawPoint(SkScalar x, SkScalar y, const SkPaint& paint) </pre> -Draw point at (<a href="#SkCanvas_drawPoint_x">x</a>, <a href="#SkCanvas_drawPoint_y">y</a>) using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a> and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawPoint_paint">paint</a>. +<a href="#Draw">Draw</a> point at (<a href="#SkCanvas_drawPoint_x">x</a>, <a href="#SkCanvas_drawPoint_y">y</a>) using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a> and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawPoint_paint">paint</a>. The shape of point drawn depends on <a href="#SkCanvas_drawPoint_paint">paint</a> <a href="#Stroke_Cap">Paint Stroke Cap</a>. If <a href="#SkCanvas_drawPoint_paint">paint</a> is set to <a href="#SkPaint_kRound_Cap">SkPaint::kRound Cap</a>, draw a circle of diameter @@ -3140,7 +3228,7 @@ stroke, blend, color, and so on, used to draw</td> void drawPoint(SkPoint p, const SkPaint& paint) </pre> -Draw point <a href="#SkCanvas_drawPoint_2_p">p</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a> and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawPoint_2_paint">paint</a>. +<a href="#Draw">Draw</a> point <a href="#SkCanvas_drawPoint_2_p">p</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a> and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawPoint_2_paint">paint</a>. The shape of point drawn depends on <a href="#SkCanvas_drawPoint_2_paint">paint</a> <a href="#Stroke_Cap">Paint Stroke Cap</a>. If <a href="#SkCanvas_drawPoint_2_paint">paint</a> is set to <a href="#SkPaint_kRound_Cap">SkPaint::kRound Cap</a>, draw a circle of diameter @@ -3243,7 +3331,7 @@ stroke, blend, color, and so on, used to draw</td> void drawRect(const SkRect& rect, const SkPaint& paint) </pre> -Draw <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawRect_rect">rect</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawRect_paint">paint</a>. +<a href="#Draw">Draw</a> <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawRect_rect">rect</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawRect_paint">paint</a>. In <a href="#SkCanvas_drawRect_paint">paint</a>: <a href="#Style">Paint Style</a> determines if rectangle is stroked or filled; if stroked, <a href="#Stroke_Width">Paint Stroke Width</a> describes the line thickness, and <a href="#Stroke_Join">Paint Stroke Join</a> draws the corners rounded or square. @@ -3274,7 +3362,7 @@ stroke or fill, blend, color, and so on, used to draw</td> void drawIRect(const SkIRect& rect, const SkPaint& paint) </pre> -Draw <a href="SkIRect_Reference#IRect">IRect</a> <a href="#SkCanvas_drawIRect_rect">rect</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawIRect_paint">paint</a>. +<a href="#Draw">Draw</a> <a href="SkIRect_Reference#IRect">IRect</a> <a href="#SkCanvas_drawIRect_rect">rect</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawIRect_paint">paint</a>. In <a href="#SkCanvas_drawIRect_paint">paint</a>: <a href="#Style">Paint Style</a> determines if rectangle is stroked or filled; if stroked, <a href="#Stroke_Width">Paint Stroke Width</a> describes the line thickness, and <a href="#Stroke_Join">Paint Stroke Join</a> draws the corners rounded or square. @@ -3305,7 +3393,7 @@ stroke or fill, blend, color, and so on, used to draw</td> void drawRegion(const SkRegion& region, const SkPaint& paint) </pre> -Draw <a href="undocumented#Region">Region</a> <a href="#SkCanvas_drawRegion_region">region</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawRegion_paint">paint</a>. +<a href="#Draw">Draw</a> <a href="undocumented#Region">Region</a> <a href="#SkCanvas_drawRegion_region">region</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawRegion_paint">paint</a>. In <a href="#SkCanvas_drawRegion_paint">paint</a>: <a href="#Style">Paint Style</a> determines if rectangle is stroked or filled; if stroked, <a href="#Stroke_Width">Paint Stroke Width</a> describes the line thickness, and <a href="#Stroke_Join">Paint Stroke Join</a> draws the corners rounded or square. @@ -3336,7 +3424,7 @@ if stroked, <a href="#Stroke_Width">Paint Stroke Width</a> describes the line th void drawOval(const SkRect& oval, const SkPaint& paint) </pre> -Draw <a href="undocumented#Oval">Oval</a> <a href="#SkCanvas_drawOval_oval">oval</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a>. +<a href="#Draw">Draw</a> <a href="undocumented#Oval">Oval</a> <a href="#SkCanvas_drawOval_oval">oval</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a>. In <a href="#SkCanvas_drawOval_paint">paint</a>: <a href="#Style">Paint Style</a> determines if <a href="undocumented#Oval">Oval</a> is stroked or filled; if stroked, <a href="#Stroke_Width">Paint Stroke Width</a> describes the line thickness. @@ -3366,7 +3454,7 @@ if stroked, <a href="#Stroke_Width">Paint Stroke Width</a> describes the line th void drawRRect(const SkRRect& rrect, const SkPaint& paint) </pre> -Draw <a href="undocumented#Round_Rect">Round Rect</a> <a href="#SkCanvas_drawRRect_rrect">rrect</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawRRect_paint">paint</a>. +<a href="#Draw">Draw</a> <a href="undocumented#Round_Rect">Round Rect</a> <a href="#SkCanvas_drawRRect_rrect">rrect</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawRRect_paint">paint</a>. In <a href="#SkCanvas_drawRRect_paint">paint</a>: <a href="#Style">Paint Style</a> determines if <a href="#SkCanvas_drawRRect_rrect">rrect</a> is stroked or filled; if stroked, <a href="#Stroke_Width">Paint Stroke Width</a> describes the line thickness. @@ -3399,7 +3487,7 @@ may have any combination of positive non-square radii for the four corners. void drawDRRect(const SkRRect& outer, const SkRRect& inner, const SkPaint& paint) </pre> -Draw <a href="undocumented#Round_Rect">Round Rect</a> <a href="#SkCanvas_drawDRRect_outer">outer</a> and <a href="#SkCanvas_drawDRRect_inner">inner</a> +<a href="#Draw">Draw</a> <a href="undocumented#Round_Rect">Round Rect</a> <a href="#SkCanvas_drawDRRect_outer">outer</a> and <a href="#SkCanvas_drawDRRect_inner">inner</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawDRRect_paint">paint</a>. <a href="#SkCanvas_drawDRRect_outer">outer</a> must contain <a href="#SkCanvas_drawDRRect_inner">inner</a> or the drawing is undefined. In <a href="#SkCanvas_drawDRRect_paint">paint</a>: <a href="#Style">Paint Style</a> determines if <a href="undocumented#Round_Rect">Round Rect</a> is stroked or filled; @@ -3445,7 +3533,7 @@ Stroke join does not affect <a href="#SkCanvas_drawDRRect_inner">inner</a> <a hr void drawCircle(SkScalar cx, SkScalar cy, SkScalar radius, const SkPaint& paint) </pre> -Draw <a href="undocumented#Circle">Circle</a> at (<a href="#SkCanvas_drawCircle_cx">cx</a>, <a href="#SkCanvas_drawCircle_cy">cy</a>) with <a href="#SkCanvas_drawCircle_radius">radius</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawCircle_paint">paint</a>. +<a href="#Draw">Draw</a> <a href="undocumented#Circle">Circle</a> at (<a href="#SkCanvas_drawCircle_cx">cx</a>, <a href="#SkCanvas_drawCircle_cy">cy</a>) with <a href="#SkCanvas_drawCircle_radius">radius</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawCircle_paint">paint</a>. If <a href="#SkCanvas_drawCircle_radius">radius</a> is zero or less, nothing is drawn. In <a href="#SkCanvas_drawCircle_paint">paint</a>: <a href="#Style">Paint Style</a> determines if <a href="undocumented#Circle">Circle</a> is stroked or filled; if stroked, <a href="#Stroke_Width">Paint Stroke Width</a> describes the line thickness. @@ -3479,7 +3567,7 @@ half the diameter of <a href="undocumented#Circle">Circle</a></td> void drawCircle(SkPoint center, SkScalar radius, const SkPaint& paint) </pre> -Draw <a href="undocumented#Circle">Circle</a> at <a href="#SkCanvas_drawCircle_2_center">center</a> with <a href="#SkCanvas_drawCircle_2_radius">radius</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawCircle_2_paint">paint</a>. +<a href="#Draw">Draw</a> <a href="undocumented#Circle">Circle</a> at <a href="#SkCanvas_drawCircle_2_center">center</a> with <a href="#SkCanvas_drawCircle_2_radius">radius</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawCircle_2_paint">paint</a>. If <a href="#SkCanvas_drawCircle_2_radius">radius</a> is zero or less, nothing is drawn. In <a href="#SkCanvas_drawCircle_2_paint">paint</a>: <a href="#Style">Paint Style</a> determines if <a href="undocumented#Circle">Circle</a> is stroked or filled; if stroked, <a href="#Stroke_Width">Paint Stroke Width</a> describes the line thickness. @@ -3513,7 +3601,7 @@ void drawArc(const SkRect& oval, SkScalar startAngle, SkScalar sweepAngle, bool const SkPaint& paint) </pre> -Draw <a href="undocumented#Arc">Arc</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawArc_paint">paint</a>. +<a href="#Draw">Draw</a> <a href="undocumented#Arc">Arc</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawArc_paint">paint</a>. <a href="undocumented#Arc">Arc</a> is part of <a href="undocumented#Oval">Oval</a> bounded by <a href="#SkCanvas_drawArc_oval">oval</a>, sweeping from <a href="#SkCanvas_drawArc_startAngle">startAngle</a> to <a href="#SkCanvas_drawArc_startAngle">startAngle</a> plus <a href="#SkCanvas_drawArc_sweepAngle">sweepAngle</a>. <a href="#SkCanvas_drawArc_startAngle">startAngle</a> and <a href="#SkCanvas_drawArc_sweepAngle">sweepAngle</a> are in degrees. @@ -3563,7 +3651,7 @@ if true, include the center of the <a href="#SkCanvas_drawArc_oval">oval</a></td void drawRoundRect(const SkRect& rect, SkScalar rx, SkScalar ry, const SkPaint& paint) </pre> -Draw <a href="undocumented#Round_Rect">Round Rect</a> bounded by <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawRoundRect_rect">rect</a>, with corner radii (<a href="#SkCanvas_drawRoundRect_rx">rx</a>, <a href="#SkCanvas_drawRoundRect_ry">ry</a>) using <a href="#Clip">Clip</a>, +<a href="#Draw">Draw</a> <a href="undocumented#Round_Rect">Round Rect</a> bounded by <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawRoundRect_rect">rect</a>, with corner radii (<a href="#SkCanvas_drawRoundRect_rx">rx</a>, <a href="#SkCanvas_drawRoundRect_ry">ry</a>) using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawRoundRect_paint">paint</a>. In <a href="#SkCanvas_drawRoundRect_paint">paint</a>: <a href="#Style">Paint Style</a> determines if <a href="undocumented#Round_Rect">Round Rect</a> is stroked or filled; @@ -3606,7 +3694,7 @@ DrawRRect <a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawDRRec void drawPath(const SkPath& path, const SkPaint& paint) </pre> -Draw <a href="SkPath_Reference#Path">Path</a> <a href="#SkCanvas_drawPath_path">path</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawPath_paint">paint</a>. +<a href="#Draw">Draw</a> <a href="SkPath_Reference#Path">Path</a> <a href="#SkCanvas_drawPath_path">path</a> using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawPath_paint">paint</a>. <a href="SkPath_Reference#Path">Path</a> contains an array of <a href="#Contour">Path Contour</a>, each of which may be open or closed. In <a href="#SkCanvas_drawPath_paint">paint</a>: <a href="#Style">Paint Style</a> determines if <a href="undocumented#Round_Rect">Round Rect</a> is stroked or filled: @@ -3651,7 +3739,7 @@ a smart pointer as a convenience. The pairs of calls are otherwise identical. void drawImage(const SkImage* image, SkScalar left, SkScalar top, const SkPaint* paint = nullptr) </pre> -Draw <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImage_image">image</a>, with its <a href="#SkCanvas_drawImage_top">top</a>-<a href="#SkCanvas_drawImage_left">left</a> corner at (<a href="#SkCanvas_drawImage_left">left</a>, <a href="#SkCanvas_drawImage_top">top</a>), +<a href="#Draw">Draw</a> <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImage_image">image</a>, with its <a href="#SkCanvas_drawImage_top">top</a>-<a href="#SkCanvas_drawImage_left">left</a> corner at (<a href="#SkCanvas_drawImage_left">left</a>, <a href="#SkCanvas_drawImage_top">top</a>), using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawImage_paint">paint</a>. If <a href="#SkCanvas_drawImage_paint">paint</a> is supplied, apply <a href="undocumented#Color_Filter">Color Filter</a>, <a href="#Alpha">Color Alpha</a>, <a href="undocumented#Image_Filter">Image Filter</a>, <a href="undocumented#Blend_Mode">Blend Mode</a>, @@ -3692,7 +3780,7 @@ void drawImage(const sk_sp<SkImage>& image, SkScalar left, SkScalar top, const SkPaint* paint = nullptr) </pre> -Draw <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImage_2_image">image</a>, with its <a href="#SkCanvas_drawImage_2_top">top</a>-<a href="#SkCanvas_drawImage_2_left">left</a> corner at (<a href="#SkCanvas_drawImage_2_left">left</a>, <a href="#SkCanvas_drawImage_2_top">top</a>), +<a href="#Draw">Draw</a> <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImage_2_image">image</a>, with its <a href="#SkCanvas_drawImage_2_top">top</a>-<a href="#SkCanvas_drawImage_2_left">left</a> corner at (<a href="#SkCanvas_drawImage_2_left">left</a>, <a href="#SkCanvas_drawImage_2_top">top</a>), using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawImage_2_paint">paint</a>. If <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawImage_2_paint">paint</a> is supplied, apply <a href="undocumented#Color_Filter">Color Filter</a>, <a href="#Alpha">Color Alpha</a>, <a href="undocumented#Image_Filter">Image Filter</a>, @@ -3777,7 +3865,7 @@ void drawImageRect(const SkImage* image, const SkRect& src, const SkRect& dst, c SrcRectConstraint constraint = kStrict_SrcRectConstraint) </pre> -Draw <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_src">src</a> of <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageRect_image">image</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_dst">dst</a>. +<a href="#Draw">Draw</a> <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_src">src</a> of <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageRect_image">image</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_dst">dst</a>. Additionally transform draw using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawImageRect_paint">paint</a>. If <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawImageRect_paint">paint</a> is supplied, apply <a href="undocumented#Color_Filter">Color Filter</a>, <a href="#Alpha">Color Alpha</a>, <a href="undocumented#Image_Filter">Image Filter</a>, @@ -3829,7 +3917,7 @@ void drawImageRect(const SkImage* image, const SkIRect& isrc, const SkRect& dst, SrcRectConstraint constraint = kStrict_SrcRectConstraint) </pre> -Draw <a href="SkIRect_Reference#IRect">IRect</a> <a href="#SkCanvas_drawImageRect_2_isrc">isrc</a> of <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageRect_2_image">image</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_2_dst">dst</a>. +<a href="#Draw">Draw</a> <a href="SkIRect_Reference#IRect">IRect</a> <a href="#SkCanvas_drawImageRect_2_isrc">isrc</a> of <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageRect_2_image">image</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_2_dst">dst</a>. Note that <a href="#SkCanvas_drawImageRect_2_isrc">isrc</a> is on integer pixel boundaries; <a href="#SkCanvas_drawImageRect_2_dst">dst</a> may include fractional boundaries. Additionally transform draw using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawImageRect_2_paint">paint</a>. @@ -3879,7 +3967,7 @@ void drawImageRect(const SkImage* image, const SkRect& dst, const SkPaint* paint SrcRectConstraint constraint = kStrict_SrcRectConstraint) </pre> -Draw <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageRect_3_image">image</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_3_dst">dst</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, +<a href="#Draw">Draw</a> <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageRect_3_image">image</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_3_dst">dst</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawImageRect_3_paint">paint</a>. If <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawImageRect_3_paint">paint</a> is supplied, apply <a href="undocumented#Color_Filter">Color Filter</a>, <a href="#Alpha">Color Alpha</a>, <a href="undocumented#Image_Filter">Image Filter</a>, @@ -3925,7 +4013,7 @@ void drawImageRect(const sk_sp<SkImage>& image, const SkRect& src, const S const SkPaint* paint, SrcRectConstraint constraint = kStrict_SrcRectConstraint) </pre> -Draw <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_4_src">src</a> of <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageRect_4_image">image</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_4_dst">dst</a>. +<a href="#Draw">Draw</a> <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_4_src">src</a> of <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageRect_4_image">image</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_4_dst">dst</a>. Additionally transform draw using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawImageRect_4_paint">paint</a>. If <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawImageRect_4_paint">paint</a> is supplied, apply <a href="undocumented#Color_Filter">Color Filter</a>, <a href="#Alpha">Color Alpha</a>, <a href="undocumented#Image_Filter">Image Filter</a>, @@ -3974,7 +4062,7 @@ void drawImageRect(const sk_sp<SkImage>& image, const SkIRect& isrc, const const SkPaint* paint, SrcRectConstraint constraint = kStrict_SrcRectConstraint) </pre> -Draw <a href="SkIRect_Reference#IRect">IRect</a> <a href="#SkCanvas_drawImageRect_5_isrc">isrc</a> of <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageRect_5_image">image</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_5_dst">dst</a>. +<a href="#Draw">Draw</a> <a href="SkIRect_Reference#IRect">IRect</a> <a href="#SkCanvas_drawImageRect_5_isrc">isrc</a> of <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageRect_5_image">image</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_5_dst">dst</a>. <a href="#SkCanvas_drawImageRect_5_isrc">isrc</a> is on integer pixel boundaries; <a href="#SkCanvas_drawImageRect_5_dst">dst</a> may include fractional boundaries. Additionally transform draw using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawImageRect_5_paint">paint</a>. @@ -4023,7 +4111,7 @@ void drawImageRect(const sk_sp<SkImage>& image, const SkRect& dst, const S SrcRectConstraint constraint = kStrict_SrcRectConstraint) </pre> -Draw <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageRect_6_image">image</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_6_dst">dst</a>, +<a href="#Draw">Draw</a> <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageRect_6_image">image</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageRect_6_dst">dst</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawImageRect_6_paint">paint</a>. If <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawImageRect_6_paint">paint</a> is supplied, apply <a href="undocumented#Color_Filter">Color Filter</a>, <a href="#Alpha">Color Alpha</a>, <a href="undocumented#Image_Filter">Image Filter</a>, @@ -4070,7 +4158,7 @@ void drawImageNine(const SkImage* image, const SkIRect& center, const SkRect& ds const SkPaint* paint = nullptr) </pre> -Draw <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageNine_image">image</a> stretched proportionally to fit into <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageNine_dst">dst</a>. +<a href="#Draw">Draw</a> <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageNine_image">image</a> stretched proportionally to fit into <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageNine_dst">dst</a>. <a href="SkIRect_Reference#IRect">IRect</a> <a href="#SkCanvas_drawImageNine_center">center</a> divides the <a href="#SkCanvas_drawImageNine_image">image</a> into nine sections: four sides, four corners, and the <a href="#SkCanvas_drawImageNine_center">center</a>. Corners are unmodified or scaled down proportionately if their sides are larger than <a href="#SkCanvas_drawImageNine_dst">dst</a>; <a href="#SkCanvas_drawImageNine_center">center</a> and four sides are scaled to fit remaining space, if any. @@ -4119,7 +4207,7 @@ void drawImageNine(const sk_sp<SkImage>& image, const SkIRect& center, con const SkPaint* paint = nullptr) </pre> -Draw <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageNine_2_image">image</a> stretched proportionally to fit into <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageNine_2_dst">dst</a>. +<a href="#Draw">Draw</a> <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageNine_2_image">image</a> stretched proportionally to fit into <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageNine_2_dst">dst</a>. <a href="SkIRect_Reference#IRect">IRect</a> <a href="#SkCanvas_drawImageNine_2_center">center</a> divides the <a href="#SkCanvas_drawImageNine_2_image">image</a> into nine sections: four sides, four corners, and the <a href="#SkCanvas_drawImageNine_2_center">center</a>. Corners are not scaled, or scaled down proportionately if their sides are larger than <a href="#SkCanvas_drawImageNine_2_dst">dst</a>; <a href="#SkCanvas_drawImageNine_2_center">center</a> and four sides are scaled to fit remaining space, if any. @@ -4170,7 +4258,7 @@ and below <a href="#SkCanvas_drawImageNine_2_center">center</a> to fill the rema void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top, const SkPaint* paint = nullptr) </pre> -Draw <a href="SkBitmap_Reference#Bitmap">Bitmap</a> <a href="#SkCanvas_drawBitmap_bitmap">bitmap</a>, with its <a href="#SkCanvas_drawBitmap_top">top</a>-<a href="#SkCanvas_drawBitmap_left">left</a> corner at (<a href="#SkCanvas_drawBitmap_left">left</a>, <a href="#SkCanvas_drawBitmap_top">top</a>), +<a href="#Draw">Draw</a> <a href="SkBitmap_Reference#Bitmap">Bitmap</a> <a href="#SkCanvas_drawBitmap_bitmap">bitmap</a>, with its <a href="#SkCanvas_drawBitmap_top">top</a>-<a href="#SkCanvas_drawBitmap_left">left</a> corner at (<a href="#SkCanvas_drawBitmap_left">left</a>, <a href="#SkCanvas_drawBitmap_top">top</a>), using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawBitmap_paint">paint</a>. If <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawBitmap_paint">paint</a> is not nullptr, apply <a href="undocumented#Color_Filter">Color Filter</a>, <a href="#Alpha">Color Alpha</a>, <a href="undocumented#Image_Filter">Image Filter</a>, @@ -4214,7 +4302,7 @@ void drawBitmapRect(const SkBitmap& bitmap, const SkRect& src, const SkRect& dst const SkPaint* paint, SrcRectConstraint constraint = kStrict_SrcRectConstraint) </pre> -Draw <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawBitmapRect_src">src</a> of <a href="SkBitmap_Reference#Bitmap">Bitmap</a> <a href="#SkCanvas_drawBitmapRect_bitmap">bitmap</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawBitmapRect_dst">dst</a>. +<a href="#Draw">Draw</a> <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawBitmapRect_src">src</a> of <a href="SkBitmap_Reference#Bitmap">Bitmap</a> <a href="#SkCanvas_drawBitmapRect_bitmap">bitmap</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawBitmapRect_dst">dst</a>. Additionally transform draw using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawBitmapRect_paint">paint</a>. If <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawBitmapRect_paint">paint</a> is supplied, apply <a href="undocumented#Color_Filter">Color Filter</a>, <a href="#Alpha">Color Alpha</a>, <a href="undocumented#Image_Filter">Image Filter</a>, @@ -4263,7 +4351,7 @@ void drawBitmapRect(const SkBitmap& bitmap, const SkIRect& isrc, const SkRect& d const SkPaint* paint, SrcRectConstraint constraint = kStrict_SrcRectConstraint) </pre> -Draw <a href="SkIRect_Reference#IRect">IRect</a> <a href="#SkCanvas_drawBitmapRect_2_isrc">isrc</a> of <a href="SkBitmap_Reference#Bitmap">Bitmap</a> <a href="#SkCanvas_drawBitmapRect_2_bitmap">bitmap</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawBitmapRect_2_dst">dst</a>. +<a href="#Draw">Draw</a> <a href="SkIRect_Reference#IRect">IRect</a> <a href="#SkCanvas_drawBitmapRect_2_isrc">isrc</a> of <a href="SkBitmap_Reference#Bitmap">Bitmap</a> <a href="#SkCanvas_drawBitmapRect_2_bitmap">bitmap</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawBitmapRect_2_dst">dst</a>. <a href="#SkCanvas_drawBitmapRect_2_isrc">isrc</a> is on integer pixel boundaries; <a href="#SkCanvas_drawBitmapRect_2_dst">dst</a> may include fractional boundaries. Additionally transform draw using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawBitmapRect_2_paint">paint</a>. @@ -4313,7 +4401,7 @@ void drawBitmapRect(const SkBitmap& bitmap, const SkRect& dst, const SkPaint* pa SrcRectConstraint constraint = kStrict_SrcRectConstraint) </pre> -Draw <a href="SkBitmap_Reference#Bitmap">Bitmap</a> <a href="#SkCanvas_drawBitmapRect_3_bitmap">bitmap</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawBitmapRect_3_dst">dst</a>. +<a href="#Draw">Draw</a> <a href="SkBitmap_Reference#Bitmap">Bitmap</a> <a href="#SkCanvas_drawBitmapRect_3_bitmap">bitmap</a>, scaled and translated to fill <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawBitmapRect_3_dst">dst</a>. <a href="#SkCanvas_drawBitmapRect_3_bitmap">bitmap</a> bounds is on integer pixel boundaries; <a href="#SkCanvas_drawBitmapRect_3_dst">dst</a> may include fractional boundaries. Additionally transform draw using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawBitmapRect_3_paint">paint</a>. @@ -4362,7 +4450,7 @@ void drawBitmapNine(const SkBitmap& bitmap, const SkIRect& center, const SkRect& const SkPaint* paint = nullptr) </pre> -Draw <a href="SkBitmap_Reference#Bitmap">Bitmap</a> <a href="#SkCanvas_drawBitmapNine_bitmap">bitmap</a> stretched proportionally to fit into <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawBitmapNine_dst">dst</a>. +<a href="#Draw">Draw</a> <a href="SkBitmap_Reference#Bitmap">Bitmap</a> <a href="#SkCanvas_drawBitmapNine_bitmap">bitmap</a> stretched proportionally to fit into <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawBitmapNine_dst">dst</a>. <a href="SkIRect_Reference#IRect">IRect</a> <a href="#SkCanvas_drawBitmapNine_center">center</a> divides the <a href="#SkCanvas_drawBitmapNine_bitmap">bitmap</a> into nine sections: four sides, four corners, and the <a href="#SkCanvas_drawBitmapNine_center">center</a>. Corners are not scaled, or scaled down proportionately if their sides are larger than <a href="#SkCanvas_drawBitmapNine_dst">dst</a>; <a href="#SkCanvas_drawBitmapNine_center">center</a> and four sides are scaled to fit remaining @@ -4515,7 +4603,7 @@ void drawBitmapLattice(const SkBitmap& bitmap, const Lattice& lattice, const SkR const SkPaint* paint = nullptr) </pre> -Draw <a href="SkBitmap_Reference#Bitmap">Bitmap</a> <a href="#SkCanvas_drawBitmapLattice_bitmap">bitmap</a> stretched proportionally to fit into <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawBitmapLattice_dst">dst</a>. +<a href="#Draw">Draw</a> <a href="SkBitmap_Reference#Bitmap">Bitmap</a> <a href="#SkCanvas_drawBitmapLattice_bitmap">bitmap</a> stretched proportionally to fit into <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawBitmapLattice_dst">dst</a>. <a href="#SkCanvas_Lattice">Lattice</a> <a href="#SkCanvas_drawBitmapLattice_lattice">lattice</a> divides <a href="#SkCanvas_drawBitmapLattice_bitmap">bitmap</a> into a rectangular grid. Each intersection of an even-numbered row and column is fixed; like the corners @@ -4571,7 +4659,7 @@ void drawImageLattice(const SkImage* image, const Lattice& lattice, const SkRect const SkPaint* paint = nullptr) </pre> -Draw <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageLattice_image">image</a> stretched proportionally to fit into <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageLattice_dst">dst</a>. +<a href="#Draw">Draw</a> <a href="SkImage_Reference#Image">Image</a> <a href="#SkCanvas_drawImageLattice_image">image</a> stretched proportionally to fit into <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawImageLattice_dst">dst</a>. <a href="#SkCanvas_Lattice">Lattice</a> <a href="#SkCanvas_drawImageLattice_lattice">lattice</a> divides <a href="#SkCanvas_drawImageLattice_image">image</a> into a rectangular grid. Each intersection of an even-numbered row and column is fixed; like the corners @@ -4617,6 +4705,23 @@ are scaled if needed to take up the remaining space; the center is transparent.< --- +## <a name="Draw_Text"></a> Draw Text + +| name | description | +| --- | --- | +| <a href="#SkCanvas_drawPosText">drawPosText</a> | draws text at array of (x, y) positions | +| <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> | draws text at x positions with common baseline | +| <a href="#SkCanvas_drawString">drawString</a> | draws null terminated string at (x, y) using font advance | +| | <a href="#SkCanvas_drawString">drawString(const char* string, SkScalar x, SkScalar y, const SkPaint& paint)</a> | +| | <a href="#SkCanvas_drawString_2">drawString(const SkString& string, SkScalar x, SkScalar y, const SkPaint& paint)</a> | +| <a href="#SkCanvas_drawText">drawText</a> | draws text at (x, y), using font advance | +| <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> | draws text with arrays of positions and <a href="SkPaint_Reference#Paint">Paint</a> | +| | <a href="#SkCanvas_drawTextBlob">drawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y, const SkPaint& paint)</a> | +| | <a href="#SkCanvas_drawTextBlob_2">drawTextBlob(const sk sp<SkTextBlob>& blob, SkScalar x, SkScalar y, const SkPaint& paint)</a> | +| <a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> | draws text following <a href="SkPath_Reference#Path">Path</a> contour | +| <a href="#SkCanvas_drawTextOnPathHV">drawTextOnPathHV</a> | draws text following <a href="SkPath_Reference#Path">Path</a> with offsets | +| <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> | draws text with array of <a href="undocumented#RSXform">RSXform</a> | + <a name="SkCanvas_drawText"></a> ## drawText @@ -4624,7 +4729,7 @@ are scaled if needed to take up the remaining space; the center is transparent.< void drawText(const void* text, size_t byteLength, SkScalar x, SkScalar y, const SkPaint& paint) </pre> -Draw <a href="#SkCanvas_drawText_text">text</a>, with origin at (<a href="#SkCanvas_drawText_x">x</a>, <a href="#SkCanvas_drawText_y">y</a>), using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawText_paint">paint</a>. +<a href="#Draw">Draw</a> <a href="#SkCanvas_drawText_text">text</a>, with origin at (<a href="#SkCanvas_drawText_x">x</a>, <a href="#SkCanvas_drawText_y">y</a>), using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawText_paint">paint</a>. <a href="#SkCanvas_drawText_text">text</a> meaning depends on <a href="#Text_Encoding">Paint Text Encoding</a>; by default, <a href="#SkCanvas_drawText_text">text</a> is encoded as UTF-8. @@ -4670,7 +4775,7 @@ start of <a href="#SkCanvas_drawText_text">text</a> on <a href="#SkCanvas_drawTe void drawString(const char* string, SkScalar x, SkScalar y, const SkPaint& paint) </pre> -Draw null terminated <a href="#SkCanvas_drawString_string">string</a>, with origin at (<a href="#SkCanvas_drawString_x">x</a>, <a href="#SkCanvas_drawString_y">y</a>), using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and +<a href="#Draw">Draw</a> null terminated <a href="#SkCanvas_drawString_string">string</a>, with origin at (<a href="#SkCanvas_drawString_x">x</a>, <a href="#SkCanvas_drawString_y">y</a>), using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawString_paint">paint</a>. <a href="#SkCanvas_drawString_string">string</a> meaning depends on <a href="#Text_Encoding">Paint Text Encoding</a>; by default, strings are encoded @@ -4715,7 +4820,7 @@ text size, blend, color, and so on, used to draw</td> void drawString(const SkString& string, SkScalar x, SkScalar y, const SkPaint& paint) </pre> -Draw null terminated <a href="#SkCanvas_drawString_2_string">string</a>, with origin at (<a href="#SkCanvas_drawString_2_x">x</a>, <a href="#SkCanvas_drawString_2_y">y</a>), using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and +<a href="#Draw">Draw</a> null terminated <a href="#SkCanvas_drawString_2_string">string</a>, with origin at (<a href="#SkCanvas_drawString_2_x">x</a>, <a href="#SkCanvas_drawString_2_y">y</a>), using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawString_2_paint">paint</a>. <a href="#SkCanvas_drawString_2_string">string</a> meaning depends on <a href="#Text_Encoding">Paint Text Encoding</a>; by default, strings are encoded @@ -4761,7 +4866,7 @@ text size, blend, color, and so on, used to draw</td> void drawPosText(const void* text, size_t byteLength, const SkPoint pos[], const SkPaint& paint) </pre> -Draw each glyph in <a href="#SkCanvas_drawPosText_text">text</a> with the origin in <a href="#SkCanvas_drawPosText_pos">pos</a> array, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and +<a href="#Draw">Draw</a> each glyph in <a href="#SkCanvas_drawPosText_text">text</a> with the origin in <a href="#SkCanvas_drawPosText_pos">pos</a> array, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawPosText_paint">paint</a>. The number of entries in <a href="#SkCanvas_drawPosText_pos">pos</a> array must match the number of <a href="#Glyph">Glyphs</a> described by <a href="#SkCanvas_drawPosText_byteLength">byteLength</a> of <a href="#SkCanvas_drawPosText_text">text</a>. @@ -4809,7 +4914,7 @@ void drawPosTextH(const void* text, size_t byteLength, const SkScalar xpos[], Sk const SkPaint& paint) </pre> -Draw each glyph in <a href="#SkCanvas_drawPosTextH_text">text</a> with its (x, y) origin composed from <a href="#SkCanvas_drawPosTextH_xpos">xpos</a> array and +<a href="#Draw">Draw</a> each glyph in <a href="#SkCanvas_drawPosTextH_text">text</a> with its (x, y) origin composed from <a href="#SkCanvas_drawPosTextH_xpos">xpos</a> array and <a href="#SkCanvas_drawPosTextH_constY">constY</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawPosTextH_paint">paint</a>. The number of entries in <a href="#SkCanvas_drawPosTextH_xpos">xpos</a> array must match the number of <a href="#Glyph">Glyphs</a> described by <a href="#SkCanvas_drawPosTextH_byteLength">byteLength</a> of <a href="#SkCanvas_drawPosTextH_text">text</a>. @@ -4860,7 +4965,7 @@ void drawTextOnPathHV(const void* text, size_t byteLength, const SkPath& path, S SkScalar vOffset, const SkPaint& paint) </pre> -Draw <a href="#SkCanvas_drawTextOnPathHV_text">text</a> on <a href="SkPath_Reference#Path">Path</a> <a href="#SkCanvas_drawTextOnPathHV_path">path</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawTextOnPathHV_paint">paint</a>. +<a href="#Draw">Draw</a> <a href="#SkCanvas_drawTextOnPathHV_text">text</a> on <a href="SkPath_Reference#Path">Path</a> <a href="#SkCanvas_drawTextOnPathHV_path">path</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawTextOnPathHV_paint">paint</a>. Origin of <a href="#SkCanvas_drawTextOnPathHV_text">text</a> is at distance <a href="#SkCanvas_drawTextOnPathHV_hOffset">hOffset</a> along the <a href="#SkCanvas_drawTextOnPathHV_path">path</a>, offset by a perpendicular vector of length <a href="#SkCanvas_drawTextOnPathHV_vOffset">vOffset</a>. If the <a href="#SkCanvas_drawTextOnPathHV_path">path</a> section corresponding the glyph advance is @@ -4912,7 +5017,7 @@ void drawTextOnPath(const void* text, size_t byteLength, const SkPath& path, con const SkPaint& paint) </pre> -Draw <a href="#SkCanvas_drawTextOnPath_text">text</a> on <a href="SkPath_Reference#Path">Path</a> <a href="#SkCanvas_drawTextOnPath_path">path</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawTextOnPath_paint">paint</a>. +<a href="#Draw">Draw</a> <a href="#SkCanvas_drawTextOnPath_text">text</a> on <a href="SkPath_Reference#Path">Path</a> <a href="#SkCanvas_drawTextOnPath_path">path</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawTextOnPath_paint">paint</a>. Origin of <a href="#SkCanvas_drawTextOnPath_text">text</a> is at beginning of <a href="#SkCanvas_drawTextOnPath_path">path</a> offset by <a href="#SkCanvas_drawTextOnPath_matrix">matrix</a>, if provided, before it is mapped to <a href="#SkCanvas_drawTextOnPath_path">path</a>. If the <a href="#SkCanvas_drawTextOnPath_path">path</a> section corresponding the glyph advance is @@ -4963,7 +5068,7 @@ void drawTextRSXform(const void* text, size_t byteLength, const SkRSXform xform[ const SkRect* cullRect, const SkPaint& paint) </pre> -Draw <a href="#SkCanvas_drawTextRSXform_text">text</a>, transforming each glyph by the corresponding <a href="undocumented#SkRSXform">SkRSXform</a>, +<a href="#Draw">Draw</a> <a href="#SkCanvas_drawTextRSXform_text">text</a>, transforming each glyph by the corresponding <a href="undocumented#SkRSXform">SkRSXform</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawTextRSXform_paint">paint</a>. <a href="undocumented#RSXform">RSXform</a> array specifies a separate square scale, rotation, and translation for @@ -5008,7 +5113,7 @@ byte length of <a href="#SkCanvas_drawTextRSXform_text">text</a> array</td> void drawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y, const SkPaint& paint) </pre> -Draw <a href="undocumented#Text_Blob">Text Blob</a> <a href="#SkCanvas_drawTextBlob_blob">blob</a> at (<a href="#SkCanvas_drawTextBlob_x">x</a>, <a href="#SkCanvas_drawTextBlob_y">y</a>), using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawTextBlob_paint">paint</a>. +<a href="#Draw">Draw</a> <a href="undocumented#Text_Blob">Text Blob</a> <a href="#SkCanvas_drawTextBlob_blob">blob</a> at (<a href="#SkCanvas_drawTextBlob_x">x</a>, <a href="#SkCanvas_drawTextBlob_y">y</a>), using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawTextBlob_paint">paint</a>. <a href="#SkCanvas_drawTextBlob_blob">blob</a> contains <a href="#Glyph">Glyphs</a>, their positions, and <a href="#SkCanvas_drawTextBlob_paint">paint</a> attributes specific to text: <a href="undocumented#Typeface">Typeface</a>, <a href="#Text_Size">Paint Text Size</a>, <a href="#Text_Scale_X">Paint Text Scale X</a>, <a href="#Text_Skew_X">Paint Text Skew X</a>, @@ -5050,7 +5155,7 @@ blend, color, stroking, and so on, used to draw</td> void drawTextBlob(const sk_sp<SkTextBlob>& blob, SkScalar x, SkScalar y, const SkPaint& paint) </pre> -Draw <a href="undocumented#Text_Blob">Text Blob</a> <a href="#SkCanvas_drawTextBlob_2_blob">blob</a> at (<a href="#SkCanvas_drawTextBlob_2_x">x</a>, <a href="#SkCanvas_drawTextBlob_2_y">y</a>), using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawTextBlob_2_paint">paint</a>. +<a href="#Draw">Draw</a> <a href="undocumented#Text_Blob">Text Blob</a> <a href="#SkCanvas_drawTextBlob_2_blob">blob</a> at (<a href="#SkCanvas_drawTextBlob_2_x">x</a>, <a href="#SkCanvas_drawTextBlob_2_y">y</a>), using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawTextBlob_2_paint">paint</a>. <a href="#SkCanvas_drawTextBlob_2_blob">blob</a> contains <a href="#Glyph">Glyphs</a>, their positions, and <a href="#SkCanvas_drawTextBlob_2_paint">paint</a> attributes specific to text: <a href="undocumented#Typeface">Typeface</a>, <a href="#Text_Size">Paint Text Size</a>, <a href="#Text_Scale_X">Paint Text Scale X</a>, <a href="#Text_Skew_X">Paint Text Skew X</a>, @@ -5094,7 +5199,7 @@ blend, color, stroking, and so on, used to draw</td> void drawPicture(const SkPicture* picture) </pre> -Draw <a href="undocumented#Picture">Picture</a> <a href="#SkCanvas_drawPicture_picture">picture</a>, using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>. +<a href="#Draw">Draw</a> <a href="undocumented#Picture">Picture</a> <a href="#SkCanvas_drawPicture_picture">picture</a>, using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>. <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a> are unchanged by <a href="#SkCanvas_drawPicture_picture">picture</a> contents, as if <a href="#SkCanvas_save">save</a> was called before and <a href="#SkCanvas_restore">restore</a> was called after <a href="#SkCanvas_drawPicture">drawPicture</a>. @@ -5123,7 +5228,7 @@ recorded drawing commands to play</td> void drawPicture(const sk_sp<SkPicture>& picture) </pre> -Draw <a href="undocumented#Picture">Picture</a> <a href="#SkCanvas_drawPicture_2_picture">picture</a>, using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>. +<a href="#Draw">Draw</a> <a href="undocumented#Picture">Picture</a> <a href="#SkCanvas_drawPicture_2_picture">picture</a>, using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>. <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a> are unchanged by <a href="#SkCanvas_drawPicture_2_picture">picture</a> contents, as if <a href="#SkCanvas_save">save</a> was called before and <a href="#SkCanvas_restore">restore</a> was called after <a href="#SkCanvas_drawPicture">drawPicture</a>. @@ -5152,7 +5257,7 @@ recorded drawing commands to play</td> void drawPicture(const SkPicture* picture, const SkMatrix* matrix, const SkPaint* paint) </pre> -Draw <a href="undocumented#Picture">Picture</a> <a href="#SkCanvas_drawPicture_3_picture">picture</a>, using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>; transforming <a href="#SkCanvas_drawPicture_3_picture">picture</a> with +<a href="#Draw">Draw</a> <a href="undocumented#Picture">Picture</a> <a href="#SkCanvas_drawPicture_3_picture">picture</a>, using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>; transforming <a href="#SkCanvas_drawPicture_3_picture">picture</a> with <a href="#Matrix">Matrix</a> <a href="#SkCanvas_drawPicture_3_matrix">matrix</a>, if provided; and use <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawPicture_3_paint">paint</a> <a href="#Alpha">Color Alpha</a>, <a href="undocumented#Color_Filter">Color Filter</a>, <a href="undocumented#Image_Filter">Image Filter</a>, and <a href="undocumented#Blend_Mode">Blend Mode</a>, if provided. @@ -5186,7 +5291,7 @@ recorded drawing commands to play</td> void drawPicture(const sk_sp<SkPicture>& picture, const SkMatrix* matrix, const SkPaint* paint) </pre> -Draw <a href="undocumented#Picture">Picture</a> <a href="#SkCanvas_drawPicture_4_picture">picture</a>, using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>; transforming <a href="#SkCanvas_drawPicture_4_picture">picture</a> with +<a href="#Draw">Draw</a> <a href="undocumented#Picture">Picture</a> <a href="#SkCanvas_drawPicture_4_picture">picture</a>, using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>; transforming <a href="#SkCanvas_drawPicture_4_picture">picture</a> with <a href="#Matrix">Matrix</a> <a href="#SkCanvas_drawPicture_4_matrix">matrix</a>, if provided; and use <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawPicture_4_paint">paint</a> <a href="#Alpha">Color Alpha</a>, <a href="undocumented#Color_Filter">Color Filter</a>, <a href="undocumented#Image_Filter">Image Filter</a>, and <a href="undocumented#Blend_Mode">Blend Mode</a>, if provided. @@ -5221,7 +5326,7 @@ recorded drawing commands to play</td> void drawVertices(const SkVertices* vertices, SkBlendMode mode, const SkPaint& paint) </pre> -Draw <a href="undocumented#Vertices">Vertices</a> <a href="#SkCanvas_drawVertices_vertices">vertices</a>, a triangle mesh, using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>. +<a href="#Draw">Draw</a> <a href="undocumented#Vertices">Vertices</a> <a href="#SkCanvas_drawVertices_vertices">vertices</a>, a triangle mesh, using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>. If <a href="#Texs">Vertices Texs</a> and <a href="#Colors">Vertices Colors</a> are defined in <a href="#SkCanvas_drawVertices_vertices">vertices</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawVertices_paint">paint</a> contains <a href="undocumented#Shader">Shader</a>, <a href="undocumented#Blend_Mode">Blend Mode</a> <a href="#SkCanvas_drawVertices_mode">mode</a> combines <a href="#Colors">Vertices Colors</a> with <a href="undocumented#Shader">Shader</a>. @@ -5252,7 +5357,7 @@ specifies the <a href="undocumented#Shader">Shader</a>, used as <a href="undocum void drawVertices(const sk_sp<SkVertices>& vertices, SkBlendMode mode, const SkPaint& paint) </pre> -Draw <a href="undocumented#Vertices">Vertices</a> <a href="#SkCanvas_drawVertices_2_vertices">vertices</a>, a triangle mesh, using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>. +<a href="#Draw">Draw</a> <a href="undocumented#Vertices">Vertices</a> <a href="#SkCanvas_drawVertices_2_vertices">vertices</a>, a triangle mesh, using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>. If <a href="#Texs">Vertices Texs</a> and <a href="#Colors">Vertices Colors</a> are defined in <a href="#SkCanvas_drawVertices_2_vertices">vertices</a>, and <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawVertices_2_paint">paint</a> contains <a href="undocumented#Shader">Shader</a>, <a href="undocumented#Blend_Mode">Blend Mode</a> <a href="#SkCanvas_drawVertices_2_mode">mode</a> combines <a href="#Colors">Vertices Colors</a> with <a href="undocumented#Shader">Shader</a>. @@ -5393,7 +5498,7 @@ void drawAtlas(const SkImage* atlas, const SkRSXform xform[], const SkRect tex[] const SkPaint* paint) </pre> -Draw a set of sprites from <a href="#SkCanvas_drawAtlas_atlas">atlas</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawAtlas_paint">paint</a>. +<a href="#Draw">Draw</a> a set of sprites from <a href="#SkCanvas_drawAtlas_atlas">atlas</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawAtlas_paint">paint</a>. <a href="#SkCanvas_drawAtlas_paint">paint</a> uses Anti-alias, <a href="#Alpha">Color Alpha</a>, <a href="undocumented#Color_Filter">Color Filter</a>, <a href="undocumented#Image_Filter">Image Filter</a>, and <a href="undocumented#Blend_Mode">Blend Mode</a> to draw, if present. For each entry in the array, <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawAtlas_tex">tex</a> locates sprite in <a href="#SkCanvas_drawAtlas_atlas">atlas</a>, and <a href="undocumented#RSXform">RSXform</a> <a href="#SkCanvas_drawAtlas_xform">xform</a> transforms it into destination space. @@ -5442,7 +5547,7 @@ void drawAtlas(const sk_sp<SkImage>& atlas, const SkRSXform xform[], const const SkPaint* paint) </pre> -Draw a set of sprites from <a href="#SkCanvas_drawAtlas_2_atlas">atlas</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawAtlas_2_paint">paint</a>. +<a href="#Draw">Draw</a> a set of sprites from <a href="#SkCanvas_drawAtlas_2_atlas">atlas</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawAtlas_2_paint">paint</a>. <a href="#SkCanvas_drawAtlas_2_paint">paint</a> uses Anti-alias, <a href="#Alpha">Color Alpha</a>, <a href="undocumented#Color_Filter">Color Filter</a>, <a href="undocumented#Image_Filter">Image Filter</a>, and <a href="undocumented#Blend_Mode">Blend Mode</a> to draw, if present. For each entry in the array, <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawAtlas_2_tex">tex</a> locates sprite in <a href="#SkCanvas_drawAtlas_2_atlas">atlas</a>, and <a href="undocumented#RSXform">RSXform</a> <a href="#SkCanvas_drawAtlas_2_xform">xform</a> transforms it into destination space. @@ -5490,7 +5595,7 @@ void drawAtlas(const SkImage* atlas, const SkRSXform xform[], const SkRect tex[] const SkRect* cullRect, const SkPaint* paint) </pre> -Draw a set of sprites from <a href="#SkCanvas_drawAtlas_3_atlas">atlas</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawAtlas_3_paint">paint</a>. +<a href="#Draw">Draw</a> a set of sprites from <a href="#SkCanvas_drawAtlas_3_atlas">atlas</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawAtlas_3_paint">paint</a>. <a href="#SkCanvas_drawAtlas_3_paint">paint</a> uses Anti-alias, <a href="#Alpha">Color Alpha</a>, <a href="undocumented#Color_Filter">Color Filter</a>, <a href="undocumented#Image_Filter">Image Filter</a>, and <a href="undocumented#Blend_Mode">Blend Mode</a> to draw, if present. For each entry in the array, <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawAtlas_3_tex">tex</a> locates sprite in <a href="#SkCanvas_drawAtlas_3_atlas">atlas</a>, and <a href="undocumented#RSXform">RSXform</a> <a href="#SkCanvas_drawAtlas_3_xform">xform</a> transforms it into destination space. @@ -5533,7 +5638,7 @@ void drawAtlas(const sk_sp<SkImage>& atlas, const SkRSXform xform[], const const SkRect* cullRect, const SkPaint* paint) </pre> -Draw a set of sprites from <a href="#SkCanvas_drawAtlas_4_atlas">atlas</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawAtlas_4_paint">paint</a>. +<a href="#Draw">Draw</a> a set of sprites from <a href="#SkCanvas_drawAtlas_4_atlas">atlas</a>, using <a href="#Clip">Clip</a>, <a href="#Matrix">Matrix</a>, and optional <a href="SkPaint_Reference#Paint">Paint</a> <a href="#SkCanvas_drawAtlas_4_paint">paint</a>. <a href="#SkCanvas_drawAtlas_4_paint">paint</a> uses Anti-alias, <a href="#Alpha">Color Alpha</a>, <a href="undocumented#Color_Filter">Color Filter</a>, <a href="undocumented#Image_Filter">Image Filter</a>, and <a href="undocumented#Blend_Mode">Blend Mode</a> to draw, if present. For each entry in the array, <a href="SkRect_Reference#Rect">Rect</a> <a href="#SkCanvas_drawAtlas_4_tex">tex</a> locates sprite in <a href="#SkCanvas_drawAtlas_4_atlas">atlas</a>, and <a href="undocumented#RSXform">RSXform</a> <a href="#SkCanvas_drawAtlas_4_xform">xform</a> transforms it into destination space. @@ -5576,7 +5681,7 @@ bounds of transformed sprites for efficient clipping; may be nullptr</td> void drawDrawable(SkDrawable* drawable, const SkMatrix* matrix = nullptr) </pre> -Draw <a href="undocumented#Drawable">Drawable</a> <a href="#SkCanvas_drawDrawable_drawable">drawable</a> using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>, concatenated with +<a href="#Draw">Draw</a> <a href="undocumented#Drawable">Drawable</a> <a href="#SkCanvas_drawDrawable_drawable">drawable</a> using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>, concatenated with optional <a href="#SkCanvas_drawDrawable_matrix">matrix</a>. If <a href="#Canvas">Canvas</a> has an asynchronous implementation, as is the case @@ -5609,7 +5714,7 @@ transformation applied to drawing; may be nullptr</td> void drawDrawable(SkDrawable* drawable, SkScalar x, SkScalar y) </pre> -Draw <a href="undocumented#Drawable">Drawable</a> <a href="#SkCanvas_drawDrawable_2_drawable">drawable</a> using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>, offset by (<a href="#SkCanvas_drawDrawable_2_x">x</a>, <a href="#SkCanvas_drawDrawable_2_y">y</a>). +<a href="#Draw">Draw</a> <a href="undocumented#Drawable">Drawable</a> <a href="#SkCanvas_drawDrawable_2_drawable">drawable</a> using <a href="#Clip">Clip</a> and <a href="#Matrix">Matrix</a>, offset by (<a href="#SkCanvas_drawDrawable_2_x">x</a>, <a href="#SkCanvas_drawDrawable_2_y">y</a>). If <a href="#Canvas">Canvas</a> has an asynchronous implementation, as is the case when it is recording into <a href="undocumented#Picture">Picture</a>, then <a href="#SkCanvas_drawDrawable_2_drawable">drawable</a> will be referenced, @@ -5644,7 +5749,7 @@ offset into <a href="#Canvas">Canvas</a> writable pixels in <a href="#SkCanvas_d void drawAnnotation(const SkRect& rect, const char key[], SkData* value) </pre> -Associate <a href="SkRect_Reference#Rect">Rect</a> on <a href="#Canvas">Canvas</a> when an annotation; a <a href="#SkCanvas_drawAnnotation_key">key</a>-<a href="#SkCanvas_drawAnnotation_value">value</a> pair, where the <a href="#SkCanvas_drawAnnotation_key">key</a> is +Associate <a href="SkRect_Reference#Rect">Rect</a> on <a href="#Canvas">Canvas</a> with an annotation; a <a href="#SkCanvas_drawAnnotation_key">key</a>-<a href="#SkCanvas_drawAnnotation_value">value</a> pair, where the <a href="#SkCanvas_drawAnnotation_key">key</a> is a null-terminated utf8 string, and optional <a href="#SkCanvas_drawAnnotation_value">value</a> is stored as <a href="undocumented#Data">Data</a>. Only some canvas implementations, such as recording to <a href="undocumented#Picture">Picture</a>, or drawing to diff --git a/site/user/api/SkIPoint16_Reference.md b/site/user/api/SkIPoint16_Reference.md index 468a0b72f1..fdc2672d06 100644 --- a/site/user/api/SkIPoint16_Reference.md +++ b/site/user/api/SkIPoint16_Reference.md @@ -21,6 +21,7 @@ SkIPoint16 Reference | name | description | | --- | --- | +| <a href="#Property">Property</a> | member values | | <a href="#Set">Set</a> | replaces all values | ## <a name="Member_Function"></a> Member Function diff --git a/site/user/api/SkIPoint_Reference.md b/site/user/api/SkIPoint_Reference.md index cae7fb38ca..9d0435f604 100644 --- a/site/user/api/SkIPoint_Reference.md +++ b/site/user/api/SkIPoint_Reference.md @@ -13,6 +13,7 @@ SkIPoint Reference | <a href="#Member_Function">Member Function</a> | static functions and member methods | | <a href="#Member">Member</a> | member values | | <a href="#Operator">Operator</a> | operator overloading methods | +| <a href="#Related_Function">Related Function</a> | similar methods grouped together | # <a name="SkIPoint"></a> Struct SkIPoint <a href="#SkIPoint">SkIPoint</a> holds two 32 bit integer coordinates. @@ -21,6 +22,8 @@ SkIPoint Reference | name | description | | --- | --- | +| <a href="#Property">Property</a> | member values | +| <a href="#Set">Set</a> | replaces all values | ## <a name="Member_Function"></a> Member Function diff --git a/site/user/api/SkIRect_Reference.md b/site/user/api/SkIRect_Reference.md index 87568a29ff..64ca6b0491 100644 --- a/site/user/api/SkIRect_Reference.md +++ b/site/user/api/SkIRect_Reference.md @@ -13,6 +13,7 @@ SkIRect Reference | <a href="#Member_Function">Member Function</a> | static functions and member methods | | <a href="#Member">Member</a> | member values | | <a href="#Operator">Operator</a> | operator overloading methods | +| <a href="#Related_Function">Related Function</a> | similar methods grouped together | # <a name="SkIRect"></a> Struct SkIRect <a href="#SkIRect">SkIRect</a> holds four 32 bit integer coordinates describing the upper and @@ -25,6 +26,12 @@ its top, it is considered empty. | name | description | | --- | --- | +| <a href="#Inset_Outset_Offset">Inset Outset Offset</a> | moves sides | +| <a href="#Intersection">Intersection</a> | set to shared bounds | +| <a href="#Join">Join</a> | set to union of bounds | +| <a href="#Property">Property</a> | member values, center, validity | +| <a href="#Set">Set</a> | replaces all values | +| <a href="#Sorting">Sorting</a> | orders sides | ## <a name="Member_Function"></a> Member Function @@ -966,6 +973,15 @@ true if members fit in 16-bit word --- +## <a name="Set"></a> Set + +| name | description | +| --- | --- | +| <a href="#SkIRect_set">set</a> | sets to (left, top, right, bottom) | +| <a href="#SkIRect_setEmpty">setEmpty</a> | sets to (0, 0, 0, 0) | +| <a href="#SkIRect_setLTRB">setLTRB</a> | sets to <a href="undocumented#SkScalar">SkScalar</a> input (left, top, right, bottom) | +| <a href="#SkIRect_setXYWH">setXYWH</a> | sets to (x, y, width, height) | + <a name="SkIRect_setEmpty"></a> ## setEmpty @@ -1134,6 +1150,7 @@ rect: -10, 35, 5, 60 isEmpty: false | --- | --- | | <a href="#SkIRect_inset">inset</a> | moves the sides symmetrically about the center | | <a href="#SkIRect_offset">offset</a> | translates sides without changing width and height | +| | <a href="#SkIRect_offset">offset(int32 t dx, int32 t dy)</a> | | <a href="#SkIRect_offsetTo">offsetTo</a> | translates to (x, y) without changing width and height | | <a href="#SkIRect_outset">outset</a> | moves the sides symmetrically about the center | @@ -1491,8 +1508,11 @@ describes an area: <a href="#SkIRect_fLeft">fLeft</a> is less than <a href="#SkI | <a href="#SkIRect_Intersects">Intersects</a> | returns true if areas overlap | | <a href="#SkIRect_IntersectsNoEmptyCheck">IntersectsNoEmptyCheck</a> | returns true if areas overlap skips empty check | | <a href="#SkIRect_contains">contains</a> | returns true if points are equal or inside | +| | <a href="#SkIRect_contains">contains(int32 t x, int32 t y)</a> const | | <a href="#SkIRect_containsNoEmptyCheck">containsNoEmptyCheck</a> | returns true if points are equal or inside skips empty check | +| | <a href="#SkIRect_containsNoEmptyCheck">containsNoEmptyCheck(int32 t left, int32 t top, int32 t right, int32 t bottom)</a> const | | <a href="#SkIRect_intersect">intersect</a> | sets to shared area; returns true if not empty | +| | <a href="#SkIRect_intersect">intersect(const SkIRect& r)</a> | | <a href="#SkIRect_intersectNoEmptyCheck">intersectNoEmptyCheck</a> | sets to shared area; returns true if not empty skips empty check | | <a href="#SkIRect_quickReject">quickReject</a> | returns true if rectangles do not intersect | @@ -2088,7 +2108,8 @@ intersection | name | description | | --- | --- | | <a href="#SkIRect_join">join</a> | sets to union of bounds | -| | join | +| | <a href="#SkIRect_join">join(int32 t left, int32 t top, int32 t right, int32 t bottom)</a> | +| | <a href="#SkIRect_join_2">join(const SkIRect& r)</a> | <a name="SkIRect_join"></a> ## join diff --git a/site/user/api/SkImageInfo_Reference.md b/site/user/api/SkImageInfo_Reference.md index 0ad21b609a..4bfb26b244 100644 --- a/site/user/api/SkImageInfo_Reference.md +++ b/site/user/api/SkImageInfo_Reference.md @@ -12,6 +12,7 @@ SkImageInfo Reference | <a href="SkImageInfo_Reference#Image_Info_Constructor">Constructor</a> | functions that construct <a href="SkImageInfo_Reference#SkImageInfo">SkImageInfo</a> | | <a href="SkImageInfo_Reference#Image_Info_Member_Function">Member Function</a> | static functions and member methods | | <a href="SkImageInfo_Reference#Image_Info_Operator">Operator</a> | operator overloading methods | +| <a href="SkImageInfo_Reference#Image_Info_Related_Function">Related Function</a> | similar methods grouped together | ## <a name="Constant"></a> Constant @@ -220,13 +221,6 @@ incomplete Describes <a href="SkImage_Reference#Image">Image</a> dimensions and pixel type. Used for both source images and render-targets (surfaces). -## <a name="Operator"></a> Operator - -| name | description | -| --- | --- | -| <a href="#SkImageInfo_notequal1_operator">operator!=(const SkImageInfo& other) const</a> | incomplete | -| <a href="#SkImageInfo_equal1_operator">operator==(const SkImageInfo& other) const</a> | incomplete | - ## <a name="Member_Function"></a> Member Function | name | description | @@ -266,6 +260,13 @@ Used for both source images and render-targets (surfaces). | <a href="#SkImageInfo_validate">validate</a> | incomplete | | <a href="#SkImageInfo_width">width</a> | incomplete | +## <a name="Related_Function"></a> Related Function + +| name | description | +| --- | --- | +| <a href="SkImageInfo_Reference#Image_Info_Property">Property</a> | metrics and attributes | +| <a href="SkImageInfo_Reference#Image_Info_Utility">Utility</a> | rarely called management functions | + ## <a name="Constructor"></a> Constructor | name | description | @@ -274,15 +275,18 @@ Used for both source images and render-targets (surfaces). | <a href="#SkImageInfo_MakeA8">MakeA8</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>, <a href="SkImageInfo_Reference#SkAlphaType">kPremul SkAlphaType</a> | | <a href="#SkImageInfo_MakeN32">MakeN32</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#Color_Type">Native Color Type</a> | | <a href="#SkImageInfo_MakeN32Premul">MakeN32Premul</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#Color_Type">Native Color Type</a>, <a href="SkImageInfo_Reference#SkAlphaType">kPremul SkAlphaType</a> | -| | <a href="#SkImageInfo_MakeN32Premul">MakeN32Premul</a> | +| | <a href="#SkImageInfo_MakeN32Premul">MakeN32Premul(int width, int height, sk sp<SkColorSpace> cs = nullptr)</a> | +| | <a href="#SkImageInfo_MakeN32Premul_2">MakeN32Premul(const SkISize& size)</a> | | <a href="#SkImageInfo_MakeS32">MakeS32</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#Color_Type">Native Color Type</a>, sRGB <a href="undocumented#Color_Space">Color Space</a> | | <a href="#SkImageInfo_MakeUnknown">MakeUnknown</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#SkColorType">kUnknown SkColorType</a>, <a href="SkImageInfo_Reference#SkAlphaType">kUnknown SkAlphaType</a> | -| | <a href="#SkImageInfo_MakeUnknown">MakeUnknown</a> | +| | <a href="#SkImageInfo_MakeUnknown">MakeUnknown(int width, int height)</a> | +| | <a href="#SkImageInfo_MakeUnknown_2">MakeUnknown()</a> | | <a href="#SkImageInfo_empty_constructor">SkImageInfo()</a> | creates with zero dimensions, <a href="SkImageInfo_Reference#SkColorType">kUnknown SkColorType</a>, <a href="SkImageInfo_Reference#SkAlphaType">kUnknown SkAlphaType</a> | | <a href="#SkImageInfo_makeAlphaType">makeAlphaType</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with changed <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> | | <a href="#SkImageInfo_makeColorSpace">makeColorSpace</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with changed <a href="undocumented#Color_Space">Color Space</a> | | <a href="#SkImageInfo_makeColorType">makeColorType</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with changed <a href="SkImageInfo_Reference#Color_Type">Color Type</a> | | <a href="#SkImageInfo_makeWH">makeWH</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with changed dimensions | +| <a href="#SkImageInfo_reset">reset</a> | incomplete | <a name="SkImageInfo_empty_constructor"></a> ## SkImageInfo @@ -553,6 +557,26 @@ incomplete --- +## <a name="Property"></a> Property + +| name | description | +| --- | --- | +| <a href="#SkImageInfo_alphaType">alphaType</a> | incomplete | +| <a href="#SkImageInfo_bounds">bounds</a> | incomplete | +| <a href="#SkImageInfo_bytesPerPixel">bytesPerPixel</a> | incomplete | +| <a href="#SkImageInfo_colorSpace">colorSpace</a> | incomplete | +| <a href="#SkImageInfo_colorType">colorType</a> | incomplete | +| <a href="#SkImageInfo_dimensions">dimensions</a> | incomplete | +| <a href="#SkImageInfo_gammaCloseToSRGB">gammaCloseToSRGB</a> | incomplete | +| <a href="#SkImageInfo_height">height</a> | incomplete | +| <a href="#SkImageInfo_isEmpty">isEmpty</a> | incomplete | +| <a href="#SkImageInfo_isOpaque">isOpaque</a> | incomplete | +| <a href="#SkImageInfo_minRowBytes">minRowBytes</a> | incomplete | +| <a href="#SkImageInfo_minRowBytes64">minRowBytes64</a> | incomplete | +| <a href="#SkImageInfo_refColorSpace">refColorSpace</a> | incomplete | +| <a href="#SkImageInfo_shiftPerPixel">shiftPerPixel</a> | incomplete | +| <a href="#SkImageInfo_width">width</a> | incomplete | + <a name="SkImageInfo_width"></a> ## width @@ -1017,6 +1041,13 @@ incomplete --- +## <a name="Operator"></a> Operator + +| name | description | +| --- | --- | +| <a href="#SkImageInfo_notequal1_operator">operator!=(const SkImageInfo& other) const</a> | incomplete | +| <a href="#SkImageInfo_equal1_operator">operator==(const SkImageInfo& other) const</a> | incomplete | + <a name="SkImageInfo_equal1_operator"></a> ## operator== @@ -1257,6 +1288,19 @@ incomplete --- +## <a name="Utility"></a> Utility + +| name | description | +| --- | --- | +| <a href="#SkImageInfo_ByteSizeOverflowed">ByteSizeOverflowed</a> | incomplete | +| <a href="#SkImageInfo_computeByteSize">computeByteSize</a> | incomplete | +| <a href="#SkImageInfo_computeMinByteSize">computeMinByteSize</a> | incomplete | +| <a href="#SkImageInfo_computeOffset">computeOffset</a> | incomplete | +| <a href="#SkImageInfo_flatten">flatten</a> | incomplete | +| <a href="#SkImageInfo_unflatten">unflatten</a> | incomplete | +| <a href="#SkImageInfo_validRowBytes">validRowBytes</a> | incomplete | +| <a href="#SkImageInfo_validate">validate</a> | incomplete | + <a name="SkImageInfo_validate"></a> ## validate diff --git a/site/user/api/SkImage_Reference.md b/site/user/api/SkImage_Reference.md index a04ae955be..cedb1c24cb 100644 --- a/site/user/api/SkImage_Reference.md +++ b/site/user/api/SkImage_Reference.md @@ -55,8 +55,11 @@ drawing. | name | description | | --- | --- | | <a href="#Lazy_Image">Lazy Image</a> | deferred pixel buffer | +| <a href="#Pixels">Pixels</a> | read and write pixel values | +| <a href="#Property">Property</a> | values and attributes | | <a href="SkImage_Reference#Raster_Image">Raster Image</a> | pixels decoded in <a href="undocumented#Raster_Bitmap">Raster Bitmap</a> | | <a href="#Texture_Image">Texture Image</a> | pixels located on GPU | +| <a href="#Utility">Utility</a> | rarely called management functions | ## <a name="Class_or_Struct"></a> Class or Struct @@ -75,11 +78,13 @@ drawing. | <a href="#SkImage_MakeFromEncoded">MakeFromEncoded</a> | creates <a href="#Image">Image</a> from encoded data | | <a href="#SkImage_MakeFromGenerator">MakeFromGenerator</a> | creates <a href="#Image">Image</a> from a stream of data | | <a href="#SkImage_MakeFromNV12TexturesCopy">MakeFromNV12TexturesCopy</a> | creates <a href="#Image">Image</a> from <a href="undocumented#YUV_ColorSpace">YUV ColorSpace</a> data in two planes | -| | <a href="#SkImage_MakeFromNV12TexturesCopy">MakeFromNV12TexturesCopy</a> | +| | <a href="#SkImage_MakeFromNV12TexturesCopy">MakeFromNV12TexturesCopy(GrContext* context, SkYUVColorSpace yuvColorSpace, const GrBackendObject nv12TextureHandles[2], const SkISize nv12Sizes[2], GrSurfaceOrigin surfaceOrigin, sk sp<SkColorSpace> colorSpace = nullptr)</a> | +| | <a href="#SkImage_MakeFromNV12TexturesCopy_2">MakeFromNV12TexturesCopy(GrContext* context, SkYUVColorSpace yuvColorSpace, const GrBackendTexture nv12TextureHandles[2], const SkISize nv12Sizes[2], GrSurfaceOrigin surfaceOrigin, sk sp<SkColorSpace> colorSpace = nullptr)</a> | | <a href="#SkImage_MakeFromPicture">MakeFromPicture</a> | creates <a href="#Image">Image</a> from <a href="undocumented#Picture">Picture</a> | | <a href="#SkImage_MakeFromRaster">MakeFromRaster</a> | creates <a href="#Image">Image</a> from <a href="SkPixmap_Reference#Pixmap">Pixmap</a>, with release | | <a href="#SkImage_MakeFromYUVTexturesCopy">MakeFromYUVTexturesCopy</a> | creates <a href="#Image">Image</a> from <a href="undocumented#YUV_ColorSpace">YUV ColorSpace</a> data in three planes | -| | <a href="#SkImage_MakeFromYUVTexturesCopy">MakeFromYUVTexturesCopy</a> | +| | <a href="#SkImage_MakeFromYUVTexturesCopy">MakeFromYUVTexturesCopy(GrContext* context, SkYUVColorSpace yuvColorSpace, const GrBackendObject yuvTextureHandles[3], const SkISize yuvSizes[3], GrSurfaceOrigin surfaceOrigin, sk sp<SkColorSpace> colorSpace = nullptr)</a> | +| | <a href="#SkImage_MakeFromYUVTexturesCopy_2">MakeFromYUVTexturesCopy(GrContext* context, SkYUVColorSpace yuvColorSpace, const GrBackendTexture yuvTextureHandles[3], const SkISize yuvSizes[3], GrSurfaceOrigin surfaceOrigin, sk sp<SkColorSpace> colorSpace = nullptr)</a> | | <a href="#SkImage_MakeRasterCopy">MakeRasterCopy</a> | creates <a href="#Image">Image</a> from <a href="SkPixmap_Reference#Pixmap">Pixmap</a> and copied pixels | | <a href="#SkImage_MakeRasterData">MakeRasterData</a> | creates <a href="#Image">Image</a> from <a href="#Info">Image Info</a> and shared pixels | | <a href="#SkImage_asLegacyBitmap">asLegacyBitmap</a> | returns as <a href="undocumented#Raster_Bitmap">Raster Bitmap</a> | @@ -87,7 +92,8 @@ drawing. | <a href="#SkImage_makeNonTextureImage">makeNonTextureImage</a> | creates <a href="#Image">Image</a> without dependency on <a href="undocumented#GPU_Texture">GPU Texture</a> | | <a href="#SkImage_makeRasterImage">makeRasterImage</a> | creates <a href="#Image">Image</a> compatible with <a href="undocumented#Raster_Surface">Raster Surface</a> if possible | | <a href="#SkImage_makeShader">makeShader</a> | creates <a href="undocumented#Shader">Shader</a>, <a href="SkPaint_Reference#Paint">Paint</a> element that can tile <a href="#Image">Image</a> | -| | <a href="#SkImage_makeShader">makeShader</a> | +| | <a href="#SkImage_makeShader">makeShader(SkShader::TileMode tileMode1, SkShader::TileMode tileMode2, const SkMatrix* localMatrix = nullptr)</a> const | +| | <a href="#SkImage_makeShader_2">makeShader(const SkMatrix* localMatrix = nullptr)</a> const | | <a href="#SkImage_makeSubset">makeSubset</a> | creates <a href="#Image">Image</a> containing part of original | | <a href="#SkImage_makeTextureImage">makeTextureImage</a> | creates <a href="#Image">Image</a> matching <a href="undocumented#Color_Space">Color Space</a> if possible | | <a href="#SkImage_makeWithFilter">makeWithFilter</a> | creates filtered, clipped <a href="#Image">Image</a> | @@ -240,7 +246,7 @@ static sk_sp<SkImage> MakeFromRaster(const SkPixmap& pixmap, RasterRelease ReleaseContext releaseContext) </pre> -Creates <a href="#Image">Image</a> from <a href="#SkImage_MakeFromRaster_pixmap">pixmap</a>, sharing <a href="SkPixmap_Reference#Pixmap">Pixmap</a> pixels. Pixels must remain valid and +Creates <a href="#Image">Image</a> from <a href="#SkImage_MakeFromRaster_pixmap">pixmap</a>, sharing <a href="SkPixmap_Reference#Pixmap">Pixmap</a> pixels. <a href="#Pixels">Pixels</a> must remain valid and unchanged until <a href="#SkImage_MakeFromRaster_rasterReleaseProc">rasterReleaseProc</a> is called. <a href="#SkImage_MakeFromRaster_rasterReleaseProc">rasterReleaseProc</a> is passed <a href="#SkImage_MakeFromRaster_releaseContext">releaseContext</a> when <a href="#Image">Image</a> is deleted or no longer refers to <a href="#SkImage_MakeFromRaster_pixmap">pixmap</a> pixels. @@ -730,8 +736,8 @@ zero but may differ from plane to plane. Returned <a href="#Image">Image</a> has <table> <tr> <td><a name="SkImage_MakeFromYUVTexturesCopy_context"> <code><strong>context </strong></code> </a></td> <td> <a href="undocumented#GPU_Context">GPU Context</a></td> </tr> <tr> <td><a name="SkImage_MakeFromYUVTexturesCopy_yuvColorSpace"> <code><strong>yuvColorSpace </strong></code> </a></td> <td> -one of: <a href="undocumented#YUV_ColorSpace">kJPEG SkYUVColorSpace</a>, <a href="undocumented#YUV_ColorSpace">kRec601 SkYUVColorSpace</a>, -<a href="undocumented#YUV_ColorSpace">kRec709 SkYUVColorSpace</a></td> +one of: <a href="SkImageInfo_Reference#SkYUVColorSpace">kJPEG SkYUVColorSpace</a>, <a href="SkImageInfo_Reference#SkYUVColorSpace">kRec601 SkYUVColorSpace</a>, +<a href="SkImageInfo_Reference#SkYUVColorSpace">kRec709 SkYUVColorSpace</a></td> </tr> <tr> <td><a name="SkImage_MakeFromYUVTexturesCopy_yuvTextureHandles"> <code><strong>yuvTextureHandles </strong></code> </a></td> <td> array of YUV textures on GPU</td> </tr> <tr> <td><a name="SkImage_MakeFromYUVTexturesCopy_yuvSizes"> <code><strong>yuvSizes </strong></code> </a></td> <td> @@ -774,8 +780,8 @@ zero but may differ from plane to plane. Returned <a href="#Image">Image</a> has <table> <tr> <td><a name="SkImage_MakeFromYUVTexturesCopy_2_context"> <code><strong>context </strong></code> </a></td> <td> <a href="undocumented#GPU_Context">GPU Context</a></td> </tr> <tr> <td><a name="SkImage_MakeFromYUVTexturesCopy_2_yuvColorSpace"> <code><strong>yuvColorSpace </strong></code> </a></td> <td> -one of: <a href="undocumented#YUV_ColorSpace">kJPEG SkYUVColorSpace</a>, <a href="undocumented#YUV_ColorSpace">kRec601 SkYUVColorSpace</a>, -<a href="undocumented#YUV_ColorSpace">kRec709 SkYUVColorSpace</a></td> +one of: <a href="SkImageInfo_Reference#SkYUVColorSpace">kJPEG SkYUVColorSpace</a>, <a href="SkImageInfo_Reference#SkYUVColorSpace">kRec601 SkYUVColorSpace</a>, +<a href="SkImageInfo_Reference#SkYUVColorSpace">kRec709 SkYUVColorSpace</a></td> </tr> <tr> <td><a name="SkImage_MakeFromYUVTexturesCopy_2_yuvTextureHandles"> <code><strong>yuvTextureHandles </strong></code> </a></td> <td> array of YUV textures on GPU</td> </tr> <tr> <td><a name="SkImage_MakeFromYUVTexturesCopy_2_yuvSizes"> <code><strong>yuvSizes </strong></code> </a></td> <td> @@ -821,8 +827,8 @@ zero but may differ from plane to plane. Returned <a href="#Image">Image</a> has <table> <tr> <td><a name="SkImage_MakeFromNV12TexturesCopy_context"> <code><strong>context </strong></code> </a></td> <td> <a href="undocumented#GPU_Context">GPU Context</a></td> </tr> <tr> <td><a name="SkImage_MakeFromNV12TexturesCopy_yuvColorSpace"> <code><strong>yuvColorSpace </strong></code> </a></td> <td> -one of: <a href="undocumented#YUV_ColorSpace">kJPEG SkYUVColorSpace</a>, <a href="undocumented#YUV_ColorSpace">kRec601 SkYUVColorSpace</a>, -<a href="undocumented#YUV_ColorSpace">kRec709 SkYUVColorSpace</a></td> +one of: <a href="SkImageInfo_Reference#SkYUVColorSpace">kJPEG SkYUVColorSpace</a>, <a href="SkImageInfo_Reference#SkYUVColorSpace">kRec601 SkYUVColorSpace</a>, +<a href="SkImageInfo_Reference#SkYUVColorSpace">kRec709 SkYUVColorSpace</a></td> </tr> <tr> <td><a name="SkImage_MakeFromNV12TexturesCopy_nv12TextureHandles"> <code><strong>nv12TextureHandles </strong></code> </a></td> <td> array of YUV textures on GPU</td> </tr> <tr> <td><a name="SkImage_MakeFromNV12TexturesCopy_nv12Sizes"> <code><strong>nv12Sizes </strong></code> </a></td> <td> @@ -867,8 +873,8 @@ zero but may differ from plane to plane. Returned <a href="#Image">Image</a> has <table> <tr> <td><a name="SkImage_MakeFromNV12TexturesCopy_2_context"> <code><strong>context </strong></code> </a></td> <td> <a href="undocumented#GPU_Context">GPU Context</a></td> </tr> <tr> <td><a name="SkImage_MakeFromNV12TexturesCopy_2_yuvColorSpace"> <code><strong>yuvColorSpace </strong></code> </a></td> <td> -one of: <a href="undocumented#YUV_ColorSpace">kJPEG SkYUVColorSpace</a>, <a href="undocumented#YUV_ColorSpace">kRec601 SkYUVColorSpace</a>, -<a href="undocumented#YUV_ColorSpace">kRec709 SkYUVColorSpace</a></td> +one of: <a href="SkImageInfo_Reference#SkYUVColorSpace">kJPEG SkYUVColorSpace</a>, <a href="SkImageInfo_Reference#SkYUVColorSpace">kRec601 SkYUVColorSpace</a>, +<a href="SkImageInfo_Reference#SkYUVColorSpace">kRec709 SkYUVColorSpace</a></td> </tr> <tr> <td><a name="SkImage_MakeFromNV12TexturesCopy_2_nv12TextureHandles"> <code><strong>nv12TextureHandles </strong></code> </a></td> <td> array of YUV textures on GPU</td> </tr> <tr> <td><a name="SkImage_MakeFromNV12TexturesCopy_2_nv12Sizes"> <code><strong>nv12Sizes </strong></code> </a></td> <td> @@ -1005,6 +1011,7 @@ created <a href="#Image">Image</a>, or nullptr | <a href="#SkImage_bounds">bounds</a> | returns <a href="#SkImage_width">width</a> and <a href="#SkImage_height">height</a> as Rectangle | | <a href="#SkImage_colorSpace">colorSpace</a> | returns <a href="undocumented#Color_Space">Color Space</a> | | <a href="#SkImage_dimensions">dimensions</a> | returns <a href="#SkImage_width">width</a> and <a href="#SkImage_height">height</a> | +| <a href="#SkImage_getTextureHandle">getTextureHandle</a> | returns GPU reference to <a href="#Image">Image</a> as texture | | <a href="#SkImage_height">height</a> | returns pixel row count | | <a href="#SkImage_isAlphaOnly">isAlphaOnly</a> | returns if pixels represent a transparency mask | | <a href="#SkImage_isLazyGenerated">isLazyGenerated</a> | returns if <a href="#Image">Image</a> is created as needed | @@ -1353,6 +1360,16 @@ transforming <a href="#Image">Image</a> before <a href="#Matrix">Canvas Matrix</ --- +## <a name="Pixels"></a> Pixels + +| name | description | +| --- | --- | +| <a href="#SkImage_peekPixels">peekPixels</a> | returns <a href="SkPixmap_Reference#Pixmap">Pixmap</a> if possible | +| <a href="#SkImage_readPixels">readPixels</a> | copies and converts pixels | +| | <a href="#SkImage_readPixels">readPixels(const SkImageInfo& dstInfo, void* dstPixels, size t dstRowBytes, int srcX, int srcY, CachingHint cachingHint = kAllow CachingHint)</a> const | +| | <a href="#SkImage_readPixels_2">readPixels(const SkPixmap& dst, int srcX, int srcY, CachingHint cachingHint = kAllow CachingHint)</a> const | +| <a href="#SkImage_scalePixels">scalePixels</a> | scales and converts one <a href="#Image">Image</a> to another | + <a name="SkImage_peekPixels"></a> ## peekPixels @@ -1569,7 +1586,7 @@ Returns true if pixels are copied. Returns false if: <td><a href="undocumented#Pixel_Ref">Pixel Ref</a> is nullptr</td> </tr> </table> -Pixels are copied only if pixel conversion is possible. If <a href="#Image">Image</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Image">Image</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkImage_readPixels_dstInfo">dstInfo</a>.<a href="SkImageInfo_Reference#SkImageInfo">colorType</a> must match. If <a href="#Image">Image</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkImage_readPixels_dstInfo">dstInfo</a>.<a href="#SkImage_colorSpace">colorSpace</a> must match. If <a href="#Image">Image</a> <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkImage_readPixels_dstInfo">dstInfo</a>.<a href="#SkImage_alphaType">alphaType</a> must @@ -1634,7 +1651,7 @@ row to the next. Returns true if pixels are copied. Returns false if: <td><a href="undocumented#Pixel_Ref">Pixel Ref</a> is nullptr</td> </tr> </table> -Pixels are copied only if pixel conversion is possible. If <a href="#Image">Image</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Image">Image</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkImage_readPixels_2_dst">dst</a>.<a href="SkPixmap_Reference#SkPixmap">colorType</a> must match. If <a href="#Image">Image</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkImage_readPixels_2_dst">dst</a>.<a href="#SkImage_colorSpace">colorSpace</a> must match. If <a href="#Image">Image</a> <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkImage_readPixels_2_dst">dst</a>.<a href="#SkImage_alphaType">alphaType</a> must @@ -1688,7 +1705,7 @@ converting pixels to match <a href="#SkImage_scalePixels_dst">dst</a>.<a href="S pixels are copied. Returns false if <a href="#SkImage_scalePixels_dst">dst</a>.addr() is nullptr, or <a href="#SkImage_scalePixels_dst">dst</a>.<a href="SkPixmap_Reference#SkPixmap">rowBytes</a> is less than <a href="#SkImage_scalePixels_dst">dst</a> <a href="#SkImageInfo_minRowBytes">SkImageInfo::minRowBytes</a>. -Pixels are copied only if pixel conversion is possible. If <a href="#Image">Image</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Image">Image</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkImage_scalePixels_dst">dst</a>.<a href="SkPixmap_Reference#SkPixmap">colorType</a> must match. If <a href="#Image">Image</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkImage_scalePixels_dst">dst</a>.<a href="#SkImage_colorSpace">colorSpace</a> must match. If <a href="#Image">Image</a> <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkImage_scalePixels_dst">dst</a>.<a href="#SkImage_alphaType">alphaType</a> must @@ -1836,6 +1853,10 @@ encoded <a href="#Image">Image</a>, or nullptr | name | description | | --- | --- | +| <a href="#SkImage_encodeToData">encodeToData</a> | returns encoded <a href="#Image">Image</a> as <a href="undocumented#SkData">SkData</a> | +| | <a href="#SkImage_encodeToData">encodeToData(SkEncodedImageFormat encodedImageFormat, int quality)</a> const | +| | <a href="#SkImage_encodeToData_2">encodeToData</a> const | +| <a href="#SkImage_refEncodedData">refEncodedData</a> | returns <a href="#Image">Image</a> encoded in <a href="undocumented#SkData">SkData</a> if present | | <a href="#SkImage_toString">toString</a> | converts <a href="#Image">Image</a> to machine readable form | <a name="SkImage_toString"></a> diff --git a/site/user/api/SkMatrix_Reference.md b/site/user/api/SkMatrix_Reference.md index 9563cc568f..b1da7d7722 100644 --- a/site/user/api/SkMatrix_Reference.md +++ b/site/user/api/SkMatrix_Reference.md @@ -13,6 +13,7 @@ SkMatrix Reference | <a href="#Constructor">Constructor</a> | functions that construct <a href="SkMatrix_Reference#SkMatrix">SkMatrix</a> | | <a href="#Member_Function">Member Function</a> | static functions and member methods | | <a href="#Operator">Operator</a> | operator overloading methods | +| <a href="#Related_Function">Related Function</a> | similar methods grouped together | # <a name="SkMatrix"></a> Class SkMatrix <a href="#Matrix">Matrix</a> holds a 3x3 matrix for transforming coordinates. This allows mapping @@ -27,48 +28,6 @@ initializes all <a href="#Matrix">Matrix</a> elements with the corresponding map <a href="#Matrix">Matrix</a> includes a hidden variable that classifies the type of matrix to improve performance. <a href="#Matrix">Matrix</a> is not thread safe unless <a href="#SkMatrix_getType">getType</a> is called first. -## <a name="Constructor"></a> Constructor - -| name | description | -| --- | --- | -| I | returns a reference to a const identity <a href="#Matrix">Matrix</a> | -| <a href="#SkMatrix_InvalidMatrix">InvalidMatrix</a> | returns a reference to a const invalid <a href="#Matrix">Matrix</a> | -| <a href="#SkMatrix_MakeAll">MakeAll</a> | constructs all nine values | -| <a href="#SkMatrix_MakeRectToRect">MakeRectToRect</a> | constructs from source <a href="SkRect_Reference#Rect">Rect</a> to destination <a href="SkRect_Reference#Rect">Rect</a> | -| <a href="#SkMatrix_MakeScale">MakeScale</a> | constructs from scale in x and y | -| | <a href="#SkMatrix_MakeScale">MakeScale</a> | -| <a href="#SkMatrix_MakeTrans">MakeTrans</a> | constructs from translate in x and y | -| <a href="#SkMatrix_SetAffineIdentity">SetAffineIdentity</a> | sets 3x2 array to identity | -| <a href="#SkMatrix_asAffine">asAffine</a> | copies to 3x2 array | -| <a href="#SkMatrix_reset">reset</a> | sets <a href="#Matrix">Matrix</a> to identity | -| <a href="#SkMatrix_setAffine">setAffine</a> | sets left two columns | -| <a href="#SkMatrix_setConcat">setConcat</a> | sets to <a href="#Matrix">Matrix</a> parameter multiplied by <a href="#Matrix">Matrix</a> parameter | -| <a href="#SkMatrix_setIdentity">setIdentity</a> | sets <a href="#Matrix">Matrix</a> to identity | -| <a href="#SkMatrix_setRSXform">setRSXform</a> | sets to rotate, scale, and translate | -| <a href="#SkMatrix_setRotate">setRotate</a> | sets to rotate about a point | -| | <a href="#SkMatrix_setRotate">setRotate</a> | -| <a href="#SkMatrix_setScale">setScale</a> | sets to scale about a point | -| | <a href="#SkMatrix_setScale">setScale</a> | -| <a href="#SkMatrix_setScaleTranslate">setScaleTranslate</a> | sets to scale and translate | -| <a href="#SkMatrix_setSinCos">setSinCos</a> | sets to rotate and scale about a point | -| | <a href="#SkMatrix_setSinCos">setSinCos</a> | -| <a href="#SkMatrix_setSkew">setSkew</a> | sets to skew about a point | -| | <a href="#SkMatrix_setSkew">setSkew</a> | -| <a href="#SkMatrix_setTranslate">setTranslate</a> | sets to translate in x and y | -| | <a href="#SkMatrix_setTranslate">setTranslate</a> | - -## <a name="Operator"></a> Operator - -| name | description | -| --- | --- | -| <a href="#SkMatrix_Concat">Concat</a> | returns the concatenation of <a href="#Matrix">Matrix</a> pair | -| <a href="#SkMatrix_cheapEqualTo">cheapEqualTo</a> | compares <a href="#Matrix">Matrix</a> pair using memcmp() | -| <a href="#SkMatrix_invert">invert</a> | returns inverse, if possible | -| <a href="#SkMatrix_notequal_operator">operator!=(const SkMatrix& a, const SkMatrix& b)</a> | returns true if members are unequal | -| <a href="#SkMatrix_equal_operator">operator==(const SkMatrix& a, const SkMatrix& b)</a> | returns true if members are equal | -| <a href="#SkMatrix_array1_operator">operator[](int index)</a> | returns writable reference to <a href="#Matrix">Matrix</a> value | -| <a href="#SkMatrix_array_operator">operator[](int index) const</a> | returns <a href="#Matrix">Matrix</a> value | - ## <a name="Member_Function"></a> Member Function | name | description | @@ -158,6 +117,51 @@ improve performance. <a href="#Matrix">Matrix</a> is not thread safe unless <a h | <a href="#SkMatrix_setTranslateY">setTranslateY</a> | sets vertical translation | | <a href="#SkMatrix_toString">toString</a> | converts <a href="#Matrix">Matrix</a> to machine readable form | +## <a name="Related_Function"></a> Related Function + +| name | description | +| --- | --- | +| <a href="#Property">Property</a> | values and attributes | +| <a href="#Set">Set</a> | set one or more matrix values | +| <a href="#Transform">Transform</a> | map points with <a href="#Matrix">Matrix</a> | +| <a href="#Utility">Utility</a> | rarely called management functions | + +## <a name="Constructor"></a> Constructor + +| name | description | +| --- | --- | +| I | returns a reference to a const identity <a href="#Matrix">Matrix</a> | +| <a href="#SkMatrix_InvalidMatrix">InvalidMatrix</a> | returns a reference to a const invalid <a href="#Matrix">Matrix</a> | +| <a href="#SkMatrix_MakeAll">MakeAll</a> | constructs all nine values | +| <a href="#SkMatrix_MakeRectToRect">MakeRectToRect</a> | constructs from source <a href="SkRect_Reference#Rect">Rect</a> to destination <a href="SkRect_Reference#Rect">Rect</a> | +| <a href="#SkMatrix_MakeScale">MakeScale</a> | constructs from scale in x and y | +| | <a href="#SkMatrix_MakeScale">MakeScale(SkScalar sx, SkScalar sy)</a> | +| | <a href="#SkMatrix_MakeScale_2">MakeScale(SkScalar scale)</a> | +| <a href="#SkMatrix_MakeTrans">MakeTrans</a> | constructs from translate in x and y | +| <a href="#SkMatrix_SetAffineIdentity">SetAffineIdentity</a> | sets 3x2 array to identity | +| <a href="#SkMatrix_asAffine">asAffine</a> | copies to 3x2 array | +| <a href="#SkMatrix_reset">reset</a> | sets <a href="#Matrix">Matrix</a> to identity | +| <a href="#SkMatrix_setAffine">setAffine</a> | sets left two columns | +| <a href="#SkMatrix_setConcat">setConcat</a> | sets to <a href="#Matrix">Matrix</a> parameter multiplied by <a href="#Matrix">Matrix</a> parameter | +| <a href="#SkMatrix_setIdentity">setIdentity</a> | sets <a href="#Matrix">Matrix</a> to identity | +| <a href="#SkMatrix_setRSXform">setRSXform</a> | sets to rotate, scale, and translate | +| <a href="#SkMatrix_setRotate">setRotate</a> | sets to rotate about a point | +| | <a href="#SkMatrix_setRotate">setRotate(SkScalar degrees, SkScalar px, SkScalar py)</a> | +| | <a href="#SkMatrix_setRotate_2">setRotate(SkScalar degrees)</a> | +| <a href="#SkMatrix_setScale">setScale</a> | sets to scale about a point | +| | <a href="#SkMatrix_setScale">setScale(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py)</a> | +| | <a href="#SkMatrix_setScale_2">setScale(SkScalar sx, SkScalar sy)</a> | +| <a href="#SkMatrix_setScaleTranslate">setScaleTranslate</a> | sets to scale and translate | +| <a href="#SkMatrix_setSinCos">setSinCos</a> | sets to rotate and scale about a point | +| | <a href="#SkMatrix_setSinCos">setSinCos(SkScalar sinValue, SkScalar cosValue, SkScalar px, SkScalar py)</a> | +| | <a href="#SkMatrix_setSinCos_2">setSinCos(SkScalar sinValue, SkScalar cosValue)</a> | +| <a href="#SkMatrix_setSkew">setSkew</a> | sets to skew about a point | +| | <a href="#SkMatrix_setSkew">setSkew(SkScalar kx, SkScalar ky, SkScalar px, SkScalar py)</a> | +| | <a href="#SkMatrix_setSkew_2">setSkew(SkScalar kx, SkScalar ky)</a> | +| <a href="#SkMatrix_setTranslate">setTranslate</a> | sets to translate in x and y | +| | <a href="#SkMatrix_setTranslate">setTranslate(SkScalar dx, SkScalar dy)</a> | +| | <a href="#SkMatrix_setTranslate_2">setTranslate(const SkVector& v)</a> | + <a name="SkMatrix_MakeScale"></a> ## MakeScale @@ -877,6 +881,18 @@ PDF and XPS. +## <a name="Operator"></a> Operator + +| name | description | +| --- | --- | +| <a href="#SkMatrix_Concat">Concat</a> | returns the concatenation of <a href="#Matrix">Matrix</a> pair | +| <a href="#SkMatrix_cheapEqualTo">cheapEqualTo</a> | compares <a href="#Matrix">Matrix</a> pair using memcmp() | +| <a href="#SkMatrix_invert">invert</a> | returns inverse, if possible | +| <a href="#SkMatrix_notequal_operator">operator!=(const SkMatrix& a, const SkMatrix& b)</a> | returns true if members are unequal | +| <a href="#SkMatrix_equal_operator">operator==(const SkMatrix& a, const SkMatrix& b)</a> | returns true if members are equal | +| <a href="#SkMatrix_array1_operator">operator[](int index)</a> | returns writable reference to <a href="#Matrix">Matrix</a> value | +| <a href="#SkMatrix_array_operator">operator[](int index) const</a> | returns <a href="#Matrix">Matrix</a> value | + <a name="SkMatrix_array_operator"></a> ## operator[] @@ -1252,19 +1268,25 @@ after dirty cache: x = 66 | <a href="#SkMatrix_postConcat">postConcat</a> | post-multiplies <a href="#Matrix">Matrix</a> by <a href="#Matrix">Matrix</a> parameter | | <a href="#SkMatrix_postIDiv">postIDiv</a> | post-multiplies <a href="#Matrix">Matrix</a> by inverse scale | | <a href="#SkMatrix_postRotate">postRotate</a> | post-multiplies <a href="#Matrix">Matrix</a> by rotation | -| | <a href="#SkMatrix_postRotate">postRotate</a> | +| | <a href="#SkMatrix_postRotate">postRotate(SkScalar degrees, SkScalar px, SkScalar py)</a> | +| | <a href="#SkMatrix_postRotate_2">postRotate(SkScalar degrees)</a> | | <a href="#SkMatrix_postScale">postScale</a> | post-multiplies <a href="#Matrix">Matrix</a> by scale | -| | <a href="#SkMatrix_postScale">postScale</a> | +| | <a href="#SkMatrix_postScale">postScale(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py)</a> | +| | <a href="#SkMatrix_postScale_2">postScale(SkScalar sx, SkScalar sy)</a> | | <a href="#SkMatrix_postSkew">postSkew</a> | post-multiplies <a href="#Matrix">Matrix</a> by skew | -| | <a href="#SkMatrix_postSkew">postSkew</a> | +| | <a href="#SkMatrix_postSkew">postSkew(SkScalar kx, SkScalar ky, SkScalar px, SkScalar py)</a> | +| | <a href="#SkMatrix_postSkew_2">postSkew(SkScalar kx, SkScalar ky)</a> | | <a href="#SkMatrix_postTranslate">postTranslate</a> | post-multiplies <a href="#Matrix">Matrix</a> by translation | | <a href="#SkMatrix_preConcat">preConcat</a> | pre-multiplies <a href="#Matrix">Matrix</a> by <a href="#Matrix">Matrix</a> parameter | | <a href="#SkMatrix_preRotate">preRotate</a> | pre-multiplies <a href="#Matrix">Matrix</a> by rotation | -| | <a href="#SkMatrix_preRotate">preRotate</a> | +| | <a href="#SkMatrix_preRotate">preRotate(SkScalar degrees, SkScalar px, SkScalar py)</a> | +| | <a href="#SkMatrix_preRotate_2">preRotate(SkScalar degrees)</a> | | <a href="#SkMatrix_preScale">preScale</a> | pre-multiplies <a href="#Matrix">Matrix</a> by scale | -| | <a href="#SkMatrix_preScale">preScale</a> | +| | <a href="#SkMatrix_preScale">preScale(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py)</a> | +| | <a href="#SkMatrix_preScale_2">preScale(SkScalar sx, SkScalar sy)</a> | | <a href="#SkMatrix_preSkew">preSkew</a> | pre-multiplies <a href="#Matrix">Matrix</a> by skew | -| | <a href="#SkMatrix_preSkew">preSkew</a> | +| | <a href="#SkMatrix_preSkew">preSkew(SkScalar kx, SkScalar ky, SkScalar px, SkScalar py)</a> | +| | <a href="#SkMatrix_preSkew_2">preSkew(SkScalar kx, SkScalar ky)</a> | | <a href="#SkMatrix_preTranslate">preTranslate</a> | pre-multiplies <a href="#Matrix">Matrix</a> by translation | | <a href="#SkMatrix_set">set</a> | sets one value | | <a href="#SkMatrix_set9">set9</a> | sets all values from <a href="#Scalar">Scalar</a> array | @@ -3298,18 +3320,23 @@ ScaleX: 2 SkewY: 5 SkewX: 3 ScaleY: 6 TransX: 4 TransY: 7 | --- | --- | | <a href="#SkMatrix_mapHomogeneousPoints">mapHomogeneousPoints</a> | maps <a href="undocumented#Point3">Point3</a> array | | <a href="#SkMatrix_mapPoints">mapPoints</a> | maps <a href="SkPoint_Reference#Point">Point</a> array | -| | <a href="#SkMatrix_mapPoints">mapPoints</a> | +| | <a href="#SkMatrix_mapPoints">mapPoints(SkPoint dst[], const SkPoint src[], int count)</a> const | +| | <a href="#SkMatrix_mapPoints_2">mapPoints(SkPoint pts[], int count)</a> const | | <a href="#SkMatrix_mapRadius">mapRadius</a> | returns mean radius of mapped <a href="undocumented#Circle">Circle</a> | | <a href="#SkMatrix_mapRect">mapRect</a> | returns bounds of mapped <a href="SkRect_Reference#Rect">Rect</a> | -| | <a href="#SkMatrix_mapRect">mapRect</a> | +| | <a href="#SkMatrix_mapRect">mapRect(SkRect* dst, const SkRect& src)</a> const | +| | <a href="#SkMatrix_mapRect_2">mapRect(SkRect* rect)</a> const | | <a href="#SkMatrix_mapRectScaleTranslate">mapRectScaleTranslate</a> | returns bounds of mapped <a href="SkRect_Reference#Rect">Rect</a> | | <a href="#SkMatrix_mapRectToQuad">mapRectToQuad</a> | maps <a href="SkRect_Reference#Rect">Rect</a> to <a href="SkPoint_Reference#Point">Point</a> array | | <a href="#SkMatrix_mapVector">mapVector</a> | maps <a href="SkPoint_Reference#Vector">Vector</a> | -| | <a href="#SkMatrix_mapVector">mapVector</a> | +| | <a href="#SkMatrix_mapVector">mapVector(SkScalar dx, SkScalar dy, SkVector* result)</a> const | +| | <a href="#SkMatrix_mapVector_2">mapVector(SkScalar dx, SkScalar dy)</a> const | | <a href="#SkMatrix_mapVectors">mapVectors</a> | maps <a href="SkPoint_Reference#Vector">Vector</a> array | -| | <a href="#SkMatrix_mapVectors">mapVectors</a> | +| | <a href="#SkMatrix_mapVectors">mapVectors(SkVector dst[], const SkVector src[], int count)</a> const | +| | <a href="#SkMatrix_mapVectors_2">mapVectors(SkVector vecs[], int count)</a> const | | <a href="#SkMatrix_mapXY">mapXY</a> | maps <a href="SkPoint_Reference#Point">Point</a> | -| | <a href="#SkMatrix_mapXY">mapXY</a> | +| | <a href="#SkMatrix_mapXY">mapXY(SkScalar x, SkScalar y, SkPoint* result)</a> const | +| | <a href="#SkMatrix_mapXY_2">mapXY(SkScalar x, SkScalar y)</a> const | <a name="SkMatrix_mapPoints"></a> ## mapPoints diff --git a/site/user/api/SkPaint_Reference.md b/site/user/api/SkPaint_Reference.md index 635142d06a..b9df684bef 100644 --- a/site/user/api/SkPaint_Reference.md +++ b/site/user/api/SkPaint_Reference.md @@ -91,6 +91,7 @@ Multiple colors are drawn either by using multiple paints or with objects like | <a href="#Text_Size">Text Size</a> | overall height in points | | <a href="#Text_Skew_X">Text Skew X</a> | text horizontal slant | | <a href="#Typeface_Methods">Typeface Methods</a> | get and set <a href="undocumented#Typeface">Typeface</a> | +| <a href="#Utility">Utility</a> | rarely called management functions | | <a href="#Vertical_Text">Vertical Text</a> | orient text from top to bottom | ## <a name="Constant"></a> Constant @@ -5109,6 +5110,17 @@ fast computed bounds --- +## <a name="Utility"></a> Utility + +| name | description | +| --- | --- | +| <a href="#SkPaint_containsText">containsText</a> | returns if all text corresponds to <a href="#Glyph">Glyphs</a> | +| <a href="#SkPaint_countText">countText</a> | returns number of <a href="#Glyph">Glyphs</a> in text | +| <a href="#SkPaint_glyphsToUnichars">glyphsToUnichars</a> | converts <a href="#Glyph">Glyphs</a> into text | +| <a href="#SkPaint_nothingToDraw">nothingToDraw</a> | returns true if <a href="#Paint">Paint</a> prevents all drawing | +| <a href="#SkPaint_textToGlyphs">textToGlyphs</a> | converts text into glyph indices | +| <a href="#SkPaint_toString">toString</a> | converts <a href="#Paint">Paint</a> to machine readable form | + <a name="SkPaint_toString"></a> ## toString diff --git a/site/user/api/SkPath_Reference.md b/site/user/api/SkPath_Reference.md index 37871ba3f1..9de370b4d1 100644 --- a/site/user/api/SkPath_Reference.md +++ b/site/user/api/SkPath_Reference.md @@ -118,7 +118,10 @@ Internally, <a href="#Path">Path</a> lazily computes metrics likes bounds and co | <a href="#Interpolate">Interpolate</a> | weighted average of <a href="#Path">Path</a> pair | | <a href="#Last_Point">Last Point</a> | final <a href="SkPoint_Reference#Point">Point</a> in <a href="#Contour">Contour</a> | | <a href="#Point_Array">Point Array</a> | end points and control points for lines and curves | +| <a href="#Property">Property</a> | metrics and attributes | | <a href="#Quad">Quad</a> | Bezier_Curve described by second-order polynomial | +| <a href="#Transform">Transform</a> | modify all points | +| <a href="#Utility">Utility</a> | rarely called management functions | | <a href="#SkPath_Verb">Verb</a> | line and curve type | | <a href="#Verb_Array">Verb Array</a> | line and curve type for points | | <a href="#Volatile">Volatile</a> | caching attribute | @@ -1884,13 +1887,15 @@ rotated circle bounds = 14.6447, 9.64466, 85.3553, 80.3553 | <a href="#SkPath_ConvertConicToQuads">ConvertConicToQuads</a> | approximates <a href="#Conic">Conic</a> with <a href="#Quad">Quad</a> array | | <a href="#SkPath_ConvertToNonInverseFillType">ConvertToNonInverseFillType</a> | returns <a href="#Fill_Type">Fill Type</a> representing inside geometry | | <a href="#SkPath_dump_2">dump</a> | sends text representation using floats to standard output | -| | dump | +| | <a href="#SkPath_dump">dump(SkWStream* stream, bool forceClose, bool dumpAsHex)</a> const | +| | <a href="#SkPath_dump_2">dump</a> const | | <a href="#SkPath_dumpHex">dumpHex</a> | sends text representation using hexadecimal to standard output | | <a href="#SkPath_getSegmentMasks">getSegmentMasks</a> | returns types in <a href="#Verb_Array">Verb Array</a> | | <a href="#SkPath_incReserve">incReserve</a> | reserves space for additional data | | <a href="#SkPath_readFromMemory">readFromMemory</a> | Initializes from buffer | | <a href="#SkPath_serialize">serialize</a> | copies data to buffer | | <a href="#SkPath_setLastPt">setLastPt</a> | replaces <a href="#Last_Point">Last Point</a> | +| | <a href="#SkPath_setLastPt">setLastPt(SkScalar x, SkScalar y)</a> | | <a href="#SkPath_updateBoundsCache">updateBoundsCache</a> | refreshes result of <a href="#SkPath_getBounds">getBounds</a> | | <a href="#SkPath_writeToMemory">writeToMemory</a> | copies data to buffer | @@ -2044,25 +2049,34 @@ number of additional <a href="#Point">Points</a> to allocate</td> | <a href="#SkPath_addArc">addArc</a> | adds one <a href="#Contour">Contour</a> containing <a href="#Arc">Arc</a> | | <a href="#SkPath_addCircle">addCircle</a> | adds one <a href="#Contour">Contour</a> containing <a href="undocumented#Circle">Circle</a> | | <a href="#SkPath_addOval">addOval</a> | adds one <a href="#Contour">Contour</a> containing <a href="undocumented#Oval">Oval</a> | -| | <a href="#SkPath_addOval">addOval</a> | +| | <a href="#SkPath_addOval">addOval(const SkRect& oval, Direction dir = kCW Direction)</a> | +| | <a href="#SkPath_addOval_2">addOval(const SkRect& oval, Direction dir, unsigned start)</a> | | <a href="#SkPath_addPath">addPath</a> | adds contents of <a href="#Path">Path</a> | -| | <a href="#SkPath_addPath">addPath</a> | -| | <a href="#SkPath_addPath">addPath</a> | +| | <a href="#SkPath_addPath">addPath(const SkPath& src, SkScalar dx, SkScalar dy, AddPathMode mode = kAppend AddPathMode)</a> | +| | <a href="#SkPath_addPath_2">addPath(const SkPath& src, AddPathMode mode = kAppend AddPathMode)</a> | +| | <a href="#SkPath_addPath_3">addPath(const SkPath& src, const SkMatrix& matrix, AddPathMode mode = kAppend AddPathMode)</a> | | <a href="#SkPath_addPoly">addPoly</a> | adds one <a href="#Contour">Contour</a> containing connected lines | | <a href="#SkPath_addRRect">addRRect</a> | adds one <a href="#Contour">Contour</a> containing <a href="undocumented#Round_Rect">Round Rect</a> | -| | <a href="#SkPath_addRRect">addRRect</a> | +| | <a href="#SkPath_addRRect">addRRect(const SkRRect& rrect, Direction dir = kCW Direction)</a> | +| | <a href="#SkPath_addRRect_2">addRRect(const SkRRect& rrect, Direction dir, unsigned start)</a> | | <a href="#SkPath_addRect">addRect</a> | adds one <a href="#Contour">Contour</a> containing <a href="SkRect_Reference#Rect">Rect</a> | -| | <a href="#SkPath_addRect">addRect</a> | -| | <a href="#SkPath_addRect">addRect</a> | +| | <a href="#SkPath_addRect">addRect(const SkRect& rect, Direction dir = kCW Direction)</a> | +| | <a href="#SkPath_addRect_2">addRect(const SkRect& rect, Direction dir, unsigned start)</a> | +| | <a href="#SkPath_addRect_3">addRect(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom, Direction dir = kCW Direction)</a> | | <a href="#SkPath_addRoundRect">addRoundRect</a> | adds one <a href="#Contour">Contour</a> containing <a href="undocumented#Round_Rect">Round Rect</a> with common corner radii | -| | <a href="#SkPath_addRoundRect">addRoundRect</a> | +| | <a href="#SkPath_addRoundRect">addRoundRect(const SkRect& rect, SkScalar rx, SkScalar ry, Direction dir = kCW Direction)</a> | +| | <a href="#SkPath_addRoundRect_2">addRoundRect(const SkRect& rect, const SkScalar radii[], Direction dir = kCW Direction)</a> | | <a href="#SkPath_arcTo">arcTo</a> | appends <a href="#Arc">Arc</a> | +| | <a href="#SkPath_arcTo">arcTo(const SkRect& oval, SkScalar startAngle, SkScalar sweepAngle, bool forceMoveTo)</a> | | <a href="#SkPath_close">close</a> | makes last <a href="#Contour">Contour</a> a loop | | <a href="#SkPath_cubicTo">cubicTo</a> | appends <a href="#Cubic">Cubic</a> | +| | <a href="#SkPath_cubicTo">cubicTo(SkScalar x1, SkScalar y1, SkScalar x2, SkScalar y2, SkScalar x3, SkScalar y3)</a> | | <a href="#SkPath_lineTo">lineTo</a> | appends <a href="undocumented#Line">Line</a> | -| | <a href="#SkPath_lineTo">lineTo</a> | +| | <a href="#SkPath_lineTo">lineTo(SkScalar x, SkScalar y)</a> | +| | <a href="#SkPath_lineTo_2">lineTo(const SkPoint& p)</a> | | <a href="#SkPath_moveTo">moveTo</a> | starts <a href="#Contour">Contour</a> | -| | <a href="#SkPath_moveTo">moveTo</a> | +| | <a href="#SkPath_moveTo">moveTo(SkScalar x, SkScalar y)</a> | +| | <a href="#SkPath_moveTo_2">moveTo(const SkPoint& p)</a> | | <a href="#SkPath_rArcTo">rArcTo</a> | appends <a href="#Arc">Arc</a> relative to <a href="#Last_Point">Last Point</a> | | <a href="#SkPath_rConicTo">rConicTo</a> | appends <a href="#Conic">Conic</a> relative to <a href="#Last_Point">Last Point</a> | | <a href="#SkPath_rCubicTo">rCubicTo</a> | appends <a href="#Cubic">Cubic</a> relative to <a href="#Last_Point">Last Point</a> | @@ -2250,7 +2264,8 @@ offset from <a href="#Last_Point">Last Point</a> y to <a href="undocumented#Line --- -# <a name="Quad"></a> Quad +## <a name="Quad"></a> Quad + <a href="#Quad">Quad</a> describes a quadratic Bezier, a second-order curve identical to a section of a parabola. <a href="#Quad">Quad</a> begins at a start <a href="SkPoint_Reference#Point">Point</a>, curves towards a control <a href="SkPoint_Reference#Point">Point</a>, and then curves to an end <a href="SkPoint_Reference#Point">Point</a>. @@ -2381,7 +2396,8 @@ offset from <a href="#Last_Point">Last Point</a> x to <a href="#Quad">Quad</a> e --- -# <a name="Conic"></a> Conic +## <a name="Conic"></a> Conic + <a href="#Conic">Conic</a> describes a conical section: a piece of an ellipse, or a piece of a parabola, or a piece of a hyperbola. <a href="#Conic">Conic</a> begins at a start <a href="SkPoint_Reference#Point">Point</a>, curves towards a control <a href="SkPoint_Reference#Point">Point</a>, and then curves to an end <a href="SkPoint_Reference#Point">Point</a>. The influence @@ -2586,7 +2602,8 @@ weight of added <a href="#Conic">Conic</a></td> --- -# <a name="Cubic"></a> Cubic +## <a name="Cubic"></a> Cubic + <a href="#Cubic">Cubic</a> describes a Bezier_Curve segment described by a third-order polynomial. <a href="#Cubic">Cubic</a> begins at a start <a href="SkPoint_Reference#Point">Point</a>, curving towards the first control <a href="SkPoint_Reference#Point">Point</a>; and curves from the end <a href="SkPoint_Reference#Point">Point</a> towards the second control <a href="SkPoint_Reference#Point">Point</a>. @@ -4063,9 +4080,11 @@ overwritten, translated copy of <a href="#Path">Path</a>; may be nullptr</td> | name | description | | --- | --- | | <a href="#SkPath_offset">offset</a> | translates <a href="#Point_Array">Point Array</a> | -| | offset | +| | <a href="#SkPath_offset">offset(SkScalar dx, SkScalar dy, SkPath* dst)</a> const | +| | <a href="#SkPath_offset_2">offset(SkScalar dx, SkScalar dy)</a> | | <a href="#SkPath_transform">transform</a> | applies <a href="SkMatrix_Reference#Matrix">Matrix</a> to <a href="#Point_Array">Point Array</a> and <a href="#Weight">Weights</a> | -| | transform | +| | <a href="#SkPath_transform">transform(const SkMatrix& matrix, SkPath* dst)</a> const | +| | <a href="#SkPath_transform_2">transform(const SkMatrix& matrix)</a> | <a name="SkPath_offset_2"></a> @@ -4628,7 +4647,8 @@ length = 68; returned by readFromMemory = 64 --- -# <a name="Generation_ID"></a> Generation ID +## <a name="Generation_ID"></a> Generation ID + <a href="#Generation_ID">Generation ID</a> provides a quick way to check if <a href="#Verb_Array">Verb Array</a>, <a href="#Point_Array">Point Array</a>, or <a href="#Conic_Weight">Conic Weight</a> has changed. <a href="#Generation_ID">Generation ID</a> is not a hash; identical <a href="#Path">Paths</a> will not necessarily have matching <a href="SkPath_Reference#Generation_ID">Generation IDs</a>. diff --git a/site/user/api/SkPixmap_Reference.md b/site/user/api/SkPixmap_Reference.md index 97753c3bbd..454f6fadef 100644 --- a/site/user/api/SkPixmap_Reference.md +++ b/site/user/api/SkPixmap_Reference.md @@ -31,10 +31,10 @@ to manage pixel memory; <a href="undocumented#Pixel_Ref">Pixel Ref</a> is safe a | --- | --- | | <a href="#Image_Info_Access">Image Info Access</a> | returns all or part of <a href="SkImageInfo_Reference#Image_Info">Image Info</a> | | <a href="#Initialization">Initialization</a> | sets fields for use | +| <a href="#Pixels">Pixels</a> | read and write pixel values | | <a href="#Readable_Address">Readable Address</a> | returns read only pixels | | <a href="#Reader">Reader</a> | examine pixel value | | <a href="#Writable_Address">Writable Address</a> | returns writable pixels | -| <a href="#Writer">Writer</a> | copy to pixel values | ## <a name="Constructor"></a> Constructor @@ -1605,7 +1605,21 @@ is drawn after overwriting bottom half float color with top half float color.</d --- -## <a name="Writer"></a> Writer +## <a name="Pixels"></a> Pixels + +| name | description | +| --- | --- | +| <a href="#SkPixmap_erase">erase</a> | writes <a href="undocumented#Color">Color</a> to pixels | +| | <a href="#SkPixmap_erase">erase(SkColor color, const SkIRect& subset)</a> const | +| | <a href="#SkPixmap_erase_2">erase(SkColor color)</a> const | +| | <a href="#SkPixmap_erase_3">erase(const SkColor4f& color, const SkIRect* subset = nullptr)</a> const | +| <a href="#SkPixmap_readPixels">readPixels</a> | copies and converts pixels | +| | <a href="#SkPixmap_readPixels">readPixels(const SkImageInfo& dstInfo, void* dstPixels, size t dstRowBytes, int srcX, int srcY, SkTransferFunctionBehavior behavior)</a> const | +| | <a href="#SkPixmap_readPixels_2">readPixels(const SkImageInfo& dstInfo, void* dstPixels, size t dstRowBytes)</a> const | +| | <a href="#SkPixmap_readPixels_3">readPixels(const SkImageInfo& dstInfo, void* dstPixels, size t dstRowBytes, int srcX, int srcY)</a> const | +| | <a href="#SkPixmap_readPixels_4">readPixels(const SkPixmap& dst, int srcX, int srcY)</a> const | +| | <a href="#SkPixmap_readPixels_5">readPixels(const SkPixmap& dst)</a> const | +| <a href="#SkPixmap_scalePixels">scalePixels</a> | scales and converts pixels | <a name="SkPixmap_readPixels"></a> ## readPixels @@ -1623,7 +1637,7 @@ exceed <a href="#Pixmap">Pixmap</a> (<a href="#SkPixmap_width">width</a>, <a hre row to the next. Returns true if pixels are copied. Returns false if <a href="#SkPixmap_readPixels_dstInfo">dstInfo</a>.<a href="#SkPixmap_addr">addr</a> equals nullptr, or <a href="#SkPixmap_readPixels_dstRowBytes">dstRowBytes</a> is less than <a href="#SkPixmap_readPixels_dstInfo">dstInfo</a>.<a href="SkImageInfo_Reference#SkImageInfo">minRowBytes</a>. -Pixels are copied only if pixel conversion is possible. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkPixmap_readPixels_dstInfo">dstInfo</a>.<a href="#SkPixmap_colorType">colorType</a> must match. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkPixmap_readPixels_dstInfo">dstInfo</a>.<a href="#SkPixmap_colorSpace">colorSpace</a> must match. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_alphaType">alphaType</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkPixmap_readPixels_dstInfo">dstInfo</a>.<a href="#SkPixmap_alphaType">alphaType</a> must @@ -1686,7 +1700,7 @@ exceed <a href="#Pixmap">Pixmap</a> (<a href="#SkPixmap_width">width</a>, <a hre row to the next. Returns true if pixels are copied. Returns false if <a href="#SkPixmap_readPixels_2_dstInfo">dstInfo</a>.<a href="#SkPixmap_addr">addr</a> equals nullptr, or <a href="#SkPixmap_readPixels_2_dstRowBytes">dstRowBytes</a> is less than <a href="#SkPixmap_readPixels_2_dstInfo">dstInfo</a>.<a href="SkImageInfo_Reference#SkImageInfo">minRowBytes</a>. -Pixels are copied only if pixel conversion is possible. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkPixmap_readPixels_2_dstInfo">dstInfo</a>.<a href="#SkPixmap_colorType">colorType</a> must match. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkPixmap_readPixels_2_dstInfo">dstInfo</a>.<a href="#SkPixmap_colorSpace">colorSpace</a> must match. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_alphaType">alphaType</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkPixmap_readPixels_2_dstInfo">dstInfo</a>.<a href="#SkPixmap_alphaType">alphaType</a> must @@ -1735,7 +1749,7 @@ exceed <a href="#Pixmap">Pixmap</a> (<a href="#SkPixmap_width">width</a>, <a hre row to the next. Returns true if pixels are copied. Returns false if <a href="#SkPixmap_readPixels_3_dstInfo">dstInfo</a>.<a href="#SkPixmap_addr">addr</a> equals nullptr, or <a href="#SkPixmap_readPixels_3_dstRowBytes">dstRowBytes</a> is less than <a href="#SkPixmap_readPixels_3_dstInfo">dstInfo</a>.<a href="SkImageInfo_Reference#SkImageInfo">minRowBytes</a>. -Pixels are copied only if pixel conversion is possible. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkPixmap_readPixels_3_dstInfo">dstInfo</a>.<a href="#SkPixmap_colorType">colorType</a> must match. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkPixmap_readPixels_3_dstInfo">dstInfo</a>.<a href="#SkPixmap_colorSpace">colorSpace</a> must match. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_alphaType">alphaType</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkPixmap_readPixels_3_dstInfo">dstInfo</a>.<a href="#SkPixmap_alphaType">alphaType</a> must @@ -1788,7 +1802,7 @@ exceed <a href="#Pixmap">Pixmap</a> (<a href="#SkPixmap_width">width</a>, <a hre Returns false if <a href="#SkPixmap_readPixels_4_dst">dst</a>.<a href="#SkPixmap_addr">addr</a> equals nullptr, or <a href="#SkPixmap_readPixels_4_dst">dst</a>.<a href="#SkPixmap_rowBytes">rowBytes</a> is less than <a href="#SkPixmap_readPixels_4_dst">dst</a> <a href="#SkImageInfo_minRowBytes">SkImageInfo::minRowBytes</a>. -Pixels are copied only if pixel conversion is possible. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkPixmap_readPixels_4_dst">dst</a>.<a href="#SkPixmap_info">info</a>.<a href="#SkPixmap_colorType">colorType</a> must match. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkPixmap_readPixels_4_dst">dst</a>.<a href="#SkPixmap_info">info</a>.<a href="#SkPixmap_colorSpace">colorSpace</a> must match. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_alphaType">alphaType</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkPixmap_readPixels_4_dst">dst</a>.<a href="#SkPixmap_info">info</a>.<a href="#SkPixmap_alphaType">alphaType</a> must @@ -1836,7 +1850,7 @@ Copies pixels inside <a href="#SkPixmap_bounds">bounds</a> to <a href="#SkPixmap Returns false if <a href="#SkPixmap_readPixels_5_dst">dst</a>.<a href="#SkPixmap_addr">addr</a> equals nullptr, or <a href="#SkPixmap_readPixels_5_dst">dst</a>.<a href="#SkPixmap_rowBytes">rowBytes</a> is less than <a href="#SkPixmap_readPixels_5_dst">dst</a> <a href="#SkImageInfo_minRowBytes">SkImageInfo::minRowBytes</a>. -Pixels are copied only if pixel conversion is possible. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkPixmap_readPixels_5_dst">dst</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> must match. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkPixmap_readPixels_5_dst">dst</a> <a href="undocumented#Color_Space">Color Space</a> must match. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_alphaType">alphaType</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkPixmap_readPixels_5_dst">dst</a> <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> must @@ -1877,7 +1891,7 @@ converting pixels to match <a href="#SkPixmap_scalePixels_dst">dst</a>.<a href=" pixels are copied. Returns false if <a href="#SkPixmap_scalePixels_dst">dst</a>.<a href="#SkPixmap_addr">addr</a> is nullptr, or <a href="#SkPixmap_scalePixels_dst">dst</a>.<a href="#SkPixmap_rowBytes">rowBytes</a> is less than <a href="#SkPixmap_scalePixels_dst">dst</a> <a href="#SkImageInfo_minRowBytes">SkImageInfo::minRowBytes</a>. -Pixels are copied only if pixel conversion is possible. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is +<a href="#Pixels">Pixels</a> are copied only if pixel conversion is possible. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, or <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>; <a href="#SkPixmap_scalePixels_dst">dst</a> <a href="SkImageInfo_Reference#Color_Type">Color Type</a> must match. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_colorType">colorType</a> is <a href="SkImageInfo_Reference#SkColorType">kGray 8 SkColorType</a>, <a href="#SkPixmap_scalePixels_dst">dst</a> <a href="undocumented#Color_Space">Color Space</a> must match. If <a href="#Pixmap">Pixmap</a> <a href="#SkPixmap_alphaType">alphaType</a> is <a href="SkImageInfo_Reference#SkAlphaType">kOpaque SkAlphaType</a>, <a href="#SkPixmap_scalePixels_dst">dst</a> <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> must diff --git a/site/user/api/SkPoint_Reference.md b/site/user/api/SkPoint_Reference.md index a7f759a206..bf387f1036 100644 --- a/site/user/api/SkPoint_Reference.md +++ b/site/user/api/SkPoint_Reference.md @@ -23,6 +23,8 @@ SkPoint Reference | name | description | | --- | --- | | <a href="#SkPoint_Offset">Offset</a> | moves sides | +| <a href="#Property">Property</a> | member values | +| <a href="#Set">Set</a> | replaces all values | ## <a name="Member_Function"></a> Member Function @@ -229,12 +231,14 @@ pt.isZero() == true | name | description | | --- | --- | | <a href="#SkPoint_iset">iset</a> | sets to integer input | -| | iset | +| | <a href="#SkPoint_iset">iset(int32 t x, int32 t y)</a> | +| | <a href="#SkPoint_iset_2">iset(const SkIPoint& p)</a> | | <a href="#SkPoint_normalize">normalize</a> | sets length to one, preserving direction | | <a href="#SkPoint_set">set</a> | sets to <a href="undocumented#SkScalar">SkScalar</a> input | | <a href="#SkPoint_setAbs">setAbs</a> | sets sign of both members to positive | | <a href="#SkPoint_setLength">setLength</a> | sets straight-line distance to origin | -| | <a href="#SkPoint_setLength">setLength</a> | +| | <a href="#SkPoint_setLength">setLength(SkScalar length)</a> | +| | <a href="#SkPoint_setLength_2">setLength(SkScalar x, SkScalar y, SkScalar length)</a> | | <a href="#SkPoint_setNormalize">setNormalize</a> | sets length to one, in direction of (x, y) | <a name="SkPoint_set"></a> @@ -386,10 +390,12 @@ pt: nan, -nan abs: nan, nan | --- | --- | | <a href="#SkPoint_Normalize">Normalize</a> | sets length to one, and returns prior length | | <a href="#SkPoint_Offset">Offset</a> | translates <a href="#Point">Point</a> array | -| | <a href="#SkPoint_Offset">Offset</a> | +| | <a href="#SkPoint_Offset">Offset(SkPoint points[], int count, const SkVector& offset)</a> | +| | <a href="#SkPoint_Offset_2">Offset(SkPoint points[], int count, SkScalar dx, SkScalar dy)</a> | | <a href="#SkPoint_offset">offset</a> | translates <a href="#Point">Point</a> | | <a href="#SkPoint_scale">scale</a> | multiplies <a href="#Point">Point</a> by scale factor | -| | scale | +| | <a href="#SkPoint_scale">scale(SkScalar scale, SkPoint* dst)</a> const | +| | <a href="#SkPoint_scale_2">scale(SkScalar value)</a> | <a name="SkPoint_Offset"></a> ## Offset diff --git a/site/user/api/SkRect_Reference.md b/site/user/api/SkRect_Reference.md index f807e96e5d..61cb9a2cc8 100644 --- a/site/user/api/SkRect_Reference.md +++ b/site/user/api/SkRect_Reference.md @@ -34,7 +34,9 @@ integer input cannot convert to <a href="undocumented#SkScalar">SkScalar</a> wit | <a href="#Inset_Outset_Offset">Inset Outset Offset</a> | moves sides | | <a href="#Intersection">Intersection</a> | set to shared bounds | | <a href="#Join">Join</a> | set to union of bounds | +| <a href="#Property">Property</a> | member values, center, validity | | <a href="#Rounding">Rounding</a> | adjust to integer bounds | +| <a href="#Set">Set</a> | replaces all values | | <a href="#Sorting">Sorting</a> | orders sides | ## <a name="Member_Function"></a> Member Function @@ -486,7 +488,8 @@ integer unsorted bounds</td> | <a href="#SkRect_centerX">centerX</a> | returns midpoint in x | | <a href="#SkRect_centerY">centerY</a> | returns midpoint in y | | <a href="#SkRect_dump_2">dump</a> | sends text representation to standard output using floats | -| | dump | +| | <a href="#SkRect_dump">dump(bool asHex)</a> const | +| | <a href="#SkRect_dump_2">dump</a> const | | <a href="#SkRect_dumpHex">dumpHex</a> | sends text representation to standard output using hexadecimal | | <a href="#SkRect_height">height</a> | returns span in y | | <a href="#SkRect_isEmpty">isEmpty</a> | returns true if width or height are zero or negative | @@ -1176,6 +1179,7 @@ added: nan, 8 count: 4 rect: 0, 0, 0, 0 success: false | name | description | | --- | --- | | <a href="#SkRect_set">set</a> | sets to <a href="undocumented#SkScalar">SkScalar</a> input (left, top, right, bottom) and others | +| | <a href="#SkRect_set">set(const SkIRect& src)</a> | | <a href="#SkRect_setEmpty">setEmpty</a> | sets to (0, 0, 0, 0) | | <a href="#SkRect_setLTRB">setLTRB</a> | sets to <a href="undocumented#SkScalar">SkScalar</a> input (left, top, right, bottom) | | <a href="#SkRect_setWH">setWH</a> | sets to <a href="undocumented#SkScalar">SkScalar</a> input (0, 0, width, height) | @@ -1582,6 +1586,7 @@ rect2: {0, 0, 1, 2} | --- | --- | | <a href="#SkRect_inset">inset</a> | moves the sides symmetrically about the center | | <a href="#SkRect_offset">offset</a> | translates sides without changing width and height | +| | <a href="#SkRect_offset">offset(SkScalar dx, SkScalar dy)</a> | | <a href="#SkRect_offsetTo">offsetTo</a> | translates to (x, y) without changing width and height | | <a href="#SkRect_outset">outset</a> | moves the sides symmetrically about the center | @@ -1938,8 +1943,11 @@ describes an area: <a href="#SkRect_fLeft">fLeft</a> is less than <a href="#SkRe | --- | --- | | <a href="#SkRect_Intersects">Intersects</a> | returns true if areas overlap | | <a href="#SkRect_contains">contains</a> | returns true if points are equal or inside | +| | <a href="#SkRect_contains">contains(const SkRect& r)</a> const | | <a href="#SkRect_intersect">intersect</a> | sets to shared area; returns true if not empty | +| | <a href="#SkRect_intersect">intersect(const SkRect& r)</a> | | <a href="#SkRect_intersects">intersects</a> | returns true if areas overlap | +| | <a href="#SkRect_intersects">intersects(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom)</a> const | <a name="SkRect_contains"></a> ## contains @@ -2294,6 +2302,7 @@ intersection | name | description | | --- | --- | | <a href="#SkRect_join">join</a> | sets to union of bounds | +| | <a href="#SkRect_join">join(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom)</a> | | <a href="#SkRect_joinNonEmptyArg">joinNonEmptyArg</a> | sets to union of bounds, asserting that argument is not empty | | <a href="#SkRect_joinPossiblyEmptyRect">joinPossiblyEmptyRect</a> | sets to union of bounds. Skips empty check for both | @@ -2461,8 +2470,10 @@ sorted: 10, 0, 55, 100 | name | description | | --- | --- | | <a href="#SkRect_round_2">round</a> | sets members to nearest integer value | +| | <a href="#SkRect_round">round(SkIRect* dst)</a> const | | <a href="#SkRect_roundIn">roundIn</a> | sets members to nearest integer value towards opposite | | <a href="#SkRect_roundOut">roundOut</a> | sets members to nearest integer value away from opposite | +| | <a href="#SkRect_roundOut">roundOut(SkIRect* dst)</a> const | <a name="SkRect_round"></a> ## round diff --git a/site/user/api/SkSurface_Reference.md b/site/user/api/SkSurface_Reference.md index 901eeb9f35..a3b675e180 100644 --- a/site/user/api/SkSurface_Reference.md +++ b/site/user/api/SkSurface_Reference.md @@ -1389,11 +1389,13 @@ are not captured. <a href="SkImage_Reference#Image">Image</a> allocation is acco | name | description | | --- | --- | | <a href="#SkSurface_draw">draw</a> | draws <a href="#Surface">Surface</a> contents to canvas | -| | draw | +| | <a href="#SkSurface_draw">draw(SkCanvas* canvas, SkScalar x, SkScalar y, const SkPaint* paint)</a> | +| | <a href="#SkSurface_draw_2">draw(SkDeferredDisplayList* deferredDisplayList)</a> | | <a href="#SkSurface_peekPixels">peekPixels</a> | copies <a href="#Surface">Surface</a> parameters to <a href="SkPixmap_Reference#Pixmap">Pixmap</a> | | <a href="#SkSurface_readPixels">readPixels</a> | copies <a href="SkRect_Reference#Rect">Rect</a> of pixels | -| | <a href="#SkSurface_readPixels">readPixels</a> | -| | <a href="#SkSurface_readPixels">readPixels</a> | +| | <a href="#SkSurface_readPixels">readPixels(const SkPixmap& dst, int srcX, int srcY)</a> | +| | <a href="#SkSurface_readPixels_2">readPixels(const SkImageInfo& dstInfo, void* dstPixels, size t dstRowBytes, int srcX, int srcY)</a> | +| | <a href="#SkSurface_readPixels_3">readPixels(const SkBitmap& dst, int srcX, int srcY)</a> | <a name="SkSurface_draw"></a> ## draw |