diff options
-rw-r--r-- | docs/SkBitmap_Reference.bmh | 3 | ||||
-rw-r--r-- | docs/SkCanvas_Reference.bmh | 323 | ||||
-rw-r--r-- | docs/SkMatrix_Reference.bmh | 14 | ||||
-rw-r--r-- | docs/SkPaint_Reference.bmh | 32 | ||||
-rw-r--r-- | docs/SkPath_Reference.bmh | 3 | ||||
-rw-r--r-- | docs/SkPixmap_Reference.bmh | 8 | ||||
-rw-r--r-- | docs/undocumented.bmh | 41 | ||||
-rw-r--r-- | site/user/api/SkBitmap_Reference.md | 6 | ||||
-rw-r--r-- | site/user/api/SkCanvas_Reference.md | 517 | ||||
-rw-r--r-- | site/user/api/SkMatrix_Reference.md | 8 | ||||
-rw-r--r-- | site/user/api/SkPaint_Reference.md | 16 | ||||
-rw-r--r-- | site/user/api/SkPath_Reference.md | 3 | ||||
-rw-r--r-- | site/user/api/SkPixmap_Reference.md | 14 | ||||
-rw-r--r-- | site/user/api/catalog.htm | 85 | ||||
-rw-r--r-- | site/user/api/undocumented.md | 147 |
15 files changed, 995 insertions, 225 deletions
diff --git a/docs/SkBitmap_Reference.bmh b/docs/SkBitmap_Reference.bmh index 78677655e8..7da6797dff 100644 --- a/docs/SkBitmap_Reference.bmh +++ b/docs/SkBitmap_Reference.bmh @@ -1295,6 +1295,7 @@ Returns IRect { 0, 0, width(), height() }. #Return integral rectangle from origin to width() and height() ## #Example +#Height 128 #Image 4 SkIRect bounds = source.bounds(); for (int x : { 0, bounds.width() } ) { @@ -2246,7 +2247,7 @@ subset origin: 32, 64 ## ## -#ToDo incomplete ## +#SeeAlso SkPixelRef getSubset setPixelRef ## diff --git a/docs/SkCanvas_Reference.bmh b/docs/SkCanvas_Reference.bmh index 3c836b41d3..aec7610739 100644 --- a/docs/SkCanvas_Reference.bmh +++ b/docs/SkCanvas_Reference.bmh @@ -73,7 +73,6 @@ when no Surface is required, and some helpers implicitly create Raster_Surface. # SkCanvas(const SkBitmap& bitmap, const SkSurfaceProps& props) # Uses existing Bitmap and Surface_Properties. ## # MakeRasterDirect # Creates from SkImageInfo and Pixel_Storage. ## # MakeRasterDirectN32 # Creates from image data and Pixel_Storage. ## -#ToDo incomplete ## #Table ## #Subtopic ## @@ -232,9 +231,8 @@ void draw(SkCanvas* ) { ## ## -#ToDo incomplete ## - #SeeAlso MakeRasterDirectN32 SkSurface::MakeRasterDirect + ## # ------------------------------------------------------------------------------ @@ -306,7 +304,7 @@ void draw(SkCanvas* ) { ## ## -#ToDo incomplete ## +#SeeAlso MakeRasterDirect SkSurface::MakeRasterDirect SkImageInfo::MakeN32Premul ## @@ -358,7 +356,7 @@ void draw(SkCanvas* canvas) { ## ## -#ToDo incomplete ## +#SeeAlso MakeRasterDirect SkRasterHandleAllocator::MakeCanvas SkSurface::getCanvas SkCreateColorSpaceXformCanvas ## @@ -393,7 +391,7 @@ different characteristics, it is best not to rely on this legacy behavior. ## ## -#SeeAlso SkSurfaceProps SkPixelGeometry +#SeeAlso MakeRasterDirect SkSurfaceProps SkPixelGeometry SkCreateColorSpaceXformCanvas ## @@ -416,7 +414,9 @@ Used by child classes of SkCanvas. : SkCanvas(dev.get()) {} ## -#ToDo either remove doc of figure out a way to fiddle it ## +#ToDo either remove doc or figure out a way to fiddle it ## + +#SeeAlso MakeRasterDirect SkRasterHandleAllocator::MakeCanvas SkSurface::getCanvas SkCreateColorSpaceXformCanvas ## @@ -479,7 +479,7 @@ The actual output depends on the installed fonts. #StdOut ## ## -#ToDo incomplete ## +#SeeAlso MakeRasterDirect SkRasterHandleAllocator::MakeCanvas SkSurface::getCanvas SkCreateColorSpaceXformCanvas ## @@ -571,7 +571,7 @@ The actual output depends on the installed fonts. #StdOut ## ## -#ToDo incomplete ## +#SeeAlso MakeRasterDirect SkRasterHandleAllocator::MakeCanvas SkSurface::getCanvas SkCreateColorSpaceXformCanvas ## @@ -636,7 +636,7 @@ The storage is freed when Canvas is deleted. #StdOut ## ## -#ToDo incomplete ## +#SeeAlso SkMetaData ## @@ -660,7 +660,7 @@ GPU_Surface, returned Image_Color_Type is set to kUnknown_SkColorType. ## ## -#ToDo incomplete ## +#SeeAlso SkImageInfo MakeRasterDirect makeSurface ## @@ -694,7 +694,7 @@ return false and leave props unchanged. #StdOut ## ## -#ToDo incomplete ## +#SeeAlso SkSurfaceProps makeSurface ## @@ -704,12 +704,31 @@ return false and leave props unchanged. Triggers the immediate execution of all pending draw operations. If Canvas is associated with GPU_Surface, resolves all pending GPU operations. +If Canvas is associated with Raster_Surface, has no effect; raster draw +operations are never deferred. + +#ToDo +In an overview section on managing the GPU, include: +- flush should never change what is drawn +- call to kick off gpu work +- calling too much impacts performance +- some calls (peekPixels, prepareForExternalIO) call it internally +- canvas call is local, GrContext::flush is global +- diffentiate between flush, flushAndSignalSemaphores +- normally never needs to be called +- call it when sharing gpu resources, feeling memory pressure, swapping out app, and before + abandoning context +- also call to say "I'm finished drawing here", e.g., when drawing to a GPU-backed offscreen surface + (created with SkSurface::MakeRenderTarget) + +for posterity: this doesn't show a difference: fiddle.skia.org/c/@flushfail +## #Example #Error "haven't thought of a useful example to put here" ## -#ToDo incomplete ## +#SeeAlso peekPixels SkSurface::flush() GrContext::flush() SkSurface::prepareForExternalIO GrContext::abandonContext() ## @@ -744,6 +763,8 @@ smaller (due to clipping or saveLayer). #ToDo is this the same as the width and height of surface? ## +#SeeAlso getDeviceClipBounds + ## # ------------------------------------------------------------------------------ @@ -775,7 +796,7 @@ does not have Surface_Properties, creates Surface with default Surface_Propertie ## ## -#ToDo incomplete ## +#SeeAlso SkSurface SkSurface::makeSurface SkImageInfo SkSurfaceProps ## @@ -799,6 +820,8 @@ void draw(SkCanvas* canvas) { #ToDo fiddle should show both CPU and GPU out ## +#SeeAlso GrContext + ## # ------------------------------------------------------------------------------ @@ -879,6 +902,8 @@ void draw(SkCanvas* canvas) { #ToDo there are no callers of this that I can find. Deprecate? ## #ToDo fiddle should show both CPU and GPU out ## +#SeeAlso SkImageInfo SkPixmap + ## # ------------------------------------------------------------------------------ @@ -968,6 +993,8 @@ Canvas or Surface call may invalidate the pixmap values. ## ## +#SeeAlso readPixels SkBitmap::peekPixels SkImage::peekPixels SkSurface::peekPixels + ## # ------------------------------------------------------------------------------ @@ -1059,7 +1086,7 @@ Does not copy, and returns false if: ## ## -#SeeAlso peekPixels writePixels drawBitmap drawImage +#SeeAlso peekPixels writePixels drawBitmap drawImage SkBitmap::readPixels SkPixmap::readPixels SkImage::readPixels SkSurface::readPixels ## @@ -1122,7 +1149,7 @@ Does not copy, and returns false if: ## ## -#SeeAlso peekPixels writePixels drawBitmap drawImage +#SeeAlso peekPixels writePixels drawBitmap drawImage SkBitmap::readPixels SkPixmap::readPixels SkImage::readPixels SkSurface::readPixels ## @@ -1185,7 +1212,7 @@ void draw(SkCanvas* canvas) { ## ## -#SeeAlso peekPixels writePixels drawBitmap drawImage +#SeeAlso peekPixels writePixels drawBitmap drawImage SkBitmap::readPixels SkPixmap::readPixels SkImage::readPixels SkSurface::readPixels ## @@ -1242,7 +1269,7 @@ this->imageInfo().alphaType(). ## } ## -#SeeAlso readPixels drawBitmap drawImage +#SeeAlso readPixels drawBitmap drawImage SkBitmap::writePixels ## @@ -1307,7 +1334,7 @@ void draw(SkCanvas* canvas) { } ## -#SeeAlso readPixels drawBitmap drawImage +#SeeAlso readPixels drawBitmap drawImage SkBitmap::writePixels ## @@ -1418,7 +1445,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha restore() restoreToCount ## @@ -1440,6 +1467,8 @@ void draw(SkCanvas* canvas) { } ## +#SeeAlso save() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha restoreToCount + ## # ------------------------------------------------------------------------------ @@ -1468,6 +1497,8 @@ depth = 1 ## ## +#SeeAlso save() restore() restoreToCount + ## # ------------------------------------------------------------------------------ @@ -1498,6 +1529,8 @@ depth = 1 ## ## +#SeeAlso restore() getSaveCount save() + ## #Topic State_Stack ## @@ -1561,7 +1594,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha SaveLayerRec ## @@ -1609,7 +1642,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso save() restore() saveLayerPreserveLCDTextRequests saveLayerAlpha SaveLayerRec ## @@ -1666,7 +1699,7 @@ incorrect blending. } ## -#ToDo incomplete ## +#SeeAlso save() restore() saveLayer saveLayerAlpha SaveLayerRec ## @@ -1707,7 +1740,7 @@ Call restoreToCount with returned value to restore this and subsequent saves. canvas->restore(); ## -#ToDo incomplete ## +#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests SaveLayerRec ## @@ -1773,7 +1806,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha SaveLayerRec #Enum ## @@ -1870,6 +1903,8 @@ Sets fBounds, fPaint, and fBackdrop to nullptr. Clears fSaveLayerFlags. ## ## +#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha + ## #Method SaveLayerRec(const SkRect* bounds, const SkPaint* paint, SaveLayerFlags saveLayerFlags = 0) @@ -1894,6 +1929,8 @@ Sets fBounds, fPaint, and fSaveLayerFlags; sets fBackdrop to nullptr. ## ## +#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha + ## #Method SaveLayerRec(const SkRect* bounds, const SkPaint* paint, const SkImageFilter* backdrop, @@ -1923,6 +1960,8 @@ Sets fBounds, fPaint, fBackdrop, and fSaveLayerFlags. ## ## +#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha + ## #Method SaveLayerRec(const SkRect* bounds, const SkPaint* paint, const SkImageFilter* backdrop, @@ -1937,7 +1976,7 @@ Sets fBounds, fPaint, fBackdrop, fClipMask, fClipMatrix, and fSaveLayerFlags. clipMatrix uses Color_Alpha channel of image, transformed by clipMatrix, to clip Layer when drawn to Canvas. -Implementation is incomplete; has no effect if Device is GPU-backed. +Implementation is not complete; has no effect if Device is GPU-backed. #Param bounds Layer dimensions; may be nullptr ## #Param paint graphics state applied to Layer when overlaying prior @@ -1954,7 +1993,7 @@ Implementation is incomplete; has no effect if Device is GPU-backed. #Return SaveLayerRec fully specified ## -#ToDo incomplete ## +#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha ## @@ -2003,6 +2042,8 @@ Outside of the circle the mandrill is brightened. #ToDo above example needs to replace GetResourceAsImage with way to select image in fiddle ## +#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha + ## #Topic Layer ## @@ -2054,7 +2095,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso concat() scale() skew() rotate() setMatrix ## @@ -2086,7 +2127,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso concat() translate() skew() rotate() setMatrix ## @@ -2123,7 +2164,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso concat() translate() skew() scale() setMatrix ## @@ -2156,7 +2197,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso concat() translate() skew() scale() setMatrix ## @@ -2201,7 +2242,7 @@ the result with Matrix. canvas->drawString("A1", 0, 0, paint); ## -#ToDo incomplete ## +#SeeAlso concat() translate() rotate() scale() setMatrix ## @@ -2233,7 +2274,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso translate() rotate() scale() skew() setMatrix ## @@ -2259,7 +2300,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso resetMatrix concat() translate() rotate() scale() skew() ## @@ -2282,7 +2323,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso setMatrix concat() translate() rotate() scale() skew() ## @@ -2302,7 +2343,7 @@ This does not account for translation by Device or Surface. ## ## -#ToDo incomplete ## +#SeeAlso setMatrix resetMatrix concat() ## @@ -2394,7 +2435,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso clipRRect clipPath clipRegion ## @@ -2422,7 +2463,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso clipRRect clipPath clipRegion ## @@ -2463,7 +2504,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso clipRRect clipPath clipRegion ## @@ -2510,7 +2551,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso clipRect clipPath clipRegion ## @@ -2534,7 +2575,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso clipRect clipPath clipRegion ## @@ -2558,7 +2599,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso clipRect clipPath clipRegion ## @@ -2599,7 +2640,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso clipRect clipRRect clipRegion ## @@ -2640,7 +2681,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso clipRect clipRRect clipRegion ## @@ -2682,7 +2723,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso clipRect clipRRect clipRegion ## @@ -2731,7 +2772,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso clipRect clipRRect clipPath ## @@ -2764,7 +2805,7 @@ void draw(SkCanvas* canvas) { ## ## -#ToDo incomplete ## +#SeeAlso getLocalClipBounds getTotalMatrix SkBitmap::drawsNothing ## @@ -2800,7 +2841,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso getLocalClipBounds getTotalMatrix SkBitmap::drawsNothing ## @@ -2845,6 +2886,7 @@ is Anti-aliased. # local canvas in example works around bug in fiddle ## #Bug 6524 ## +#SeeAlso getDeviceClipBounds getBaseLayerSize quickReject ## @@ -2880,6 +2922,7 @@ is Anti-aliased. # local canvas in example works around bug in fiddle ## #Bug 6524 ## +#SeeAlso getDeviceClipBounds getBaseLayerSize quickReject ## @@ -2927,6 +2970,7 @@ void draw(SkCanvas* canvas) { ## #ToDo some confusion on why with an identity Matrix local and device are different ## +#SeeAlso getLocalClipBounds getBaseLayerSize quickReject # device canvas in example works around bug in fiddle ## #Bug 6524 ## @@ -2960,7 +3004,7 @@ Unlike getLocalClipBounds, bounds is not outset. ## ## -#ToDo incomplete ## +#SeeAlso getLocalClipBounds getBaseLayerSize quickReject ## @@ -2984,7 +3028,7 @@ mode determines how Color_ARGB is combined with destination. canvas->drawColor(SkColorSetARGB(0x80, 0x00, 0x00, 0xFF), SkBlendMode::kPlus); ## -#ToDo incomplete ## +#SeeAlso clear SkBitmap::erase drawPaint ## @@ -3012,7 +3056,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawColor SkBitmap::erase drawPaint ## @@ -3033,6 +3077,7 @@ It is not necessary to call discard() once done with Canvas; any cached data is deleted when owning Surface or Device is deleted. #ToDo example? not sure how to make this meaningful w/o more implementation detail ## +#SeeAlso flush() SkSurface::prepareForExternalIO GrContext::abandonContext #NoExample ## @@ -3061,7 +3106,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso clear drawColor SkBitmap::erase ## @@ -3116,7 +3161,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawLine drawPoint drawPath ## @@ -3196,7 +3241,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawLine drawPoint drawPath ## @@ -3232,7 +3277,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawPoints drawCircle drawRect drawLine drawPath ## @@ -3265,7 +3310,7 @@ void draw(SkCanvas* canvas) { } ## -#SeeAlso drawPoints drawCircle drawRect +#SeeAlso drawPoints drawCircle drawRect drawLine drawPath ## @@ -3295,7 +3340,7 @@ Paint_Style is ignored, as if were set to SkPaint::kStroke_Style. canvas->drawLine(288, 96, 288, 160, paint); ## -#ToDo incomplete ## +#SeeAlso drawPoint drawCircle drawRect drawPath ## @@ -3321,7 +3366,7 @@ Paint_Style is ignored, as if were set to SkPaint::kStroke_Style. canvas->drawLine({288, 96}, {288, 160}, paint); ## -#ToDo incomplete ## +#SeeAlso drawPoint drawCircle drawRect drawPath ## @@ -3357,7 +3402,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawIRect drawRRect drawRoundRect drawRegion drawPath drawLine ## @@ -3387,7 +3432,7 @@ Paint_Stroke_Join draws the corners rounded or square. } ## -#ToDo incomplete ## +#SeeAlso drawRect drawRRect drawRoundRect drawRegion drawPath drawLine ## @@ -3417,7 +3462,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawRect drawIRect drawPath ## @@ -3448,7 +3493,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawCircle drawPoint drawPath drawRRect drawRoundRect ## @@ -3487,7 +3532,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawRect drawRoundRect drawDRRect drawCircle drawOval drawPath ## @@ -3541,7 +3586,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawRect drawRoundRect drawRRect drawCircle drawOval drawPath ## @@ -3571,7 +3616,7 @@ if stroked, Paint_Stroke_Width describes the line thickness. } ## -#ToDo incomplete ## +#SeeAlso drawOval drawRRect drawRoundRect drawPath drawArc drawPoint drawLine ## @@ -3598,7 +3643,7 @@ if stroked, Paint_Stroke_Width describes the line thickness. } ## -#ToDo incomplete ## +#SeeAlso drawOval drawRRect drawRoundRect drawPath drawArc drawPoint drawLine ## @@ -3662,7 +3707,7 @@ If Rect oval is empty or sweepAngle is zero, nothing is drawn. } ## -#ToDo incomplete ## +#SeeAlso SkPath::arcTo drawCircle drawOval drawPath ## @@ -3709,7 +3754,7 @@ Paint_Stroke_Join. } ## -#ToDo incomplete ## +#SeeAlso DrawRRect drawRect drawDRRect drawPath drawCircle drawOval drawPoint ## @@ -3772,7 +3817,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso SkPath drawLine drawArc drawRect drawPoints ## @@ -3815,7 +3860,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawBitmap drawImageLattice drawImageNine drawImageRect SkPaint::setImageFilter ## @@ -3854,7 +3899,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawBitmap drawImageLattice drawImageNine drawImageRect SkPaint::setImageFilter ## @@ -3922,7 +3967,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawImageRect drawImage SkPaint::setImageFilter ## @@ -3987,7 +4032,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso SrcRectConstraint drawImage drawImageLattice drawImageNine ## @@ -4032,7 +4077,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso SrcRectConstraint drawImage drawImageLattice drawImageNine ## @@ -4073,7 +4118,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso SrcRectConstraint drawImage drawImageLattice drawImageNine ## @@ -4129,7 +4174,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso SrcRectConstraint drawImage drawImageLattice drawImageNine ## @@ -4181,7 +4226,8 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso SrcRectConstraint drawImage drawImageLattice drawImageNine + ## # ------------------------------------------------------------------------------ @@ -4230,7 +4276,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso SrcRectConstraint drawImage drawImageLattice drawImageNine ## @@ -4296,7 +4342,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawImage drawBitmapNine drawImageLattice drawImageRect ## @@ -4363,7 +4409,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawImage drawBitmapNine drawImageLattice drawImageRect ## @@ -4415,7 +4461,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawImage drawBitmapLattice drawBitmapNine drawBitmapRect SkBitmap::readPixels SkBitmap::writePixels ## @@ -4472,7 +4518,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawImageRect drawBitmap drawBitmapLattice drawBitmapNine ## @@ -4530,7 +4576,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawImageRect drawBitmap drawBitmapLattice drawBitmapNine ## @@ -4581,7 +4627,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawImageRect drawBitmap drawBitmapLattice drawBitmapNine ## @@ -4649,7 +4695,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawImageNine drawBitmap drawBitmapLattice drawBitmapRect ## @@ -4807,7 +4853,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawImageLattice drawBitmap drawBitmapNine Lattice ## @@ -4884,7 +4930,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawBitmapLattice drawImage drawImageNine Lattice ## @@ -4943,7 +4989,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawString drawPosText drawPosTextH drawTextBlob drawTextOnPath drawTextRSXform ## @@ -4976,7 +5022,7 @@ filled 12 point black Glyphs. canvas->drawString("a small hello", 20, 20, paint); ## -#SeeAlso drawText +#SeeAlso drawText drawPosText drawPosTextH drawTextBlob drawTextOnPath drawTextRSXform ## @@ -5010,7 +5056,7 @@ filled 12 point black Glyphs. canvas->drawString(string, 20, 20, paint); ## -#SeeAlso drawText +#SeeAlso drawText drawPosText drawPosTextH drawTextBlob drawTextOnPath drawTextRSXform ## @@ -5053,7 +5099,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawText drawPosTextH drawTextBlob drawTextOnPath drawTextRSXform ## @@ -5095,7 +5141,7 @@ baseline. } ## -#ToDo incomplete ## +#SeeAlso drawText drawPosText drawTextBlob drawTextOnPath drawTextRSXform ## @@ -5143,7 +5189,7 @@ filled 12 point black Glyphs. } ## -#ToDo incomplete ## +#SeeAlso drawTextOnPath drawText drawPosTextH drawTextBlob drawTextRSXform ## @@ -5197,7 +5243,7 @@ filled 12 point black Glyphs. } ## -#ToDo incomplete ## +#SeeAlso drawTextOnPathHV drawText drawPosTextH drawTextBlob drawTextRSXform ## @@ -5247,7 +5293,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawTextOnPath drawTextOnPathHV drawText drawPosText drawTextBlob ## @@ -5297,7 +5343,7 @@ Image_Filter, and Draw_Looper; apply to blob. } ## -#ToDo incomplete ## +#SeeAlso drawText drawPosText drawPosTextH ## @@ -5342,7 +5388,7 @@ Paint attributes related to text, like text size, have no effect on paint passed } ## -#ToDo incomplete ## +#SeeAlso drawText drawPosText drawPosTextH ## @@ -5378,7 +5424,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawDrawable SkPicture SkPicture::playback ## @@ -5413,7 +5459,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawDrawable SkPicture SkPicture::playback ## @@ -5455,7 +5501,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawDrawable SkPicture SkPicture::playback ## @@ -5496,7 +5542,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawDrawable SkPicture SkPicture::playback ## @@ -5523,7 +5569,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawPatch drawPicture ## @@ -5553,7 +5599,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawPatch drawPicture ## @@ -5611,7 +5657,8 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete; can patch use image filter? ## +#ToDo can patch use image filter? ## +#SeeAlso SeeAlso drawVertices drawPicture ## @@ -5692,7 +5739,8 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete; can patch use image filter? ## +#ToDo can patch use image filter? ## +#SeeAlso SeeAlso drawVertices drawPicture ## @@ -5733,7 +5781,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawBitmap drawImage ## @@ -5777,6 +5825,8 @@ void draw(SkCanvas* canvas) { #ToDo bug in example on cpu side, gpu looks ok ## +#SeeAlso drawBitmap drawImage + ## # ------------------------------------------------------------------------------ @@ -5811,7 +5861,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawBitmap drawImage ## @@ -5846,7 +5896,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso drawBitmap drawImage ## @@ -5892,7 +5942,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso SkDrawable drawPicture ## @@ -5936,7 +5986,7 @@ void draw(SkCanvas* canvas) { } ## -#ToDo incomplete ## +#SeeAlso SkDrawable drawPicture ## @@ -5966,7 +6016,7 @@ Document_PDF, use annotations. canvas->drawAnnotation(bounds, "url_key", urlData.get()); ## -#ToDo incomplete ## +#SeeAlso SkPicture SkDocument ## @@ -5996,7 +6046,7 @@ Document_PDF, use annotations. canvas->drawAnnotation(bounds, "url_key", urlData.get()); ## -#ToDo incomplete ## +#SeeAlso SkPicture SkDocument ## @@ -6043,7 +6093,7 @@ work until Clip changes. ## ## -#ToDo incomplete ## +#SeeAlso isClipRect getLocalClipBounds getDeviceClipBounds ## @@ -6068,7 +6118,7 @@ Returns false if the clip is empty, or if it is not Rect. ## ## -#ToDo incomplete ## +#SeeAlso isClipEmpty getLocalClipBounds getDeviceClipBounds ## @@ -6090,7 +6140,18 @@ Preserves Canvas save count. Optionally saves Canvas Clip and Matrix. #Return utility to restore Canvas state on destructor ## #Example -// incomplete +#Height 128 + SkPaint p;
+ p.setAntiAlias(true);
+ p.setTextSize(64);
+ for (SkScalar sx : { -1, 1 } ) {
+ for (SkScalar sy : { -1, 1 } ) {
+ SkAutoCanvasRestore autoRestore(canvas, true);
+ SkMatrix m = SkMatrix::MakeAll(sx, 1, 96, 0, sy, 64, 0, 0, 1);
+ canvas->concat(m);
+ canvas->drawString("R", 0, 0, p);
+ }
+ }
## #SeeAlso SkCanvas::save SkCanvas::restore @@ -6099,10 +6160,10 @@ Preserves Canvas save count. Optionally saves Canvas Clip and Matrix. #Method ~SkAutoCanvasRestore() -Restores Canvas to saved state. +Restores Canvas to saved state. Destructor is called when container goes out of +scope. -#Example -// incomplete +#NoExample ## #SeeAlso SkCanvas::save SkCanvas::restore @@ -6115,7 +6176,31 @@ Restores Canvas to saved state immediately. Subsequent calls and ~SkAutoCanvasRestore have no effect. #Example -// incomplete +for (bool callRestore : { false, true } ) {
+ for (bool saveCanvas : {false, true} ) {
+ SkAutoCanvasRestore autoRestore(canvas, saveCanvas);
+ if (!saveCanvas) {
+ canvas->save();
+ }
+ SkDebugf("saveCanvas: %s before restore: %d\n",
+ saveCanvas ? "true" : "false", canvas->getSaveCount());
+ if (callRestore) autoRestore.restore();
+ SkDebugf("saveCanvas: %s after restore: %d\n",
+ saveCanvas ? "true" : "false", canvas->getSaveCount());
+ }
+}
+SkDebugf("final count: %d\n", canvas->getSaveCount());
+#StdOut
+saveCanvas: false before restore: 2
+saveCanvas: false after restore: 2
+saveCanvas: true before restore: 2
+saveCanvas: true after restore: 2
+saveCanvas: false before restore: 2
+saveCanvas: false after restore: 1
+saveCanvas: true before restore: 2
+saveCanvas: true after restore: 1
+final count: 1
+##
## #SeeAlso SkCanvas::save SkCanvas::restore diff --git a/docs/SkMatrix_Reference.bmh b/docs/SkMatrix_Reference.bmh index 54d21c8fff..107457c5a6 100644 --- a/docs/SkMatrix_Reference.bmh +++ b/docs/SkMatrix_Reference.bmh @@ -1372,6 +1372,7 @@ Sets all values from parameters. Sets matrix to: #Param persp2 perspective scale factor to store ## #Example +#Height 128 SkPaint p; p.setAntiAlias(true); p.setTextSize(64); @@ -1379,7 +1380,7 @@ Sets all values from parameters. Sets matrix to: for (SkScalar sx : { -1, 1 } ) { for (SkScalar sy : { -1, 1 } ) { SkAutoCanvasRestore autoRestore(canvas, true); - m.setAll(sx, 1, 128, 0, sy, 128, 0, 0, 1); + m.setAll(sx, 1, 128, 0, sy, 64, 0, 0, 1); canvas->concat(m); canvas->drawString("K", 0, 0, p); } @@ -1574,6 +1575,7 @@ The pivot point is unchanged when mapped with Matrix. #Param py pivot y ## #Example +#Height 128 SkPaint p; p.setAntiAlias(true); p.setTextSize(64); @@ -1581,9 +1583,9 @@ The pivot point is unchanged when mapped with Matrix. for (SkScalar sx : { -1, 1 } ) { for (SkScalar sy : { -1, 1 } ) { SkAutoCanvasRestore autoRestore(canvas, true); - m.setScale(sx, sy, 128, 128); + m.setScale(sx, sy, 128, 64); canvas->concat(m); - canvas->drawString("K", 128, 128, p); + canvas->drawString("%", 128, 64, p); } } ## @@ -1602,6 +1604,7 @@ Sets Matrix to scale by sx and sy about at pivot point at (0, 0). #Param sy vertical scale factor ## #Example +#Height 128 SkPaint p; p.setAntiAlias(true); p.setTextSize(64); @@ -1610,9 +1613,9 @@ Sets Matrix to scale by sx and sy about at pivot point at (0, 0). for (SkScalar sy : { -1, 1 } ) { SkAutoCanvasRestore autoRestore(canvas, true); m.setScale(sx, sy); - m.postTranslate(128, 128); + m.postTranslate(128, 64); canvas->concat(m); - canvas->drawString("K", 0, 0, p); + canvas->drawString("@", 0, 0, p); } } ## @@ -3827,6 +3830,7 @@ Matrix * pt = |D E F| |y| = |Ax+By+C Dx+Ey+F Gx+Hy+I| = ------- , ------- #Param rect Rect to map ## #Example +#Height 192 SkPaint paint; paint.setAntiAlias(true); SkMatrix matrix; diff --git a/docs/SkPaint_Reference.bmh b/docs/SkPaint_Reference.bmh index 3369cd2861..aa388d3b09 100644 --- a/docs/SkPaint_Reference.bmh +++ b/docs/SkPaint_Reference.bmh @@ -630,7 +630,7 @@ by the client. #NoExample ## -#ToDo incomplete ## +#SeeAlso SkReadBuffer ## @@ -847,7 +847,7 @@ To be deprecated; only valid for Android framework. mask for strike-thru text ## -#ToDo incomplete ## +#SeeAlso Flags getFlags #Enum ## @@ -2431,6 +2431,7 @@ Stroke_Width at the contour point. Stroke_Cap is kButt_Cap by default. #Example +#Height 200 SkPaint paint; paint.setStyle(SkPaint::kStroke_Style); paint.setStrokeWidth(20); @@ -2502,18 +2503,19 @@ to the end of a curve within the contour does not match the tangent direction of the following curve, the pair of curves meet at Stroke_Join. #Example - SkPaint paint; - paint.setStyle(SkPaint::kStroke_Style); - paint.setStrokeWidth(20); - SkPath path; - path.moveTo(30, 30); - path.lineTo(40, 50); - path.conicTo(70, 30, 100, 30, .707f); - for (SkPaint::Join j : { SkPaint::kMiter_Join, SkPaint::kRound_Join, SkPaint::kBevel_Join } ) { - paint.setStrokeJoin(j); - canvas->drawPath(path, paint); - canvas->translate(0, 70); - } +#Height 200 + SkPaint paint;
+ paint.setStyle(SkPaint::kStroke_Style);
+ paint.setStrokeWidth(20);
+ SkPath path;
+ path.moveTo(30, 20);
+ path.lineTo(40, 40);
+ path.conicTo(70, 20, 100, 20, .707f);
+ for (SkPaint::Join j : { SkPaint::kMiter_Join, SkPaint::kRound_Join, SkPaint::kBevel_Join } ) {
+ paint.setStrokeJoin(j);
+ canvas->drawPath(path, paint);
+ canvas->translate(0, 70);
+ }
## #Enum Join @@ -5293,7 +5295,7 @@ suppressed by defining SK_IGNORE_TO_STRING. ## -#ToDo incomplete ## +#SeeAlso SkPathEffect::toString SkMaskFilter::toString SkColorFilter::toString SkImageFilter::toString ## diff --git a/docs/SkPath_Reference.bmh b/docs/SkPath_Reference.bmh index 9caad2d481..1027a71fee 100644 --- a/docs/SkPath_Reference.bmh +++ b/docs/SkPath_Reference.bmh @@ -204,7 +204,6 @@ SkPath::updateBoundsCache to make Path thread safe. #Topic Overview #Subtopic Constants -#ToDo incomplete ## #Table #Legend # constants # description ## @@ -214,7 +213,7 @@ SkPath::updateBoundsCache to make Path thread safe. # Convexity # Returns if Path is convex or concave. ## # Direction # Sets Contour clockwise or counterclockwise. ## # FillType # Sets winding rule and inverse fill. ## -# SegmentMask +# SegmentMask # Returns Verb types in Path. ## # Verb # Controls how Path Points are interpreted. ## #Table ## #Subtopic ## diff --git a/docs/SkPixmap_Reference.bmh b/docs/SkPixmap_Reference.bmh index 9cec400b4b..e06f70909a 100644 --- a/docs/SkPixmap_Reference.bmh +++ b/docs/SkPixmap_Reference.bmh @@ -219,7 +219,7 @@ out of scope, addr is unaffected. #Example #Image 4 -#Height 128 +#Height 64 void draw(SkCanvas* canvas) { std::vector<int32_t> pixels; pixels.resize(image->height() * image->width() * 4); @@ -1144,7 +1144,7 @@ pixmap.addr32(1, 2) == &storage[1 + 2 * w] ## ## -#ToDo incomplete ## +#SeeAlso addr() addr8 addr16 addr64 addrF16 getColor writable_addr writable_addr64 ## @@ -1437,6 +1437,7 @@ One word corresponds to one pixel. #Return writable unsigned 64-bit pointer to pixel ## #Example +#Height 40 SkImageInfo info = SkImageInfo::Make(3, 3, kRGBA_F16_SkColorType, kPremul_SkAlphaType); uint64_t storage[9]; SkPixmap pixmap(info, storage, 3 * sizeof(uint64_t)); @@ -1894,6 +1895,7 @@ not intersect bounds(). #Return true if pixels are changed ## #Example +#Height 50 uint32_t storage[2]; SkImageInfo info = SkImageInfo::MakeN32Premul(1, 2); SkPixmap pixmap(info, storage, info.minRowBytes()); @@ -1922,6 +1924,7 @@ is empty. #Return true if pixels are changed ## #Example +#Height 50 uint32_t storage[2]; SkImageInfo info = SkImageInfo::MakeN32Premul(1, 2); SkPixmap pixmap(info, storage, info.minRowBytes()); @@ -1951,6 +1954,7 @@ not intersect bounds(), or if subset is nullptr and bounds() is empty. #Return true if pixels are changed ## #Example +#Height 50 uint32_t storage[2]; SkImageInfo info = SkImageInfo::MakeN32Premul(1, 2); SkPixmap pixmap(info, storage, info.minRowBytes()); diff --git a/docs/undocumented.bmh b/docs/undocumented.bmh index 8a57459607..8cb21282a0 100644 --- a/docs/undocumented.bmh +++ b/docs/undocumented.bmh @@ -137,6 +137,8 @@ FT_Load_Glyph #Topic Color_Filter #Class SkColorFilter +#Method void toString(SkString* str) const +## #Class ## #Topic ## @@ -153,6 +155,12 @@ FT_Load_Glyph #EnumClass ## ## +#Topic Create_Color_Space_Xform_Canvas +#Method std::unique_ptr<SkCanvas> SK_API SkCreateColorSpaceXformCanvas(SkCanvas* target, + sk_sp<SkColorSpace> targetCS) +## +## + #Topic Core_Graphics #Substitute Core Graphics ## @@ -254,6 +262,10 @@ FT_Load_Glyph #Topic GPU_Context #Substitute GPU context +#Class GrContext +#Method void flush() +## +## ## #Topic GPU_Surface @@ -312,6 +324,8 @@ FT_Load_Glyph #Struct SkImageInfo #Method SkImageInfo() ## + #Method static SkImageInfo MakeN32Premul(int width, int height, sk_sp<SkColorSpace> cs = nullptr) + ## #Method SkImageInfo makeColorSpace(sk_sp<SkColorSpace> cs) const ## #Method size_t minRowBytes() const @@ -351,6 +365,8 @@ FT_Load_Glyph ## #Method bool scalePixels(const SkPixmap& dst, SkFilterQuality, CachingHint = kAllow_CachingHint) const ## + #Method bool peekPixels(SkPixmap* pixmap) const + ## ## #Topic ## @@ -358,6 +374,8 @@ FT_Load_Glyph #Subtopic Scaling #Subtopic ## #Class SkImageFilter +#Method void toString(SkString* str) const +## #Class ## #Topic ## @@ -410,6 +428,8 @@ FT_Load_Glyph #Method virtual bool filterMask(SkMask* dst, const SkMask& src, const SkMatrix&, SkIPoint* margin) const ## +#Method void toString(SkString* str) const +## #Class ## #Topic ## @@ -436,6 +456,11 @@ FT_Load_Glyph ## ## +#Topic Meta_Data +#Class SkMetaData +## +## + #Topic Mip_Map ## @@ -508,6 +533,8 @@ FT_Load_Glyph #Topic Path_Effect #Class SkPathEffect + #Method void toString(SkString* str) const + ## #Class ## #Topic ## @@ -524,6 +551,10 @@ FT_Load_Glyph #Topic ## #Topic Picture +#Class SkPicture +#Method virtual void playback(SkCanvas*, AbortCallback* = nullptr) const = 0 +## +## #Subtopic Recorder #Class SkPictureRecorder #Method SkCanvas* beginRecording(const SkRect& bounds, @@ -677,6 +708,16 @@ FT_Load_Glyph ## #Method bool readPixels(const SkPixmap& dst, int srcX, int srcY); ## + #Method SkCanvas* getCanvas() + ## + #Method void flush() + ## + #Method void prepareForExternalIO() + ## + #Method sk_sp<SkSurface> makeSurface(const SkImageInfo&) + ## + #Method bool peekPixels(SkPixmap*) + ## ## #Subtopic Properties #Class SkSurfaceProps diff --git a/site/user/api/SkBitmap_Reference.md b/site/user/api/SkBitmap_Reference.md index df514533e9..824da343c7 100644 --- a/site/user/api/SkBitmap_Reference.md +++ b/site/user/api/SkBitmap_Reference.md @@ -1406,7 +1406,7 @@ integral rectangle from origin to <a href="#SkBitmap_width">width</a> and <a hre ### Example -<div><fiddle-embed name="977dd8a850f89a610505e3f4f260d540"></fiddle-embed></div> +<div><fiddle-embed name="bd020c1527964761adf7646e82a36487"></fiddle-embed></div> ### See Also @@ -2262,6 +2262,10 @@ subset origin: 32, 64 </fiddle-embed></div> +### See Also + +<a href="undocumented#SkPixelRef">SkPixelRef</a> <a href="#SkBitmap_getSubset">getSubset</a> <a href="#SkBitmap_setPixelRef">setPixelRef</a> + --- <a name="SkBitmap_setPixelRef"></a> diff --git a/site/user/api/SkCanvas_Reference.md b/site/user/api/SkCanvas_Reference.md index 5d59fd4dd4..33ce63104b 100644 --- a/site/user/api/SkCanvas_Reference.md +++ b/site/user/api/SkCanvas_Reference.md @@ -268,6 +268,10 @@ in the center.</div> </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_MakeRasterDirect">MakeRasterDirect</a> <a href="#SkSurface_MakeRasterDirect">SkSurface::MakeRasterDirect</a> <a href="#SkImageInfo_MakeN32Premul">SkImageInfo::MakeN32Premul</a> + --- <a name="SkCanvas_empty_constructor"></a> @@ -298,6 +302,10 @@ paint draws text top to bottom </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_MakeRasterDirect">MakeRasterDirect</a> <a href="#SkRasterHandleAllocator_MakeCanvas">SkRasterHandleAllocator::MakeCanvas</a> <a href="#SkSurface_getCanvas">SkSurface::getCanvas</a> <a href="undocumented#SkCreateColorSpaceXformCanvas">SkCreateColorSpaceXformCanvas</a> + --- <a name="SkCanvas_int_int_const_SkSurfaceProps_star"></a> @@ -346,7 +354,7 @@ canvas is empty ### See Also -<a href="undocumented#SkSurfaceProps">SkSurfaceProps</a> <a href="undocumented#SkPixelGeometry">SkPixelGeometry</a> +<a href="#SkCanvas_MakeRasterDirect">MakeRasterDirect</a> <a href="undocumented#SkSurfaceProps">SkSurfaceProps</a> <a href="undocumented#SkPixelGeometry">SkPixelGeometry</a> <a href="undocumented#SkCreateColorSpaceXformCanvas">SkCreateColorSpaceXformCanvas</a> --- @@ -375,6 +383,10 @@ specifies a <a href="#SkCanvas_copy_SkBaseDevice_star_device">device</a> for the <div><fiddle-embed name=""></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_MakeRasterDirect">MakeRasterDirect</a> <a href="#SkRasterHandleAllocator_MakeCanvas">SkRasterHandleAllocator::MakeCanvas</a> <a href="#SkSurface_getCanvas">SkSurface::getCanvas</a> <a href="undocumented#SkCreateColorSpaceXformCanvas">SkCreateColorSpaceXformCanvas</a> + --- <a name="SkCanvas_copy_const_SkBitmap"></a> @@ -426,6 +438,10 @@ storage of <a href="undocumented#Raster_Surface">Raster Surface</a></td> </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_MakeRasterDirect">MakeRasterDirect</a> <a href="#SkRasterHandleAllocator_MakeCanvas">SkRasterHandleAllocator::MakeCanvas</a> <a href="#SkSurface_getCanvas">SkSurface::getCanvas</a> <a href="undocumented#SkCreateColorSpaceXformCanvas">SkCreateColorSpaceXformCanvas</a> + --- ## <a name="SkCanvas_ColorBehavior"></a> Enum SkCanvas::ColorBehavior @@ -516,6 +532,10 @@ device independent fonts</td> </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_MakeRasterDirect">MakeRasterDirect</a> <a href="#SkRasterHandleAllocator_MakeCanvas">SkRasterHandleAllocator::MakeCanvas</a> <a href="#SkSurface_getCanvas">SkSurface::getCanvas</a> <a href="undocumented#SkCreateColorSpaceXformCanvas">SkCreateColorSpaceXformCanvas</a> + --- <a name="SkCanvas_destructor"></a> @@ -569,6 +589,10 @@ after: (null) </fiddle-embed></div> +### See Also + +<a href="undocumented#SkMetaData">SkMetaData</a> + --- <a name="SkCanvas_imageInfo"></a> @@ -597,6 +621,10 @@ emptyInfo == canvasInfo </fiddle-embed></div> +### See Also + +<a href="undocumented#SkImageInfo">SkImageInfo</a> <a href="#SkCanvas_MakeRasterDirect">MakeRasterDirect</a> <a href="#SkCanvas_makeSurface">makeSurface</a> + --- <a name="SkCanvas_getProps"></a> @@ -634,6 +662,10 @@ isRGB:1 </fiddle-embed></div> +### See Also + +<a href="undocumented#SkSurfaceProps">SkSurfaceProps</a> <a href="#SkCanvas_makeSurface">makeSurface</a> + --- <a name="SkCanvas_flush"></a> @@ -645,11 +677,17 @@ void flush() Triggers the immediate execution of all pending draw operations. If <a href="#Canvas">Canvas</a> is associated with <a href="undocumented#GPU_Surface">GPU Surface</a>, resolves all pending <a href="undocumented#GPU">GPU</a> operations. +If <a href="#Canvas">Canvas</a> is associated with <a href="undocumented#Raster_Surface">Raster Surface</a>, has no effect; raster draw +operations are never deferred. ### Example <div><fiddle-embed name=""></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_peekPixels">peekPixels</a> <a href="#SkSurface_flush">SkSurface::flush()</a> <a href="#flush">GrContext::flush()</a> <a href="#SkSurface_prepareForExternalIO">SkSurface::prepareForExternalIO</a> GrContext::abandonContext() + --- <a name="SkCanvas_getBaseLayerSize"></a> @@ -680,6 +718,10 @@ size=20,30 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_getDeviceClipBounds">getDeviceClipBounds</a> + --- <a name="SkCanvas_makeSurface"></a> @@ -722,6 +764,10 @@ size = 3, 4 </fiddle-embed></div> +### See Also + +<a href="undocumented#SkSurface">SkSurface</a> <a href="#SkSurface_makeSurface">SkSurface::makeSurface</a> <a href="undocumented#SkImageInfo">SkImageInfo</a> <a href="undocumented#SkSurfaceProps">SkSurfaceProps</a> + --- <a name="SkCanvas_getGrContext"></a> @@ -741,6 +787,10 @@ Returns <a href="undocumented#GPU_Context">GPU Context</a> of the <a href="undoc <div><fiddle-embed name="c4ea949e5fa5a0630dcb6b0204bd498f"></fiddle-embed></div> +### See Also + +<a href="undocumented#GrContext">GrContext</a> + --- <a name="SkCanvas_accessTopLayerPixels"></a> @@ -787,6 +837,10 @@ device. The <a href="#Layer">Layer</a> and blended result appear on the <a href="undocumented#CPU">CPU</a> and <a href="undocumented#GPU">GPU</a> but the large dotted "" appear only on the <a href="undocumented#CPU">CPU</a>.</div></fiddle-embed></div> +### See Also + +<a href="undocumented#SkImageInfo">SkImageInfo</a> <a href="SkPixmap_Reference#SkPixmap">SkPixmap</a> + --- <a name="SkCanvas_accessTopRasterHandle"></a> @@ -865,6 +919,10 @@ width=256 height=256 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_readPixels">readPixels</a> <a href="#SkBitmap_peekPixels">SkBitmap::peekPixels</a> <a href="#SkImage_peekPixels">SkImage::peekPixels</a> <a href="#SkSurface_peekPixels">SkSurface::peekPixels</a> + --- <a name="SkCanvas_readPixels"></a> @@ -949,7 +1007,7 @@ pixel = 8056a9ff ### See Also -<a href="#SkCanvas_peekPixels">peekPixels</a> <a href="#SkCanvas_writePixels">writePixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> +<a href="#SkCanvas_peekPixels">peekPixels</a> <a href="#SkCanvas_writePixels">writePixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkBitmap_readPixels">SkBitmap::readPixels</a> <a href="#SkPixmap_readPixels">SkPixmap::readPixels</a> <a href="#SkImage_readPixels">SkImage::readPixels</a> <a href="#SkSurface_readPixels">SkSurface::readPixels</a> --- @@ -1019,7 +1077,7 @@ pixel = 802b5580 ### See Also -<a href="#SkCanvas_peekPixels">peekPixels</a> <a href="#SkCanvas_writePixels">writePixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> +<a href="#SkCanvas_peekPixels">peekPixels</a> <a href="#SkCanvas_writePixels">writePixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkBitmap_readPixels">SkBitmap::readPixels</a> <a href="#SkPixmap_readPixels">SkPixmap::readPixels</a> <a href="#SkImage_readPixels">SkImage::readPixels</a> <a href="#SkSurface_readPixels">SkSurface::readPixels</a> --- @@ -1089,7 +1147,7 @@ pixel = 802b5580 ### See Also -<a href="#SkCanvas_peekPixels">peekPixels</a> <a href="#SkCanvas_writePixels">writePixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> +<a href="#SkCanvas_peekPixels">peekPixels</a> <a href="#SkCanvas_writePixels">writePixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkBitmap_readPixels">SkBitmap::readPixels</a> <a href="#SkPixmap_readPixels">SkPixmap::readPixels</a> <a href="#SkImage_readPixels">SkImage::readPixels</a> <a href="#SkSurface_readPixels">SkSurface::readPixels</a> --- @@ -1156,7 +1214,7 @@ true if <a href="#SkCanvas_writePixels_pixels">pixels</a> were written to <a hre ### See Also -<a href="#SkCanvas_readPixels">readPixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> +<a href="#SkCanvas_readPixels">readPixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkBitmap_writePixels">SkBitmap::writePixels</a> --- @@ -1217,7 +1275,7 @@ true if pixels were written to <a href="#Canvas">Canvas</a> ### See Also -<a href="#SkCanvas_readPixels">readPixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> +<a href="#SkCanvas_readPixels">readPixels</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkBitmap_writePixels">SkBitmap::writePixels</a> --- @@ -1282,6 +1340,10 @@ depth of saved stack Restoring <a href="#Canvas">Canvas</a> state removes <a href="#SkCanvas_translate">translate</a> from <a href="#Canvas">Canvas</a> stack; the red square is not translated, and is drawn at the origin.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_restoreToCount">restoreToCount</a> + --- <a name="SkCanvas_restore"></a> @@ -1300,6 +1362,10 @@ Does nothing if the stack is empty. <div><fiddle-embed name="e78471212a67f2f4fd39496e17a30d17"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> <a href="#SkCanvas_restoreToCount">restoreToCount</a> + --- <a name="SkCanvas_getSaveCount"></a> @@ -1331,6 +1397,10 @@ depth = 1 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_restoreToCount">restoreToCount</a> + --- <a name="SkCanvas_restoreToCount"></a> @@ -1367,6 +1437,10 @@ depth = 1 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_getSaveCount">getSaveCount</a> <a href="#SkCanvas_save">save</a> + --- # <a name="Layer"></a> Layer @@ -1422,6 +1496,10 @@ depth of saved stack <div><fiddle-embed name="05f9b6fa6b5007aea89dfe66c306855d"><div>Rectangles are blurred by <a href="undocumented#Image_Filter">Image Filter</a> when <a href="#SkCanvas_restore">restore</a> draws <a href="#Layer">Layer</a> to main <a href="#Canvas">Canvas</a>.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> <a href="#SkCanvas_SaveLayerRec">SaveLayerRec</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -1464,6 +1542,10 @@ depth of saved stack The red rectangle is clipped; it does not fully fit on <a href="#Layer">Layer</a>. <a href="undocumented#Image_Filter">Image Filter</a> blurs past edge of <a href="#Layer">Layer</a> so red rectangle is blurred on all sides.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> <a href="#SkCanvas_SaveLayerRec">SaveLayerRec</a> + --- <a name="SkCanvas_saveLayerPreserveLCDTextRequests"></a> @@ -1512,6 +1594,10 @@ depth of saved stack <div><fiddle-embed name="8460bf8b013f46c67e0bd96e13451aff"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> <a href="#SkCanvas_SaveLayerRec">SaveLayerRec</a> + --- <a name="SkCanvas_saveLayerAlpha"></a> @@ -1555,6 +1641,10 @@ depth of saved stack <div><fiddle-embed name="8ab88d86fb438856cc48d6e2f08a6e24"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_SaveLayerRec">SaveLayerRec</a> + --- ## <a name="SkCanvas__anonymous"></a> Enum SkCanvas::_anonymous @@ -1597,6 +1687,10 @@ Skips setting a clip to the <a href="#Layer">Layer</a> bounds.</td> <div><fiddle-embed name="d314c688925d2c549d4762f5cc6e6a1a"><div><a href="#Canvas">Canvas</a> <a href="#Layer">Layer</a> captures red and blue circles scaled up by four. scalePaint blends <a href="#Layer">Layer</a> back with transparency.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> <a href="#SkCanvas_SaveLayerRec">SaveLayerRec</a> + # <a name="SkCanvas_SaveLayerRec"></a> Struct SkCanvas::SaveLayerRec @@ -1679,6 +1773,10 @@ rec1 == rec2 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -1715,6 +1813,10 @@ rec1 == rec2 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -1754,6 +1856,10 @@ rec1 == rec2 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -1766,7 +1872,7 @@ Not ready for general use.Sets <a href="#SkCanvas_SaveLayerRec_fBounds">fBounds< <a href="#SkCanvas_SaveLayerRec_SaveLayerRec_4_clipMatrix">clipMatrix</a> uses <a href="#Alpha">Color Alpha</a> channel of image, transformed by <a href="#SkCanvas_SaveLayerRec_SaveLayerRec_4_clipMatrix">clipMatrix</a>, to clip <a href="#Layer">Layer</a> when drawn to <a href="#Canvas">Canvas</a>. -Implementation is incomplete; has no effect if <a href="undocumented#Device">Device</a> is <a href="undocumented#GPU_backed">GPU-backed</a>. +Implementation is not complete; has no effect if <a href="undocumented#Device">Device</a> is <a href="undocumented#GPU_backed">GPU-backed</a>. ### Parameters @@ -1792,6 +1898,10 @@ identity matrix</td> <a href="#SkCanvas_SaveLayerRec_SaveLayerRec">SaveLayerRec</a> fully specified +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -1830,6 +1940,10 @@ Next it punches a hole in <a href="#Layer">Layer</a> and <a href="#SkCanvas_rest Where <a href="#Layer">Layer</a> was cleared, the original image will draw unchanged. Outside of the circle the mandrill is brightened.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_save">save</a> <a href="#SkCanvas_restore">restore</a> <a href="#SkCanvas_saveLayer">saveLayer</a> <a href="#SkCanvas_saveLayerPreserveLCDTextRequests">saveLayerPreserveLCDTextRequests</a> <a href="#SkCanvas_saveLayerAlpha">saveLayerAlpha</a> + --- # <a name="Matrix"></a> Matrix @@ -1868,6 +1982,10 @@ fill follows <a href="#SkCanvas_scale">scale</a> of (2, 1/2.f). After restoring <a href="#Matrix">Matrix</a>, a red frame follows the same <a href="#SkCanvas_scale">scale</a> of (2, 1/2.f); a gray fill follows <a href="#SkCanvas_translate">translate</a> of (50, 50).</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_concat">concat</a> <a href="#SkCanvas_scale">scale</a> <a href="#SkCanvas_skew">skew</a> <a href="#SkCanvas_rotate">rotate</a> <a href="#SkCanvas_setMatrix">setMatrix</a> + --- <a name="SkCanvas_scale"></a> @@ -1898,6 +2016,10 @@ amount to <a href="#SkCanvas_scale">scale</a> in y</td> <div><fiddle-embed name="7d0d801ef13c6c6da51e840c22ac15b0"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_concat">concat</a> <a href="#SkCanvas_translate">translate</a> <a href="#SkCanvas_skew">skew</a> <a href="#SkCanvas_rotate">rotate</a> <a href="#SkCanvas_setMatrix">setMatrix</a> + --- <a name="SkCanvas_rotate"></a> @@ -1927,6 +2049,10 @@ amount to <a href="#SkCanvas_rotate">rotate</a>, in <a href="#SkCanvas_rotate_de <div><fiddle-embed name="caafb205771b714948e00dcd58ccaf1f"><div>Draw clock hands at time 5:10. The hour hand and minute hand point up and are rotated clockwise.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_concat">concat</a> <a href="#SkCanvas_translate">translate</a> <a href="#SkCanvas_skew">skew</a> <a href="#SkCanvas_scale">scale</a> <a href="#SkCanvas_setMatrix">setMatrix</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -1958,6 +2084,10 @@ y-coordinate of the point to <a href="#SkCanvas_rotate">rotate</a> about</td> <div><fiddle-embed name="bcf5baea1c66a957d5ffd7b54bbbfeff"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_concat">concat</a> <a href="#SkCanvas_translate">translate</a> <a href="#SkCanvas_skew">skew</a> <a href="#SkCanvas_scale">scale</a> <a href="#SkCanvas_setMatrix">setMatrix</a> + --- <a name="SkCanvas_skew"></a> @@ -1993,6 +2123,10 @@ shifts the geometry to the right as the y values decrease. increase. <a href="#Blue">Blue</a> text combines x and y <a href="#SkCanvas_skew">skew</a> to <a href="#SkCanvas_rotate">rotate</a> and <a href="#SkCanvas_scale">scale</a>.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_concat">concat</a> <a href="#SkCanvas_translate">translate</a> <a href="#SkCanvas_rotate">rotate</a> <a href="#SkCanvas_scale">scale</a> <a href="#SkCanvas_setMatrix">setMatrix</a> + --- <a name="SkCanvas_concat"></a> @@ -2018,6 +2152,10 @@ transforming the result with existing <a href="#Matrix">Matrix</a>. <div><fiddle-embed name="8f6818b25a92a88638ad99b2dd293f61"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_translate">translate</a> <a href="#SkCanvas_rotate">rotate</a> <a href="#SkCanvas_scale">scale</a> <a href="#SkCanvas_skew">skew</a> <a href="#SkCanvas_setMatrix">setMatrix</a> + --- <a name="SkCanvas_setMatrix"></a> @@ -2041,6 +2179,10 @@ Unlike <a href="#SkCanvas_concat">concat</a>, any prior <a href="#SkCanvas_setMa <div><fiddle-embed name="24b9cf7e6f9a08394e1e07413bd8733a"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_resetMatrix">resetMatrix</a> <a href="#SkCanvas_concat">concat</a> <a href="#SkCanvas_translate">translate</a> <a href="#SkCanvas_rotate">rotate</a> <a href="#SkCanvas_scale">scale</a> <a href="#SkCanvas_skew">skew</a> + --- <a name="SkCanvas_resetMatrix"></a> @@ -2057,6 +2199,10 @@ Any prior matrix state is overwritten. <div><fiddle-embed name="412afffdf4682baa503a4e2e99201967"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_setMatrix">setMatrix</a> <a href="#SkCanvas_concat">concat</a> <a href="#SkCanvas_translate">translate</a> <a href="#SkCanvas_rotate">rotate</a> <a href="#SkCanvas_scale">scale</a> <a href="#SkCanvas_skew">skew</a> + --- <a name="SkCanvas_getTotalMatrix"></a> @@ -2085,6 +2231,10 @@ isIdentity true </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_setMatrix">setMatrix</a> <a href="#SkCanvas_resetMatrix">resetMatrix</a> <a href="#SkCanvas_concat">concat</a> + --- # <a name="Clip"></a> Clip @@ -2148,6 +2298,10 @@ true if <a href="#Clip">Clip</a> is to be <a href="undocumented#Anti_alias">Anti <div><fiddle-embed name="6a614faa0fbcf19958b5559c19b02d0f"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRRect">clipRRect</a> <a href="#SkCanvas_clipPath">clipPath</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2171,6 +2325,10 @@ Resulting <a href="#Clip">Clip</a> is <a href="#Alias">Aliased</a>; pixels are f <div><fiddle-embed name="13bbc5fa5597a6cd4d704b419dbc66d9"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRRect">clipRRect</a> <a href="#SkCanvas_clipPath">clipPath</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2197,6 +2355,10 @@ true if <a href="#Clip">Clip</a> is to be <a href="undocumented#Anti_alias">Anti The same circle pieces blend with pixels more than once when <a href="undocumented#Anti_alias">Anti-aliased</a>, visible as a thin pair of lines through the right circle.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRRect">clipRRect</a> <a href="#SkCanvas_clipPath">clipPath</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <a name="SkCanvas_androidFramework_setDeviceClipRestriction"></a> @@ -2251,6 +2413,10 @@ true if <a href="#Clip">Clip</a> is to be <a href="undocumented#Anti_alias">Anti <div><fiddle-embed name="182ef48ab5e04ba3578496fda8d9fa36"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRect">clipRect</a> <a href="#SkCanvas_clipPath">clipPath</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2274,6 +2440,10 @@ Resulting <a href="#Clip">Clip</a> is <a href="#Alias">Aliased</a>; pixels are f <div><fiddle-embed name="ef6ae2eaae6761130ce38065d0364abd"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRect">clipRect</a> <a href="#SkCanvas_clipPath">clipPath</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2297,6 +2467,10 @@ true if <a href="#Clip">Clip</a> is to be <a href="undocumented#Anti_alias">Anti <div><fiddle-embed name="f583114580b2176fe3e75b0994476a84"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRect">clipRect</a> <a href="#SkCanvas_clipPath">clipPath</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <a name="SkCanvas_clipPath"></a> @@ -2331,6 +2505,10 @@ area outside clip is subtracted from circle. Bottom figure uses <a href="#SkPath_kWinding_FillType">SkPath::kWinding FillType</a> and <a href="#SkClipOp_kIntersect">SkClipOp::kIntersect</a>; area inside clip is intersected with circle.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRect">clipRect</a> <a href="#SkCanvas_clipRRect">clipRRect</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2360,6 +2538,10 @@ before it is combined with <a href="#Clip">Clip</a>. <a href="#SkPath_kWinding_FillType">SkPath::kWinding FillType</a>, the overlap is included. Set to <a href="#SkPath_kEvenOdd_FillType">SkPath::kEvenOdd FillType</a>, the overlap is excluded and forms a hole.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRect">clipRect</a> <a href="#SkCanvas_clipRRect">clipRRect</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2388,6 +2570,10 @@ true if <a href="#Clip">Clip</a> is to be <a href="undocumented#Anti_alias">Anti is set to <a href="#SkPath_kWinding_FillType">SkPath::kWinding FillType</a>, the overlap is included. Set to <a href="#SkPath_kEvenOdd_FillType">SkPath::kEvenOdd FillType</a>, the overlap is excluded and forms a hole.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRect">clipRect</a> <a href="#SkCanvas_clipRRect">clipRRect</a> <a href="#SkCanvas_clipRegion">clipRegion</a> + --- <a name="SkCanvas_setAllowSimplifyClip"></a> @@ -2427,6 +2613,10 @@ Resulting <a href="#Clip">Clip</a> is <a href="#Alias">Aliased</a>; pixels are f Both clips are <a href="#Alias">Aliased</a>; this is not noticeable on <a href="undocumented#Region">Region</a> clip because it aligns to pixel boundaries.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clipRect">clipRect</a> <a href="#SkCanvas_clipRRect">clipRRect</a> <a href="#SkCanvas_clipPath">clipPath</a> + --- <a name="SkCanvas_quickReject"></a> @@ -2465,6 +2655,10 @@ quickReject false </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_getLocalClipBounds">getLocalClipBounds</a> <a href="#SkCanvas_getTotalMatrix">getTotalMatrix</a> <a href="#SkBitmap_drawsNothing">SkBitmap::drawsNothing</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2500,6 +2694,10 @@ quickReject false </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_getLocalClipBounds">getLocalClipBounds</a> <a href="#SkCanvas_getTotalMatrix">getTotalMatrix</a> <a href="#SkBitmap_drawsNothing">SkBitmap::drawsNothing</a> + --- <a name="SkCanvas_getLocalClipBounds"></a> @@ -2535,6 +2733,10 @@ left:14.5 top:64.5 right:60.5 bottom:115.5 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_getDeviceClipBounds">getDeviceClipBounds</a> <a href="#SkCanvas_getBaseLayerSize">getBaseLayerSize</a> <a href="#SkCanvas_quickReject">quickReject</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2571,6 +2773,10 @@ local bounds empty = true </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_getDeviceClipBounds">getDeviceClipBounds</a> <a href="#SkCanvas_getBaseLayerSize">getBaseLayerSize</a> <a href="#SkCanvas_quickReject">quickReject</a> + --- <a name="SkCanvas_getDeviceClipBounds"></a> @@ -2605,6 +2811,10 @@ left:15 top:65 right:60 bottom:115 </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_getLocalClipBounds">getLocalClipBounds</a> <a href="#SkCanvas_getBaseLayerSize">getBaseLayerSize</a> <a href="#SkCanvas_quickReject">quickReject</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2640,6 +2850,10 @@ device bounds empty = true </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_getLocalClipBounds">getLocalClipBounds</a> <a href="#SkCanvas_getBaseLayerSize">getBaseLayerSize</a> <a href="#SkCanvas_quickReject">quickReject</a> + --- <a name="SkCanvas_drawColor"></a> @@ -2665,6 +2879,10 @@ Fill <a href="#Clip">Clip</a> with <a href="undocumented#Color">Color</a> <a hre <div><fiddle-embed name="9cf94fead1e6b17d836c704b4eac269a"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clear">clear</a> <a href="#SkBitmap_erase">SkBitmap::erase</a> <a href="#SkCanvas_drawPaint">drawPaint</a> + --- <a name="SkCanvas_clear"></a> @@ -2688,6 +2906,10 @@ This has the effect of replacing all pixels contained by <a href="#Clip">Clip</a <div><fiddle-embed name="d97750e04989d42dc879406127b22c0b"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawColor">drawColor</a> <a href="#SkBitmap_erase">SkBitmap::erase</a> <a href="#SkCanvas_drawPaint">drawPaint</a> + --- <a name="SkCanvas_discard"></a> @@ -2709,6 +2931,10 @@ cached data associated with <a href="undocumented#Surface">Surface</a> or <a hre It is not necessary to call <a href="#SkCanvas_discard">discard</a> once done with <a href="#Canvas">Canvas</a>; any cached data is deleted when owning <a href="undocumented#Surface">Surface</a> or <a href="undocumented#Device">Device</a> is deleted. +### See Also + +<a href="#SkCanvas_flush">flush</a> <a href="#SkSurface_prepareForExternalIO">SkSurface::prepareForExternalIO</a> GrContext::abandonContext + --- <a name="SkCanvas_drawPaint"></a> @@ -2733,6 +2959,10 @@ graphics state used to fill <a href="#Canvas">Canvas</a></td> <div><fiddle-embed name="1cd076b9b1a7c976cdca72b93c4f42dd"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_clear">clear</a> <a href="#SkCanvas_drawColor">drawColor</a> <a href="#SkBitmap_erase">SkBitmap::erase</a> + --- ## <a name="SkCanvas_PointMode"></a> Enum SkCanvas::PointMode @@ -2768,6 +2998,10 @@ The upper right corner shows one line; when drawn as lines, two points are requi The lower right corner shows two lines; when draw as polygon, no miter is drawn at the corner. The lower left corner shows two lines with a miter when path contains polygon.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawLine">drawLine</a> <a href="#SkCanvas_drawPoint">drawPoint</a> <a href="#SkCanvas_drawPath">drawPath</a> + <a name="SkCanvas_drawPoints"></a> @@ -2832,6 +3066,10 @@ stroke, blend, color, and so on, used to draw</td> The transparent color makes multiple line draws visible; the path is drawn all at once.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawLine">drawLine</a> <a href="#SkCanvas_drawPoint">drawPoint</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <a name="SkCanvas_drawPoint"></a> @@ -2864,6 +3102,10 @@ stroke, blend, color, and so on, used to draw</td> <div><fiddle-embed name="3476b553e7b547b604a3f6969f02d933"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawPoints">drawPoints</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawLine">drawLine</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2893,7 +3135,7 @@ stroke, blend, color, and so on, used to draw</td> ### See Also -<a href="#SkCanvas_drawPoints">drawPoints</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawRect">drawRect</a> +<a href="#SkCanvas_drawPoints">drawPoints</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawLine">drawLine</a> <a href="#SkCanvas_drawPath">drawPath</a> --- @@ -2929,6 +3171,10 @@ stroke, blend, color, and so on, used to draw</td> <div><fiddle-embed name="d10ee4a265f278d02afe11ad889b293b"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawPoint">drawPoint</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -2955,6 +3201,10 @@ stroke, blend, color, and so on, used to draw</td> <div><fiddle-embed name="f8525816cb596dde1a3855446792c8e0"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawPoint">drawPoint</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <a name="SkCanvas_drawRect"></a> @@ -2982,6 +3232,10 @@ stroke or fill, blend, color, and so on, used to draw</td> <div><fiddle-embed name="871b0da9b4a23de11ae7a772ce14aed3"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawIRect">drawIRect</a> <a href="#SkCanvas_drawRRect">drawRRect</a> <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> <a href="#SkCanvas_drawRegion">drawRegion</a> <a href="#SkCanvas_drawPath">drawPath</a> <a href="#SkCanvas_drawLine">drawLine</a> + --- <a name="SkCanvas_drawIRect"></a> @@ -3009,6 +3263,10 @@ stroke or fill, blend, color, and so on, used to draw</td> <div><fiddle-embed name="d3d8ca584134560750b1efa4a4c6e138"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawRRect">drawRRect</a> <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> <a href="#SkCanvas_drawRegion">drawRegion</a> <a href="#SkCanvas_drawPath">drawPath</a> <a href="#SkCanvas_drawLine">drawLine</a> + --- <a name="SkCanvas_drawRegion"></a> @@ -3036,6 +3294,10 @@ if stroked, <a href="#Stroke_Width">Paint Stroke Width</a> describes the line th <div><fiddle-embed name="80309e0deca0f8add616cec7bec634ca"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawIRect">drawIRect</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <a name="SkCanvas_drawOval"></a> @@ -3062,6 +3324,10 @@ if stroked, <a href="#Stroke_Width">Paint Stroke Width</a> describes the line th <div><fiddle-embed name="8b6b86f8a022811cd29a9c6ab771df12"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawPoint">drawPoint</a> <a href="#SkCanvas_drawPath">drawPath</a> <a href="#SkCanvas_drawRRect">drawRRect</a> <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> + --- <a name="SkCanvas_drawRRect"></a> @@ -3091,6 +3357,10 @@ may have any combination of positive non-square radii for the four corners. <div><fiddle-embed name="369cdbfb2a200d5bb8ae40f7cc1025c3"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> <a href="#SkCanvas_drawDRRect">drawDRRect</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawOval">drawOval</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <a name="SkCanvas_drawDRRect"></a> @@ -3133,6 +3403,10 @@ concave and <a href="#SkCanvas_drawDRRect_outer">outer</a> contains <a href="#Sk Inner <a href="undocumented#Round_Rect">Round Rect</a> has corner radii; outset stroke increases radii of corners. Stroke join does not affect <a href="#SkCanvas_drawDRRect_inner">inner</a> <a href="undocumented#Round_Rect">Round Rect</a> since it has no sharp corners.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> <a href="#SkCanvas_drawRRect">drawRRect</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawOval">drawOval</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <a name="SkCanvas_drawCircle"></a> @@ -3164,6 +3438,10 @@ half the diameter of <a href="undocumented#Circle">Circle</a></td> <div><fiddle-embed name="841229e25ca9dfb68bd0dc4dfff356eb"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawOval">drawOval</a> <a href="#SkCanvas_drawRRect">drawRRect</a> <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> <a href="#SkCanvas_drawPath">drawPath</a> <a href="#SkCanvas_drawArc">drawArc</a> <a href="#SkCanvas_drawPoint">drawPoint</a> <a href="#SkCanvas_drawLine">drawLine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3190,6 +3468,10 @@ half the diameter of <a href="undocumented#Circle">Circle</a></td> <div><fiddle-embed name="9303ffae45ddd0b0a1f93d816a1762f4"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawOval">drawOval</a> <a href="#SkCanvas_drawRRect">drawRRect</a> <a href="#SkCanvas_drawRoundRect">drawRoundRect</a> <a href="#SkCanvas_drawPath">drawPath</a> <a href="#SkCanvas_drawArc">drawArc</a> <a href="#SkCanvas_drawPoint">drawPoint</a> <a href="#SkCanvas_drawLine">drawLine</a> + --- <a name="SkCanvas_drawArc"></a> @@ -3237,6 +3519,10 @@ if true, include the center of the <a href="#SkCanvas_drawArc_oval">oval</a></td <div><fiddle-embed name="e91dbe45974489b8962c815017b7914f"></fiddle-embed></div> +### See Also + +<a href="#SkPath_arcTo">SkPath::arcTo</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawOval">drawOval</a> <a href="#SkCanvas_drawPath">drawPath</a> + --- <a name="SkCanvas_drawRoundRect"></a> @@ -3277,6 +3563,10 @@ Second row radii sum to less than sides. Third row radii sum equals sides. Fourth row radii sum exceeds sides; radii are scaled to fit.</div></fiddle-embed></div> +### See Also + +DrawRRect <a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawDRRect">drawDRRect</a> <a href="#SkCanvas_drawPath">drawPath</a> <a href="#SkCanvas_drawCircle">drawCircle</a> <a href="#SkCanvas_drawOval">drawOval</a> <a href="#SkCanvas_drawPoint">drawPoint</a> + --- <a name="SkCanvas_drawPath"></a> @@ -3313,6 +3603,10 @@ First bottom column shows winding fills overlap. Second bottom column shows even odd fills exclude overlap. Third bottom column shows inverse winding fills area outside both contours.</div></fiddle-embed></div> +### See Also + +<a href="SkPath_Reference#SkPath">SkPath</a> <a href="#SkCanvas_drawLine">drawLine</a> <a href="#SkCanvas_drawArc">drawArc</a> <a href="#SkCanvas_drawRect">drawRect</a> <a href="#SkCanvas_drawPoints">drawPoints</a> + --- # <a name="Draw_Image"></a> Draw Image @@ -3355,6 +3649,10 @@ and so on; or nullptr</td> <div><fiddle-embed name="185746dc0faa6f1df30c4afe098646ff"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> <a href="#SkCanvas_drawImageRect">drawImageRect</a> <a href="#SkPaint_setImageFilter">SkPaint::setImageFilter</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3390,6 +3688,10 @@ and so on; or nullptr</td> <div><fiddle-embed name="a4e877e891b1be5faa2b7fd07f673a10"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> <a href="#SkCanvas_drawImageRect">drawImageRect</a> <a href="#SkPaint_setImageFilter">SkPaint::setImageFilter</a> + --- ## <a name="SkCanvas_SrcRectConstraint"></a> Enum SkCanvas::SrcRectConstraint @@ -3429,6 +3731,10 @@ The middle and right bitmaps are filtered checkerboards. Drawing the checkerboard with <a href="#SkCanvas_kStrict_SrcRectConstraint">kStrict SrcRectConstraint</a> shows only a blur of black and white. Drawing the checkerboard with <a href="#SkCanvas_kFast_SrcRectConstraint">kFast SrcRectConstraint</a> allows red to bleed in the corners.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImageRect">drawImageRect</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkPaint_setImageFilter">SkPaint::setImageFilter</a> + <a name="SkCanvas_drawImageRect"></a> @@ -3479,6 +3785,10 @@ the middle and right bitmaps draw with <a href="undocumented#SkFilterQuality">kL <a href="#SkCanvas_kStrict_SrcRectConstraint">kStrict SrcRectConstraint</a>, the filter remains within the checkerboard, and with <a href="#SkCanvas_kFast_SrcRectConstraint">kFast SrcRectConstraint</a> red bleeds on the edges.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_SrcRectConstraint">SrcRectConstraint</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3524,6 +3834,10 @@ filter strictly within <a href="#SkCanvas_drawImageRect_2_isrc">isrc</a> or draw <div><fiddle-embed name="b63b8f9f587b8d918973dc065ce4a593"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_SrcRectConstraint">SrcRectConstraint</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3564,6 +3878,10 @@ filter strictly within <a href="#SkCanvas_drawImageRect_3_image">image</a> or dr <div><fiddle-embed name="3cf8fb639fef99993cafc064d550c739"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_SrcRectConstraint">SrcRectConstraint</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3608,6 +3926,10 @@ filter strictly within <a href="#SkCanvas_drawImageRect_4_src">src</a> or draw f <div><fiddle-embed name="589999454db90c573f7facfb007253a7"><div><a href="#Canvas">Canvas</a> scales and translates; transformation from <a href="#SkCanvas_drawImageRect_4_src">src</a> to <a href="#SkCanvas_drawImageRect_4_dst">dst</a> also scales. The two matrices are concatenated to create the final transformation.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_SrcRectConstraint">SrcRectConstraint</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3652,6 +3974,10 @@ filter strictly within <a href="#SkCanvas_drawImageRect_5_image">image</a> or dr <div><fiddle-embed name="249fadde5d0d0fc515e9f53f188af48b"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_SrcRectConstraint">SrcRectConstraint</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3693,6 +4019,10 @@ filter strictly within <a href="#SkCanvas_drawImageRect_6_image">image</a> or dr <div><fiddle-embed name="37a85bd2247487c7af584e42c1cabe4a"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_SrcRectConstraint">SrcRectConstraint</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> + --- <a name="SkCanvas_drawImageNine"></a> @@ -3739,6 +4069,10 @@ The second <a href="#SkCanvas_drawImageNine_image">image</a> equals the size of The remaining images are larger than <a href="#SkCanvas_drawImageNine_center">center</a>. All corners draw without scaling. The sides and <a href="#SkCanvas_drawImageNine_center">center</a> are scaled if needed to take up the remaining space.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawBitmapNine">drawBitmapNine</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageRect">drawImageRect</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3784,6 +4118,10 @@ fill the remaining space. The rightmost <a href="#SkCanvas_drawImageNine_2_image">image</a> has four corners scaled vertically to fit, and uses sides above and below <a href="#SkCanvas_drawImageNine_2_center">center</a> to fill the remaining space.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawBitmapNine">drawBitmapNine</a> <a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawImageRect">drawImageRect</a> + --- <a name="SkCanvas_drawBitmap"></a> @@ -3824,6 +4162,10 @@ and so on; or nullptr</td> <div><fiddle-embed name="70d7fbf7de82264dd66a526d98d31def"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawBitmapLattice">drawBitmapLattice</a> <a href="#SkCanvas_drawBitmapNine">drawBitmapNine</a> <a href="#SkCanvas_drawBitmapRect">drawBitmapRect</a> <a href="#SkBitmap_readPixels">SkBitmap::readPixels</a> <a href="#SkBitmap_writePixels">SkBitmap::writePixels</a> + --- <a name="SkCanvas_drawBitmapRect"></a> @@ -3871,6 +4213,10 @@ filter strictly within <a href="#SkCanvas_drawBitmapRect_src">src</a> or draw fa <div><fiddle-embed name="de449106e78ec558d9921b9f076de164"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImageRect">drawImageRect</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawBitmapLattice">drawBitmapLattice</a> <a href="#SkCanvas_drawBitmapNine">drawBitmapNine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3916,6 +4262,10 @@ sample strictly within <a href="#SkCanvas_drawBitmapRect_2_isrc">isrc</a>, or dr <div><fiddle-embed name="69b028ef1f95c355672fbdcbf47550f2"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImageRect">drawImageRect</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawBitmapLattice">drawBitmapLattice</a> <a href="#SkCanvas_drawBitmapNine">drawBitmapNine</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -3959,6 +4309,10 @@ filter strictly within <a href="#SkCanvas_drawBitmapRect_3_bitmap">bitmap</a> or <div><fiddle-embed name="76b74b826e43b4a595d18115564e88c7"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImageRect">drawImageRect</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawBitmapLattice">drawBitmapLattice</a> <a href="#SkCanvas_drawBitmapNine">drawBitmapNine</a> + --- <a name="SkCanvas_drawBitmapNine"></a> @@ -4009,6 +4363,10 @@ fill the remaining space. The rightmost <a href="#SkCanvas_drawBitmapNine_bitmap">bitmap</a> draw has four corners scaled vertically to fit, and uses sides above and below <a href="#SkCanvas_drawBitmapNine_center">center</a> to fill the remaining space.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImageNine">drawImageNine</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawBitmapLattice">drawBitmapLattice</a> <a href="#SkCanvas_drawBitmapRect">drawBitmapRect</a> + --- # <a name="SkCanvas_Lattice"></a> Struct SkCanvas::Lattice @@ -4140,6 +4498,10 @@ fill the remaining space; the center is transparent. The rightmost <a href="#SkCanvas_drawBitmapLattice_bitmap">bitmap</a> draw has four corners scaled vertically to fit, and uses sides above and below center to fill the remaining space.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawImageLattice">drawImageLattice</a> <a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawBitmapNine">drawBitmapNine</a> <a href="#SkCanvas_Lattice">Lattice</a> + --- <a name="SkCanvas_drawImageLattice"></a> @@ -4190,6 +4552,10 @@ The second <a href="#SkCanvas_drawImageLattice_image">image</a> equals the size The remaining images are larger than center. All corners draw without scaling. The sides are scaled if needed to take up the remaining space; the center is transparent.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawBitmapLattice">drawBitmapLattice</a> <a href="#SkCanvas_drawImage">drawImage</a> <a href="#SkCanvas_drawImageNine">drawImageNine</a> <a href="#SkCanvas_Lattice">Lattice</a> + --- <a name="SkCanvas_drawText"></a> @@ -4233,6 +4599,10 @@ start of <a href="#SkCanvas_drawText_text">text</a> on y-axis</td> <div><fiddle-embed name="a3365bd3044b13e8e0318ee8aefbdf91"><div>The same <a href="#SkCanvas_drawText_text">text</a> is drawn varying <a href="#Text_Size">Paint Text Size</a> and varying <a href="#Matrix">Matrix</a>.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawString">drawString</a> <a href="#SkCanvas_drawPosText">drawPosText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> <a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> + --- <a name="SkCanvas_drawString"></a> @@ -4277,7 +4647,7 @@ text size, blend, color, and so on, used to draw</td> ### See Also -<a href="#SkCanvas_drawText">drawText</a> +<a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosText">drawPosText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> <a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> --- @@ -4321,7 +4691,7 @@ text size, blend, color, and so on, used to draw</td> ### See Also -<a href="#SkCanvas_drawText">drawText</a> +<a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosText">drawPosText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> <a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> --- @@ -4367,6 +4737,10 @@ array of glyph origins</td> <div><fiddle-embed name="bf0b2402533a23b6392e0676b7a8414c"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> <a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> + --- <a name="SkCanvas_drawPosTextH"></a> @@ -4414,6 +4788,10 @@ shared y coordinate for all of x positions</td> <div><fiddle-embed name="95c6a7ef82993a8d2add676080e9438a"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosText">drawPosText</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> <a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> + --- <a name="SkCanvas_drawTextOnPathHV"></a> @@ -4462,6 +4840,10 @@ offset of <a href="#SkCanvas_drawTextOnPathHV_text">text</a> above (if negative) <div><fiddle-embed name="25cc5452156d7f06e85f514913d46b5c"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> <a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> + --- <a name="SkCanvas_drawTextOnPath"></a> @@ -4509,6 +4891,10 @@ to use identity <a href="#Matrix">Matrix</a></td> <div><fiddle-embed name="0f60797fbdce3d3c71c46b800e6bd6f8"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawTextOnPathHV">drawTextOnPathHV</a> <a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> <a href="#SkCanvas_drawTextRSXform">drawTextRSXform</a> + --- <a name="SkCanvas_drawTextRSXform"></a> @@ -4552,6 +4938,10 @@ byte length of <a href="#SkCanvas_drawTextRSXform_text">text</a> array</td> <div><fiddle-embed name="55c84c39890c7516f7c835c46b1b8fc9"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawTextOnPath">drawTextOnPath</a> <a href="#SkCanvas_drawTextOnPathHV">drawTextOnPathHV</a> <a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosText">drawPosText</a> <a href="#SkCanvas_drawTextBlob">drawTextBlob</a> + --- <a name="SkCanvas_drawTextBlob"></a> @@ -4590,6 +4980,10 @@ blend, color, stroking, and so on, used to draw</td> <div><fiddle-embed name="b8c0a748ed5c328f38e00f5f3d12e5e6"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosText">drawPosText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -4626,6 +5020,10 @@ blend, color, stroking, and so on, used to draw</td> <div><fiddle-embed name="d313ad4726518f5d44f6433887bb7ce9"><div><a href="SkPaint_Reference#Paint">Paint</a> attributes unrelated to text, like color, have no effect on <a href="#SkCanvas_drawTextBlob_2_paint">paint</a> in allocated <a href="undocumented#Text_Blob">Text Blob</a>. <a href="SkPaint_Reference#Paint">Paint</a> attributes related to text, like text size, have no effect on <a href="#SkCanvas_drawTextBlob_2_paint">paint</a> passed to <a href="#SkCanvas_drawTextBlob">drawTextBlob</a>.</div></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawText">drawText</a> <a href="#SkCanvas_drawPosText">drawPosText</a> <a href="#SkCanvas_drawPosTextH">drawPosTextH</a> + --- <a name="SkCanvas_drawPicture"></a> @@ -4652,6 +5050,10 @@ recorded drawing commands to play</td> <div><fiddle-embed name="fde216281ff93d612768a49f2cf309ae"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawDrawable">drawDrawable</a> <a href="undocumented#SkPicture">SkPicture</a> <a href="#SkPicture_playback">SkPicture::playback</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -4675,6 +5077,10 @@ recorded drawing commands to play</td> <div><fiddle-embed name="a7373b01354dda73dafe8718f4fd0cfc"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawDrawable">drawDrawable</a> <a href="undocumented#SkPicture">SkPicture</a> <a href="#SkPicture_playback">SkPicture::playback</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -4704,6 +5110,10 @@ recorded drawing commands to play</td> <div><fiddle-embed name="4ec028d8ffa0a6ae1a99ff8d094b02bc"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawDrawable">drawDrawable</a> <a href="undocumented#SkPicture">SkPicture</a> <a href="#SkPicture_playback">SkPicture::playback</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -4733,6 +5143,10 @@ recorded drawing commands to play</td> <div><fiddle-embed name="7295eb14091e98565cec0353661a6a7d"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawDrawable">drawDrawable</a> <a href="undocumented#SkPicture">SkPicture</a> <a href="#SkPicture_playback">SkPicture::playback</a> + --- <a name="SkCanvas_drawVertices"></a> @@ -4762,6 +5176,10 @@ specifies the <a href="undocumented#Shader">Shader</a>, used as <a href="undocum <div><fiddle-embed name="f48b22eaad1bb7adcc3faaa321754af6"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawPatch">drawPatch</a> <a href="#SkCanvas_drawPicture">drawPicture</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -4788,6 +5206,10 @@ specifies the <a href="undocumented#Shader">Shader</a>, used as <a href="undocum <div><fiddle-embed name="94e32538646d5f1299c427e473f9ec87"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawPatch">drawPatch</a> <a href="#SkCanvas_drawPicture">drawPicture</a> + --- <a name="SkCanvas_drawPatch"></a> @@ -4838,6 +5260,10 @@ may be nullptr</td> <div><fiddle-embed name="accb545d67984ced168f5be6ab824795"></fiddle-embed></div> +### See Also + +SeeAlso <a href="#SkCanvas_drawVertices">drawVertices</a> <a href="#SkCanvas_drawPicture">drawPicture</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -4886,6 +5312,10 @@ may be nullptr</td> <div><fiddle-embed name="3412c2a16cb529af0e04878d264451f2"></fiddle-embed></div> +### See Also + +SeeAlso <a href="#SkCanvas_drawVertices">drawVertices</a> <a href="#SkCanvas_drawPicture">drawPicture</a> + --- <a name="SkCanvas_drawAtlas"></a> @@ -4932,6 +5362,10 @@ bounds of transformed sprites for efficient clipping; may be nullptr</td> <div><fiddle-embed name="1df575f9b8132306ce0552a2554ed132"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -4975,6 +5409,10 @@ bounds of transformed sprites for efficient clipping; may be nullptr</td> <div><fiddle-embed name="0e66a8f230a8d531bcef9f5ebdc5aac1"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -5012,6 +5450,10 @@ bounds of transformed sprites for efficient clipping; may be nullptr</td> <div><fiddle-embed name="8dc0d0fdeab20bbc21cac6874ddbefcd"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -5050,6 +5492,10 @@ bounds of transformed sprites for efficient clipping; may be nullptr</td> <div><fiddle-embed name="c093c2b14bd3e6171ede7cd4049d9b57"></fiddle-embed></div> +### See Also + +<a href="#SkCanvas_drawBitmap">drawBitmap</a> <a href="#SkCanvas_drawImage">drawImage</a> + --- <a name="SkCanvas_drawDrawable"></a> @@ -5080,6 +5526,10 @@ transformation applied to drawing; may be nullptr</td> <div><fiddle-embed name="3a4dfcd08838866b5cfc0d82489195ba"></fiddle-embed></div> +### See Also + +<a href="undocumented#SkDrawable">SkDrawable</a> <a href="#SkCanvas_drawPicture">drawPicture</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -5108,6 +5558,10 @@ offset into <a href="#Canvas">Canvas</a> writable pixels in <a href="#SkCanvas_d <div><fiddle-embed name="1bdc07ad3b154c89b771722c2fcaee3f"></fiddle-embed></div> +### See Also + +<a href="undocumented#SkDrawable">SkDrawable</a> <a href="#SkCanvas_drawPicture">drawPicture</a> + --- <a name="SkCanvas_drawAnnotation"></a> @@ -5138,6 +5592,10 @@ data holding <a href="#SkCanvas_drawAnnotation_value">value</a> stored in annota <div><fiddle-embed name="00b430bd80d740e19c6d020a940f56d5"></fiddle-embed></div> +### See Also + +<a href="undocumented#SkPicture">SkPicture</a> <a href="undocumented#SkDocument">SkDocument</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -5166,6 +5624,10 @@ data holding <a href="#SkCanvas_drawAnnotation_2_value">value</a> stored in anno <div><fiddle-embed name="00b430bd80d740e19c6d020a940f56d5"></fiddle-embed></div> +### See Also + +<a href="undocumented#SkPicture">SkPicture</a> <a href="undocumented#SkDocument">SkDocument</a> + --- <a name="SkCanvas_getDrawFilter"></a> @@ -5220,6 +5682,10 @@ clip is empty </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_isClipRect">isClipRect</a> <a href="#SkCanvas_getLocalClipBounds">getLocalClipBounds</a> <a href="#SkCanvas_getDeviceClipBounds">getDeviceClipBounds</a> + --- <a name="SkCanvas_isClipRect"></a> @@ -5249,6 +5715,10 @@ clip is not rect </fiddle-embed></div> +### See Also + +<a href="#SkCanvas_isClipEmpty">isClipEmpty</a> <a href="#SkCanvas_getLocalClipBounds">getLocalClipBounds</a> <a href="#SkCanvas_getDeviceClipBounds">getDeviceClipBounds</a> + --- # <a name="SkAutoCanvasRestore"></a> Class SkAutoCanvasRestore @@ -5278,7 +5748,7 @@ utility to <a href="#SkAutoCanvasRestore_restore">restore</a> <a href="#Canvas"> ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="466ef576b88e29d7252422db7adeed1c"></fiddle-embed></div> ### See Also @@ -5293,11 +5763,8 @@ utility to <a href="#SkAutoCanvasRestore_restore">restore</a> <a href="#Canvas"> ~SkAutoCanvasRestore() </pre> -Restores <a href="#Canvas">Canvas</a> to saved state. - -### Example - -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +Restores <a href="#Canvas">Canvas</a> to saved state. <a href="undocumented#Destructor">Destructor</a> is called when container goes out of +scope. ### See Also @@ -5317,7 +5784,23 @@ Restores <a href="#Canvas">Canvas</a> to saved state immediately. Subsequent cal ### Example -<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> +<div><fiddle-embed name="9f459b218ec079c1ada23f4412968f9a"> + +#### Example Output + +~~~~ +saveCanvas: false before restore: 2 +saveCanvas: false after restore: 2 +saveCanvas: true before restore: 2 +saveCanvas: true after restore: 2 +saveCanvas: false before restore: 2 +saveCanvas: false after restore: 1 +saveCanvas: true before restore: 2 +saveCanvas: true after restore: 1 +final count: 1 +~~~~ + +</fiddle-embed></div> ### See Also diff --git a/site/user/api/SkMatrix_Reference.md b/site/user/api/SkMatrix_Reference.md index 6c9b893794..4fb273ca0f 100644 --- a/site/user/api/SkMatrix_Reference.md +++ b/site/user/api/SkMatrix_Reference.md @@ -1466,7 +1466,7 @@ perspective scale factor to store</td> ### Example -<div><fiddle-embed name="c51d81b637b58da30fb9ae2d68877167"></fiddle-embed></div> +<div><fiddle-embed name="95ccfc2a89ce593e6b7a9f992a844bc0"></fiddle-embed></div> ### See Also @@ -1697,7 +1697,7 @@ pivot y</td> ### Example -<div><fiddle-embed name="397db8da89bc92e7c576ad013d64ed24"></fiddle-embed></div> +<div><fiddle-embed name="4565a0792058178c88e0a129a87272d6"></fiddle-embed></div> ### See Also @@ -1722,7 +1722,7 @@ vertical scale factor</td> ### Example -<div><fiddle-embed name="94a9ec11b994580dca14aa2159a796a9"></fiddle-embed></div> +<div><fiddle-embed name="1579d0cc109c26e69f66f73abd35fb0e"></fiddle-embed></div> ### See Also @@ -3771,7 +3771,7 @@ storage for mapped corner <a href="#Point">Points</a></td> ### Example -<div><fiddle-embed name="3bf9404624735d7cf34b47b9c7b27bcc"></fiddle-embed></div> +<div><fiddle-embed name="c69cd2a590b5733c3cbc92cb9ceed3f5"></fiddle-embed></div> ### See Also diff --git a/site/user/api/SkPaint_Reference.md b/site/user/api/SkPaint_Reference.md index ffab03e288..33a92a7da3 100644 --- a/site/user/api/SkPaint_Reference.md +++ b/site/user/api/SkPaint_Reference.md @@ -647,6 +647,10 @@ serialized data describing <a href="#Paint">Paint</a> content</td> </tr> </table> +### See Also + +<a href="undocumented#SkReadBuffer">SkReadBuffer</a> + --- # <a name="Hinting"></a> Hinting @@ -862,6 +866,10 @@ enum <a href="#SkPaint_ReserveFlags">ReserveFlags</a> { </tr> </table> +### See Also + +<a href="#Flags">Flags</a> <a href="#SkPaint_getFlags">getFlags</a> + <a name="SkPaint_getFlags"></a> @@ -2436,7 +2444,7 @@ at the contour point. ### Example -<div><fiddle-embed name="3d92b449b298b4ce4004cfca6b91cee7"></fiddle-embed></div> +<div><fiddle-embed name="2bffb6384cc20077e632e7d01da045ca"></fiddle-embed></div> <a name="SkPaint_getStrokeCap"></a> ## getStrokeCap @@ -2516,7 +2524,7 @@ the following curve, the pair of curves meet at <a href="#Stroke_Join">Stroke Jo ### Example -<div><fiddle-embed name="4a4e41ed89a57d47eab5d1600c33b0e8"></fiddle-embed></div> +<div><fiddle-embed name="917c44b504d3f9308571fd3835d90a0d"></fiddle-embed></div> ## <a name="SkPaint_Join"></a> Enum SkPaint::Join @@ -5204,5 +5212,9 @@ text size = 12 </fiddle-embed></div> +### See Also + +<a href="#SkPathEffect_toString">SkPathEffect::toString</a> <a href="#SkMaskFilter_toString">SkMaskFilter::toString</a> <a href="#SkColorFilter_toString">SkColorFilter::toString</a> <a href="#SkImageFilter_toString">SkImageFilter::toString</a> + --- diff --git a/site/user/api/SkPath_Reference.md b/site/user/api/SkPath_Reference.md index 154b66b27d..d0bb7e0d50 100644 --- a/site/user/api/SkPath_Reference.md +++ b/site/user/api/SkPath_Reference.md @@ -106,7 +106,8 @@ Internally, <a href="#Path">Path</a> lazily computes metrics likes bounds and co | <a href="#SkPath_Convexity">Convexity</a> | Returns if <a href="#Path">Path</a> is convex or concave. | | <a href="#SkPath_Direction">Direction</a> | Sets <a href="#Contour">Contour</a> clockwise or counterclockwise. | | <a href="#SkPath_FillType">FillType</a> | Sets winding rule and inverse fill. | -| <a href="#SkPath_SegmentMask">SegmentMask</a> | <a href="#SkPath_Verb">Verb</a> | Controls how <a href="#Path">Path</a> <a href="#Point">Points</a> are interpreted. | +| <a href="#SkPath_SegmentMask">SegmentMask</a> | Returns <a href="#SkPath_Verb">Verb</a> types in <a href="#Path">Path</a>. | +| <a href="#SkPath_Verb">Verb</a> | Controls how <a href="#Path">Path</a> <a href="#Point">Points</a> are interpreted. | ## <a name="Classes_and_Structs"></a> Classes and Structs diff --git a/site/user/api/SkPixmap_Reference.md b/site/user/api/SkPixmap_Reference.md index 6e44b60aff..969fdb3ed6 100644 --- a/site/user/api/SkPixmap_Reference.md +++ b/site/user/api/SkPixmap_Reference.md @@ -224,7 +224,7 @@ size of one row of <a href="#SkPixmap_addr">addr</a>; <a href="#SkPixmap_width"> ### Example -<div><fiddle-embed name="c8e31733704bfebdb038b003aa8a62d7"></fiddle-embed></div> +<div><fiddle-embed name="a7c9bfe44f5d888ab5b9996f2b126788"></fiddle-embed></div> ### See Also @@ -1253,6 +1253,10 @@ pixmap.addr32(1, 2) == &storage[1 + 2 * w] </fiddle-embed></div> +### See Also + +<a href="#SkPixmap_addr">addr</a> <a href="#SkPixmap_addr8">addr8</a> <a href="#SkPixmap_addr16">addr16</a> <a href="#SkPixmap_addr64">addr64</a> <a href="#SkPixmap_addrF16">addrF16</a> <a href="#SkPixmap_getColor">getColor</a> <a href="#SkPixmap_writable_addr">writable addr</a> <a href="#SkPixmap_writable_addr64">writable addr64</a> + --- <pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> @@ -1561,7 +1565,7 @@ writable unsigned 64-bit pointer to pixel ### Example -<div><fiddle-embed name="33a04ac51c74a1e8d461b1d6f31ed82a"></fiddle-embed></div> +<div><fiddle-embed name="de14d8d30e4a7b6462103d0e0dd96b0b"></fiddle-embed></div> ### See Also @@ -1938,7 +1942,7 @@ true if pixels are changed ### Example -<div><fiddle-embed name="f0a8f4e07fd8b6c48eb52f2238d8f88b"></fiddle-embed></div> +<div><fiddle-embed name="a0cdbafed4786788cc90681e7b294234"></fiddle-embed></div> ### See Also @@ -1967,7 +1971,7 @@ true if pixels are changed ### Example -<div><fiddle-embed name="ee0bb3f3aae12dbc1c2759349527e9da"></fiddle-embed></div> +<div><fiddle-embed name="838202e0d49cad2eb3eeb495834f6d63"></fiddle-embed></div> ### See Also @@ -1999,7 +2003,7 @@ true if pixels are changed ### Example -<div><fiddle-embed name="da215a59c574d26bc5caf7de630d5966"></fiddle-embed></div> +<div><fiddle-embed name="f884f3f46a565f052a5e252ae2f36e9b"></fiddle-embed></div> ### See Also diff --git a/site/user/api/catalog.htm b/site/user/api/catalog.htm index c38bd5fbc1..de9d211879 100644 --- a/site/user/api/catalog.htm +++ b/site/user/api/catalog.htm @@ -28,6 +28,13 @@ "name": "Weight_3", "stdout": "move {0, 0}, \\nline {0, 0}, {20, 0}, \\nline {20, 0}, {20, 20}, \\ndone \\n" }, + "SkAutoCanvasRestore_restore": { + "code": "void draw(SkCanvas* canvas) {\n for (bool callRestore : { false, true } ) {\n for (bool saveCanvas : {false, true} ) {\n SkAutoCanvasRestore autoRestore(canvas, saveCanvas);\n if (!saveCanvas) {\n canvas->save();\n }\n SkDebugf(\"saveCanvas: %s before restore: %d\\n\",\n saveCanvas ? \"true\" : \"false\", canvas->getSaveCount());\n if (callRestore) autoRestore.restore();\n SkDebugf(\"saveCanvas: %s after restore: %d\\n\",\n saveCanvas ? \"true\" : \"false\", canvas->getSaveCount());\n }\n }\n SkDebugf(\"final count: %d\\n\", canvas->getSaveCount());\n}", + "hash": "9f459b218ec079c1ada23f4412968f9a", + "file": "SkCanvas_Reference", + "name": "SkAutoCanvasRestore::restore()", + "stdout": "saveCanvas: false before restore: 2\\nsaveCanvas: false after restore: 2\\nsaveCanvas: true before restore: 2\\nsaveCanvas: true after restore: 2\\nsaveCanvas: false before restore: 2\\nsaveCanvas: false after restore: 1\\nsaveCanvas: true before restore: 2\\nsaveCanvas: true after restore: 1\\nfinal count: 1\\n" + }, "SkBitmap_ComputeIsOpaque": { "code": "void draw(SkCanvas* canvas) {\n SkBitmap bitmap;\n bitmap.setInfo(SkImageInfo::Make(2, 2, kN32_SkColorType, kPremul_SkAlphaType));\n for (int index = 0; index < 2; ++index) {\n bitmap.allocPixels();\n bitmap.eraseColor(0x00000000);\n SkDebugf(\"computeIsOpaque: %s\\n\", SkBitmap::ComputeIsOpaque(bitmap) ? \"true\" : \"false\");\n bitmap.eraseColor(0xFFFFFFFF);\n SkDebugf(\"computeIsOpaque: %s\\n\", SkBitmap::ComputeIsOpaque(bitmap) ? \"true\" : \"false\");\n bitmap.setInfo(bitmap.info().makeAlphaType(kOpaque_SkAlphaType));\n }\n}", "hash": "9df1baa17658fbd0c419780f26fd854f", @@ -3127,16 +3134,16 @@ "Paint_Stroke_Cap": { "code": "void draw(SkCanvas* canvas) {\n SkPaint paint;\n paint.setStyle(SkPaint::kStroke_Style);\n paint.setStrokeWidth(20);\n SkPath path;\n path.moveTo(30, 30);\n path.lineTo(30, 30);\n path.moveTo(70, 30);\n path.lineTo(90, 40);\n for (SkPaint::Cap c : { SkPaint::kButt_Cap, SkPaint::kRound_Cap, SkPaint::kSquare_Cap } ) {\n paint.setStrokeCap(c);\n canvas->drawPath(path, paint);\n canvas->translate(0, 70);\n }\n}", "width": 256, - "height": 256, - "hash": "3d92b449b298b4ce4004cfca6b91cee7", + "height": 200, + "hash": "2bffb6384cc20077e632e7d01da045ca", "file": "SkPaint_Reference", "name": "Stroke_Cap" }, "Paint_Stroke_Join": { - "code": "void draw(SkCanvas* canvas) {\n SkPaint paint;\n paint.setStyle(SkPaint::kStroke_Style);\n paint.setStrokeWidth(20);\n SkPath path;\n path.moveTo(30, 30);\n path.lineTo(40, 50);\n path.conicTo(70, 30, 100, 30, .707f);\n for (SkPaint::Join j : { SkPaint::kMiter_Join, SkPaint::kRound_Join, SkPaint::kBevel_Join } ) {\n paint.setStrokeJoin(j);\n canvas->drawPath(path, paint);\n canvas->translate(0, 70);\n }\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPaint paint;\n paint.setStyle(SkPaint::kStroke_Style);\n paint.setStrokeWidth(20);\n SkPath path;\n path.moveTo(30, 20);\n path.lineTo(40, 40);\n path.conicTo(70, 20, 100, 20, .707f);\n for (SkPaint::Join j : { SkPaint::kMiter_Join, SkPaint::kRound_Join, SkPaint::kBevel_Join } ) {\n paint.setStrokeJoin(j);\n canvas->drawPath(path, paint);\n canvas->translate(0, 70);\n }\n}", "width": 256, - "height": 256, - "hash": "4a4e41ed89a57d47eab5d1600c33b0e8", + "height": 200, + "hash": "917c44b504d3f9308571fd3835d90a0d", "file": "SkPaint_Reference", "name": "Stroke_Join" }, @@ -3293,29 +3300,13 @@ "name": "Path_2" }, "SkAutoCanvasRestore_SkCanvas_star": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPaint p;\n p.setAntiAlias(true);\n p.setTextSize(64);\n for (SkScalar sx : { -1, 1 } ) {\n for (SkScalar sy : { -1, 1 } ) {\n SkAutoCanvasRestore autoRestore(canvas, true);\n SkMatrix m = SkMatrix::MakeAll(sx, 1, 96, 0, sy, 64, 0, 0, 1);\n canvas->concat(m);\n canvas->drawString(\"R\", 0, 0, p);\n }\n }\n}", "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", + "height": 128, + "hash": "466ef576b88e29d7252422db7adeed1c", "file": "SkCanvas_Reference", "name": "SkAutoCanvasRestore::SkAutoCanvasRestore(SkCanvas* canvas, bool doSave)" }, - "SkAutoCanvasRestore_destructor": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", - "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", - "file": "SkCanvas_Reference", - "name": "SkAutoCanvasRestore::~SkAutoCanvasRestore()" -}, - "SkAutoCanvasRestore_restore": { - "code": "void draw(SkCanvas* canvas) {\n // incomplete\n}", - "width": 256, - "height": 256, - "hash": "882e8e0103048009a25cfc20400492f7", - "file": "SkCanvas_Reference", - "name": "SkAutoCanvasRestore::restore()" -}, "SkBitmap_allocN32Pixels": { "code": "void draw(SkCanvas* canvas) {\n SkRandom random;\n SkBitmap bitmap;\n bitmap.allocN32Pixels(64, 64);\n bitmap.eraseColor(SK_ColorTRANSPARENT);\n for (int y = 0; y < 256; y += 64) {\n for (int x = 0; x < 256; x += 64) {\n SkColor color = random.nextU();\n uint32_t w = random.nextRangeU(4, 32);\n uint32_t cx = random.nextRangeU(0, 64 - w);\n uint32_t h = random.nextRangeU(4, 32);\n uint32_t cy = random.nextRangeU(0, 64 - h);\n bitmap.erase(color, SkIRect::MakeXYWH(cx, cy, w, h));\n canvas->drawBitmap(bitmap, x, y);\n }\n }\n}", "width": 256, @@ -3367,8 +3358,8 @@ "SkBitmap_bounds": { "code": "void draw(SkCanvas* canvas) {\n SkIRect bounds = source.bounds();\n for (int x : { 0, bounds.width() } ) {\n for (int y : { 0, bounds.height() } ) {\n canvas->drawBitmap(source, x, y);\n }\n }\n}", "width": 256, - "height": 256, - "hash": "977dd8a850f89a610505e3f4f260d540", + "height": 128, + "hash": "bd020c1527964761adf7646e82a36487", "file": "SkBitmap_Reference", "name": "SkBitmap::bounds()" }, @@ -4575,8 +4566,8 @@ "SkMatrix_mapRectToQuad": { "code": "void draw(SkCanvas* canvas) {\n SkPaint paint;\n paint.setAntiAlias(true);\n SkMatrix matrix;\n matrix.setRotate(60, 128, 128);\n SkRect rect = {50, 50, 150, 150};\n SkPoint pts[4];\n matrix.mapRectToQuad(pts, rect);\n for (int i = 0; i < 4; ++i) {\n canvas->drawCircle(pts[i].fX, pts[i].fY, 3, paint);\n }\n canvas->concat(matrix);\n paint.setStyle(SkPaint::kStroke_Style);\n canvas->drawRect(rect, paint);\n}", "width": 256, - "height": 256, - "hash": "3bf9404624735d7cf34b47b9c7b27bcc", + "height": 192, + "hash": "c69cd2a590b5733c3cbc92cb9ceed3f5", "file": "SkMatrix_Reference", "name": "SkMatrix::mapRectToQuad" }, @@ -4789,10 +4780,10 @@ "name": "SkMatrix::set9" }, "SkMatrix_setAll": { - "code": "void draw(SkCanvas* canvas) {\n SkPaint p;\n p.setAntiAlias(true);\n p.setTextSize(64);\n SkMatrix m;\n for (SkScalar sx : { -1, 1 } ) {\n for (SkScalar sy : { -1, 1 } ) {\n SkAutoCanvasRestore autoRestore(canvas, true);\n m.setAll(sx, 1, 128, 0, sy, 128, 0, 0, 1);\n canvas->concat(m);\n canvas->drawString(\"K\", 0, 0, p);\n }\n }\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPaint p;\n p.setAntiAlias(true);\n p.setTextSize(64);\n SkMatrix m;\n for (SkScalar sx : { -1, 1 } ) {\n for (SkScalar sy : { -1, 1 } ) {\n SkAutoCanvasRestore autoRestore(canvas, true);\n m.setAll(sx, 1, 128, 0, sy, 64, 0, 0, 1);\n canvas->concat(m);\n canvas->drawString(\"K\", 0, 0, p);\n }\n }\n}", "width": 256, - "height": 256, - "hash": "c51d81b637b58da30fb9ae2d68877167", + "height": 128, + "hash": "95ccfc2a89ce593e6b7a9f992a844bc0", "file": "SkMatrix_Reference", "name": "SkMatrix::setAll" }, @@ -4853,10 +4844,10 @@ "name": "SkMatrix::setRotate_2" }, "SkMatrix_setScale": { - "code": "void draw(SkCanvas* canvas) {\n SkPaint p;\n p.setAntiAlias(true);\n p.setTextSize(64);\n SkMatrix m;\n for (SkScalar sx : { -1, 1 } ) {\n for (SkScalar sy : { -1, 1 } ) {\n SkAutoCanvasRestore autoRestore(canvas, true);\n m.setScale(sx, sy, 128, 128);\n canvas->concat(m);\n canvas->drawString(\"K\", 128, 128, p);\n }\n }\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPaint p;\n p.setAntiAlias(true);\n p.setTextSize(64);\n SkMatrix m;\n for (SkScalar sx : { -1, 1 } ) {\n for (SkScalar sy : { -1, 1 } ) {\n SkAutoCanvasRestore autoRestore(canvas, true);\n m.setScale(sx, sy, 128, 64);\n canvas->concat(m);\n canvas->drawString(\"%\", 128, 64, p);\n }\n }\n}", "width": 256, - "height": 256, - "hash": "397db8da89bc92e7c576ad013d64ed24", + "height": 128, + "hash": "4565a0792058178c88e0a129a87272d6", "file": "SkMatrix_Reference", "name": "SkMatrix::setScale" }, @@ -4877,10 +4868,10 @@ "name": "SkMatrix::setScaleY" }, "SkMatrix_setScale_2": { - "code": "void draw(SkCanvas* canvas) {\n SkPaint p;\n p.setAntiAlias(true);\n p.setTextSize(64);\n SkMatrix m;\n for (SkScalar sx : { -1, 1 } ) {\n for (SkScalar sy : { -1, 1 } ) {\n SkAutoCanvasRestore autoRestore(canvas, true);\n m.setScale(sx, sy);\n m.postTranslate(128, 128);\n canvas->concat(m);\n canvas->drawString(\"K\", 0, 0, p);\n }\n }\n}", + "code": "void draw(SkCanvas* canvas) {\n SkPaint p;\n p.setAntiAlias(true);\n p.setTextSize(64);\n SkMatrix m;\n for (SkScalar sx : { -1, 1 } ) {\n for (SkScalar sy : { -1, 1 } ) {\n SkAutoCanvasRestore autoRestore(canvas, true);\n m.setScale(sx, sy);\n m.postTranslate(128, 64);\n canvas->concat(m);\n canvas->drawString(\"@\", 0, 0, p);\n }\n }\n}", "width": 256, - "height": 256, - "hash": "94a9ec11b994580dca14aa2159a796a9", + "height": 128, + "hash": "1579d0cc109c26e69f66f73abd35fb0e", "file": "SkMatrix_Reference", "name": "SkMatrix::setScale_2" }, @@ -5695,24 +5686,24 @@ "SkPixmap_erase": { "code": "void draw(SkCanvas* canvas) {\n uint32_t storage[2];\n SkImageInfo info = SkImageInfo::MakeN32Premul(1, 2);\n SkPixmap pixmap(info, storage, info.minRowBytes());\n pixmap.erase(SK_ColorBLUE, {0, 0, 1, 1});\n pixmap.erase(SK_ColorRED, {0, 1, 1, 2});\n SkBitmap bitmap;\n canvas->scale(20, 20);\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, 0, 0);\n}", "width": 256, - "height": 256, - "hash": "f0a8f4e07fd8b6c48eb52f2238d8f88b", + "height": 50, + "hash": "a0cdbafed4786788cc90681e7b294234", "file": "SkPixmap_Reference", "name": "SkPixmap::erase()" }, "SkPixmap_erase_2": { "code": "void draw(SkCanvas* canvas) {\n uint32_t storage[2];\n SkImageInfo info = SkImageInfo::MakeN32Premul(1, 2);\n SkPixmap pixmap(info, storage, info.minRowBytes());\n pixmap.erase(SK_ColorBLUE);\n SkBitmap bitmap;\n canvas->scale(20, 20);\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, 0, 0);\n}", "width": 256, - "height": 256, - "hash": "ee0bb3f3aae12dbc1c2759349527e9da", + "height": 50, + "hash": "838202e0d49cad2eb3eeb495834f6d63", "file": "SkPixmap_Reference", "name": "SkPixmap::erase_2" }, "SkPixmap_erase_3": { "code": "void draw(SkCanvas* canvas) {\n uint32_t storage[2];\n SkImageInfo info = SkImageInfo::MakeN32Premul(1, 2);\n SkPixmap pixmap(info, storage, info.minRowBytes());\n SkIRect topPixelBounds = {0, 0, 1, 1};\n pixmap.erase({ 0.65f, 0.45f, 0.25f, 1 }, &topPixelBounds);\n SkIRect bottomPixelBounds = {0, 1, 1, 2};\n pixmap.erase({ 0.25f, 0.65f, 0.45f, 1 }, &bottomPixelBounds);\n SkBitmap bitmap;\n canvas->scale(20, 20);\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, 0, 0);\n}", "width": 256, - "height": 256, - "hash": "da215a59c574d26bc5caf7de630d5966", + "height": 50, + "hash": "f884f3f46a565f052a5e252ae2f36e9b", "file": "SkPixmap_Reference", "name": "SkPixmap::erase_3" }, @@ -5767,8 +5758,8 @@ "SkPixmap_reset_2": { "code": "void draw(SkCanvas* canvas) {\n std::vector<int32_t> pixels;\n pixels.resize(image->height() * image->width() * 4);\n SkPixmap pixmap(SkImageInfo::Make(image->width(), image->height(), kN32_SkColorType,\n image->alphaType()), (const void*) &pixels.front(), image->width() * 4);\n image->readPixels(pixmap, 0, 0);\n int x = 0;\n for (auto colorType : { kRGBA_8888_SkColorType, kBGRA_8888_SkColorType } ) {\n pixmap.reset(SkImageInfo::Make(image->width(), image->height(), colorType, \n image->alphaType()), (const void*) &pixels.front(), image->width() * 4);\n SkBitmap bitmap;\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, x, 0);\n x += 128;\n }\n}\n", "width": 256, - "height": 128, - "hash": "c8e31733704bfebdb038b003aa8a62d7", + "height": 64, + "hash": "a7c9bfe44f5d888ab5b9996f2b126788", "file": "SkPixmap_Reference", "name": "SkPixmap::reset_2" }, @@ -5799,8 +5790,8 @@ "SkPixmap_writable_addr64": { "code": "void draw(SkCanvas* canvas) {\n SkImageInfo info = SkImageInfo::Make(3, 3, kRGBA_F16_SkColorType, kPremul_SkAlphaType);\n uint64_t storage[9];\n SkPixmap pixmap(info, storage, 3 * sizeof(uint64_t));\n SkColor4f c4 { 1, 0.45f, 0.25f, 0.65f };\n pixmap.erase(c4);\n SkBitmap bitmap;\n canvas->scale(10, 10);\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, 0, 0);\n *pixmap.writable_addr64(1, 1) |= 0x00ff000000000000LL;\n bitmap.installPixels(pixmap);\n canvas->drawBitmap(bitmap, 10, 0);\n}", "width": 256, - "height": 256, - "hash": "33a04ac51c74a1e8d461b1d6f31ed82a", + "height": 40, + "hash": "de14d8d30e4a7b6462103d0e0dd96b0b", "file": "SkPixmap_Reference", "name": "SkPixmap::writable_addr64" }, diff --git a/site/user/api/undocumented.md b/site/user/api/undocumented.md index dc102f84ab..7ac1e12d33 100644 --- a/site/user/api/undocumented.md +++ b/site/user/api/undocumented.md @@ -223,6 +223,15 @@ int SkColorSetARGB(a, r, g, b) # <a name="SkColorFilter"></a> Class SkColorFilter +<a name="SkColorFilter_toString"></a> +## toString + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +void toString(SkString* str) const +</pre> + +--- + # <a name="Color_Space"></a> Color Space # <a name="SkColorSpace"></a> Class SkColorSpace @@ -250,6 +259,19 @@ static sk_sp<SkColorSpace> MakeSRGBLinear() </table> +# <a name="Create_Color_Space_Xform_Canvas"></a> Create Color Space Xform Canvas + +<a name="SkCreateColorSpaceXformCanvas"></a> +## SkCreateColorSpaceXformCanvas + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +std::unique_ptr<SkCanvas> SK_API + SkCreateColorSpaceXformCanvas(SkCanvas* target, + sk_sp<SkColorSpace> targetCS) +</pre> + +--- + # <a name="Core_Graphics"></a> Core Graphics # <a name="Core_Text"></a> Core Text @@ -341,6 +363,17 @@ static std::unique_ptr<SkCanvas> # <a name="GPU_Context"></a> GPU Context +# <a name="GrContext"></a> Class GrContext + +<a name="GrContext_flush"></a> +## flush + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +void flush() +</pre> + +--- + # <a name="GPU_Surface"></a> GPU Surface # <a name="Image"></a> Image @@ -425,6 +458,16 @@ SkImageInfo() --- +<a name="SkImageInfo_MakeN32Premul"></a> +## MakeN32Premul + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +static SkImageInfo MakeN32Premul(int width, int height, + sk_sp<SkColorSpace> cs = nullptr) +</pre> + +--- + <a name="SkImageInfo_makeColorSpace"></a> ## makeColorSpace @@ -577,12 +620,30 @@ bool scalePixels(const SkPixmap& dst, SkFilterQuality, --- +<a name="SkImage_peekPixels"></a> +## peekPixels + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +bool peekPixels(SkPixmap* pixmap) const +</pre> + +--- + # <a name="Image_Filter"></a> Image Filter ## <a name="Scaling"></a> Scaling # <a name="SkImageFilter"></a> Class SkImageFilter +<a name="SkImageFilter_toString"></a> +## toString + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +void toString(SkString* str) const +</pre> + +--- + # <a name="Image_Scaling"></a> Image Scaling # <a name="Malloc_Pixel_Ref"></a> Malloc Pixel Ref @@ -650,6 +711,15 @@ virtual bool filterMask(SkMask* dst, const SkMask& src, const SkMatrix&, --- +<a name="SkMaskFilter_toString"></a> +## toString + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +void toString(SkString* str) const +</pre> + +--- + # <a name="Math"></a> Math <a name="sk_64_isS32"></a> @@ -742,6 +812,14 @@ template <typename D, typename S> inline bool SkTFitsIn(S s) --- +# <a name="Stream"></a> Stream + +# <a name="SkStream"></a> Class SkStream + +# <a name="Meta_Data"></a> Meta Data + +# <a name="SkMetaData"></a> Class SkMetaData + # <a name="Nine_Patch"></a> Nine Patch # <a name="Number_Types"></a> Number Types @@ -805,6 +883,15 @@ template <typename D, typename S> inline bool SkTFitsIn(S s) # <a name="SkPathEffect"></a> Class SkPathEffect +<a name="SkPathEffect_toString"></a> +## toString + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +void toString(SkString* str) const +</pre> + +--- + # <a name="Path_Measure"></a> Path Measure # <a name="SkPathMeasure"></a> Class SkPathMeasure @@ -831,6 +918,17 @@ bool SK_API Op(const SkPath& one, const SkPath& two, SkPathOp op, SkPath* result # <a name="Picture"></a> Picture +# <a name="SkPicture"></a> Class SkPicture + +<a name="SkPicture_playback"></a> +## playback + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +virtual void playback(SkCanvas*, AbortCallback* = nullptr) const = 0 +</pre> + +--- + ## <a name="Recorder"></a> Recorder # <a name="SkPictureRecorder"></a> Class SkPictureRecorder @@ -969,10 +1067,6 @@ static sk_sp<SkShader> MakeBitmapShader(const SkBitmap& src, TileMode tmx, # <a name="Sprite"></a> Sprite -# <a name="Stream"></a> Stream - -# <a name="SkStream"></a> Class SkStream - # <a name="String"></a> String # <a name="SkString"></a> Class SkString @@ -1003,6 +1097,51 @@ bool readPixels(const SkPixmap& dst, int srcX, int srcY) ; --- +<a name="SkSurface_getCanvas"></a> +## getCanvas + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +SkCanvas* getCanvas() +</pre> + +--- + +<a name="SkSurface_flush"></a> +## flush + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +void flush() +</pre> + +--- + +<a name="SkSurface_prepareForExternalIO"></a> +## prepareForExternalIO + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +void prepareForExternalIO() +</pre> + +--- + +<a name="SkSurface_makeSurface"></a> +## makeSurface + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +sk_sp<SkSurface> makeSurface(const SkImageInfo&) +</pre> + +--- + +<a name="SkSurface_peekPixels"></a> +## peekPixels + +<pre style="padding: 1em 1em 1em 1em;width: 50em; background-color: #f0f0f0"> +bool peekPixels(SkPixmap*) +</pre> + +--- + ## <a name="Properties"></a> Properties # <a name="SkSurfaceProps"></a> Class SkSurfaceProps |