refresh generated includes
the newest ones (SkBlendMode.h, SkPicture.h, SkRRect.h) need additional editing; enough has changed that it is time to refresh anyway. TBR=reed@google.com Docs-Preview: https://skia.org/?cl=141043 Bug: skia:6818 Change-Id: Ic123b02f57005a087f8655cafa1a2537529beca5 Reviewed-on: https://skia-review.googlesource.com/141043 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
This commit is contained in:
parent
390495eb8d
commit
7651c1611e
@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Generated by tools/bookmaker from include/core/SkBitmap.h and docs/SkBitmap_Reference.bmh
|
/* Generated by tools/bookmaker from include/core/SkBitmap.h and docs/SkBitmap_Reference.bmh
|
||||||
on 2018-06-08 11:48:28. Additional documentation and examples can be found at:
|
on 2018-07-13 08:15:10. Additional documentation and examples can be found at:
|
||||||
https://skia.org/user/api/SkBitmap_Reference
|
https://skia.org/user/api/SkBitmap_Reference
|
||||||
|
|
||||||
You may edit either file directly. Structural changes to public interfaces require
|
You may edit either file directly. Structural changes to public interfaces require
|
||||||
@ -125,7 +125,7 @@ public:
|
|||||||
/** Returns pixel count in each row. Should be equal or less than:
|
/** Returns pixel count in each row. Should be equal or less than:
|
||||||
rowBytes() / info().bytesPerPixel().
|
rowBytes() / info().bytesPerPixel().
|
||||||
|
|
||||||
Maybe be less than pixelRef().width(). Will not exceed pixelRef().width() less
|
May be less than pixelRef().width(). Will not exceed pixelRef().width() less
|
||||||
pixelRefOrigin().fX.
|
pixelRefOrigin().fX.
|
||||||
|
|
||||||
@return pixel width in SkImageInfo
|
@return pixel width in SkImageInfo
|
||||||
@ -207,7 +207,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool empty() const { return fPixmap.info().isEmpty(); }
|
bool empty() const { return fPixmap.info().isEmpty(); }
|
||||||
|
|
||||||
/** Return true if SkPixelRef is nullptr.
|
/** Returns true if SkPixelRef is nullptr.
|
||||||
|
|
||||||
Does not check if width() or height() are zero; call drawsNothing() to check
|
Does not check if width() or height() are zero; call drawsNothing() to check
|
||||||
width(), height(), and SkPixelRef.
|
width(), height(), and SkPixelRef.
|
||||||
@ -216,7 +216,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool isNull() const { return nullptr == fPixelRef; }
|
bool isNull() const { return nullptr == fPixelRef; }
|
||||||
|
|
||||||
/** Return true if width() or height() are zero, or if SkPixelRef is nullptr.
|
/** Returns true if width() or height() are zero, or if SkPixelRef is nullptr.
|
||||||
If true, SkBitmap has no effect when drawn or drawn into.
|
If true, SkBitmap has no effect when drawn or drawn into.
|
||||||
|
|
||||||
@return true if drawing has no effect
|
@return true if drawing has no effect
|
||||||
@ -310,8 +310,8 @@ public:
|
|||||||
return SkAlphaTypeIsOpaque(this->alphaType());
|
return SkAlphaTypeIsOpaque(this->alphaType());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** If true, provides a hint to caller that pixels should not
|
/** Provides a hint to caller that pixels should not be cached. Only true if
|
||||||
be cached. Only true if setIsVolatile() has been called to mark as volatile.
|
setIsVolatile() has been called to mark as volatile.
|
||||||
|
|
||||||
Volatile state is not shared by other bitmaps sharing the same SkPixelRef.
|
Volatile state is not shared by other bitmaps sharing the same SkPixelRef.
|
||||||
|
|
||||||
@ -1134,7 +1134,7 @@ public:
|
|||||||
bool writePixels(const SkPixmap& src, int x, int y, SkTransferFunctionBehavior behavior);
|
bool writePixels(const SkPixmap& src, int x, int y, SkTransferFunctionBehavior behavior);
|
||||||
|
|
||||||
#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
|
#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
|
||||||
/** Android framework only.
|
/** For use by Android framework only.
|
||||||
|
|
||||||
@return true if setHasHardwareMipMap() has been called with true
|
@return true if setHasHardwareMipMap() has been called with true
|
||||||
*/
|
*/
|
||||||
@ -1142,7 +1142,7 @@ public:
|
|||||||
return (fFlags & kHasHardwareMipMap_Flag) != 0;
|
return (fFlags & kHasHardwareMipMap_Flag) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Android framework only.
|
/** For use by Android framework only.
|
||||||
|
|
||||||
@param hasHardwareMipMap sets state
|
@param hasHardwareMipMap sets state
|
||||||
*/
|
*/
|
||||||
|
@ -5,54 +5,71 @@
|
|||||||
* found in the LICENSE file.
|
* found in the LICENSE file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Generated by tools/bookmaker from include/core/SkBlendMode.h and docs/SkBlendMode_Reference.bmh
|
||||||
|
on 2018-07-13 08:15:10. Additional documentation and examples can be found at:
|
||||||
|
https://skia.org/user/api/SkBlendMode_Reference
|
||||||
|
|
||||||
|
You may edit either file directly. Structural changes to public interfaces require
|
||||||
|
editing both files. After editing docs/SkBlendMode_Reference.bmh, run:
|
||||||
|
bookmaker -b docs -i include/core/SkBlendMode.h -p
|
||||||
|
to create an updated version of this file.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef SkBlendMode_DEFINED
|
#ifndef SkBlendMode_DEFINED
|
||||||
#define SkBlendMode_DEFINED
|
#define SkBlendMode_DEFINED
|
||||||
|
|
||||||
#include "SkTypes.h"
|
#include "SkTypes.h"
|
||||||
|
|
||||||
enum class SkBlendMode {
|
enum class SkBlendMode {
|
||||||
kClear, //!< [0, 0]
|
kClear, //!< replaces destination with zero: fully transparent
|
||||||
kSrc, //!< [Sa, Sc]
|
kSrc, //!< replaces destination
|
||||||
kDst, //!< [Da, Dc]
|
kDst, //!< preserves destination
|
||||||
kSrcOver, //!< [Sa + Da * (1 - Sa), Sc + Dc * (1 - Sa)]
|
kSrcOver, //!< source over destination
|
||||||
kDstOver, //!< [Da + Sa * (1 - Da), Dc + Sc * (1 - Da)]
|
kDstOver, //!< destination over source
|
||||||
kSrcIn, //!< [Sa * Da, Sc * Da]
|
kSrcIn, //!< source trimmed inside destination
|
||||||
kDstIn, //!< [Da * Sa, Dc * Sa]
|
kDstIn, //!< destination trimmed by source
|
||||||
kSrcOut, //!< [Sa * (1 - Da), Sc * (1 - Da)]
|
kSrcOut, //!< source trimmed outside destination
|
||||||
kDstOut, //!< [Da * (1 - Sa), Dc * (1 - Sa)]
|
kDstOut, //!< destination trimmed outside source
|
||||||
kSrcATop, //!< [Da, Sc * Da + Dc * (1 - Sa)]
|
kSrcATop, //!< source inside destination blended with destination
|
||||||
kDstATop, //!< [Sa, Dc * Sa + Sc * (1 - Da)]
|
kDstATop, //!< destination inside source blended with source
|
||||||
kXor, //!< [Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + Dc * (1 - Sa)]
|
kXor, //!< each of source and destination trimmed outside the other
|
||||||
kPlus, //!< [Sa + Da, Sc + Dc]
|
kPlus, //!< sum of colors
|
||||||
kModulate, // multiplies all components (= alpha and color)
|
kModulate, //!< product of premultiplied colors; darkens destination
|
||||||
|
kScreen, //!< multiply inverse of pixels, inverting result; brightens destination
|
||||||
// Following blend modes are defined in the CSS Compositing standard:
|
kLastCoeffMode = kScreen, //!< last porter duff blend mode
|
||||||
// https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blending
|
kOverlay, //!< multiply or screen, depending on destination
|
||||||
kScreen,
|
kDarken, //!< darker of source and destination
|
||||||
kLastCoeffMode = kScreen,
|
kLighten, //!< lighter of source and destination
|
||||||
|
kColorDodge, //!< brighten destination to reflect source
|
||||||
kOverlay,
|
kColorBurn, //!< darken destination to reflect source
|
||||||
kDarken,
|
kHardLight, //!< multiply or screen, depending on source
|
||||||
kLighten,
|
kSoftLight, //!< lighten or darken, depending on source
|
||||||
kColorDodge,
|
kDifference, //!< subtract darker from lighter with higher contrast
|
||||||
kColorBurn,
|
kExclusion, //!< subtract darker from lighter with lower contrast
|
||||||
kHardLight,
|
kMultiply, //!< multiply source with destination, darkening image
|
||||||
kSoftLight,
|
kLastSeparableMode = kMultiply, //!< last blend mode operating separately on components
|
||||||
kDifference,
|
kHue, //!< hue of source with saturation and luminosity of destination
|
||||||
kExclusion,
|
kSaturation, //!< saturation of source with hue and luminosity of destination
|
||||||
kMultiply,
|
kColor, //!< hue and saturation of source with luminosity of destination
|
||||||
kLastSeparableMode = kMultiply,
|
kLuminosity, //!< luminosity of source with hue and saturation of destination
|
||||||
|
kLastMode = kLuminosity, //!< last valid value
|
||||||
kHue,
|
|
||||||
kSaturation,
|
|
||||||
kColor,
|
|
||||||
kLuminosity,
|
|
||||||
kLastMode = kLuminosity,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/** Returns name of blendMode as null-terminated C string.
|
||||||
* Return the (c-string) name of the blendmode.
|
|
||||||
*/
|
@param blendMode one of:
|
||||||
|
SkBlendMode::kClear, SkBlendMode::kSrc, SkBlendMode::kDst, SkBlendMode::kSrcOver,
|
||||||
|
SkBlendMode::kDstOver, SkBlendMode::kSrcIn, SkBlendMode::kDstIn,
|
||||||
|
SkBlendMode::kSrcOut, SkBlendMode::kDstOut, SkBlendMode::kSrcATop,
|
||||||
|
SkBlendMode::kDstATop, SkBlendMode::kXor, SkBlendMode::kPlus,
|
||||||
|
SkBlendMode::kModulate, SkBlendMode::kScreen, SkBlendMode::kOverlay,
|
||||||
|
SkBlendMode::kDarken, SkBlendMode::kLighten, SkBlendMode::kColorDodge,
|
||||||
|
SkBlendMode::kColorBurn, SkBlendMode::kHardLight, SkBlendMode::kSoftLight,
|
||||||
|
SkBlendMode::kDifference, SkBlendMode::kExclusion, SkBlendMode::kMultiply,
|
||||||
|
SkBlendMode::kHue, SkBlendMode::kSaturation, SkBlendMode::kColor,
|
||||||
|
SkBlendMode::kLuminosity
|
||||||
|
@return C string
|
||||||
|
*/
|
||||||
SK_API const char* SkBlendMode_Name(SkBlendMode blendMode);
|
SK_API const char* SkBlendMode_Name(SkBlendMode blendMode);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Generated by tools/bookmaker from include/core/SkCanvas.h and docs/SkCanvas_Reference.bmh
|
/* Generated by tools/bookmaker from include/core/SkCanvas.h and docs/SkCanvas_Reference.bmh
|
||||||
on 2018-07-03 11:34:22. Additional documentation and examples can be found at:
|
on 2018-07-13 08:15:10. Additional documentation and examples can be found at:
|
||||||
https://skia.org/user/api/SkCanvas_Reference
|
https://skia.org/user/api/SkCanvas_Reference
|
||||||
|
|
||||||
You may edit either file directly. Structural changes to public interfaces require
|
You may edit either file directly. Structural changes to public interfaces require
|
||||||
@ -168,7 +168,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
explicit SkCanvas(sk_sp<SkBaseDevice> device);
|
explicit SkCanvas(sk_sp<SkBaseDevice> device);
|
||||||
|
|
||||||
/** Construct a canvas that draws into bitmap.
|
/** Constructs a canvas that draws into bitmap.
|
||||||
Sets SkSurfaceProps::kLegacyFontHost_InitType in constructed SkSurface.
|
Sets SkSurfaceProps::kLegacyFontHost_InitType in constructed SkSurface.
|
||||||
|
|
||||||
SkBitmap is copied so that subsequently editing bitmap will not affect
|
SkBitmap is copied so that subsequently editing bitmap will not affect
|
||||||
@ -187,7 +187,7 @@ public:
|
|||||||
kLegacy, //!< placeholder
|
kLegacy, //!< placeholder
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Android framework only.
|
/** For use by Android framework only.
|
||||||
|
|
||||||
@param bitmap specifies a bitmap for the canvas to draw into
|
@param bitmap specifies a bitmap for the canvas to draw into
|
||||||
@param behavior specializes this constructor; value is unused
|
@param behavior specializes this constructor; value is unused
|
||||||
@ -196,7 +196,7 @@ public:
|
|||||||
SkCanvas(const SkBitmap& bitmap, ColorBehavior behavior);
|
SkCanvas(const SkBitmap& bitmap, ColorBehavior behavior);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** Construct a canvas that draws into bitmap.
|
/** Constructs a canvas that draws into bitmap.
|
||||||
Use props to match the device characteristics, like LCD striping.
|
Use props to match the device characteristics, like LCD striping.
|
||||||
|
|
||||||
bitmap is copied so that subsequently editing bitmap will not affect
|
bitmap is copied so that subsequently editing bitmap will not affect
|
||||||
@ -229,9 +229,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
SkImageInfo imageInfo() const;
|
SkImageInfo imageInfo() const;
|
||||||
|
|
||||||
/** If SkCanvas is associated with raster surface or
|
/** Copies SkSurfaceProps, if SkCanvas is associated with raster surface or
|
||||||
GPU surface, copies SkSurfaceProps and returns true. Otherwise,
|
GPU surface, and returns true. Otherwise, returns false and leave props unchanged.
|
||||||
return false and leave props unchanged.
|
|
||||||
|
|
||||||
@param props storage for writable SkSurfaceProps
|
@param props storage for writable SkSurfaceProps
|
||||||
@return true if SkSurfaceProps was copied
|
@return true if SkSurfaceProps was copied
|
||||||
@ -492,8 +491,8 @@ public:
|
|||||||
bool writePixels(const SkBitmap& bitmap, int x, int y);
|
bool writePixels(const SkBitmap& bitmap, int x, int y);
|
||||||
|
|
||||||
/** Saves SkMatrix and clip.
|
/** Saves SkMatrix and clip.
|
||||||
Calling restore() discards changes to SkMatrix and clip, restoring the SkMatrix and clip to
|
Calling restore() discards changes to SkMatrix and clip,
|
||||||
their state when save() was called.
|
restoring the SkMatrix and clip to their state when save() was called.
|
||||||
|
|
||||||
SkMatrix may be changed by translate(), scale(), rotate(), skew(), concat(), setMatrix(),
|
SkMatrix may be changed by translate(), scale(), rotate(), skew(), concat(), setMatrix(),
|
||||||
and resetMatrix(). Clip may be changed by clipRect(), clipRRect(), clipPath(), clipRegion().
|
and resetMatrix(). Clip may be changed by clipRect(), clipRRect(), clipPath(), clipRegion().
|
||||||
@ -580,8 +579,8 @@ public:
|
|||||||
|
|
||||||
/** Saves SkMatrix and clip, and allocates SkBitmap for subsequent drawing.
|
/** Saves SkMatrix and clip, and allocates SkBitmap for subsequent drawing.
|
||||||
|
|
||||||
Calling restore() discards changes to SkMatrix and clip, and blends layer with alpha opacity
|
Calling restore() discards changes to SkMatrix and clip,
|
||||||
onto prior layer.
|
and blends layer with alpha opacity onto prior layer.
|
||||||
|
|
||||||
SkMatrix may be changed by translate(), scale(), rotate(), skew(), concat(),
|
SkMatrix may be changed by translate(), scale(), rotate(), skew(), concat(),
|
||||||
setMatrix(), and resetMatrix(). Clip may be changed by clipRect(), clipRRect(),
|
setMatrix(), and resetMatrix(). Clip may be changed by clipRect(), clipRRect(),
|
||||||
@ -726,8 +725,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
int saveLayer(const SaveLayerRec& layerRec);
|
int saveLayer(const SaveLayerRec& layerRec);
|
||||||
|
|
||||||
/** Removes changes to SkMatrix and clip since SkCanvas state was last saved.
|
/** Removes changes to SkMatrix and clip since SkCanvas state was
|
||||||
The state is removed from the stack.
|
last saved. The state is removed from the stack.
|
||||||
|
|
||||||
Does nothing if the stack is empty.
|
Does nothing if the stack is empty.
|
||||||
*/
|
*/
|
||||||
@ -751,9 +750,9 @@ public:
|
|||||||
*/
|
*/
|
||||||
void restoreToCount(int saveCount);
|
void restoreToCount(int saveCount);
|
||||||
|
|
||||||
/** Translate SkMatrix by dx along the x-axis and dy along the y-axis.
|
/** Translates SkMatrix by dx along the x-axis and dy along the y-axis.
|
||||||
|
|
||||||
Mathematically, replace SkMatrix with a translation matrix
|
Mathematically, replaces SkMatrix with a translation matrix
|
||||||
premultiplied with SkMatrix.
|
premultiplied with SkMatrix.
|
||||||
|
|
||||||
This has the effect of moving the drawing by (dx, dy) before transforming
|
This has the effect of moving the drawing by (dx, dy) before transforming
|
||||||
@ -764,9 +763,9 @@ public:
|
|||||||
*/
|
*/
|
||||||
void translate(SkScalar dx, SkScalar dy);
|
void translate(SkScalar dx, SkScalar dy);
|
||||||
|
|
||||||
/** Scale SkMatrix by sx on the x-axis and sy on the y-axis.
|
/** Scales SkMatrix by sx on the x-axis and sy on the y-axis.
|
||||||
|
|
||||||
Mathematically, replace SkMatrix with a scale matrix
|
Mathematically, replaces SkMatrix with a scale matrix
|
||||||
premultiplied with SkMatrix.
|
premultiplied with SkMatrix.
|
||||||
|
|
||||||
This has the effect of scaling the drawing by (sx, sy) before transforming
|
This has the effect of scaling the drawing by (sx, sy) before transforming
|
||||||
@ -777,9 +776,9 @@ public:
|
|||||||
*/
|
*/
|
||||||
void scale(SkScalar sx, SkScalar sy);
|
void scale(SkScalar sx, SkScalar sy);
|
||||||
|
|
||||||
/** Rotate SkMatrix by degrees. Positive degrees rotates clockwise.
|
/** Rotates SkMatrix by degrees. Positive degrees rotates clockwise.
|
||||||
|
|
||||||
Mathematically, replace SkMatrix with a rotation matrix
|
Mathematically, replaces SkMatrix with a rotation matrix
|
||||||
premultiplied with SkMatrix.
|
premultiplied with SkMatrix.
|
||||||
|
|
||||||
This has the effect of rotating the drawing by degrees before transforming
|
This has the effect of rotating the drawing by degrees before transforming
|
||||||
@ -789,11 +788,11 @@ public:
|
|||||||
*/
|
*/
|
||||||
void rotate(SkScalar degrees);
|
void rotate(SkScalar degrees);
|
||||||
|
|
||||||
/** Rotate SkMatrix by degrees about a point at (px, py). Positive degrees rotates
|
/** Rotates SkMatrix by degrees about a point at (px, py). Positive degrees rotates
|
||||||
clockwise.
|
clockwise.
|
||||||
|
|
||||||
Mathematically, construct a rotation matrix. Premultiply the rotation matrix by
|
Mathematically, constructs a rotation matrix; premultiplies the rotation matrix by
|
||||||
a translation matrix, then replace SkMatrix with the resulting matrix
|
a translation matrix; then replaces SkMatrix with the resulting matrix
|
||||||
premultiplied with SkMatrix.
|
premultiplied with SkMatrix.
|
||||||
|
|
||||||
This has the effect of rotating the drawing about a given point before
|
This has the effect of rotating the drawing about a given point before
|
||||||
@ -805,11 +804,11 @@ public:
|
|||||||
*/
|
*/
|
||||||
void rotate(SkScalar degrees, SkScalar px, SkScalar py);
|
void rotate(SkScalar degrees, SkScalar px, SkScalar py);
|
||||||
|
|
||||||
/** Skew SkMatrix by sx on the x-axis and sy on the y-axis. A positive value of sx
|
/** Skews SkMatrix by sx on the x-axis and sy on the y-axis. A positive value of sx
|
||||||
skews the drawing right as y-axis values increase; a positive value of sy skews
|
skews the drawing right as y-axis values increase; a positive value of sy skews
|
||||||
the drawing down as x-axis values increase.
|
the drawing down as x-axis values increase.
|
||||||
|
|
||||||
Mathematically, replace SkMatrix with a skew matrix premultiplied with SkMatrix.
|
Mathematically, replaces SkMatrix with a skew matrix premultiplied with SkMatrix.
|
||||||
|
|
||||||
This has the effect of skewing the drawing by (sx, sy) before transforming
|
This has the effect of skewing the drawing by (sx, sy) before transforming
|
||||||
the result with SkMatrix.
|
the result with SkMatrix.
|
||||||
@ -819,7 +818,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void skew(SkScalar sx, SkScalar sy);
|
void skew(SkScalar sx, SkScalar sy);
|
||||||
|
|
||||||
/** Replace SkMatrix with matrix premultiplied with existing SkMatrix.
|
/** Replaces SkMatrix with matrix premultiplied with existing SkMatrix.
|
||||||
|
|
||||||
This has the effect of transforming the drawn geometry by matrix, before
|
This has the effect of transforming the drawn geometry by matrix, before
|
||||||
transforming the result with existing SkMatrix.
|
transforming the result with existing SkMatrix.
|
||||||
@ -828,7 +827,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void concat(const SkMatrix& matrix);
|
void concat(const SkMatrix& matrix);
|
||||||
|
|
||||||
/** Replace SkMatrix with matrix.
|
/** Replaces SkMatrix with matrix.
|
||||||
Unlike concat(), any prior matrix state is overwritten.
|
Unlike concat(), any prior matrix state is overwritten.
|
||||||
|
|
||||||
@param matrix matrix to copy, replacing existing SkMatrix
|
@param matrix matrix to copy, replacing existing SkMatrix
|
||||||
@ -840,7 +839,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void resetMatrix();
|
void resetMatrix();
|
||||||
|
|
||||||
/** Replace clip with the intersection or difference of clip and rect,
|
/** Replaces clip with the intersection or difference of clip and rect,
|
||||||
with an aliased or anti-aliased clip edge. rect is transformed by SkMatrix
|
with an aliased or anti-aliased clip edge. rect is transformed by SkMatrix
|
||||||
before it is combined with clip.
|
before it is combined with clip.
|
||||||
|
|
||||||
@ -850,7 +849,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void clipRect(const SkRect& rect, SkClipOp op, bool doAntiAlias);
|
void clipRect(const SkRect& rect, SkClipOp op, bool doAntiAlias);
|
||||||
|
|
||||||
/** Replace clip with the intersection or difference of clip and rect.
|
/** Replaces clip with the intersection or difference of clip and rect.
|
||||||
Resulting clip is aliased; pixels are fully contained by the clip.
|
Resulting clip is aliased; pixels are fully contained by the clip.
|
||||||
rect is transformed by SkMatrix before it is combined with clip.
|
rect is transformed by SkMatrix before it is combined with clip.
|
||||||
|
|
||||||
@ -861,7 +860,7 @@ public:
|
|||||||
this->clipRect(rect, op, false);
|
this->clipRect(rect, op, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Replace clip with the intersection of clip and rect.
|
/** Replaces clip with the intersection of clip and rect.
|
||||||
Resulting clip is aliased; pixels are fully contained by the clip.
|
Resulting clip is aliased; pixels are fully contained by the clip.
|
||||||
rect is transformed by SkMatrix
|
rect is transformed by SkMatrix
|
||||||
before it is combined with clip.
|
before it is combined with clip.
|
||||||
@ -885,7 +884,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void androidFramework_setDeviceClipRestriction(const SkIRect& rect);
|
void androidFramework_setDeviceClipRestriction(const SkIRect& rect);
|
||||||
|
|
||||||
/** Replace clip with the intersection or difference of clip and rrect,
|
/** Replaces clip with the intersection or difference of clip and rrect,
|
||||||
with an aliased or anti-aliased clip edge.
|
with an aliased or anti-aliased clip edge.
|
||||||
rrect is transformed by SkMatrix
|
rrect is transformed by SkMatrix
|
||||||
before it is combined with clip.
|
before it is combined with clip.
|
||||||
@ -896,7 +895,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void clipRRect(const SkRRect& rrect, SkClipOp op, bool doAntiAlias);
|
void clipRRect(const SkRRect& rrect, SkClipOp op, bool doAntiAlias);
|
||||||
|
|
||||||
/** Replace clip with the intersection or difference of clip and rrect.
|
/** Replaces clip with the intersection or difference of clip and rrect.
|
||||||
Resulting clip is aliased; pixels are fully contained by the clip.
|
Resulting clip is aliased; pixels are fully contained by the clip.
|
||||||
rrect is transformed by SkMatrix before it is combined with clip.
|
rrect is transformed by SkMatrix before it is combined with clip.
|
||||||
|
|
||||||
@ -907,7 +906,7 @@ public:
|
|||||||
this->clipRRect(rrect, op, false);
|
this->clipRRect(rrect, op, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Replace clip with the intersection of clip and rrect,
|
/** Replaces clip with the intersection of clip and rrect,
|
||||||
with an aliased or anti-aliased clip edge.
|
with an aliased or anti-aliased clip edge.
|
||||||
rrect is transformed by SkMatrix before it is combined with clip.
|
rrect is transformed by SkMatrix before it is combined with clip.
|
||||||
|
|
||||||
@ -918,7 +917,7 @@ public:
|
|||||||
this->clipRRect(rrect, SkClipOp::kIntersect, doAntiAlias);
|
this->clipRRect(rrect, SkClipOp::kIntersect, doAntiAlias);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Replace clip with the intersection or difference of clip and path,
|
/** Replaces clip with the intersection or difference of clip and path,
|
||||||
with an aliased or anti-aliased clip edge. SkPath::FillType determines if path
|
with an aliased or anti-aliased clip edge. SkPath::FillType determines if path
|
||||||
describes the area inside or outside its contours; and if path contour overlaps
|
describes the area inside or outside its contours; and if path contour overlaps
|
||||||
itself or another path contour, whether the overlaps form part of the area.
|
itself or another path contour, whether the overlaps form part of the area.
|
||||||
@ -930,7 +929,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void clipPath(const SkPath& path, SkClipOp op, bool doAntiAlias);
|
void clipPath(const SkPath& path, SkClipOp op, bool doAntiAlias);
|
||||||
|
|
||||||
/** Replace clip with the intersection or difference of clip and path.
|
/** Replaces clip with the intersection or difference of clip and path.
|
||||||
Resulting clip is aliased; pixels are fully contained by the clip.
|
Resulting clip is aliased; pixels are fully contained by the clip.
|
||||||
SkPath::FillType determines if path
|
SkPath::FillType determines if path
|
||||||
describes the area inside or outside its contours; and if path contour overlaps
|
describes the area inside or outside its contours; and if path contour overlaps
|
||||||
@ -945,7 +944,7 @@ public:
|
|||||||
this->clipPath(path, op, false);
|
this->clipPath(path, op, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Replace clip with the intersection of clip and path.
|
/** Replaces clip with the intersection of clip and path.
|
||||||
Resulting clip is aliased; pixels are fully contained by the clip.
|
Resulting clip is aliased; pixels are fully contained by the clip.
|
||||||
SkPath::FillType determines if path
|
SkPath::FillType determines if path
|
||||||
describes the area inside or outside its contours; and if path contour overlaps
|
describes the area inside or outside its contours; and if path contour overlaps
|
||||||
@ -966,7 +965,7 @@ public:
|
|||||||
fAllowSimplifyClip = allow;
|
fAllowSimplifyClip = allow;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Replace clip with the intersection or difference of clip and SkRegion deviceRgn.
|
/** Replaces clip with the intersection or difference of clip and SkRegion deviceRgn.
|
||||||
Resulting clip is aliased; pixels are fully contained by the clip.
|
Resulting clip is aliased; pixels are fully contained by the clip.
|
||||||
deviceRgn is unaffected by SkMatrix.
|
deviceRgn is unaffected by SkMatrix.
|
||||||
|
|
||||||
@ -975,7 +974,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void clipRegion(const SkRegion& deviceRgn, SkClipOp op = SkClipOp::kIntersect);
|
void clipRegion(const SkRegion& deviceRgn, SkClipOp op = SkClipOp::kIntersect);
|
||||||
|
|
||||||
/** Return true if SkRect rect, transformed by SkMatrix, can be quickly determined to be
|
/** Returns true if SkRect rect, transformed by SkMatrix, can be quickly determined to be
|
||||||
outside of clip. May return false even though rect is outside of clip.
|
outside of clip. May return false even though rect is outside of clip.
|
||||||
|
|
||||||
Use to check if an area to be drawn is clipped out, to skip subsequent draw calls.
|
Use to check if an area to be drawn is clipped out, to skip subsequent draw calls.
|
||||||
@ -985,7 +984,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool quickReject(const SkRect& rect) const;
|
bool quickReject(const SkRect& rect) const;
|
||||||
|
|
||||||
/** Return true if path, transformed by SkMatrix, can be quickly determined to be
|
/** Returns true if path, transformed by SkMatrix, can be quickly determined to be
|
||||||
outside of clip. May return false even though path is outside of clip.
|
outside of clip. May return false even though path is outside of clip.
|
||||||
|
|
||||||
Use to check if an area to be drawn is clipped out, to skip subsequent draw calls.
|
Use to check if an area to be drawn is clipped out, to skip subsequent draw calls.
|
||||||
@ -995,7 +994,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool quickReject(const SkPath& path) const;
|
bool quickReject(const SkPath& path) const;
|
||||||
|
|
||||||
/** Return bounds of clip, transformed by inverse of SkMatrix. If clip is empty,
|
/** Returns bounds of clip, transformed by inverse of SkMatrix. If clip is empty,
|
||||||
return SkRect::MakeEmpty, where all SkRect sides equal zero.
|
return SkRect::MakeEmpty, where all SkRect sides equal zero.
|
||||||
|
|
||||||
SkRect returned is outset by one to account for partial pixel coverage if clip
|
SkRect returned is outset by one to account for partial pixel coverage if clip
|
||||||
@ -1005,7 +1004,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
SkRect getLocalClipBounds() const;
|
SkRect getLocalClipBounds() const;
|
||||||
|
|
||||||
/** Return bounds of clip, transformed by inverse of SkMatrix. If clip is empty,
|
/** Returns bounds of clip, transformed by inverse of SkMatrix. If clip is empty,
|
||||||
return false, and set bounds to SkRect::MakeEmpty, where all SkRect sides equal zero.
|
return false, and set bounds to SkRect::MakeEmpty, where all SkRect sides equal zero.
|
||||||
|
|
||||||
bounds is outset by one to account for partial pixel coverage if clip
|
bounds is outset by one to account for partial pixel coverage if clip
|
||||||
@ -1019,7 +1018,7 @@ public:
|
|||||||
return !bounds->isEmpty();
|
return !bounds->isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Return SkIRect bounds of clip, unaffected by SkMatrix. If clip is empty,
|
/** Returns SkIRect bounds of clip, unaffected by SkMatrix. If clip is empty,
|
||||||
return SkRect::MakeEmpty, where all SkRect sides equal zero.
|
return SkRect::MakeEmpty, where all SkRect sides equal zero.
|
||||||
|
|
||||||
Unlike getLocalClipBounds(), returned SkIRect is not outset.
|
Unlike getLocalClipBounds(), returned SkIRect is not outset.
|
||||||
@ -1028,7 +1027,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
SkIRect getDeviceClipBounds() const;
|
SkIRect getDeviceClipBounds() const;
|
||||||
|
|
||||||
/** Return SkIRect bounds of clip, unaffected by SkMatrix. If clip is empty,
|
/** Returns SkIRect bounds of clip, unaffected by SkMatrix. If clip is empty,
|
||||||
return false, and set bounds to SkRect::MakeEmpty, where all SkRect sides equal zero.
|
return false, and set bounds to SkRect::MakeEmpty, where all SkRect sides equal zero.
|
||||||
|
|
||||||
Unlike getLocalClipBounds(), bounds is not outset.
|
Unlike getLocalClipBounds(), bounds is not outset.
|
||||||
@ -1041,7 +1040,7 @@ public:
|
|||||||
return !bounds->isEmpty();
|
return !bounds->isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Fill clip with color color.
|
/** Fills clip with color color.
|
||||||
mode determines how ARGB is combined with destination.
|
mode determines how ARGB is combined with destination.
|
||||||
|
|
||||||
@param color unpremultiplied ARGB
|
@param color unpremultiplied ARGB
|
||||||
@ -1049,7 +1048,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawColor(SkColor color, SkBlendMode mode = SkBlendMode::kSrcOver);
|
void drawColor(SkColor color, SkBlendMode mode = SkBlendMode::kSrcOver);
|
||||||
|
|
||||||
/** Fill clip with color color using SkBlendMode::kSrc.
|
/** Fills clip with color color using SkBlendMode::kSrc.
|
||||||
This has the effect of replacing all pixels contained by clip with color.
|
This has the effect of replacing all pixels contained by clip with color.
|
||||||
|
|
||||||
@param color unpremultiplied ARGB
|
@param color unpremultiplied ARGB
|
||||||
@ -1058,7 +1057,7 @@ public:
|
|||||||
this->drawColor(color, SkBlendMode::kSrc);
|
this->drawColor(color, SkBlendMode::kSrc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Make SkCanvas contents undefined. Subsequent calls that read SkCanvas pixels,
|
/** Makes SkCanvas contents undefined. Subsequent calls that read SkCanvas pixels,
|
||||||
such as drawing with SkBlendMode, return undefined results. discard() does
|
such as drawing with SkBlendMode, return undefined results. discard() does
|
||||||
not change clip or SkMatrix.
|
not change clip or SkMatrix.
|
||||||
|
|
||||||
@ -1072,7 +1071,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void discard() { this->onDiscard(); }
|
void discard() { this->onDiscard(); }
|
||||||
|
|
||||||
/** Fill clip with SkPaint paint. SkPaint components SkMaskFilter, SkShader,
|
/** Fills clip with SkPaint paint. SkPaint components SkMaskFilter, SkShader,
|
||||||
SkColorFilter, SkImageFilter, and SkBlendMode affect drawing;
|
SkColorFilter, SkImageFilter, and SkBlendMode affect drawing;
|
||||||
SkPathEffect in paint is ignored.
|
SkPathEffect in paint is ignored.
|
||||||
|
|
||||||
@ -1090,7 +1089,7 @@ public:
|
|||||||
kPolygon_PointMode, //!< draw the array of points as a open polygon
|
kPolygon_PointMode, //!< draw the array of points as a open polygon
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Draw pts using clip, SkMatrix and SkPaint paint.
|
/** Draws pts using clip, SkMatrix and SkPaint paint.
|
||||||
count is the number of points; if count is less than one, has no effect.
|
count is the number of points; if count is less than one, has no effect.
|
||||||
mode may be one of: kPoints_PointMode, kLines_PointMode, or kPolygon_PointMode.
|
mode may be one of: kPoints_PointMode, kLines_PointMode, or kPolygon_PointMode.
|
||||||
|
|
||||||
@ -1121,7 +1120,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawPoints(PointMode mode, size_t count, const SkPoint pts[], const SkPaint& paint);
|
void drawPoints(PointMode mode, size_t count, const SkPoint pts[], const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw point at (x, y) using clip, SkMatrix and SkPaint paint.
|
/** Draws point at (x, y) using clip, SkMatrix and SkPaint paint.
|
||||||
|
|
||||||
The shape of point drawn depends on paint SkPaint::Cap.
|
The shape of point drawn depends on paint SkPaint::Cap.
|
||||||
If paint is set to SkPaint::kRound_Cap, draw a circle of diameter
|
If paint is set to SkPaint::kRound_Cap, draw a circle of diameter
|
||||||
@ -1135,7 +1134,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawPoint(SkScalar x, SkScalar y, const SkPaint& paint);
|
void drawPoint(SkScalar x, SkScalar y, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw point p using clip, SkMatrix and SkPaint paint.
|
/** Draws point p using clip, SkMatrix and SkPaint paint.
|
||||||
|
|
||||||
The shape of point drawn depends on paint SkPaint::Cap.
|
The shape of point drawn depends on paint SkPaint::Cap.
|
||||||
If paint is set to SkPaint::kRound_Cap, draw a circle of diameter
|
If paint is set to SkPaint::kRound_Cap, draw a circle of diameter
|
||||||
@ -1176,7 +1175,7 @@ public:
|
|||||||
this->drawLine(p0.x(), p0.y(), p1.x(), p1.y(), paint);
|
this->drawLine(p0.x(), p0.y(), p1.x(), p1.y(), paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw SkRect rect using clip, SkMatrix, and SkPaint paint.
|
/** Draws SkRect rect using clip, SkMatrix, and SkPaint paint.
|
||||||
In paint: SkPaint::Style determines if rectangle is stroked or filled;
|
In paint: SkPaint::Style determines if rectangle is stroked or filled;
|
||||||
if stroked, SkPaint stroke width describes the line thickness, and
|
if stroked, SkPaint stroke width describes the line thickness, and
|
||||||
SkPaint::Join draws the corners rounded or square.
|
SkPaint::Join draws the corners rounded or square.
|
||||||
@ -1186,7 +1185,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawRect(const SkRect& rect, const SkPaint& paint);
|
void drawRect(const SkRect& rect, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw SkIRect rect using clip, SkMatrix, and SkPaint paint.
|
/** Draws SkIRect rect using clip, SkMatrix, and SkPaint paint.
|
||||||
In paint: SkPaint::Style determines if rectangle is stroked or filled;
|
In paint: SkPaint::Style determines if rectangle is stroked or filled;
|
||||||
if stroked, SkPaint stroke width describes the line thickness, and
|
if stroked, SkPaint stroke width describes the line thickness, and
|
||||||
SkPaint::Join draws the corners rounded or square.
|
SkPaint::Join draws the corners rounded or square.
|
||||||
@ -1200,7 +1199,7 @@ public:
|
|||||||
this->drawRect(r, paint);
|
this->drawRect(r, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw SkRegion region using clip, SkMatrix, and SkPaint paint.
|
/** Draws SkRegion region using clip, SkMatrix, and SkPaint paint.
|
||||||
In paint: SkPaint::Style determines if rectangle is stroked or filled;
|
In paint: SkPaint::Style determines if rectangle is stroked or filled;
|
||||||
if stroked, SkPaint stroke width describes the line thickness, and
|
if stroked, SkPaint stroke width describes the line thickness, and
|
||||||
SkPaint::Join draws the corners rounded or square.
|
SkPaint::Join draws the corners rounded or square.
|
||||||
@ -1210,7 +1209,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawRegion(const SkRegion& region, const SkPaint& paint);
|
void drawRegion(const SkRegion& region, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw oval oval using clip, SkMatrix, and SkPaint.
|
/** Draws oval oval using clip, SkMatrix, and SkPaint.
|
||||||
In paint: SkPaint::Style determines if oval is stroked or filled;
|
In paint: SkPaint::Style determines if oval is stroked or filled;
|
||||||
if stroked, SkPaint stroke width describes the line thickness.
|
if stroked, SkPaint stroke width describes the line thickness.
|
||||||
|
|
||||||
@ -1219,7 +1218,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawOval(const SkRect& oval, const SkPaint& paint);
|
void drawOval(const SkRect& oval, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw SkRRect rrect using clip, SkMatrix, and SkPaint paint.
|
/** Draws SkRRect rrect using clip, SkMatrix, and SkPaint paint.
|
||||||
In paint: SkPaint::Style determines if rrect is stroked or filled;
|
In paint: SkPaint::Style determines if rrect is stroked or filled;
|
||||||
if stroked, SkPaint stroke width describes the line thickness.
|
if stroked, SkPaint stroke width describes the line thickness.
|
||||||
|
|
||||||
@ -1231,7 +1230,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawRRect(const SkRRect& rrect, const SkPaint& paint);
|
void drawRRect(const SkRRect& rrect, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw SkRRect outer and inner
|
/** Draws SkRRect outer and inner
|
||||||
using clip, SkMatrix, and SkPaint paint.
|
using clip, SkMatrix, and SkPaint paint.
|
||||||
outer must contain inner or the drawing is undefined.
|
outer must contain inner or the drawing is undefined.
|
||||||
In paint: SkPaint::Style determines if SkRRect is stroked or filled;
|
In paint: SkPaint::Style determines if SkRRect is stroked or filled;
|
||||||
@ -1249,7 +1248,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawDRRect(const SkRRect& outer, const SkRRect& inner, const SkPaint& paint);
|
void drawDRRect(const SkRRect& outer, const SkRRect& inner, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw circle at (cx, cy) with radius using clip, SkMatrix, and SkPaint paint.
|
/** Draws circle at (cx, cy) with radius using clip, SkMatrix, and SkPaint paint.
|
||||||
If radius is zero or less, nothing is drawn.
|
If radius is zero or less, nothing is drawn.
|
||||||
In paint: SkPaint::Style determines if circle is stroked or filled;
|
In paint: SkPaint::Style determines if circle is stroked or filled;
|
||||||
if stroked, SkPaint stroke width describes the line thickness.
|
if stroked, SkPaint stroke width describes the line thickness.
|
||||||
@ -1261,7 +1260,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawCircle(SkScalar cx, SkScalar cy, SkScalar radius, const SkPaint& paint);
|
void drawCircle(SkScalar cx, SkScalar cy, SkScalar radius, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw circle at center with radius using clip, SkMatrix, and SkPaint paint.
|
/** Draws circle at center with radius using clip, SkMatrix, and SkPaint paint.
|
||||||
If radius is zero or less, nothing is drawn.
|
If radius is zero or less, nothing is drawn.
|
||||||
In paint: SkPaint::Style determines if circle is stroked or filled;
|
In paint: SkPaint::Style determines if circle is stroked or filled;
|
||||||
if stroked, SkPaint stroke width describes the line thickness.
|
if stroked, SkPaint stroke width describes the line thickness.
|
||||||
@ -1274,7 +1273,7 @@ public:
|
|||||||
this->drawCircle(center.x(), center.y(), radius, paint);
|
this->drawCircle(center.x(), center.y(), radius, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw arc using clip, SkMatrix, and SkPaint paint.
|
/** Draws arc using clip, SkMatrix, and SkPaint paint.
|
||||||
|
|
||||||
Arc is part of oval bounded by oval, sweeping from startAngle to startAngle plus
|
Arc is part of oval bounded by oval, sweeping from startAngle to startAngle plus
|
||||||
sweepAngle. startAngle and sweepAngle are in degrees.
|
sweepAngle. startAngle and sweepAngle are in degrees.
|
||||||
@ -1297,7 +1296,7 @@ public:
|
|||||||
void drawArc(const SkRect& oval, SkScalar startAngle, SkScalar sweepAngle,
|
void drawArc(const SkRect& oval, SkScalar startAngle, SkScalar sweepAngle,
|
||||||
bool useCenter, const SkPaint& paint);
|
bool useCenter, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw SkRRect bounded by SkRect rect, with corner radii (rx, ry) using clip,
|
/** Draws SkRRect bounded by SkRect rect, with corner radii (rx, ry) using clip,
|
||||||
SkMatrix, and SkPaint paint.
|
SkMatrix, and SkPaint paint.
|
||||||
|
|
||||||
In paint: SkPaint::Style determines if SkRRect is stroked or filled;
|
In paint: SkPaint::Style determines if SkRRect is stroked or filled;
|
||||||
@ -1314,7 +1313,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawRoundRect(const SkRect& rect, SkScalar rx, SkScalar ry, const SkPaint& paint);
|
void drawRoundRect(const SkRect& rect, SkScalar rx, SkScalar ry, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw SkPath path using clip, SkMatrix, and SkPaint paint.
|
/** Draws SkPath path using clip, SkMatrix, and SkPaint paint.
|
||||||
SkPath contains an array of path contour, each of which may be open or closed.
|
SkPath contains an array of path contour, each of which may be open or closed.
|
||||||
|
|
||||||
In paint: SkPaint::Style determines if SkRRect is stroked or filled:
|
In paint: SkPaint::Style determines if SkRRect is stroked or filled:
|
||||||
@ -1328,7 +1327,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawPath(const SkPath& path, const SkPaint& paint);
|
void drawPath(const SkPath& path, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw SkImage image, with its top-left corner at (left, top),
|
/** Draws SkImage image, with its top-left corner at (left, top),
|
||||||
using clip, SkMatrix, and optional SkPaint paint.
|
using clip, SkMatrix, and optional SkPaint paint.
|
||||||
|
|
||||||
If paint is supplied, apply SkColorFilter, alpha, SkImageFilter, SkBlendMode,
|
If paint is supplied, apply SkColorFilter, alpha, SkImageFilter, SkBlendMode,
|
||||||
@ -1347,7 +1346,7 @@ public:
|
|||||||
void drawImage(const SkImage* image, SkScalar left, SkScalar top,
|
void drawImage(const SkImage* image, SkScalar left, SkScalar top,
|
||||||
const SkPaint* paint = nullptr);
|
const SkPaint* paint = nullptr);
|
||||||
|
|
||||||
/** Draw SkImage image, with its top-left corner at (left, top),
|
/** Draws SkImage image, with its top-left corner at (left, top),
|
||||||
using clip, SkMatrix, and optional SkPaint paint.
|
using clip, SkMatrix, and optional SkPaint paint.
|
||||||
|
|
||||||
If SkPaint paint is supplied, apply SkColorFilter, alpha, SkImageFilter,
|
If SkPaint paint is supplied, apply SkColorFilter, alpha, SkImageFilter,
|
||||||
@ -1383,7 +1382,7 @@ public:
|
|||||||
kFast_SrcRectConstraint, //!< sample outside bounds; faster
|
kFast_SrcRectConstraint, //!< sample outside bounds; faster
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Draw SkRect src of SkImage image, scaled and translated to fill SkRect dst.
|
/** Draws SkRect src of SkImage image, scaled and translated to fill SkRect dst.
|
||||||
Additionally transform draw using clip, SkMatrix, and optional SkPaint paint.
|
Additionally transform draw using clip, SkMatrix, and optional SkPaint paint.
|
||||||
|
|
||||||
If SkPaint paint is supplied, apply SkColorFilter, alpha, SkImageFilter,
|
If SkPaint paint is supplied, apply SkColorFilter, alpha, SkImageFilter,
|
||||||
@ -1409,7 +1408,7 @@ public:
|
|||||||
const SkPaint* paint,
|
const SkPaint* paint,
|
||||||
SrcRectConstraint constraint = kStrict_SrcRectConstraint);
|
SrcRectConstraint constraint = kStrict_SrcRectConstraint);
|
||||||
|
|
||||||
/** Draw SkIRect isrc of SkImage image, scaled and translated to fill SkRect dst.
|
/** Draws SkIRect isrc of SkImage image, scaled and translated to fill SkRect dst.
|
||||||
Note that isrc is on integer pixel boundaries; dst may include fractional
|
Note that isrc is on integer pixel boundaries; dst may include fractional
|
||||||
boundaries. Additionally transform draw using clip, SkMatrix, and optional SkPaint
|
boundaries. Additionally transform draw using clip, SkMatrix, and optional SkPaint
|
||||||
paint.
|
paint.
|
||||||
@ -1437,7 +1436,7 @@ public:
|
|||||||
const SkPaint* paint,
|
const SkPaint* paint,
|
||||||
SrcRectConstraint constraint = kStrict_SrcRectConstraint);
|
SrcRectConstraint constraint = kStrict_SrcRectConstraint);
|
||||||
|
|
||||||
/** Draw SkImage image, scaled and translated to fill SkRect dst, using clip, SkMatrix,
|
/** Draws SkImage image, scaled and translated to fill SkRect dst, using clip, SkMatrix,
|
||||||
and optional SkPaint paint.
|
and optional SkPaint paint.
|
||||||
|
|
||||||
If SkPaint paint is supplied, apply SkColorFilter, alpha, SkImageFilter,
|
If SkPaint paint is supplied, apply SkColorFilter, alpha, SkImageFilter,
|
||||||
@ -1461,7 +1460,7 @@ public:
|
|||||||
void drawImageRect(const SkImage* image, const SkRect& dst, const SkPaint* paint,
|
void drawImageRect(const SkImage* image, const SkRect& dst, const SkPaint* paint,
|
||||||
SrcRectConstraint constraint = kStrict_SrcRectConstraint);
|
SrcRectConstraint constraint = kStrict_SrcRectConstraint);
|
||||||
|
|
||||||
/** Draw SkRect src of SkImage image, scaled and translated to fill SkRect dst.
|
/** Draws SkRect src of SkImage image, scaled and translated to fill SkRect dst.
|
||||||
Additionally transform draw using clip, SkMatrix, and optional SkPaint paint.
|
Additionally transform draw using clip, SkMatrix, and optional SkPaint paint.
|
||||||
|
|
||||||
If SkPaint paint is supplied, apply SkColorFilter, alpha, SkImageFilter,
|
If SkPaint paint is supplied, apply SkColorFilter, alpha, SkImageFilter,
|
||||||
@ -1489,7 +1488,7 @@ public:
|
|||||||
this->drawImageRect(image.get(), src, dst, paint, constraint);
|
this->drawImageRect(image.get(), src, dst, paint, constraint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw SkIRect isrc of SkImage image, scaled and translated to fill SkRect dst.
|
/** Draws SkIRect isrc of SkImage image, scaled and translated to fill SkRect dst.
|
||||||
isrc is on integer pixel boundaries; dst may include fractional boundaries.
|
isrc is on integer pixel boundaries; dst may include fractional boundaries.
|
||||||
Additionally transform draw using clip, SkMatrix, and optional SkPaint paint.
|
Additionally transform draw using clip, SkMatrix, and optional SkPaint paint.
|
||||||
|
|
||||||
@ -1518,7 +1517,7 @@ public:
|
|||||||
this->drawImageRect(image.get(), isrc, dst, paint, constraint);
|
this->drawImageRect(image.get(), isrc, dst, paint, constraint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw SkImage image, scaled and translated to fill SkRect dst,
|
/** Draws SkImage image, scaled and translated to fill SkRect dst,
|
||||||
using clip, SkMatrix, and optional SkPaint paint.
|
using clip, SkMatrix, and optional SkPaint paint.
|
||||||
|
|
||||||
If SkPaint paint is supplied, apply SkColorFilter, alpha, SkImageFilter,
|
If SkPaint paint is supplied, apply SkColorFilter, alpha, SkImageFilter,
|
||||||
@ -1544,7 +1543,7 @@ public:
|
|||||||
this->drawImageRect(image.get(), dst, paint, constraint);
|
this->drawImageRect(image.get(), dst, paint, constraint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw SkImage image stretched proportionally to fit into SkRect dst.
|
/** Draws SkImage image stretched proportionally to fit into SkRect dst.
|
||||||
SkIRect center divides the image into nine sections: four sides, four corners, and
|
SkIRect center divides the image into nine sections: four sides, four corners, and
|
||||||
the center. Corners are unmodified or scaled down proportionately if their sides
|
the center. Corners are unmodified or scaled down proportionately if their sides
|
||||||
are larger than dst; center and four sides are scaled to fit remaining space, if any.
|
are larger than dst; center and four sides are scaled to fit remaining space, if any.
|
||||||
@ -1571,7 +1570,7 @@ public:
|
|||||||
void drawImageNine(const SkImage* image, const SkIRect& center, const SkRect& dst,
|
void drawImageNine(const SkImage* image, const SkIRect& center, const SkRect& dst,
|
||||||
const SkPaint* paint = nullptr);
|
const SkPaint* paint = nullptr);
|
||||||
|
|
||||||
/** Draw SkImage image stretched proportionally to fit into SkRect dst.
|
/** Draws SkImage image stretched proportionally to fit into SkRect dst.
|
||||||
SkIRect center divides the image into nine sections: four sides, four corners, and
|
SkIRect center divides the image into nine sections: four sides, four corners, and
|
||||||
the center. Corners are not scaled, or scaled down proportionately if their sides
|
the center. Corners are not scaled, or scaled down proportionately if their sides
|
||||||
are larger than dst; center and four sides are scaled to fit remaining space, if any.
|
are larger than dst; center and four sides are scaled to fit remaining space, if any.
|
||||||
@ -1600,7 +1599,7 @@ public:
|
|||||||
this->drawImageNine(image.get(), center, dst, paint);
|
this->drawImageNine(image.get(), center, dst, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw SkBitmap bitmap, with its top-left corner at (left, top),
|
/** Draws SkBitmap bitmap, with its top-left corner at (left, top),
|
||||||
using clip, SkMatrix, and optional SkPaint paint.
|
using clip, SkMatrix, and optional SkPaint paint.
|
||||||
|
|
||||||
If SkPaint paint is not nullptr, apply SkColorFilter, alpha, SkImageFilter,
|
If SkPaint paint is not nullptr, apply SkColorFilter, alpha, SkImageFilter,
|
||||||
@ -1621,7 +1620,7 @@ public:
|
|||||||
void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top,
|
void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top,
|
||||||
const SkPaint* paint = nullptr);
|
const SkPaint* paint = nullptr);
|
||||||
|
|
||||||
/** Draw SkRect src of SkBitmap bitmap, scaled and translated to fill SkRect dst.
|
/** Draws SkRect src of SkBitmap bitmap, scaled and translated to fill SkRect dst.
|
||||||
Additionally transform draw using clip, SkMatrix, and optional SkPaint paint.
|
Additionally transform draw using clip, SkMatrix, and optional SkPaint paint.
|
||||||
|
|
||||||
If SkPaint paint is supplied, apply SkColorFilter, alpha, SkImageFilter,
|
If SkPaint paint is supplied, apply SkColorFilter, alpha, SkImageFilter,
|
||||||
@ -1648,7 +1647,7 @@ public:
|
|||||||
const SkPaint* paint,
|
const SkPaint* paint,
|
||||||
SrcRectConstraint constraint = kStrict_SrcRectConstraint);
|
SrcRectConstraint constraint = kStrict_SrcRectConstraint);
|
||||||
|
|
||||||
/** Draw SkIRect isrc of SkBitmap bitmap, scaled and translated to fill SkRect dst.
|
/** Draws SkIRect isrc of SkBitmap bitmap, scaled and translated to fill SkRect dst.
|
||||||
isrc is on integer pixel boundaries; dst may include fractional boundaries.
|
isrc is on integer pixel boundaries; dst may include fractional boundaries.
|
||||||
Additionally transform draw using clip, SkMatrix, and optional SkPaint paint.
|
Additionally transform draw using clip, SkMatrix, and optional SkPaint paint.
|
||||||
|
|
||||||
@ -1676,7 +1675,7 @@ public:
|
|||||||
const SkPaint* paint,
|
const SkPaint* paint,
|
||||||
SrcRectConstraint constraint = kStrict_SrcRectConstraint);
|
SrcRectConstraint constraint = kStrict_SrcRectConstraint);
|
||||||
|
|
||||||
/** Draw SkBitmap bitmap, scaled and translated to fill SkRect dst.
|
/** Draws SkBitmap bitmap, scaled and translated to fill SkRect dst.
|
||||||
bitmap bounds is on integer pixel boundaries; dst may include fractional boundaries.
|
bitmap bounds is on integer pixel boundaries; dst may include fractional boundaries.
|
||||||
Additionally transform draw using clip, SkMatrix, and optional SkPaint paint.
|
Additionally transform draw using clip, SkMatrix, and optional SkPaint paint.
|
||||||
|
|
||||||
@ -1702,7 +1701,7 @@ public:
|
|||||||
void drawBitmapRect(const SkBitmap& bitmap, const SkRect& dst, const SkPaint* paint,
|
void drawBitmapRect(const SkBitmap& bitmap, const SkRect& dst, const SkPaint* paint,
|
||||||
SrcRectConstraint constraint = kStrict_SrcRectConstraint);
|
SrcRectConstraint constraint = kStrict_SrcRectConstraint);
|
||||||
|
|
||||||
/** Draw SkBitmap bitmap stretched proportionally to fit into SkRect dst.
|
/** Draws SkBitmap bitmap stretched proportionally to fit into SkRect dst.
|
||||||
SkIRect center divides the bitmap into nine sections: four sides, four corners,
|
SkIRect center divides the bitmap into nine sections: four sides, four corners,
|
||||||
and the center. Corners are not scaled, or scaled down proportionately if their
|
and the center. Corners are not scaled, or scaled down proportionately if their
|
||||||
sides are larger than dst; center and four sides are scaled to fit remaining
|
sides are larger than dst; center and four sides are scaled to fit remaining
|
||||||
@ -1761,7 +1760,7 @@ public:
|
|||||||
const SkColor* fColors; //!< array of colors
|
const SkColor* fColors; //!< array of colors
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Draw SkBitmap bitmap stretched proportionally to fit into SkRect dst.
|
/** Draws SkBitmap bitmap stretched proportionally to fit into SkRect dst.
|
||||||
|
|
||||||
SkCanvas::Lattice lattice divides bitmap into a rectangular grid.
|
SkCanvas::Lattice lattice divides bitmap into a rectangular grid.
|
||||||
Each intersection of an even-numbered row and column is fixed; like the corners
|
Each intersection of an even-numbered row and column is fixed; like the corners
|
||||||
@ -1792,7 +1791,7 @@ public:
|
|||||||
void drawBitmapLattice(const SkBitmap& bitmap, const Lattice& lattice, const SkRect& dst,
|
void drawBitmapLattice(const SkBitmap& bitmap, const Lattice& lattice, const SkRect& dst,
|
||||||
const SkPaint* paint = nullptr);
|
const SkPaint* paint = nullptr);
|
||||||
|
|
||||||
/** Draw SkImage image stretched proportionally to fit into SkRect dst.
|
/** Draws SkImage image stretched proportionally to fit into SkRect dst.
|
||||||
|
|
||||||
SkCanvas::Lattice lattice divides image into a rectangular grid.
|
SkCanvas::Lattice lattice divides image into a rectangular grid.
|
||||||
Each intersection of an even-numbered row and column is fixed; like the corners
|
Each intersection of an even-numbered row and column is fixed; like the corners
|
||||||
@ -1823,7 +1822,7 @@ public:
|
|||||||
void drawImageLattice(const SkImage* image, const Lattice& lattice, const SkRect& dst,
|
void drawImageLattice(const SkImage* image, const Lattice& lattice, const SkRect& dst,
|
||||||
const SkPaint* paint = nullptr);
|
const SkPaint* paint = nullptr);
|
||||||
|
|
||||||
/** Draw text, with origin at (x, y), using clip, SkMatrix, and SkPaint paint.
|
/** Draws text, with origin at (x, y), using clip, SkMatrix, and SkPaint paint.
|
||||||
|
|
||||||
text meaning depends on SkPaint::TextEncoding; by default, text is encoded as
|
text meaning depends on SkPaint::TextEncoding; by default, text is encoded as
|
||||||
UTF-8.
|
UTF-8.
|
||||||
@ -1873,7 +1872,7 @@ public:
|
|||||||
this->drawText(string, strlen(string), x, y, paint);
|
this->drawText(string, strlen(string), x, y, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw null terminated string, with origin at (x, y), using clip, SkMatrix, and
|
/** Draws null terminated string, with origin at (x, y), using clip, SkMatrix, and
|
||||||
SkPaint paint.
|
SkPaint paint.
|
||||||
|
|
||||||
string meaning depends on SkPaint::TextEncoding; by default, strings are encoded
|
string meaning depends on SkPaint::TextEncoding; by default, strings are encoded
|
||||||
@ -1896,7 +1895,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawString(const SkString& string, SkScalar x, SkScalar y, const SkPaint& paint);
|
void drawString(const SkString& string, SkScalar x, SkScalar y, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw each glyph in text with the origin in pos array, using clip, SkMatrix, and
|
/** Draws each glyph in text with the origin in pos array, using clip, SkMatrix, and
|
||||||
SkPaint paint. The number of entries in pos array must match the number of glyphs
|
SkPaint paint. The number of entries in pos array must match the number of glyphs
|
||||||
described by byteLength of text.
|
described by byteLength of text.
|
||||||
|
|
||||||
@ -1920,7 +1919,7 @@ public:
|
|||||||
void drawPosText(const void* text, size_t byteLength, const SkPoint pos[],
|
void drawPosText(const void* text, size_t byteLength, const SkPoint pos[],
|
||||||
const SkPaint& paint);
|
const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw each glyph in text with its (x, y) origin composed from xpos array and
|
/** Draws each glyph in text with its (x, y) origin composed from xpos array and
|
||||||
constY, using clip, SkMatrix, and SkPaint paint. The number of entries in xpos array
|
constY, using clip, SkMatrix, and SkPaint paint. The number of entries in xpos array
|
||||||
must match the number of glyphs described by byteLength of text.
|
must match the number of glyphs described by byteLength of text.
|
||||||
|
|
||||||
@ -1947,7 +1946,7 @@ public:
|
|||||||
void drawPosTextH(const void* text, size_t byteLength, const SkScalar xpos[], SkScalar constY,
|
void drawPosTextH(const void* text, size_t byteLength, const SkScalar xpos[], SkScalar constY,
|
||||||
const SkPaint& paint);
|
const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw text on SkPath path, using clip, SkMatrix, and SkPaint paint.
|
/** Draws text on SkPath path, using clip, SkMatrix, and SkPaint paint.
|
||||||
|
|
||||||
Origin of text is at distance hOffset along the path, offset by a perpendicular
|
Origin of text is at distance hOffset along the path, offset by a perpendicular
|
||||||
vector of length vOffset. If the path section corresponding the glyph advance is
|
vector of length vOffset. If the path section corresponding the glyph advance is
|
||||||
@ -1974,7 +1973,7 @@ public:
|
|||||||
void drawTextOnPathHV(const void* text, size_t byteLength, const SkPath& path, SkScalar hOffset,
|
void drawTextOnPathHV(const void* text, size_t byteLength, const SkPath& path, SkScalar hOffset,
|
||||||
SkScalar vOffset, const SkPaint& paint);
|
SkScalar vOffset, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw text on SkPath path, using clip, SkMatrix, and SkPaint paint.
|
/** Draws text on SkPath path, using clip, SkMatrix, and SkPaint paint.
|
||||||
|
|
||||||
Origin of text is at beginning of path offset by matrix, if not nullptr.
|
Origin of text is at beginning of path offset by matrix, if not nullptr.
|
||||||
matrix transforms text before text is mapped to path. If the path section
|
matrix transforms text before text is mapped to path. If the path section
|
||||||
@ -2004,7 +2003,7 @@ public:
|
|||||||
void drawTextOnPath(const void* text, size_t byteLength, const SkPath& path,
|
void drawTextOnPath(const void* text, size_t byteLength, const SkPath& path,
|
||||||
const SkMatrix* matrix, const SkPaint& paint);
|
const SkMatrix* matrix, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw text, transforming each glyph by the corresponding SkRSXform,
|
/** Draws text, transforming each glyph by the corresponding SkRSXform,
|
||||||
using clip, SkMatrix, and SkPaint paint.
|
using clip, SkMatrix, and SkPaint paint.
|
||||||
|
|
||||||
SkRSXform xform array specifies a separate square scale, rotation, and translation
|
SkRSXform xform array specifies a separate square scale, rotation, and translation
|
||||||
@ -2026,7 +2025,7 @@ public:
|
|||||||
void drawTextRSXform(const void* text, size_t byteLength, const SkRSXform xform[],
|
void drawTextRSXform(const void* text, size_t byteLength, const SkRSXform xform[],
|
||||||
const SkRect* cullRect, const SkPaint& paint);
|
const SkRect* cullRect, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw SkTextBlob blob at (x, y), using clip, SkMatrix, and SkPaint paint.
|
/** Draws SkTextBlob blob at (x, y), using clip, SkMatrix, and SkPaint paint.
|
||||||
|
|
||||||
blob contains glyphs, their positions, and paint attributes specific to text:
|
blob contains glyphs, their positions, and paint attributes specific to text:
|
||||||
SkTypeface, SkPaint text size, SkPaint text scale x, SkPaint text skew x,
|
SkTypeface, SkPaint text size, SkPaint text scale x, SkPaint text skew x,
|
||||||
@ -2046,7 +2045,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y, const SkPaint& paint);
|
void drawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw SkTextBlob blob at (x, y), using clip, SkMatrix, and SkPaint paint.
|
/** Draws SkTextBlob blob at (x, y), using clip, SkMatrix, and SkPaint paint.
|
||||||
|
|
||||||
blob contains glyphs, their positions, and paint attributes specific to text:
|
blob contains glyphs, their positions, and paint attributes specific to text:
|
||||||
SkTypeface, SkPaint text size, SkPaint text scale x, SkPaint text skew x,
|
SkTypeface, SkPaint text size, SkPaint text scale x, SkPaint text skew x,
|
||||||
@ -2068,7 +2067,7 @@ public:
|
|||||||
this->drawTextBlob(blob.get(), x, y, paint);
|
this->drawTextBlob(blob.get(), x, y, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw SkPicture picture, using clip and SkMatrix.
|
/** Draws SkPicture picture, using clip and SkMatrix.
|
||||||
Clip and SkMatrix are unchanged by picture contents, as if
|
Clip and SkMatrix are unchanged by picture contents, as if
|
||||||
save() was called before and restore() was called after drawPicture().
|
save() was called before and restore() was called after drawPicture().
|
||||||
|
|
||||||
@ -2080,7 +2079,7 @@ public:
|
|||||||
this->drawPicture(picture, nullptr, nullptr);
|
this->drawPicture(picture, nullptr, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw SkPicture picture, using clip and SkMatrix.
|
/** Draws SkPicture picture, using clip and SkMatrix.
|
||||||
Clip and SkMatrix are unchanged by picture contents, as if
|
Clip and SkMatrix are unchanged by picture contents, as if
|
||||||
save() was called before and restore() was called after drawPicture().
|
save() was called before and restore() was called after drawPicture().
|
||||||
|
|
||||||
@ -2092,7 +2091,7 @@ public:
|
|||||||
this->drawPicture(picture.get());
|
this->drawPicture(picture.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw SkPicture picture, using clip and SkMatrix; transforming picture with
|
/** Draws SkPicture picture, using clip and SkMatrix; transforming picture with
|
||||||
SkMatrix matrix, if provided; and use SkPaint paint alpha, SkColorFilter,
|
SkMatrix matrix, if provided; and use SkPaint paint alpha, SkColorFilter,
|
||||||
SkImageFilter, and SkBlendMode, if provided.
|
SkImageFilter, and SkBlendMode, if provided.
|
||||||
|
|
||||||
@ -2105,7 +2104,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawPicture(const SkPicture* picture, const SkMatrix* matrix, const SkPaint* paint);
|
void drawPicture(const SkPicture* picture, const SkMatrix* matrix, const SkPaint* paint);
|
||||||
|
|
||||||
/** Draw SkPicture picture, using clip and SkMatrix; transforming picture with
|
/** Draws SkPicture picture, using clip and SkMatrix; transforming picture with
|
||||||
SkMatrix matrix, if provided; and use SkPaint paint alpha, SkColorFilter,
|
SkMatrix matrix, if provided; and use SkPaint paint alpha, SkColorFilter,
|
||||||
SkImageFilter, and SkBlendMode, if provided.
|
SkImageFilter, and SkBlendMode, if provided.
|
||||||
|
|
||||||
@ -2120,7 +2119,7 @@ public:
|
|||||||
this->drawPicture(picture.get(), matrix, paint);
|
this->drawPicture(picture.get(), matrix, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw SkVertices vertices, a triangle mesh, using clip and SkMatrix.
|
/** Draws SkVertices vertices, a triangle mesh, using clip and SkMatrix.
|
||||||
If vertices texs and vertices colors are defined in vertices, and SkPaint paint
|
If vertices texs and vertices colors are defined in vertices, and SkPaint paint
|
||||||
contains SkShader, SkBlendMode mode combines vertices colors with SkShader.
|
contains SkShader, SkBlendMode mode combines vertices colors with SkShader.
|
||||||
|
|
||||||
@ -2130,7 +2129,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawVertices(const SkVertices* vertices, SkBlendMode mode, const SkPaint& paint);
|
void drawVertices(const SkVertices* vertices, SkBlendMode mode, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw SkVertices vertices, a triangle mesh, using clip and SkMatrix.
|
/** Draws SkVertices vertices, a triangle mesh, using clip and SkMatrix.
|
||||||
If vertices texs and vertices colors are defined in vertices, and SkPaint paint
|
If vertices texs and vertices colors are defined in vertices, and SkPaint paint
|
||||||
contains SkShader, SkBlendMode mode combines vertices colors with SkShader.
|
contains SkShader, SkBlendMode mode combines vertices colors with SkShader.
|
||||||
|
|
||||||
@ -2140,7 +2139,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawVertices(const sk_sp<SkVertices>& vertices, SkBlendMode mode, const SkPaint& paint);
|
void drawVertices(const sk_sp<SkVertices>& vertices, SkBlendMode mode, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw SkVertices vertices, a triangle mesh, using clip and SkMatrix. Bone data is used to
|
/** Draws SkVertices vertices, a triangle mesh, using clip and SkMatrix. Bone data is used to
|
||||||
deform vertices with bone weights.
|
deform vertices with bone weights.
|
||||||
If vertices texs and vertices colors are defined in vertices, and SkPaint paint
|
If vertices texs and vertices colors are defined in vertices, and SkPaint paint
|
||||||
contains SkShader, SkBlendMode mode combines vertices colors with SkShader.
|
contains SkShader, SkBlendMode mode combines vertices colors with SkShader.
|
||||||
@ -2158,7 +2157,7 @@ public:
|
|||||||
void drawVertices(const SkVertices* vertices, const SkMatrix* bones, int boneCount,
|
void drawVertices(const SkVertices* vertices, const SkMatrix* bones, int boneCount,
|
||||||
SkBlendMode mode, const SkPaint& paint);
|
SkBlendMode mode, const SkPaint& paint);
|
||||||
|
|
||||||
/** Draw SkVertices vertices, a triangle mesh, using clip and SkMatrix. Bone data is used to
|
/** Draws SkVertices vertices, a triangle mesh, using clip and SkMatrix. Bone data is used to
|
||||||
deform vertices with bone weights.
|
deform vertices with bone weights.
|
||||||
If vertices texs and vertices colors are defined in vertices, and SkPaint paint
|
If vertices texs and vertices colors are defined in vertices, and SkPaint paint
|
||||||
contains SkShader, SkBlendMode mode combines vertices colors with SkShader.
|
contains SkShader, SkBlendMode mode combines vertices colors with SkShader.
|
||||||
@ -2233,7 +2232,7 @@ public:
|
|||||||
this->drawPatch(cubics, colors, texCoords, SkBlendMode::kModulate, paint);
|
this->drawPatch(cubics, colors, texCoords, SkBlendMode::kModulate, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw a set of sprites from atlas, using clip, SkMatrix, and optional SkPaint paint.
|
/** Draws a set of sprites from atlas, using clip, SkMatrix, and optional SkPaint paint.
|
||||||
paint uses anti-alias, alpha, SkColorFilter, SkImageFilter, and SkBlendMode
|
paint uses anti-alias, alpha, SkColorFilter, SkImageFilter, and SkBlendMode
|
||||||
to draw, if present. For each entry in the array, SkRect tex locates sprite in
|
to draw, if present. For each entry in the array, SkRect tex locates sprite in
|
||||||
atlas, and SkRSXform xform transforms it into destination space.
|
atlas, and SkRSXform xform transforms it into destination space.
|
||||||
@ -2257,7 +2256,7 @@ public:
|
|||||||
const SkColor colors[], int count, SkBlendMode mode, const SkRect* cullRect,
|
const SkColor colors[], int count, SkBlendMode mode, const SkRect* cullRect,
|
||||||
const SkPaint* paint);
|
const SkPaint* paint);
|
||||||
|
|
||||||
/** Draw a set of sprites from atlas, using clip, SkMatrix, and optional SkPaint paint.
|
/** Draws a set of sprites from atlas, using clip, SkMatrix, and optional SkPaint paint.
|
||||||
paint uses anti-alias, alpha, SkColorFilter, SkImageFilter, and SkBlendMode
|
paint uses anti-alias, alpha, SkColorFilter, SkImageFilter, and SkBlendMode
|
||||||
to draw, if present. For each entry in the array, SkRect tex locates sprite in
|
to draw, if present. For each entry in the array, SkRect tex locates sprite in
|
||||||
atlas, and SkRSXform xform transforms it into destination space.
|
atlas, and SkRSXform xform transforms it into destination space.
|
||||||
@ -2282,7 +2281,7 @@ public:
|
|||||||
this->drawAtlas(atlas.get(), xform, tex, colors, count, mode, cullRect, paint);
|
this->drawAtlas(atlas.get(), xform, tex, colors, count, mode, cullRect, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw a set of sprites from atlas, using clip, SkMatrix, and optional SkPaint paint.
|
/** Draws a set of sprites from atlas, using clip, SkMatrix, and optional SkPaint paint.
|
||||||
paint uses anti-alias, alpha, SkColorFilter, SkImageFilter, and SkBlendMode
|
paint uses anti-alias, alpha, SkColorFilter, SkImageFilter, and SkBlendMode
|
||||||
to draw, if present. For each entry in the array, SkRect tex locates sprite in
|
to draw, if present. For each entry in the array, SkRect tex locates sprite in
|
||||||
atlas, and SkRSXform xform transforms it into destination space.
|
atlas, and SkRSXform xform transforms it into destination space.
|
||||||
@ -2303,7 +2302,7 @@ public:
|
|||||||
this->drawAtlas(atlas, xform, tex, nullptr, count, SkBlendMode::kDst, cullRect, paint);
|
this->drawAtlas(atlas, xform, tex, nullptr, count, SkBlendMode::kDst, cullRect, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw a set of sprites from atlas, using clip, SkMatrix, and optional SkPaint paint.
|
/** Draws a set of sprites from atlas, using clip, SkMatrix, and optional SkPaint paint.
|
||||||
paint uses anti-alias, alpha, SkColorFilter, SkImageFilter, and SkBlendMode
|
paint uses anti-alias, alpha, SkColorFilter, SkImageFilter, and SkBlendMode
|
||||||
to draw, if present. For each entry in the array, SkRect tex locates sprite in
|
to draw, if present. For each entry in the array, SkRect tex locates sprite in
|
||||||
atlas, and SkRSXform xform transforms it into destination space.
|
atlas, and SkRSXform xform transforms it into destination space.
|
||||||
@ -2325,7 +2324,7 @@ public:
|
|||||||
cullRect, paint);
|
cullRect, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Draw SkDrawable drawable using clip and SkMatrix, concatenated with
|
/** Draws SkDrawable drawable using clip and SkMatrix, concatenated with
|
||||||
optional matrix.
|
optional matrix.
|
||||||
|
|
||||||
If SkCanvas has an asynchronous implementation, as is the case
|
If SkCanvas has an asynchronous implementation, as is the case
|
||||||
@ -2338,7 +2337,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawDrawable(SkDrawable* drawable, const SkMatrix* matrix = nullptr);
|
void drawDrawable(SkDrawable* drawable, const SkMatrix* matrix = nullptr);
|
||||||
|
|
||||||
/** Draw SkDrawable drawable using clip and SkMatrix, offset by (x, y).
|
/** Draws SkDrawable drawable using clip and SkMatrix, offset by (x, y).
|
||||||
|
|
||||||
If SkCanvas has an asynchronous implementation, as is the case
|
If SkCanvas has an asynchronous implementation, as is the case
|
||||||
when it is recording into SkPicture, then drawable will be referenced,
|
when it is recording into SkPicture, then drawable will be referenced,
|
||||||
@ -2351,7 +2350,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawDrawable(SkDrawable* drawable, SkScalar x, SkScalar y);
|
void drawDrawable(SkDrawable* drawable, SkScalar x, SkScalar y);
|
||||||
|
|
||||||
/** Associate SkRect on SkCanvas with an annotation; a key-value pair, where the key is
|
/** Associates SkRect on SkCanvas with an annotation; a key-value pair, where the key is
|
||||||
a null-terminated utf8 string, and optional value is stored as SkData.
|
a null-terminated utf8 string, and optional value is stored as SkData.
|
||||||
|
|
||||||
Only some canvas implementations, such as recording to SkPicture, or drawing to
|
Only some canvas implementations, such as recording to SkPicture, or drawing to
|
||||||
@ -2363,7 +2362,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void drawAnnotation(const SkRect& rect, const char key[], SkData* value);
|
void drawAnnotation(const SkRect& rect, const char key[], SkData* value);
|
||||||
|
|
||||||
/** Associate SkRect on SkCanvas when an annotation; a key-value pair, where the key is
|
/** Associates SkRect on SkCanvas when an annotation; a key-value pair, where the key is
|
||||||
a null-terminated utf8 string, and optional value is stored as SkData.
|
a null-terminated utf8 string, and optional value is stored as SkData.
|
||||||
|
|
||||||
Only some canvas implementations, such as recording to SkPicture, or drawing to
|
Only some canvas implementations, such as recording to SkPicture, or drawing to
|
||||||
@ -2377,8 +2376,6 @@ public:
|
|||||||
this->drawAnnotation(rect, key, value.get());
|
this->drawAnnotation(rect, key, value.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
/** Returns true if clip is empty; that is, nothing will draw.
|
/** Returns true if clip is empty; that is, nothing will draw.
|
||||||
|
|
||||||
May do work when called; it should not be called
|
May do work when called; it should not be called
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Generated by tools/bookmaker from include/core/SkImage.h and docs/SkImage_Reference.bmh
|
/* Generated by tools/bookmaker from include/core/SkImage.h and docs/SkImage_Reference.bmh
|
||||||
on 2018-06-14 13:13:34. Additional documentation and examples can be found at:
|
on 2018-07-13 08:15:11. Additional documentation and examples can be found at:
|
||||||
https://skia.org/user/api/SkImage_Reference
|
https://skia.org/user/api/SkImage_Reference
|
||||||
|
|
||||||
You may edit either file directly. Structural changes to public interfaces require
|
You may edit either file directly. Structural changes to public interfaces require
|
||||||
@ -870,7 +870,8 @@ public:
|
|||||||
|
|
||||||
Set premulBehavior to SkTransferFunctionBehavior::kIgnore to treat SkImage
|
Set premulBehavior to SkTransferFunctionBehavior::kIgnore to treat SkImage
|
||||||
pixels as linear, when converting to destination SkColorType
|
pixels as linear, when converting to destination SkColorType
|
||||||
and SkColorSpace, ignoring pixel encoding.
|
and SkColorSpace, ignoring pixel encoding. premulBehavior is
|
||||||
|
SkTransferFunctionBehavior::kIgnore by default.
|
||||||
|
|
||||||
@param target SkColorSpace describing color range of returned SkImage
|
@param target SkColorSpace describing color range of returned SkImage
|
||||||
@param premulBehavior one of: SkTransferFunctionBehavior::kRespect,
|
@param premulBehavior one of: SkTransferFunctionBehavior::kRespect,
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Generated by tools/bookmaker from include/core/SkImageInfo.h and docs/SkImageInfo_Reference.bmh
|
/* Generated by tools/bookmaker from include/core/SkImageInfo.h and docs/SkImageInfo_Reference.bmh
|
||||||
on 2018-06-14 13:13:34. Additional documentation and examples can be found at:
|
on 2018-07-13 08:15:11. Additional documentation and examples can be found at:
|
||||||
https://skia.org/user/api/SkImageInfo_Reference
|
https://skia.org/user/api/SkImageInfo_Reference
|
||||||
|
|
||||||
You may edit either file directly. Structural changes to public interfaces require
|
You may edit either file directly. Structural changes to public interfaces require
|
||||||
@ -93,7 +93,7 @@ enum SkColorType {
|
|||||||
kRGB_101010x_SkColorType, //!< pixel with 10 bits each for red, green, blue; in 32-bit word
|
kRGB_101010x_SkColorType, //!< pixel with 10 bits each for red, green, blue; in 32-bit word
|
||||||
kGray_8_SkColorType, //!< pixel with grayscale level in 8-bit byte
|
kGray_8_SkColorType, //!< pixel with grayscale level in 8-bit byte
|
||||||
kRGBA_F16_SkColorType, //!< pixel with half floats for red, green, blue, alpha; in 64-bit word
|
kRGBA_F16_SkColorType, //!< pixel with half floats for red, green, blue, alpha; in 64-bit word
|
||||||
kRGBA_F32_SkColorType, //!< pixel with single floats for red, green, blue, alpha
|
kRGBA_F32_SkColorType, //!< pixel using C float for red, green, blue, alpha; in 128-bit word
|
||||||
kLastEnum_SkColorType = kRGBA_F32_SkColorType,//!< last valid value
|
kLastEnum_SkColorType = kRGBA_F32_SkColorType,//!< last valid value
|
||||||
|
|
||||||
#if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
|
#if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Generated by tools/bookmaker from include/core/SkMatrix.h and docs/SkMatrix_Reference.bmh
|
/* Generated by tools/bookmaker from include/core/SkMatrix.h and docs/SkMatrix_Reference.bmh
|
||||||
on 2018-06-14 13:13:34. Additional documentation and examples can be found at:
|
on 2018-07-13 08:15:11. Additional documentation and examples can be found at:
|
||||||
https://skia.org/user/api/SkMatrix_Reference
|
https://skia.org/user/api/SkMatrix_Reference
|
||||||
|
|
||||||
You may edit either file directly. Structural changes to public interfaces require
|
You may edit either file directly. Structural changes to public interfaces require
|
||||||
@ -1609,7 +1609,7 @@ public:
|
|||||||
are nearly zero.
|
are nearly zero.
|
||||||
|
|
||||||
On success
|
On success
|
||||||
Matrix = scale * Remaining
|
Matrix = scale * Remaining.
|
||||||
|
|
||||||
@param scale axes scaling factors; may be nullptr
|
@param scale axes scaling factors; may be nullptr
|
||||||
@param remaining SkMatrix without scaling; may be nullptr
|
@param remaining SkMatrix without scaling; may be nullptr
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Generated by tools/bookmaker from include/core/SkPaint.h and docs/SkPaint_Reference.bmh
|
/* Generated by tools/bookmaker from include/core/SkPaint.h and docs/SkPaint_Reference.bmh
|
||||||
on 2018-06-14 13:13:33. Additional documentation and examples can be found at:
|
on 2018-07-13 08:15:10. Additional documentation and examples can be found at:
|
||||||
https://skia.org/user/api/SkPaint_Reference
|
https://skia.org/user/api/SkPaint_Reference
|
||||||
|
|
||||||
You may edit either file directly. Structural changes to public interfaces require
|
You may edit either file directly. Structural changes to public interfaces require
|
||||||
@ -245,7 +245,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setFlags(uint32_t flags);
|
void setFlags(uint32_t flags);
|
||||||
|
|
||||||
/** If true, pixels on the active edges of SkPath may be drawn with partial transparency.
|
/** Returns true if pixels on the active edges of SkPath may be drawn with partial transparency.
|
||||||
|
|
||||||
Equivalent to getFlags() masked with kAntiAlias_Flag.
|
Equivalent to getFlags() masked with kAntiAlias_Flag.
|
||||||
|
|
||||||
@ -265,7 +265,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setAntiAlias(bool aa);
|
void setAntiAlias(bool aa);
|
||||||
|
|
||||||
/** If true, color error may be distributed to smooth color transition.
|
/** Returns true if color error may be distributed to smooth color transition.
|
||||||
|
|
||||||
Equivalent to getFlags() masked with kDither_Flag.
|
Equivalent to getFlags() masked with kDither_Flag.
|
||||||
|
|
||||||
@ -284,7 +284,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setDither(bool dither);
|
void setDither(bool dither);
|
||||||
|
|
||||||
/** If true, text is converted to SkPath before drawing and measuring.
|
/** Returns true if text is converted to SkPath before drawing and measuring.
|
||||||
|
|
||||||
Equivalent to getFlags() masked with kLinearText_Flag.
|
Equivalent to getFlags() masked with kLinearText_Flag.
|
||||||
|
|
||||||
@ -294,7 +294,7 @@ public:
|
|||||||
return SkToBool(this->getFlags() & kLinearText_Flag);
|
return SkToBool(this->getFlags() & kLinearText_Flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** If true, text is converted to SkPath before drawing and measuring.
|
/** Returns true if text is converted to SkPath before drawing and measuring.
|
||||||
By default, kLinearText_Flag is clear.
|
By default, kLinearText_Flag is clear.
|
||||||
|
|
||||||
Sets kLinearText_Flag if linearText is true.
|
Sets kLinearText_Flag if linearText is true.
|
||||||
@ -304,7 +304,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setLinearText(bool linearText);
|
void setLinearText(bool linearText);
|
||||||
|
|
||||||
/** If true, glyphs at different sub-pixel positions may differ on pixel edge coverage.
|
/** Returns true if glyphs at different sub-pixel positions may differ on pixel edge coverage.
|
||||||
|
|
||||||
Equivalent to getFlags() masked with kSubpixelText_Flag.
|
Equivalent to getFlags() masked with kSubpixelText_Flag.
|
||||||
|
|
||||||
@ -323,7 +323,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setSubpixelText(bool subpixelText);
|
void setSubpixelText(bool subpixelText);
|
||||||
|
|
||||||
/** If true, glyphs may use LCD striping to improve glyph edges.
|
/** Returns true if glyphs may use LCD striping to improve glyph edges.
|
||||||
|
|
||||||
Returns true if SkPaint::Flags kLCDRenderText_Flag is set.
|
Returns true if SkPaint::Flags kLCDRenderText_Flag is set.
|
||||||
|
|
||||||
@ -342,7 +342,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setLCDRenderText(bool lcdText);
|
void setLCDRenderText(bool lcdText);
|
||||||
|
|
||||||
/** If true, font engine may return glyphs from font bitmaps instead of from outlines.
|
/** Returns true if font engine may return glyphs from font bitmaps instead of from outlines.
|
||||||
|
|
||||||
Equivalent to getFlags() masked with kEmbeddedBitmapText_Flag.
|
Equivalent to getFlags() masked with kEmbeddedBitmapText_Flag.
|
||||||
|
|
||||||
@ -361,9 +361,9 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setEmbeddedBitmapText(bool useEmbeddedBitmapText);
|
void setEmbeddedBitmapText(bool useEmbeddedBitmapText);
|
||||||
|
|
||||||
/** If true, and if SkPaint::Hinting is set to kNormal_Hinting or kFull_Hinting, and if
|
/** Returns true if SkPaint::Hinting is set to kNormal_Hinting or kFull_Hinting, and if
|
||||||
platform uses FreeType as the font manager, instruct the font manager to always hint
|
platform uses FreeType as the font manager. If true, instructs
|
||||||
glyphs.
|
the font manager to always hint glyphs.
|
||||||
|
|
||||||
Equivalent to getFlags() masked with kAutoHinting_Flag.
|
Equivalent to getFlags() masked with kAutoHinting_Flag.
|
||||||
|
|
||||||
@ -373,8 +373,9 @@ public:
|
|||||||
return SkToBool(this->getFlags() & kAutoHinting_Flag);
|
return SkToBool(this->getFlags() & kAutoHinting_Flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** If SkPaint::Hinting is set to kNormal_Hinting or kFull_Hinting and useAutohinter is set,
|
/** Sets whether to always hint glyphs.
|
||||||
instruct the font manager to always hint glyphs.
|
If SkPaint::Hinting is set to kNormal_Hinting or kFull_Hinting and useAutohinter is set,
|
||||||
|
instructs the font manager to always hint glyphs.
|
||||||
auto-hinting has no effect if SkPaint::Hinting is set to kNo_Hinting or
|
auto-hinting has no effect if SkPaint::Hinting is set to kNo_Hinting or
|
||||||
kSlight_Hinting.
|
kSlight_Hinting.
|
||||||
|
|
||||||
@ -387,7 +388,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setAutohinted(bool useAutohinter);
|
void setAutohinted(bool useAutohinter);
|
||||||
|
|
||||||
/** If true, glyphs are drawn top to bottom instead of left to right.
|
/** Returns true if glyphs are drawn top to bottom instead of left to right.
|
||||||
|
|
||||||
Equivalent to getFlags() masked with kVerticalText_Flag.
|
Equivalent to getFlags() masked with kVerticalText_Flag.
|
||||||
|
|
||||||
@ -397,7 +398,7 @@ public:
|
|||||||
return SkToBool(this->getFlags() & kVerticalText_Flag);
|
return SkToBool(this->getFlags() & kVerticalText_Flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** If true, text advance positions the next glyph below the previous glyph instead of to the
|
/** Returns true if text advance positions the next glyph below the previous glyph instead of to the
|
||||||
right of previous glyph.
|
right of previous glyph.
|
||||||
|
|
||||||
Sets kVerticalText_Flag if vertical is true.
|
Sets kVerticalText_Flag if vertical is true.
|
||||||
@ -407,7 +408,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setVerticalText(bool verticalText);
|
void setVerticalText(bool verticalText);
|
||||||
|
|
||||||
/** If true, approximate bold by increasing the stroke width when creating glyph bitmaps
|
/** Returns true if approximate bold by increasing the stroke width when creating glyph bitmaps
|
||||||
from outlines.
|
from outlines.
|
||||||
|
|
||||||
Equivalent to getFlags() masked with kFakeBoldText_Flag.
|
Equivalent to getFlags() masked with kFakeBoldText_Flag.
|
||||||
@ -418,7 +419,7 @@ public:
|
|||||||
return SkToBool(this->getFlags() & kFakeBoldText_Flag);
|
return SkToBool(this->getFlags() & kFakeBoldText_Flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Use increased stroke width when creating glyph bitmaps to approximate a bold typeface.
|
/** Increases stroke width when creating glyph bitmaps to approximate a bold typeface.
|
||||||
|
|
||||||
Sets kFakeBoldText_Flag if fakeBoldText is true.
|
Sets kFakeBoldText_Flag if fakeBoldText is true.
|
||||||
Clears kFakeBoldText_Flag if fakeBoldText is false.
|
Clears kFakeBoldText_Flag if fakeBoldText is false.
|
||||||
@ -472,7 +473,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
static constexpr int kStyleCount = kStrokeAndFill_Style + 1;
|
static constexpr int kStyleCount = kStrokeAndFill_Style + 1;
|
||||||
|
|
||||||
/** Whether the geometry is filled, stroked, or filled and stroked.
|
/** Returns whether the geometry is filled, stroked, or filled and stroked.
|
||||||
|
|
||||||
@return one of:kFill_Style, kStroke_Style, kStrokeAndFill_Style
|
@return one of:kFill_Style, kStroke_Style, kStrokeAndFill_Style
|
||||||
*/
|
*/
|
||||||
@ -541,13 +542,13 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setStrokeWidth(SkScalar width);
|
void setStrokeWidth(SkScalar width);
|
||||||
|
|
||||||
/** The limit at which a sharp corner is drawn beveled.
|
/** Returns the limit at which a sharp corner is drawn beveled.
|
||||||
|
|
||||||
@return zero and greater miter limit
|
@return zero and greater miter limit
|
||||||
*/
|
*/
|
||||||
SkScalar getStrokeMiter() const { return fMiterLimit; }
|
SkScalar getStrokeMiter() const { return fMiterLimit; }
|
||||||
|
|
||||||
/** The limit at which a sharp corner is drawn beveled.
|
/** Sets the limit at which a sharp corner is drawn beveled.
|
||||||
Valid values are zero and greater.
|
Valid values are zero and greater.
|
||||||
Has no effect if miter is less than zero.
|
Has no effect if miter is less than zero.
|
||||||
|
|
||||||
@ -595,33 +596,33 @@ public:
|
|||||||
*/
|
*/
|
||||||
static constexpr int kJoinCount = kLast_Join + 1;
|
static constexpr int kJoinCount = kLast_Join + 1;
|
||||||
|
|
||||||
/** The geometry drawn at the beginning and end of strokes.
|
/** Returns the geometry drawn at the beginning and end of strokes.
|
||||||
|
|
||||||
@return one of: kButt_Cap, kRound_Cap, kSquare_Cap
|
@return one of: kButt_Cap, kRound_Cap, kSquare_Cap
|
||||||
*/
|
*/
|
||||||
Cap getStrokeCap() const { return (Cap)fBitfields.fCapType; }
|
Cap getStrokeCap() const { return (Cap)fBitfields.fCapType; }
|
||||||
|
|
||||||
/** The geometry drawn at the beginning and end of strokes.
|
/** Sets the geometry drawn at the beginning and end of strokes.
|
||||||
|
|
||||||
@param cap one of: kButt_Cap, kRound_Cap, kSquare_Cap;
|
@param cap one of: kButt_Cap, kRound_Cap, kSquare_Cap;
|
||||||
has no effect if cap is not valid
|
has no effect if cap is not valid
|
||||||
*/
|
*/
|
||||||
void setStrokeCap(Cap cap);
|
void setStrokeCap(Cap cap);
|
||||||
|
|
||||||
/** The geometry drawn at the corners of strokes.
|
/** Returns the geometry drawn at the corners of strokes.
|
||||||
|
|
||||||
@return one of: kMiter_Join, kRound_Join, kBevel_Join
|
@return one of: kMiter_Join, kRound_Join, kBevel_Join
|
||||||
*/
|
*/
|
||||||
Join getStrokeJoin() const { return (Join)fBitfields.fJoinType; }
|
Join getStrokeJoin() const { return (Join)fBitfields.fJoinType; }
|
||||||
|
|
||||||
/** The geometry drawn at the corners of strokes.
|
/** Sets the geometry drawn at the corners of strokes.
|
||||||
|
|
||||||
@param join one of: kMiter_Join, kRound_Join, kBevel_Join;
|
@param join one of: kMiter_Join, kRound_Join, kBevel_Join;
|
||||||
otherwise, has no effect
|
otherwise, has no effect
|
||||||
*/
|
*/
|
||||||
void setStrokeJoin(Join join);
|
void setStrokeJoin(Join join);
|
||||||
|
|
||||||
/** The filled equivalent of the stroked path.
|
/** Returns the filled equivalent of the stroked path.
|
||||||
|
|
||||||
@param src SkPath read to create a filled version
|
@param src SkPath read to create a filled version
|
||||||
@param dst resulting SkPath; may be the same as src, but may not be nullptr
|
@param dst resulting SkPath; may be the same as src, but may not be nullptr
|
||||||
@ -633,7 +634,7 @@ public:
|
|||||||
bool getFillPath(const SkPath& src, SkPath* dst, const SkRect* cullRect,
|
bool getFillPath(const SkPath& src, SkPath* dst, const SkRect* cullRect,
|
||||||
SkScalar resScale = 1) const;
|
SkScalar resScale = 1) const;
|
||||||
|
|
||||||
/** The filled equivalent of the stroked path.
|
/** Returns the filled equivalent of the stroked path.
|
||||||
|
|
||||||
Replaces dst with the src path modified by SkPathEffect and style stroke.
|
Replaces dst with the src path modified by SkPathEffect and style stroke.
|
||||||
SkPathEffect, if any, is not culled. stroke width is created with default precision.
|
SkPathEffect, if any, is not culled. stroke width is created with default precision.
|
||||||
@ -646,7 +647,7 @@ public:
|
|||||||
return this->getFillPath(src, dst, nullptr, 1);
|
return this->getFillPath(src, dst, nullptr, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Optional colors used when filling a path, such as a gradient.
|
/** Returns optional colors used when filling a path, such as a gradient.
|
||||||
|
|
||||||
Does not alter SkShader SkRefCnt.
|
Does not alter SkShader SkRefCnt.
|
||||||
|
|
||||||
@ -654,7 +655,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
SkShader* getShader() const { return fShader.get(); }
|
SkShader* getShader() const { return fShader.get(); }
|
||||||
|
|
||||||
/** Optional colors used when filling a path, such as a gradient.
|
/** Returns optional colors used when filling a path, such as a gradient.
|
||||||
|
|
||||||
Increases SkShader SkRefCnt by one.
|
Increases SkShader SkRefCnt by one.
|
||||||
|
|
||||||
@ -662,7 +663,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
sk_sp<SkShader> refShader() const;
|
sk_sp<SkShader> refShader() const;
|
||||||
|
|
||||||
/** Optional colors used when filling a path, such as a gradient.
|
/** Sets optional colors used when filling a path, such as a gradient.
|
||||||
|
|
||||||
Sets SkShader to shader, decreasing SkRefCnt of the previous SkShader.
|
Sets SkShader to shader, decreasing SkRefCnt of the previous SkShader.
|
||||||
Increments shader SkRefCnt by one.
|
Increments shader SkRefCnt by one.
|
||||||
@ -1015,7 +1016,7 @@ public:
|
|||||||
SkScalar fStrikeoutThickness; //!< strikeout thickness
|
SkScalar fStrikeoutThickness; //!< strikeout thickness
|
||||||
SkScalar fStrikeoutPosition; //!< strikeout position relative to baseline
|
SkScalar fStrikeoutPosition; //!< strikeout position relative to baseline
|
||||||
|
|
||||||
/** If SkPaint::FontMetrics has a valid underline thickness, return true, and set
|
/** Returns true if SkPaint::FontMetrics has a valid underline thickness, and sets
|
||||||
thickness to that value. If the underline thickness is not valid,
|
thickness to that value. If the underline thickness is not valid,
|
||||||
return false, and ignore thickness.
|
return false, and ignore thickness.
|
||||||
|
|
||||||
@ -1030,7 +1031,7 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** If SkPaint::FontMetrics has a valid underline position, return true, and set
|
/** Returns true if SkPaint::FontMetrics has a valid underline position, and sets
|
||||||
position to that value. If the underline position is not valid,
|
position to that value. If the underline position is not valid,
|
||||||
return false, and ignore position.
|
return false, and ignore position.
|
||||||
|
|
||||||
@ -1045,7 +1046,7 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** If SkPaint::FontMetrics has a valid strikeout thickness, return true, and set
|
/** Returns true if SkPaint::FontMetrics has a valid strikeout thickness, and sets
|
||||||
thickness to that value. If the underline thickness is not valid,
|
thickness to that value. If the underline thickness is not valid,
|
||||||
return false, and ignore thickness.
|
return false, and ignore thickness.
|
||||||
|
|
||||||
@ -1060,7 +1061,7 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** If SkPaint::FontMetrics has a valid strikeout position, return true, and set
|
/** Returns true if SkPaint::FontMetrics has a valid strikeout position, and sets
|
||||||
position to that value. If the underline position is not valid,
|
position to that value. If the underline position is not valid,
|
||||||
return false, and ignore position.
|
return false, and ignore position.
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Generated by tools/bookmaker from include/core/SkPath.h and docs/SkPath_Reference.bmh
|
/* Generated by tools/bookmaker from include/core/SkPath.h and docs/SkPath_Reference.bmh
|
||||||
on 2018-06-14 13:13:34. Additional documentation and examples can be found at:
|
on 2018-07-13 08:15:11. Additional documentation and examples can be found at:
|
||||||
https://skia.org/user/api/SkPath_Reference
|
https://skia.org/user/api/SkPath_Reference
|
||||||
|
|
||||||
You may edit either file directly. Structural changes to public interfaces require
|
You may edit either file directly. Structural changes to public interfaces require
|
||||||
@ -66,14 +66,15 @@ public:
|
|||||||
kCCW_Direction, //!< contour travels counterclockwise
|
kCCW_Direction, //!< contour travels counterclockwise
|
||||||
};
|
};
|
||||||
|
|
||||||
/** By default, SkPath has no verbs, no SkPoint, and no weights.
|
/** Constucts an empty path. By default, SkPath has no verbs, no SkPoint, and no weights.
|
||||||
SkPath::FillType is set to kWinding_FillType.
|
SkPath::FillType is set to kWinding_FillType.
|
||||||
|
|
||||||
@return empty SkPath
|
@return empty SkPath
|
||||||
*/
|
*/
|
||||||
SkPath();
|
SkPath();
|
||||||
|
|
||||||
/** Copy constructor makes two paths identical by value. Internally, path and
|
/** Constructs a copy of an existing path.
|
||||||
|
Copy constructor makes two paths identical by value. Internally, path and
|
||||||
the returned result share pointer values. The underlying verb array, SkPoint array
|
the returned result share pointer values. The underlying verb array, SkPoint array
|
||||||
and weights are copied when modified.
|
and weights are copied when modified.
|
||||||
|
|
||||||
@ -90,7 +91,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
~SkPath();
|
~SkPath();
|
||||||
|
|
||||||
/** SkPath assignment makes two paths identical by value. Internally, assignment
|
/** Constructs a copy of an existing path.
|
||||||
|
SkPath assignment makes two paths identical by value. Internally, assignment
|
||||||
shares pointer values. The underlying verb array, SkPoint array and weights
|
shares pointer values. The underlying verb array, SkPoint array and weights
|
||||||
are copied when modified.
|
are copied when modified.
|
||||||
|
|
||||||
@ -123,7 +125,7 @@ public:
|
|||||||
return !(a == b);
|
return !(a == b);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Return true if SkPath contain equal verbs and equal weights.
|
/** Returns true if SkPath contain equal verbs and equal weights.
|
||||||
If SkPath contain one or more conics, the weights must match.
|
If SkPath contain one or more conics, the weights must match.
|
||||||
|
|
||||||
conicTo() may add different verbs depending on conic weight, so it is not
|
conicTo() may add different verbs depending on conic weight, so it is not
|
||||||
@ -135,7 +137,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool isInterpolatable(const SkPath& compare) const;
|
bool isInterpolatable(const SkPath& compare) const;
|
||||||
|
|
||||||
/** Interpolate between SkPath with SkPoint array of equal size.
|
/** Interpolates between SkPath with SkPoint array of equal size.
|
||||||
Copy verb array and weights to out, and set out SkPoint array to a weighted
|
Copy verb array and weights to out, and set out SkPoint array to a weighted
|
||||||
average of this SkPoint array and ending SkPoint array, using the formula: (Path Point * weight) + ending Point * (1 - weight).
|
average of this SkPoint array and ending SkPoint array, using the formula: (Path Point * weight) + ending Point * (1 - weight).
|
||||||
|
|
||||||
@ -203,7 +205,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool isInverseFillType() const { return IsInverseFillType((FillType)fFillType); }
|
bool isInverseFillType() const { return IsInverseFillType((FillType)fFillType); }
|
||||||
|
|
||||||
/** Replace FillType with its inverse. The inverse of FillType describes the area
|
/** Replaces FillType with its inverse. The inverse of FillType describes the area
|
||||||
unmodified by the original FillType.
|
unmodified by the original FillType.
|
||||||
*/
|
*/
|
||||||
void toggleInverseFillType() {
|
void toggleInverseFillType() {
|
||||||
@ -310,7 +312,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
void rewind();
|
void rewind();
|
||||||
|
|
||||||
/** Empty SkPath may have FillType but has no SkPoint, SkPath::Verb, or conic weight.
|
/** Returns if SkPath is empty.
|
||||||
|
Empty SkPath may have FillType but has no SkPoint, SkPath::Verb, or conic weight.
|
||||||
SkPath() constructs empty SkPath; reset() and (rewind) make SkPath empty.
|
SkPath() constructs empty SkPath; reset() and (rewind) make SkPath empty.
|
||||||
|
|
||||||
@return true if the path contains no SkPath::Verb array
|
@return true if the path contains no SkPath::Verb array
|
||||||
@ -320,7 +323,8 @@ public:
|
|||||||
return 0 == fPathRef->countVerbs();
|
return 0 == fPathRef->countVerbs();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Contour is closed if SkPath SkPath::Verb array was last modified by close(). When stroked,
|
/** Returns if contour is closed.
|
||||||
|
Contour is closed if SkPath SkPath::Verb array was last modified by close(). When stroked,
|
||||||
closed contour draws SkPaint::Join instead of SkPaint::Cap at first and last SkPoint.
|
closed contour draws SkPaint::Join instead of SkPaint::Cap at first and last SkPoint.
|
||||||
|
|
||||||
@return true if the last contour ends with a kClose_Verb
|
@return true if the last contour ends with a kClose_Verb
|
||||||
@ -349,7 +353,7 @@ public:
|
|||||||
return SkToBool(fIsVolatile);
|
return SkToBool(fIsVolatile);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Specify whether SkPath is volatile; whether it will be altered or discarded
|
/** Specifies whether SkPath is volatile; whether it will be altered or discarded
|
||||||
by the caller after it is drawn. SkPath by default have volatile set false, allowing
|
by the caller after it is drawn. SkPath by default have volatile set false, allowing
|
||||||
SkBaseDevice to attach a cache of data which speeds repeated drawing.
|
SkBaseDevice to attach a cache of data which speeds repeated drawing.
|
||||||
|
|
||||||
@ -368,7 +372,7 @@ public:
|
|||||||
fIsVolatile = isVolatile;
|
fIsVolatile = isVolatile;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Test if line between SkPoint pair is degenerate.
|
/** Tests if line between SkPoint pair is degenerate.
|
||||||
Line with no length or that moves a very short distance is degenerate; it is
|
Line with no length or that moves a very short distance is degenerate; it is
|
||||||
treated as a point.
|
treated as a point.
|
||||||
|
|
||||||
@ -382,7 +386,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
static bool IsLineDegenerate(const SkPoint& p1, const SkPoint& p2, bool exact);
|
static bool IsLineDegenerate(const SkPoint& p1, const SkPoint& p2, bool exact);
|
||||||
|
|
||||||
/** Test if quad is degenerate.
|
/** Tests if quad is degenerate.
|
||||||
Quad with no length or that moves a very short distance is degenerate; it is
|
Quad with no length or that moves a very short distance is degenerate; it is
|
||||||
treated as a point.
|
treated as a point.
|
||||||
|
|
||||||
@ -396,7 +400,7 @@ public:
|
|||||||
static bool IsQuadDegenerate(const SkPoint& p1, const SkPoint& p2,
|
static bool IsQuadDegenerate(const SkPoint& p1, const SkPoint& p2,
|
||||||
const SkPoint& p3, bool exact);
|
const SkPoint& p3, bool exact);
|
||||||
|
|
||||||
/** Test if cubic is degenerate.
|
/** Tests if cubic is degenerate.
|
||||||
Cubic with no length or that moves a very short distance is degenerate; it is
|
Cubic with no length or that moves a very short distance is degenerate; it is
|
||||||
treated as a point.
|
treated as a point.
|
||||||
|
|
||||||
@ -489,7 +493,7 @@ public:
|
|||||||
return fPathRef->getBounds();
|
return fPathRef->getBounds();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Update internal bounds so that subsequent calls to getBounds() are instantaneous.
|
/** Updates internal bounds so that subsequent calls to getBounds() are instantaneous.
|
||||||
Unaltered copies of SkPath may also access cached bounds through getBounds().
|
Unaltered copies of SkPath may also access cached bounds through getBounds().
|
||||||
|
|
||||||
For now, identical to calling getBounds() and ignoring the returned value.
|
For now, identical to calling getBounds() and ignoring the returned value.
|
||||||
@ -532,7 +536,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool conservativelyContainsRect(const SkRect& rect) const;
|
bool conservativelyContainsRect(const SkRect& rect) const;
|
||||||
|
|
||||||
/** grows SkPath verb array and SkPoint array to contain extraPtCount additional SkPoint.
|
/** Grows SkPath verb array and SkPoint array to contain extraPtCount additional SkPoint.
|
||||||
May improve performance and use less memory by
|
May improve performance and use less memory by
|
||||||
reducing the number and size of allocations when creating SkPath.
|
reducing the number and size of allocations when creating SkPath.
|
||||||
|
|
||||||
@ -779,7 +783,7 @@ public:
|
|||||||
void rCubicTo(SkScalar x1, SkScalar y1, SkScalar x2, SkScalar y2,
|
void rCubicTo(SkScalar x1, SkScalar y1, SkScalar x2, SkScalar y2,
|
||||||
SkScalar x3, SkScalar y3);
|
SkScalar x3, SkScalar y3);
|
||||||
|
|
||||||
/** Append arc to SkPath. Arc added is part of ellipse
|
/** Appends arc to SkPath. Arc added is part of ellipse
|
||||||
bounded by oval, from startAngle through sweepAngle. Both startAngle and
|
bounded by oval, from startAngle through sweepAngle. Both startAngle and
|
||||||
sweepAngle are measured in degrees, where zero degrees is aligned with the
|
sweepAngle are measured in degrees, where zero degrees is aligned with the
|
||||||
positive x-axis, and positive sweeps extends arc clockwise.
|
positive x-axis, and positive sweeps extends arc clockwise.
|
||||||
@ -795,7 +799,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void arcTo(const SkRect& oval, SkScalar startAngle, SkScalar sweepAngle, bool forceMoveTo);
|
void arcTo(const SkRect& oval, SkScalar startAngle, SkScalar sweepAngle, bool forceMoveTo);
|
||||||
|
|
||||||
/** Append arc to SkPath, after appending line if needed. Arc is implemented by conic
|
/** Appends arc to SkPath, after appending line if needed. Arc is implemented by conic
|
||||||
weighted to describe part of circle. Arc is contained by tangent from
|
weighted to describe part of circle. Arc is contained by tangent from
|
||||||
last SkPath point (x0, y0) to (x1, y1), and tangent from (x1, y1) to (x2, y2). Arc
|
last SkPath point (x0, y0) to (x1, y1), and tangent from (x1, y1) to (x2, y2). Arc
|
||||||
is part of circle sized to radius, positioned so it touches both tangent lines.
|
is part of circle sized to radius, positioned so it touches both tangent lines.
|
||||||
@ -808,7 +812,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void arcTo(SkScalar x1, SkScalar y1, SkScalar x2, SkScalar y2, SkScalar radius);
|
void arcTo(SkScalar x1, SkScalar y1, SkScalar x2, SkScalar y2, SkScalar radius);
|
||||||
|
|
||||||
/** Append arc to SkPath, after appending line if needed. Arc is implemented by conic
|
/** Appends arc to SkPath, after appending line if needed. Arc is implemented by conic
|
||||||
weighted to describe part of circle. Arc is contained by tangent from
|
weighted to describe part of circle. Arc is contained by tangent from
|
||||||
last SkPath point to p1, and tangent from p1 to p2. Arc
|
last SkPath point to p1, and tangent from p1 to p2. Arc
|
||||||
is part of circle sized to radius, positioned so it touches both tangent lines.
|
is part of circle sized to radius, positioned so it touches both tangent lines.
|
||||||
@ -839,7 +843,7 @@ public:
|
|||||||
kLarge_ArcSize, //!< larger of arc pair
|
kLarge_ArcSize, //!< larger of arc pair
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Append arc to SkPath. Arc is implemented by one or more conics weighted to
|
/** Appends arc to SkPath. Arc is implemented by one or more conics weighted to
|
||||||
describe part of oval with radii (rx, ry) rotated by xAxisRotate degrees. Arc
|
describe part of oval with radii (rx, ry) rotated by xAxisRotate degrees. Arc
|
||||||
curves from last SkPath SkPoint to (x, y), choosing one of four possible routes:
|
curves from last SkPath SkPoint to (x, y), choosing one of four possible routes:
|
||||||
clockwise or counterclockwise, and smaller or larger.
|
clockwise or counterclockwise, and smaller or larger.
|
||||||
@ -865,7 +869,7 @@ public:
|
|||||||
void arcTo(SkScalar rx, SkScalar ry, SkScalar xAxisRotate, ArcSize largeArc,
|
void arcTo(SkScalar rx, SkScalar ry, SkScalar xAxisRotate, ArcSize largeArc,
|
||||||
Direction sweep, SkScalar x, SkScalar y);
|
Direction sweep, SkScalar x, SkScalar y);
|
||||||
|
|
||||||
/** Append arc to SkPath. Arc is implemented by one or more conic weighted to describe part of oval
|
/** Appends arc to SkPath. Arc is implemented by one or more conic weighted to describe part of oval
|
||||||
with radii (r.fX, r.fY) rotated by xAxisRotate degrees. Arc curves from last SkPath SkPoint to
|
with radii (r.fX, r.fY) rotated by xAxisRotate degrees. Arc curves from last SkPath SkPoint to
|
||||||
(xy.fX, xy.fY), choosing one of four possible routes: clockwise or counterclockwise,
|
(xy.fX, xy.fY), choosing one of four possible routes: clockwise or counterclockwise,
|
||||||
and smaller or larger.
|
and smaller or larger.
|
||||||
@ -890,7 +894,7 @@ public:
|
|||||||
this->arcTo(r.fX, r.fY, xAxisRotate, largeArc, sweep, xy.fX, xy.fY);
|
this->arcTo(r.fX, r.fY, xAxisRotate, largeArc, sweep, xy.fX, xy.fY);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Append arc to SkPath, relative to last SkPath SkPoint. Arc is implemented by one or
|
/** Appends arc to SkPath, relative to last SkPath SkPoint. Arc is implemented by one or
|
||||||
more conic, weighted to describe part of oval with radii (rx, ry) rotated by
|
more conic, weighted to describe part of oval with radii (rx, ry) rotated by
|
||||||
xAxisRotate degrees. Arc curves from last SkPath SkPoint (x0, y0) to end SkPoint:
|
xAxisRotate degrees. Arc curves from last SkPath SkPoint (x0, y0) to end SkPoint:
|
||||||
(x0 + dx, y0 + dy), choosing one of four possible routes: clockwise or
|
(x0 + dx, y0 + dy), choosing one of four possible routes: clockwise or
|
||||||
@ -918,7 +922,7 @@ public:
|
|||||||
void rArcTo(SkScalar rx, SkScalar ry, SkScalar xAxisRotate, ArcSize largeArc,
|
void rArcTo(SkScalar rx, SkScalar ry, SkScalar xAxisRotate, ArcSize largeArc,
|
||||||
Direction sweep, SkScalar dx, SkScalar dy);
|
Direction sweep, SkScalar dx, SkScalar dy);
|
||||||
|
|
||||||
/** Append kClose_Verb to SkPath. A closed contour connects the first and last SkPoint
|
/** Appends kClose_Verb to SkPath. A closed contour connects the first and last SkPoint
|
||||||
with line, forming a continuous loop. Open and closed contour draw the same
|
with line, forming a continuous loop. Open and closed contour draw the same
|
||||||
with SkPaint::kFill_Style. With SkPaint::kStroke_Style, open contour draws
|
with SkPaint::kFill_Style. With SkPaint::kStroke_Style, open contour draws
|
||||||
SkPaint::Cap at contour start and end; closed contour draws
|
SkPaint::Cap at contour start and end; closed contour draws
|
||||||
@ -1013,7 +1017,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool isNestedFillRects(SkRect rect[2], Direction dirs[2] = nullptr) const;
|
bool isNestedFillRects(SkRect rect[2], Direction dirs[2] = nullptr) const;
|
||||||
|
|
||||||
/** Add SkRect to SkPath, appending kMove_Verb, three kLine_Verb, and kClose_Verb,
|
/** Adds SkRect to SkPath, appending kMove_Verb, three kLine_Verb, and kClose_Verb,
|
||||||
starting with top-left corner of SkRect; followed by top-right, bottom-right,
|
starting with top-left corner of SkRect; followed by top-right, bottom-right,
|
||||||
and bottom-left if dir is kCW_Direction; or followed by bottom-left,
|
and bottom-left if dir is kCW_Direction; or followed by bottom-left,
|
||||||
bottom-right, and top-right if dir is kCCW_Direction.
|
bottom-right, and top-right if dir is kCCW_Direction.
|
||||||
@ -1023,7 +1027,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void addRect(const SkRect& rect, Direction dir = kCW_Direction);
|
void addRect(const SkRect& rect, Direction dir = kCW_Direction);
|
||||||
|
|
||||||
/** Add SkRect to SkPath, appending kMove_Verb, three kLine_Verb, and kClose_Verb.
|
/** Adds SkRect to SkPath, appending kMove_Verb, three kLine_Verb, and kClose_Verb.
|
||||||
If dir is kCW_Direction, SkRect corners are added clockwise; if dir is
|
If dir is kCW_Direction, SkRect corners are added clockwise; if dir is
|
||||||
kCCW_Direction, SkRect corners are added counterclockwise.
|
kCCW_Direction, SkRect corners are added counterclockwise.
|
||||||
start determines the first corner added.
|
start determines the first corner added.
|
||||||
@ -1034,7 +1038,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void addRect(const SkRect& rect, Direction dir, unsigned start);
|
void addRect(const SkRect& rect, Direction dir, unsigned start);
|
||||||
|
|
||||||
/** Add SkRect (left, top, right, bottom) to SkPath,
|
/** Adds SkRect (left, top, right, bottom) to SkPath,
|
||||||
appending kMove_Verb, three kLine_Verb, and kClose_Verb,
|
appending kMove_Verb, three kLine_Verb, and kClose_Verb,
|
||||||
starting with top-left corner of SkRect; followed by top-right, bottom-right,
|
starting with top-left corner of SkRect; followed by top-right, bottom-right,
|
||||||
and bottom-left if dir is kCW_Direction; or followed by bottom-left,
|
and bottom-left if dir is kCW_Direction; or followed by bottom-left,
|
||||||
@ -1049,7 +1053,7 @@ public:
|
|||||||
void addRect(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom,
|
void addRect(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom,
|
||||||
Direction dir = kCW_Direction);
|
Direction dir = kCW_Direction);
|
||||||
|
|
||||||
/** Add oval to path, appending kMove_Verb, four kConic_Verb, and kClose_Verb.
|
/** Adds oval to path, appending kMove_Verb, four kConic_Verb, and kClose_Verb.
|
||||||
Oval is upright ellipse bounded by SkRect oval with radii equal to half oval width
|
Oval is upright ellipse bounded by SkRect oval with radii equal to half oval width
|
||||||
and half oval height. Oval begins at (oval.fRight, oval.centerY()) and continues
|
and half oval height. Oval begins at (oval.fRight, oval.centerY()) and continues
|
||||||
clockwise if dir is kCW_Direction, counterclockwise if dir is kCCW_Direction.
|
clockwise if dir is kCW_Direction, counterclockwise if dir is kCCW_Direction.
|
||||||
@ -1059,7 +1063,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void addOval(const SkRect& oval, Direction dir = kCW_Direction);
|
void addOval(const SkRect& oval, Direction dir = kCW_Direction);
|
||||||
|
|
||||||
/** Add oval to SkPath, appending kMove_Verb, four kConic_Verb, and kClose_Verb.
|
/** Adds oval to SkPath, appending kMove_Verb, four kConic_Verb, and kClose_Verb.
|
||||||
Oval is upright ellipse bounded by SkRect oval with radii equal to half oval width
|
Oval is upright ellipse bounded by SkRect oval with radii equal to half oval width
|
||||||
and half oval height. Oval begins at start and continues
|
and half oval height. Oval begins at start and continues
|
||||||
clockwise if dir is kCW_Direction, counterclockwise if dir is kCCW_Direction.
|
clockwise if dir is kCW_Direction, counterclockwise if dir is kCCW_Direction.
|
||||||
@ -1070,7 +1074,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void addOval(const SkRect& oval, Direction dir, unsigned start);
|
void addOval(const SkRect& oval, Direction dir, unsigned start);
|
||||||
|
|
||||||
/** Add circle centered at (x, y) of size radius to SkPath, appending kMove_Verb,
|
/** Adds circle centered at (x, y) of size radius to SkPath, appending kMove_Verb,
|
||||||
four kConic_Verb, and kClose_Verb. Circle begins at: (x + radius, y), continuing
|
four kConic_Verb, and kClose_Verb. Circle begins at: (x + radius, y), continuing
|
||||||
clockwise if dir is kCW_Direction, and counterclockwise if dir is kCCW_Direction.
|
clockwise if dir is kCW_Direction, and counterclockwise if dir is kCCW_Direction.
|
||||||
|
|
||||||
@ -1084,7 +1088,7 @@ public:
|
|||||||
void addCircle(SkScalar x, SkScalar y, SkScalar radius,
|
void addCircle(SkScalar x, SkScalar y, SkScalar radius,
|
||||||
Direction dir = kCW_Direction);
|
Direction dir = kCW_Direction);
|
||||||
|
|
||||||
/** Append arc to SkPath, as the start of new contour. Arc added is part of ellipse
|
/** Appends arc to SkPath, as the start of new contour. Arc added is part of ellipse
|
||||||
bounded by oval, from startAngle through sweepAngle. Both startAngle and
|
bounded by oval, from startAngle through sweepAngle. Both startAngle and
|
||||||
sweepAngle are measured in degrees, where zero degrees is aligned with the
|
sweepAngle are measured in degrees, where zero degrees is aligned with the
|
||||||
positive x-axis, and positive sweeps extends arc clockwise.
|
positive x-axis, and positive sweeps extends arc clockwise.
|
||||||
@ -1099,7 +1103,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void addArc(const SkRect& oval, SkScalar startAngle, SkScalar sweepAngle);
|
void addArc(const SkRect& oval, SkScalar startAngle, SkScalar sweepAngle);
|
||||||
|
|
||||||
/** Append SkRRect to SkPath, creating a new closed contour. SkRRect has bounds
|
/** Appends SkRRect to SkPath, creating a new closed contour. SkRRect has bounds
|
||||||
equal to rect; each corner is 90 degrees of an ellipse with radii (rx, ry). If
|
equal to rect; each corner is 90 degrees of an ellipse with radii (rx, ry). If
|
||||||
dir is kCW_Direction, SkRRect starts at top-left of the lower-left corner and
|
dir is kCW_Direction, SkRRect starts at top-left of the lower-left corner and
|
||||||
winds clockwise. If dir is kCCW_Direction, SkRRect starts at the bottom-left
|
winds clockwise. If dir is kCCW_Direction, SkRRect starts at the bottom-left
|
||||||
@ -1119,7 +1123,7 @@ public:
|
|||||||
void addRoundRect(const SkRect& rect, SkScalar rx, SkScalar ry,
|
void addRoundRect(const SkRect& rect, SkScalar rx, SkScalar ry,
|
||||||
Direction dir = kCW_Direction);
|
Direction dir = kCW_Direction);
|
||||||
|
|
||||||
/** Append SkRRect to SkPath, creating a new closed contour. SkRRect has bounds
|
/** Appends SkRRect to SkPath, creating a new closed contour. SkRRect has bounds
|
||||||
equal to rect; each corner is 90 degrees of an ellipse with radii from the
|
equal to rect; each corner is 90 degrees of an ellipse with radii from the
|
||||||
array.
|
array.
|
||||||
|
|
||||||
@ -1130,7 +1134,7 @@ public:
|
|||||||
void addRoundRect(const SkRect& rect, const SkScalar radii[],
|
void addRoundRect(const SkRect& rect, const SkScalar radii[],
|
||||||
Direction dir = kCW_Direction);
|
Direction dir = kCW_Direction);
|
||||||
|
|
||||||
/** Add rrect to SkPath, creating a new closed contour. If
|
/** Adds rrect to SkPath, creating a new closed contour. If
|
||||||
dir is kCW_Direction, rrect starts at top-left of the lower-left corner and
|
dir is kCW_Direction, rrect starts at top-left of the lower-left corner and
|
||||||
winds clockwise. If dir is kCCW_Direction, rrect starts at the bottom-left
|
winds clockwise. If dir is kCCW_Direction, rrect starts at the bottom-left
|
||||||
of the upper-left corner and winds counterclockwise.
|
of the upper-left corner and winds counterclockwise.
|
||||||
@ -1142,7 +1146,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void addRRect(const SkRRect& rrect, Direction dir = kCW_Direction);
|
void addRRect(const SkRRect& rrect, Direction dir = kCW_Direction);
|
||||||
|
|
||||||
/** Add rrect to SkPath, creating a new closed contour. If dir is kCW_Direction, rrect
|
/** Adds rrect to SkPath, creating a new closed contour. If dir is kCW_Direction, rrect
|
||||||
winds clockwise; if dir is kCCW_Direction, rrect winds counterclockwise.
|
winds clockwise; if dir is kCCW_Direction, rrect winds counterclockwise.
|
||||||
start determines the first point of rrect to add.
|
start determines the first point of rrect to add.
|
||||||
|
|
||||||
@ -1152,7 +1156,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void addRRect(const SkRRect& rrect, Direction dir, unsigned start);
|
void addRRect(const SkRRect& rrect, Direction dir, unsigned start);
|
||||||
|
|
||||||
/** Add contour created from line array, adding (count - 1) line segments.
|
/** Adds contour created from line array, adding (count - 1) line segments.
|
||||||
Contour added starts at pts[0], then adds a line for every additional SkPoint
|
Contour added starts at pts[0], then adds a line for every additional SkPoint
|
||||||
in pts array. If close is true,appends kClose_Verb to SkPath, connecting
|
in pts array. If close is true,appends kClose_Verb to SkPath, connecting
|
||||||
pts[count - 1] and pts[0].
|
pts[count - 1] and pts[0].
|
||||||
@ -1175,7 +1179,7 @@ public:
|
|||||||
kExtend_AddPathMode, //!< add line if prior contour is not closed
|
kExtend_AddPathMode, //!< add line if prior contour is not closed
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Append src to SkPath, offset by (dx, dy).
|
/** Appends src to SkPath, offset by (dx, dy).
|
||||||
|
|
||||||
If mode is kAppend_AddPathMode, src verb array, SkPoint array, and conic weights are
|
If mode is kAppend_AddPathMode, src verb array, SkPoint array, and conic weights are
|
||||||
added unaltered. If mode is kExtend_AddPathMode, add line before appending
|
added unaltered. If mode is kExtend_AddPathMode, add line before appending
|
||||||
@ -1189,7 +1193,7 @@ public:
|
|||||||
void addPath(const SkPath& src, SkScalar dx, SkScalar dy,
|
void addPath(const SkPath& src, SkScalar dx, SkScalar dy,
|
||||||
AddPathMode mode = kAppend_AddPathMode);
|
AddPathMode mode = kAppend_AddPathMode);
|
||||||
|
|
||||||
/** Append src to SkPath.
|
/** Appends src to SkPath.
|
||||||
|
|
||||||
If mode is kAppend_AddPathMode, src verb array, SkPoint array, and conic weights are
|
If mode is kAppend_AddPathMode, src verb array, SkPoint array, and conic weights are
|
||||||
added unaltered. If mode is kExtend_AddPathMode, add line before appending
|
added unaltered. If mode is kExtend_AddPathMode, add line before appending
|
||||||
@ -1204,7 +1208,7 @@ public:
|
|||||||
this->addPath(src, m, mode);
|
this->addPath(src, m, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Append src to SkPath, transformed by matrix. Transformed curves may have different
|
/** Appends src to SkPath, transformed by matrix. Transformed curves may have different
|
||||||
verbs, SkPoint, and conic weights.
|
verbs, SkPoint, and conic weights.
|
||||||
|
|
||||||
If mode is kAppend_AddPathMode, src verb array, SkPoint array, and conic weights are
|
If mode is kAppend_AddPathMode, src verb array, SkPoint array, and conic weights are
|
||||||
@ -1217,14 +1221,14 @@ public:
|
|||||||
*/
|
*/
|
||||||
void addPath(const SkPath& src, const SkMatrix& matrix, AddPathMode mode = kAppend_AddPathMode);
|
void addPath(const SkPath& src, const SkMatrix& matrix, AddPathMode mode = kAppend_AddPathMode);
|
||||||
|
|
||||||
/** Append src to SkPath, from back to front.
|
/** Appends src to SkPath, from back to front.
|
||||||
Reversed src always appends a new contour to SkPath.
|
Reversed src always appends a new contour to SkPath.
|
||||||
|
|
||||||
@param src SkPath verbs, SkPoint, and conic weights to add
|
@param src SkPath verbs, SkPoint, and conic weights to add
|
||||||
*/
|
*/
|
||||||
void reverseAddPath(const SkPath& src);
|
void reverseAddPath(const SkPath& src);
|
||||||
|
|
||||||
/** Offset SkPoint array by (dx, dy). Offset SkPath replaces dst.
|
/** Offsets SkPoint array by (dx, dy). Offset SkPath replaces dst.
|
||||||
If dst is nullptr, SkPath is replaced by offset data.
|
If dst is nullptr, SkPath is replaced by offset data.
|
||||||
|
|
||||||
@param dx offset added to SkPoint array x-axis coordinates
|
@param dx offset added to SkPoint array x-axis coordinates
|
||||||
@ -1233,7 +1237,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void offset(SkScalar dx, SkScalar dy, SkPath* dst) const;
|
void offset(SkScalar dx, SkScalar dy, SkPath* dst) const;
|
||||||
|
|
||||||
/** Offset SkPoint array by (dx, dy). SkPath is replaced by offset data.
|
/** Offsets SkPoint array by (dx, dy). SkPath is replaced by offset data.
|
||||||
|
|
||||||
@param dx offset added to SkPoint array x-axis coordinates
|
@param dx offset added to SkPoint array x-axis coordinates
|
||||||
@param dy offset added to SkPoint array y-axis coordinates
|
@param dy offset added to SkPoint array y-axis coordinates
|
||||||
@ -1242,7 +1246,7 @@ public:
|
|||||||
this->offset(dx, dy, this);
|
this->offset(dx, dy, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Transform verb array, SkPoint array, and weight by matrix.
|
/** Transforms verb array, SkPoint array, and weight by matrix.
|
||||||
transform may change verbs and increase their number.
|
transform may change verbs and increase their number.
|
||||||
Transformed SkPath replaces dst; if dst is nullptr, original data
|
Transformed SkPath replaces dst; if dst is nullptr, original data
|
||||||
is replaced.
|
is replaced.
|
||||||
@ -1252,7 +1256,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void transform(const SkMatrix& matrix, SkPath* dst) const;
|
void transform(const SkMatrix& matrix, SkPath* dst) const;
|
||||||
|
|
||||||
/** Transform verb array, SkPoint array, and weight by matrix.
|
/** Transforms verb array, SkPoint array, and weight by matrix.
|
||||||
transform may change verbs and increase their number.
|
transform may change verbs and increase their number.
|
||||||
SkPath is replaced by transformed data.
|
SkPath is replaced by transformed data.
|
||||||
|
|
||||||
@ -1270,7 +1274,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool getLastPt(SkPoint* lastPt) const;
|
bool getLastPt(SkPoint* lastPt) const;
|
||||||
|
|
||||||
/** Set last point to (x, y). If SkPoint array is empty, append kMove_Verb to
|
/** Sets last point to (x, y). If SkPoint array is empty, append kMove_Verb to
|
||||||
verb array and append (x, y) to SkPoint array.
|
verb array and append (x, y) to SkPoint array.
|
||||||
|
|
||||||
@param x set x-axis value of last point
|
@param x set x-axis value of last point
|
||||||
@ -1278,7 +1282,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setLastPt(SkScalar x, SkScalar y);
|
void setLastPt(SkScalar x, SkScalar y);
|
||||||
|
|
||||||
/** Set the last point on the path. If SkPoint array is empty, append kMove_Verb to
|
/** Sets the last point on the path. If SkPoint array is empty, append kMove_Verb to
|
||||||
verb array and append p to SkPoint array.
|
verb array and append p to SkPoint array.
|
||||||
|
|
||||||
@param p set value of last point
|
@param p set value of last point
|
||||||
@ -1551,7 +1555,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
size_t writeToMemory(void* buffer) const;
|
size_t writeToMemory(void* buffer) const;
|
||||||
|
|
||||||
/** Write SkPath to buffer, returning the buffer written to, wrapped in SkData.
|
/** Writes SkPath to buffer, returning the buffer written to, wrapped in SkData.
|
||||||
|
|
||||||
serialize() writes SkPath::FillType, verb array, SkPoint array, conic weight, and
|
serialize() writes SkPath::FillType, verb array, SkPoint array, conic weight, and
|
||||||
additionally writes computed information like SkPath::Convexity and bounds.
|
additionally writes computed information like SkPath::Convexity and bounds.
|
||||||
|
@ -5,6 +5,16 @@
|
|||||||
* found in the LICENSE file.
|
* found in the LICENSE file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Generated by tools/bookmaker from include/core/SkPicture.h and docs/SkPicture_Reference.bmh
|
||||||
|
on 2018-07-13 08:15:11. Additional documentation and examples can be found at:
|
||||||
|
https://skia.org/user/api/SkPicture_Reference
|
||||||
|
|
||||||
|
You may edit either file directly. Structural changes to public interfaces require
|
||||||
|
editing both files. After editing docs/SkPicture_Reference.bmh, run:
|
||||||
|
bookmaker -b docs -i include/core/SkPicture.h -p
|
||||||
|
to create an updated version of this file.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef SkPicture_DEFINED
|
#ifndef SkPicture_DEFINED
|
||||||
#define SkPicture_DEFINED
|
#define SkPicture_DEFINED
|
||||||
|
|
||||||
@ -21,37 +31,68 @@ class SkStream;
|
|||||||
class SkWStream;
|
class SkWStream;
|
||||||
|
|
||||||
/** \class SkPicture
|
/** \class SkPicture
|
||||||
|
|
||||||
An SkPicture records drawing commands made to a canvas to be played back at a later time.
|
An SkPicture records drawing commands made to a canvas to be played back at a later time.
|
||||||
This base class handles serialization and a few other miscellany.
|
This base class handles serialization and a few other miscellany.
|
||||||
*/
|
*/
|
||||||
class SK_API SkPicture : public SkRefCnt {
|
class SK_API SkPicture : public SkRefCnt {
|
||||||
public:
|
public:
|
||||||
/**
|
|
||||||
* Recreate a picture that was serialized into a stream or data.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
/** Recreates a picture that was serialized into a stream.
|
||||||
|
|
||||||
|
@param stream container for serial data
|
||||||
|
@param procs custom serial data decoders; may be nullptr
|
||||||
|
@return SkPicture constructed from stream data
|
||||||
|
*/
|
||||||
static sk_sp<SkPicture> MakeFromStream(SkStream* stream,
|
static sk_sp<SkPicture> MakeFromStream(SkStream* stream,
|
||||||
const SkDeserialProcs* procs = nullptr);
|
const SkDeserialProcs* procs = nullptr);
|
||||||
|
|
||||||
|
/** Recreates a picture that was serialized into data.
|
||||||
|
|
||||||
|
@param data container for serial data
|
||||||
|
@param procs custom serial data decoders; may be nullptr
|
||||||
|
@return SkPicture constructed from data
|
||||||
|
*/
|
||||||
static sk_sp<SkPicture> MakeFromData(const SkData* data,
|
static sk_sp<SkPicture> MakeFromData(const SkData* data,
|
||||||
const SkDeserialProcs* procs = nullptr);
|
const SkDeserialProcs* procs = nullptr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
|
||||||
|
@param data pointer to serial data
|
||||||
|
@param size size of data
|
||||||
|
@param procs custom serial data decoders; may be nullptr
|
||||||
|
@return SkPicture constructed from data
|
||||||
|
*/
|
||||||
static sk_sp<SkPicture> MakeFromData(const void* data, size_t size,
|
static sk_sp<SkPicture> MakeFromData(const void* data, size_t size,
|
||||||
const SkDeserialProcs* procs = nullptr);
|
const SkDeserialProcs* procs = nullptr);
|
||||||
|
|
||||||
/**
|
/** \class SkPicture::AbortCallback
|
||||||
* Subclasses of this can be passed to playback(). During the playback
|
Subclasses of this can be passed to playback(). During the playback
|
||||||
* of the picture, this callback will periodically be invoked. If its
|
of the picture, this callback will periodically be invoked. If its
|
||||||
* abort() returns true, then picture playback will be interrupted.
|
abort() returns true, then picture playback will be interrupted.
|
||||||
*
|
The resulting drawing is undefined, as there is no guarantee how often the
|
||||||
* The resulting drawing is undefined, as there is no guarantee how often the
|
callback will be invoked. If the abort happens inside some level of nested
|
||||||
* callback will be invoked. If the abort happens inside some level of nested
|
calls to save(), restore will automatically be called to return the state
|
||||||
* calls to save(), restore will automatically be called to return the state
|
to the same level it was before the playback call was made.
|
||||||
* to the same level it was before the playback call was made.
|
|
||||||
*/
|
*/
|
||||||
class SK_API AbortCallback {
|
class SK_API AbortCallback {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
/** Has no effect.
|
||||||
|
|
||||||
|
@return abstract class cannot be instantiated
|
||||||
|
*/
|
||||||
AbortCallback() {}
|
AbortCallback() {}
|
||||||
|
|
||||||
|
/** Has no effect.
|
||||||
|
*/
|
||||||
virtual ~AbortCallback() {}
|
virtual ~AbortCallback() {}
|
||||||
|
|
||||||
|
/** Stops SkPicture playback when some condition is met. A subclass of
|
||||||
|
AbortCallback provides an override for abort() that can stop playback() from
|
||||||
|
drawing the entire picture.
|
||||||
|
|
||||||
|
@return true to stop playback
|
||||||
|
*/
|
||||||
virtual bool abort() = 0;
|
virtual bool abort() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -59,38 +100,62 @@ public:
|
|||||||
this has the effect of unfurling this picture into the destination
|
this has the effect of unfurling this picture into the destination
|
||||||
canvas. Using the SkCanvas::drawPicture entry point gives the destination
|
canvas. Using the SkCanvas::drawPicture entry point gives the destination
|
||||||
canvas the option of just taking a ref.
|
canvas the option of just taking a ref.
|
||||||
@param canvas the canvas receiving the drawing commands.
|
|
||||||
@param callback a callback that allows interruption of playback
|
@param canvas receiver of drawing commands
|
||||||
|
@param callback allows interruption of playback
|
||||||
*/
|
*/
|
||||||
virtual void playback(SkCanvas* canvas, AbortCallback* callback = nullptr) const = 0;
|
virtual void playback(SkCanvas* canvas, AbortCallback* callback = nullptr) const = 0;
|
||||||
|
|
||||||
/** Return a cull rect for this picture.
|
/** Returns cull SkRect for this picture.
|
||||||
Ops recorded into this picture that attempt to draw outside the cull might not be drawn.
|
Ops recorded into this picture that attempt to draw outside the cull might not be drawn.
|
||||||
*/
|
|
||||||
|
@return bounds passed when SkPicture was created
|
||||||
|
*/
|
||||||
virtual SkRect cullRect() const = 0;
|
virtual SkRect cullRect() const = 0;
|
||||||
|
|
||||||
/** Returns a non-zero value unique among all pictures. */
|
/** Returns a non-zero value unique among all pictures.
|
||||||
|
|
||||||
|
@return identifier for SkPicture
|
||||||
|
*/
|
||||||
uint32_t uniqueID() const;
|
uint32_t uniqueID() const;
|
||||||
|
|
||||||
|
/** Returns storage containing data describing SkPicture, using optional custom encoders.
|
||||||
|
|
||||||
|
@param procs custom serial data encoders; may be nullptr
|
||||||
|
@return storage containing serialized SkPicture
|
||||||
|
*/
|
||||||
sk_sp<SkData> serialize(const SkSerialProcs* procs = nullptr) const;
|
sk_sp<SkData> serialize(const SkSerialProcs* procs = nullptr) const;
|
||||||
|
|
||||||
|
/** Writes picture to stream, using optional custom encoders.
|
||||||
|
|
||||||
|
@param stream writable serial data stream
|
||||||
|
@param procs custom serial data encoders; may be nullptr
|
||||||
|
*/
|
||||||
void serialize(SkWStream* stream, const SkSerialProcs* procs = nullptr) const;
|
void serialize(SkWStream* stream, const SkSerialProcs* procs = nullptr) const;
|
||||||
|
|
||||||
/**
|
/** Returns a placeholder SkPicture.
|
||||||
* Return a placeholder SkPicture.
|
This placeholder does not draw anything itself. It has a distinct uniqueID()
|
||||||
* This placeholder does not draw anything itself. It has a distinct uniqueID()
|
(just like all SkPicture) and will always be visible to SkSerialProcs.
|
||||||
* (just like all SkPictures) and will always be visible to SkSerialProcs.
|
|
||||||
* @param cull the placeholder's dimensions
|
@param cull placeholder dimensions
|
||||||
*/
|
@return placeholder with unique identifier
|
||||||
|
*/
|
||||||
static sk_sp<SkPicture> MakePlaceholder(SkRect cull);
|
static sk_sp<SkPicture> MakePlaceholder(SkRect cull);
|
||||||
|
|
||||||
/** Return the approximate number of operations in this picture. This
|
/** Returns the approximate number of operations in this picture. This
|
||||||
* number may be greater or less than the number of SkCanvas calls
|
number may be greater or less than the number of SkCanvas calls
|
||||||
* recorded: some calls may be recorded as more than one operation, or some
|
recorded: some calls may be recorded as more than one operation, or some
|
||||||
* calls may be optimized away.
|
calls may be optimized away.
|
||||||
*/
|
|
||||||
|
@return approximate operation count
|
||||||
|
*/
|
||||||
virtual int approximateOpCount() const = 0;
|
virtual int approximateOpCount() const = 0;
|
||||||
|
|
||||||
/** Returns the approximate byte size of this picture, not including large ref'd objects. */
|
/** Returns the approximate byte size of SkPicture. Does not include large objects
|
||||||
|
referenced SkPicture.
|
||||||
|
|
||||||
|
@return approximate size
|
||||||
|
*/
|
||||||
virtual size_t approximateBytesUsed() const = 0;
|
virtual size_t approximateBytesUsed() const = 0;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Generated by tools/bookmaker from include/core/SkPoint.h and docs/SkPoint_Reference.bmh
|
/* Generated by tools/bookmaker from include/core/SkPoint.h and docs/SkPoint_Reference.bmh
|
||||||
on 2018-06-14 13:13:34. Additional documentation and examples can be found at:
|
on 2018-07-13 08:15:11. Additional documentation and examples can be found at:
|
||||||
https://skia.org/user/api/SkPoint_Reference
|
https://skia.org/user/api/SkPoint_Reference
|
||||||
|
|
||||||
You may edit either file directly. Structural changes to public interfaces require
|
You may edit either file directly. Structural changes to public interfaces require
|
||||||
@ -390,7 +390,7 @@ struct SK_API SkPoint {
|
|||||||
return {fX * scale, fY * scale};
|
return {fX * scale, fY * scale};
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Multiplies SkPoint by scale. Sets SkPoint to: (fX * scale, fY * scale)
|
/** Multiplies SkPoint by scale. Sets SkPoint to: (fX * scale, fY * scale).
|
||||||
|
|
||||||
@param scale scalar to multiply by
|
@param scale scalar to multiply by
|
||||||
@return reference to SkPoint
|
@return reference to SkPoint
|
||||||
|
@ -5,6 +5,16 @@
|
|||||||
* found in the LICENSE file.
|
* found in the LICENSE file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Generated by tools/bookmaker from include/core/SkRRect.h and docs/SkRRect_Reference.bmh
|
||||||
|
on 2018-07-13 08:15:10. Additional documentation and examples can be found at:
|
||||||
|
https://skia.org/user/api/SkRRect_Reference
|
||||||
|
|
||||||
|
You may edit either file directly. Structural changes to public interfaces require
|
||||||
|
editing both files. After editing docs/SkRRect_Reference.bmh, run:
|
||||||
|
bookmaker -b docs -i include/core/SkRRect.h -p
|
||||||
|
to create an updated version of this file.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef SkRRect_DEFINED
|
#ifndef SkRRect_DEFINED
|
||||||
#define SkRRect_DEFINED
|
#define SkRRect_DEFINED
|
||||||
|
|
||||||
@ -14,89 +24,77 @@
|
|||||||
class SkPath;
|
class SkPath;
|
||||||
class SkMatrix;
|
class SkMatrix;
|
||||||
|
|
||||||
// Path forward:
|
|
||||||
// core work
|
|
||||||
// add contains(SkRect&) - for clip stack
|
|
||||||
// add contains(SkRRect&) - for clip stack
|
|
||||||
// add heart rect computation (max rect inside RR)
|
|
||||||
// add 9patch rect computation
|
|
||||||
// add growToInclude(SkPath&)
|
|
||||||
// analysis
|
|
||||||
// use growToInclude to fit skp round rects & generate stats (RRs vs. real paths)
|
|
||||||
// check on # of rectorus's the RRs could handle
|
|
||||||
// rendering work
|
|
||||||
// update SkPath.addRRect() to only use quads
|
|
||||||
// add GM and bench
|
|
||||||
// further out
|
|
||||||
// detect and triangulate RRectorii rather than falling back to SW in Ganesh
|
|
||||||
//
|
|
||||||
|
|
||||||
/** \class SkRRect
|
/** \class SkRRect
|
||||||
|
SkRRect describes a rounded rectangle with a bounds and a pair of radii for each corner.
|
||||||
|
The bounds and radii can be set so that SkRRect describes a rectangle with sharp corners,
|
||||||
|
a circle, an oval, or a rectangle with one or more rounded corners.
|
||||||
|
|
||||||
The SkRRect class represents a rounded rect with a potentially different
|
SkRRect allows implementing CSS properties that describe rounded corners.
|
||||||
radii for each corner. It does not have a constructor so must be
|
SkRRect may have up to eight different radii, one for each axis on each of its four
|
||||||
initialized with one of the initialization functions (e.g., setEmpty,
|
corners.
|
||||||
setRectRadii, etc.)
|
|
||||||
|
|
||||||
This class is intended to roughly match CSS' border-*-*-radius capabilities.
|
SkRRect may modify the provided parameters when initializing bounds and radii.
|
||||||
This means:
|
If either axis radii is zero or less, radii are stored as zero; corner is square.
|
||||||
If either of a corner's radii are 0 the corner will be square.
|
If corner curves overlap, radii are proportionally reduced to fit within bounds.
|
||||||
Negative radii are not allowed (they are clamped to zero).
|
|
||||||
If the corner curves overlap they will be proportionally reduced to fit.
|
|
||||||
*/
|
*/
|
||||||
class SK_API SkRRect {
|
class SK_API SkRRect {
|
||||||
public:
|
public:
|
||||||
/** Default initialized to a rrect at the origin with zero width and height. */
|
|
||||||
|
/** Initializes bounds at (0, 0), the origin, with zero width and height.
|
||||||
|
Initializes corner radii to (0, 0), and sets type of kEmpty_Type.
|
||||||
|
|
||||||
|
@return empty SkRRect
|
||||||
|
*/
|
||||||
SkRRect() = default;
|
SkRRect() = default;
|
||||||
|
|
||||||
|
/** Initializes to copy of rrect bounds and corner radii.
|
||||||
|
|
||||||
|
@param rrect bounds and corner to copy
|
||||||
|
@return copy of rrect
|
||||||
|
*/
|
||||||
SkRRect(const SkRRect& rrect) = default;
|
SkRRect(const SkRRect& rrect) = default;
|
||||||
|
|
||||||
|
/** Copies rrect bounds and corner radii.
|
||||||
|
|
||||||
|
@param rrect bounds and corner to copy
|
||||||
|
@return copy of rrect
|
||||||
|
*/
|
||||||
SkRRect& operator=(const SkRRect& rrect) = default;
|
SkRRect& operator=(const SkRRect& rrect) = default;
|
||||||
|
|
||||||
/**
|
/** \enum SkRRect::Type
|
||||||
* Enum to capture the various possible subtypes of RR. Accessed
|
Type describes possible specializations of SkRRect. Each Type is
|
||||||
* by type(). The subtypes become progressively less restrictive.
|
exclusive; a SkRRect may only have one type.
|
||||||
*/
|
|
||||||
|
Type members become progressively less restrictive; larger values of
|
||||||
|
Type have more degrees of freedom than smaller values.
|
||||||
|
*/
|
||||||
enum Type {
|
enum Type {
|
||||||
// !< The RR has zero width and/or zero height. All radii are zero.
|
kEmpty_Type, //!< zero width or height
|
||||||
kEmpty_Type,
|
kRect_Type, //!< non-zero width and height, and zeroed radii
|
||||||
|
kOval_Type, //!< non-zero width and height filled with radii
|
||||||
//!< The RR is actually a (non-empty) rect (i.e., at least one radius
|
kSimple_Type, //!< non-zero width and height with equal radii
|
||||||
//!< at each corner is zero)
|
kNinePatch_Type, //!< non-zero width and height with axis-aligned radii
|
||||||
kRect_Type,
|
kComplex_Type, //!< non-zero width and height with arbitrary radii
|
||||||
|
kLastType = kComplex_Type, //!< largest Type value
|
||||||
//!< The RR is actually a (non-empty) oval (i.e., all x radii are equal
|
|
||||||
//!< and >= width/2 and all the y radii are equal and >= height/2
|
|
||||||
kOval_Type,
|
|
||||||
|
|
||||||
//!< The RR is non-empty and all the x radii are equal & all y radii
|
|
||||||
//!< are equal but it is not an oval (i.e., there are lines between
|
|
||||||
//!< the curves) nor a rect (i.e., both radii are non-zero)
|
|
||||||
kSimple_Type,
|
|
||||||
|
|
||||||
//!< The RR is non-empty and the two left x radii are equal, the two top
|
|
||||||
//!< y radii are equal, and the same for the right and bottom but it is
|
|
||||||
//!< neither an rect, oval, nor a simple RR. It is called "nine patch"
|
|
||||||
//!< because the centers of the corner ellipses form an axis aligned
|
|
||||||
//!< rect with edges that divide the RR into an 9 rectangular patches:
|
|
||||||
//!< an interior patch, four edge patches, and four corner patches.
|
|
||||||
kNinePatch_Type,
|
|
||||||
|
|
||||||
//!< A fully general (non-empty) RR. Some of the x and/or y radii are
|
|
||||||
//!< different from the others and there must be one corner where
|
|
||||||
//!< both radii are non-zero.
|
|
||||||
kComplex_Type,
|
|
||||||
|
|
||||||
kLastType = kComplex_Type,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/** Returns SkRRect::Type, one of:
|
||||||
* Returns the RR's sub type.
|
kEmpty_Type, kRect_Type, kOval_Type, kSimple_Type, kNinePatch_Type,
|
||||||
*/
|
kComplex_Type.
|
||||||
|
|
||||||
|
@return SkRRect::Type
|
||||||
|
*/
|
||||||
Type getType() const {
|
Type getType() const {
|
||||||
SkASSERT(this->isValid());
|
SkASSERT(this->isValid());
|
||||||
return static_cast<Type>(fType);
|
return static_cast<Type>(fType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Returns SkRRect::Type, one of:
|
||||||
|
kEmpty_Type, kRect_Type, kOval_Type, kSimple_Type, kNinePatch_Type,
|
||||||
|
kComplex_Type.
|
||||||
|
|
||||||
|
@return SkRRect::Type
|
||||||
|
*/
|
||||||
Type type() const { return this->getType(); }
|
Type type() const { return this->getType(); }
|
||||||
|
|
||||||
inline bool isEmpty() const { return kEmpty_Type == this->getType(); }
|
inline bool isEmpty() const { return kEmpty_Type == this->getType(); }
|
||||||
@ -106,26 +104,42 @@ public:
|
|||||||
inline bool isNinePatch() const { return kNinePatch_Type == this->getType(); }
|
inline bool isNinePatch() const { return kNinePatch_Type == this->getType(); }
|
||||||
inline bool isComplex() const { return kComplex_Type == this->getType(); }
|
inline bool isComplex() const { return kComplex_Type == this->getType(); }
|
||||||
|
|
||||||
|
/** Returns span on the x-axis. This does not check if result fits in 32-bit float;
|
||||||
|
result may be infinity.
|
||||||
|
|
||||||
|
@return bounds().fRight minus bounds().fLeft
|
||||||
|
*/
|
||||||
SkScalar width() const { return fRect.width(); }
|
SkScalar width() const { return fRect.width(); }
|
||||||
|
|
||||||
|
/** Returns span on the y-axis. This does not check if result fits in 32-bit float;
|
||||||
|
result may be infinity.
|
||||||
|
|
||||||
|
@return bounds().fBottom minus bounds().fTop
|
||||||
|
*/
|
||||||
SkScalar height() const { return fRect.height(); }
|
SkScalar height() const { return fRect.height(); }
|
||||||
|
|
||||||
/**
|
/** Returns top-left corner x-radii. If type() returns kEmpty_Type, kRect_Type,
|
||||||
* kSimple means that all corners have the same x,y radii. This returns the top/left
|
kOval_Type, or kSimple_Type, returns a value representative of all corner radii.
|
||||||
* corner's radii as representative of all corners. If the RRect is kComplex, then
|
If type() returns kNinePatch_Type or kComplex_Type, at least one of the
|
||||||
* this still returns that corner's radii, but it is not indicative of the other corners.
|
remaining three corners has a different value.
|
||||||
*/
|
|
||||||
|
@return corner radii for simple types
|
||||||
|
*/
|
||||||
SkVector getSimpleRadii() const {
|
SkVector getSimpleRadii() const {
|
||||||
return fRadii[0];
|
return fRadii[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/** Sets bounds to zero width and height at (0, 0), the origin. Sets
|
||||||
* Same as default initialized - zero width and height at the origin.
|
corner radii to zero and sets type to kEmpty_Type.
|
||||||
*/
|
*/
|
||||||
void setEmpty() { *this = SkRRect(); }
|
void setEmpty() { *this = SkRRect(); }
|
||||||
|
|
||||||
/**
|
/** Sets bounds to sorted rect, and sets corner radii to zero.
|
||||||
* Set this RR to match the supplied rect. All radii will be 0.
|
If set bounds has width and height, and sets type to kRect_Type;
|
||||||
*/
|
otherwise, sets type to kEmpty_Type.
|
||||||
|
|
||||||
|
@param rect bounds to set
|
||||||
|
*/
|
||||||
void setRect(const SkRect& rect) {
|
void setRect(const SkRect& rect) {
|
||||||
if (!this->initializeRect(rect)) {
|
if (!this->initializeRect(rect)) {
|
||||||
return;
|
return;
|
||||||
@ -137,31 +151,61 @@ public:
|
|||||||
SkASSERT(this->isValid());
|
SkASSERT(this->isValid());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Makes an empty rrect at the origin with zero width and height. */
|
/** Initializes bounds at (0, 0), the origin, with zero width and height.
|
||||||
|
Initializes corner radii to (0, 0), and sets type of kEmpty_Type.
|
||||||
|
|
||||||
|
@return empty SkRRect
|
||||||
|
*/
|
||||||
static SkRRect MakeEmpty() { return SkRRect(); }
|
static SkRRect MakeEmpty() { return SkRRect(); }
|
||||||
|
|
||||||
|
/** Initializes to copy of r bounds and zeroes corner radii.
|
||||||
|
|
||||||
|
@param r bounds to copy
|
||||||
|
@return copy of r
|
||||||
|
*/
|
||||||
static SkRRect MakeRect(const SkRect& r) {
|
static SkRRect MakeRect(const SkRect& r) {
|
||||||
SkRRect rr;
|
SkRRect rr;
|
||||||
rr.setRect(r);
|
rr.setRect(r);
|
||||||
return rr;
|
return rr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Sets bounds to oval, x-axis radii to half oval.width(), and all y-axis radii
|
||||||
|
to half oval.height(). If oval bounds is empty, sets to kEmpty_Type.
|
||||||
|
Otherwise, sets to kOval_Type.
|
||||||
|
|
||||||
|
@param oval bounds of oval
|
||||||
|
@return oval
|
||||||
|
*/
|
||||||
static SkRRect MakeOval(const SkRect& oval) {
|
static SkRRect MakeOval(const SkRect& oval) {
|
||||||
SkRRect rr;
|
SkRRect rr;
|
||||||
rr.setOval(oval);
|
rr.setOval(oval);
|
||||||
return rr;
|
return rr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Sets to rounded rectangle with the same radii for all four corners.
|
||||||
|
If rect is empty, sets to kEmpty_Type.
|
||||||
|
Otherwise, if xRad and yRad are zero, sets to kRect_Type.
|
||||||
|
Otherwise, if xRad is at least half rect.width() and yRad is at least half
|
||||||
|
rect.height(), sets to kOval_Type.
|
||||||
|
Otherwise, sets to kSimple_Type.
|
||||||
|
|
||||||
|
@param rect bounds of rounded rectangle
|
||||||
|
@param xRad x-axis radius of corners
|
||||||
|
@param yRad y-axis radius of corners
|
||||||
|
@return rounded rectangle
|
||||||
|
*/
|
||||||
static SkRRect MakeRectXY(const SkRect& rect, SkScalar xRad, SkScalar yRad) {
|
static SkRRect MakeRectXY(const SkRect& rect, SkScalar xRad, SkScalar yRad) {
|
||||||
SkRRect rr;
|
SkRRect rr;
|
||||||
rr.setRectXY(rect, xRad, yRad);
|
rr.setRectXY(rect, xRad, yRad);
|
||||||
return rr;
|
return rr;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/** Sets bounds to oval, x-axis radii to half oval.width(), and all y-axis radii
|
||||||
* Set this RR to match the supplied oval. All x radii will equal half the
|
to half oval.height(). If oval bounds is empty, sets to kEmpty_Type.
|
||||||
* width and all y radii will equal half the height.
|
Otherwise, sets to kOval_Type.
|
||||||
*/
|
|
||||||
|
@param oval bounds of oval
|
||||||
|
*/
|
||||||
void setOval(const SkRect& oval) {
|
void setOval(const SkRect& oval) {
|
||||||
if (!this->initializeRect(oval)) {
|
if (!this->initializeRect(oval)) {
|
||||||
return;
|
return;
|
||||||
@ -178,131 +222,278 @@ public:
|
|||||||
SkASSERT(this->isValid());
|
SkASSERT(this->isValid());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/** Sets to rounded rectangle with the same radii for all four corners.
|
||||||
* Initialize the RR with the same radii for all four corners.
|
If rect is empty, sets to kEmpty_Type.
|
||||||
*/
|
Otherwise, if xRad or yRad is zero, sets to kRect_Type.
|
||||||
|
Otherwise, if xRad is at least half rect.width() and yRad is at least half
|
||||||
|
rect.height(), sets to kOval_Type.
|
||||||
|
Otherwise, sets to kSimple_Type.
|
||||||
|
|
||||||
|
@param rect bounds of rounded rectangle
|
||||||
|
@param xRad x-axis radius of corners
|
||||||
|
@param yRad y-axis radius of corners
|
||||||
|
*/
|
||||||
void setRectXY(const SkRect& rect, SkScalar xRad, SkScalar yRad);
|
void setRectXY(const SkRect& rect, SkScalar xRad, SkScalar yRad);
|
||||||
|
|
||||||
/**
|
/** Sets bounds to rect. Sets radii to (leftRad, topRad), (rightRad, topRad),
|
||||||
* Initialize the rr with one radius per-side.
|
(rightRad, bottomRad), (leftRad, bottomRad).
|
||||||
*/
|
|
||||||
|
If rect is empty, sets to kEmpty_Type.
|
||||||
|
Otherwise, if leftRad and rightRad are zero, sets to kRect_Type.
|
||||||
|
Otherwise, if topRad and bottomRad are zero, sets to kRect_Type.
|
||||||
|
Otherwise, if leftRad and rightRad are equal and at least half rect.width(), and
|
||||||
|
topRad and bottomRad are equal at least half rect.height(), sets to kOval_Type.
|
||||||
|
Otherwise, if leftRad and rightRad are equal, and topRad and bottomRad are equal,
|
||||||
|
sets to kSimple_Type. Otherwise, sets to kNinePatch_Type.
|
||||||
|
|
||||||
|
Nine patch refers to the nine parts defined by the radii: one center rectangle,
|
||||||
|
four edge patches, and four corner patches.
|
||||||
|
|
||||||
|
@param rect bounds of rounded rectangle
|
||||||
|
@param leftRad left-top and left-bottom x-axis radius
|
||||||
|
@param topRad left-top and right-top y-axis radius
|
||||||
|
@param rightRad right-top and right-bottom x-axis radius
|
||||||
|
@param bottomRad left-bottom and right-bottom y-axis radius
|
||||||
|
*/
|
||||||
void setNinePatch(const SkRect& rect, SkScalar leftRad, SkScalar topRad,
|
void setNinePatch(const SkRect& rect, SkScalar leftRad, SkScalar topRad,
|
||||||
SkScalar rightRad, SkScalar bottomRad);
|
SkScalar rightRad, SkScalar bottomRad);
|
||||||
|
|
||||||
/**
|
/** Sets bounds to rect. Sets radii array for individual control of all for corners.
|
||||||
* Initialize the RR with potentially different radii for all four corners.
|
|
||||||
*/
|
If rect is empty, sets to kEmpty_Type.
|
||||||
|
Otherwise, if one of each corner radii are zero, sets to kRect_Type.
|
||||||
|
Otherwise, if all x-axis radii are equal and at least half rect.width(), and
|
||||||
|
all y-axis radii are equal at least half rect.height(), sets to kOval_Type.
|
||||||
|
Otherwise, if all x-axis radii are equal, and all y-axis radii are equal,
|
||||||
|
sets to kSimple_Type. Otherwise, sets to kNinePatch_Type.
|
||||||
|
|
||||||
|
@param rect bounds of rounded rectangle
|
||||||
|
@param radii corner x-axis and y-axis radii
|
||||||
|
*/
|
||||||
void setRectRadii(const SkRect& rect, const SkVector radii[4]);
|
void setRectRadii(const SkRect& rect, const SkVector radii[4]);
|
||||||
|
|
||||||
// The radii are stored in UL, UR, LR, LL order.
|
/** \enum SkRRect::Corner
|
||||||
|
The radii are stored: top-left, top-right, bottom-right, bottom-left.
|
||||||
|
*/
|
||||||
enum Corner {
|
enum Corner {
|
||||||
kUpperLeft_Corner,
|
kUpperLeft_Corner, //!< index of top-left corner radii
|
||||||
kUpperRight_Corner,
|
kUpperRight_Corner, //!< index of top-right corner radii
|
||||||
kLowerRight_Corner,
|
kLowerRight_Corner, //!< index of bottom-right corner radii
|
||||||
kLowerLeft_Corner,
|
kLowerLeft_Corner, //!< index of bottom-left corner radii
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** Returns bounds. Bounds may have zero width or zero height. Bounds right is
|
||||||
|
greater than or equal to left; bounds bottom is greater than or equal to top.
|
||||||
|
Result is identical to getBounds().
|
||||||
|
|
||||||
|
@return bounding box
|
||||||
|
*/
|
||||||
const SkRect& rect() const { return fRect; }
|
const SkRect& rect() const { return fRect; }
|
||||||
|
|
||||||
|
/** Returns scalar pair for radius of curve on x-axis and y-axis for one corner.
|
||||||
|
Both radii may be zero. If not zero, both are positive and finite.
|
||||||
|
|
||||||
|
@param corner one of: kUpperLeft_Corner, kUpperRight_Corner,
|
||||||
|
kLowerRight_Corner, kLowerLeft_Corner
|
||||||
|
@return x-axis and y-axis radii for one corner
|
||||||
|
*/
|
||||||
SkVector radii(Corner corner) const { return fRadii[corner]; }
|
SkVector radii(Corner corner) const { return fRadii[corner]; }
|
||||||
|
|
||||||
|
/** Returns bounds. Bounds may have zero width or zero height. Bounds right is
|
||||||
|
greater than or equal to left; bounds bottom is greater than or equal to top.
|
||||||
|
Result is identical to rect().
|
||||||
|
|
||||||
|
@return bounding box
|
||||||
|
*/
|
||||||
const SkRect& getBounds() const { return fRect; }
|
const SkRect& getBounds() const { return fRect; }
|
||||||
|
|
||||||
|
/** Returns true if bounds and radii in a are equal to bounds and radii in b.
|
||||||
|
|
||||||
|
a and b are not equal if either contain NaN. a and b are equal if members
|
||||||
|
contain zeroes width different signs.
|
||||||
|
|
||||||
|
@param a SkRect bounds and radii to compare
|
||||||
|
@param b SkRect bounds and radii to compare
|
||||||
|
@return true if members are equal
|
||||||
|
*/
|
||||||
friend bool operator==(const SkRRect& a, const SkRRect& b) {
|
friend bool operator==(const SkRRect& a, const SkRRect& b) {
|
||||||
return a.fRect == b.fRect && SkScalarsEqual(&a.fRadii[0].fX, &b.fRadii[0].fX, 8);
|
return a.fRect == b.fRect && SkScalarsEqual(&a.fRadii[0].fX, &b.fRadii[0].fX, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Returns true if bounds and radii in a are not equal to bounds and radii in b.
|
||||||
|
|
||||||
|
a and b are not equal if either contain NaN. a and b are equal if members
|
||||||
|
contain zeroes width different signs.
|
||||||
|
|
||||||
|
@param a SkRect bounds and radii to compare
|
||||||
|
@param b SkRect bounds and radii to compare
|
||||||
|
@return true if members are not equal
|
||||||
|
*/
|
||||||
friend bool operator!=(const SkRRect& a, const SkRRect& b) {
|
friend bool operator!=(const SkRRect& a, const SkRRect& b) {
|
||||||
return a.fRect != b.fRect || !SkScalarsEqual(&a.fRadii[0].fX, &b.fRadii[0].fX, 8);
|
return a.fRect != b.fRect || !SkScalarsEqual(&a.fRadii[0].fX, &b.fRadii[0].fX, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/** Copies SkRRect to dst, then insets dst bounds by dx and dy, and adjusts dst
|
||||||
* Call inset on the bounds, and adjust the radii to reflect what happens
|
radii by dx and dy. dx and dy may be positive, negative, or zero. dst may be
|
||||||
* in stroking: If the corner is sharp (no curvature), leave it alone,
|
SkRRect.
|
||||||
* otherwise we grow/shrink the radii by the amount of the inset. If a
|
|
||||||
* given radius becomes negative, it is pinned to 0.
|
If either corner radius is zero, the corner has no curvature and is unchanged.
|
||||||
*
|
Otherwise, if adjusted radius becomes negative, pins radius to zero.
|
||||||
* If the inset amount is larger than the width/height then the rrect collapses to
|
If dx exceeds half dst bounds width, dst bounds left and right are set to
|
||||||
* a degenerate line or point.
|
bounds x-axis center. If dy exceeds half dst bounds height, dst bounds top and
|
||||||
*
|
bottom are set to bounds y-axis center.
|
||||||
* If the inset is sufficiently negative to cause the bounds to become infinite then
|
|
||||||
* the result is a default initialized rrect.
|
If dx or dy cause the bounds to become infinite, dst bounds is zeroed.
|
||||||
*
|
|
||||||
* It is valid for dst == this.
|
@param dx added to rect().fLeft, and subtracted from rect().fRight
|
||||||
*/
|
@param dy added to rect().fTop, and subtracted from rect().fBottom
|
||||||
|
@param dst insets bounds and radii
|
||||||
|
*/
|
||||||
void inset(SkScalar dx, SkScalar dy, SkRRect* dst) const;
|
void inset(SkScalar dx, SkScalar dy, SkRRect* dst) const;
|
||||||
|
|
||||||
|
/** Insets bounds by dx and dy, and adjusts radii by dx and dy. dx and dy may be
|
||||||
|
positive, negative, or zero.
|
||||||
|
|
||||||
|
If either corner radius is zero, the corner has no curvature and is unchanged.
|
||||||
|
Otherwise, if adjusted radius becomes negative, pins radius to zero.
|
||||||
|
If dx exceeds half bounds width, bounds left and right are set to
|
||||||
|
bounds x-axis center. If dy exceeds half bounds height, bounds top and
|
||||||
|
bottom are set to bounds y-axis center.
|
||||||
|
|
||||||
|
If dx or dy cause the bounds to become infinite, bounds is zeroed.
|
||||||
|
|
||||||
|
@param dx added to rect().fLeft, and subtracted from rect().fRight
|
||||||
|
@param dy added to rect().fTop, and subtracted from rect().fBottom
|
||||||
|
*/
|
||||||
void inset(SkScalar dx, SkScalar dy) {
|
void inset(SkScalar dx, SkScalar dy) {
|
||||||
this->inset(dx, dy, this);
|
this->inset(dx, dy, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/** Outsets dst bounds by dx and dy, and adjusts radii by dx and dy. dx and dy may be
|
||||||
* Call outset on the bounds, and adjust the radii to reflect what happens
|
positive, negative, or zero.
|
||||||
* in stroking: If the corner is sharp (no curvature), leave it alone,
|
|
||||||
* otherwise we grow/shrink the radii by the amount of the inset. If a
|
If either corner radius is zero, the corner has no curvature and is unchanged.
|
||||||
* given radius becomes negative, it is pinned to 0.
|
Otherwise, if adjusted radius becomes negative, pins radius to zero.
|
||||||
*
|
If dx exceeds half dst bounds width, dst bounds left and right are set to
|
||||||
* It is valid for dst == this.
|
bounds x-axis center. If dy exceeds half dst bounds height, dst bounds top and
|
||||||
*/
|
bottom are set to bounds y-axis center.
|
||||||
|
|
||||||
|
If dx or dy cause the bounds to become infinite, dst bounds is zeroed.
|
||||||
|
|
||||||
|
@param dx subtracted from rect().fLeft, and added to rect().fRight
|
||||||
|
@param dy subtracted from rect().fTop, and added to rect().fBottom
|
||||||
|
@param dst outset bounds and radii
|
||||||
|
*/
|
||||||
void outset(SkScalar dx, SkScalar dy, SkRRect* dst) const {
|
void outset(SkScalar dx, SkScalar dy, SkRRect* dst) const {
|
||||||
this->inset(-dx, -dy, dst);
|
this->inset(-dx, -dy, dst);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Outsets bounds by dx and dy, and adjusts radii by dx and dy. dx and dy may be
|
||||||
|
positive, negative, or zero.
|
||||||
|
|
||||||
|
If either corner radius is zero, the corner has no curvature and is unchanged.
|
||||||
|
Otherwise, if adjusted radius becomes negative, pins radius to zero.
|
||||||
|
If dx exceeds half bounds width, bounds left and right are set to
|
||||||
|
bounds x-axis center. If dy exceeds half bounds height, bounds top and
|
||||||
|
bottom are set to bounds y-axis center.
|
||||||
|
|
||||||
|
If dx or dy cause the bounds to become infinite, bounds is zeroed.
|
||||||
|
|
||||||
|
@param dx subtracted from rect().fLeft, and added to rect().fRight
|
||||||
|
@param dy subtracted from rect().fTop, and added to rect().fBottom
|
||||||
|
*/
|
||||||
void outset(SkScalar dx, SkScalar dy) {
|
void outset(SkScalar dx, SkScalar dy) {
|
||||||
this->inset(-dx, -dy, this);
|
this->inset(-dx, -dy, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/** Translates SkRRect by (dx, dy).
|
||||||
* Translate the rrect by (dx, dy).
|
|
||||||
*/
|
@param dx offset added to rect().fLeft and rect().fRight
|
||||||
|
@param dy offset added to rect().fTop and rect().fBottom
|
||||||
|
*/
|
||||||
void offset(SkScalar dx, SkScalar dy) {
|
void offset(SkScalar dx, SkScalar dy) {
|
||||||
fRect.offset(dx, dy);
|
fRect.offset(dx, dy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Returns SkRRect translated by (dx, dy).
|
||||||
|
|
||||||
|
@param dx offset added to rect().fLeft and rect().fRight
|
||||||
|
@param dy offset added to rect().fTop and rect().fBottom
|
||||||
|
@return SkRRect bounds offset by (dx, dy), with unchanged corner radii
|
||||||
|
*/
|
||||||
SkRRect SK_WARN_UNUSED_RESULT makeOffset(SkScalar dx, SkScalar dy) const {
|
SkRRect SK_WARN_UNUSED_RESULT makeOffset(SkScalar dx, SkScalar dy) const {
|
||||||
return SkRRect(fRect.makeOffset(dx, dy), fRadii, fType);
|
return SkRRect(fRect.makeOffset(dx, dy), fRadii, fType);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/** Returns true if rect is inside the bounds and corner radii, and if
|
||||||
* Returns true if 'rect' is wholy inside the RR, and both
|
SkRRect and rect are not empty.
|
||||||
* are not empty.
|
|
||||||
*/
|
@param rect area tested for containment
|
||||||
|
@return true if SkRRect contains rect
|
||||||
|
*/
|
||||||
bool contains(const SkRect& rect) const;
|
bool contains(const SkRect& rect) const;
|
||||||
|
|
||||||
|
/** Returns true if bounds and radii values are finite and describe a SkRRect
|
||||||
|
SkRRect::Type that matches getType(). All SkRRect methods construct valid types,
|
||||||
|
even if the input values are not valid. Invalid SkRRect data can only
|
||||||
|
be generated by corrupting memory.
|
||||||
|
|
||||||
|
@return true if bounds and radii match type()
|
||||||
|
*/
|
||||||
bool isValid() const;
|
bool isValid() const;
|
||||||
|
|
||||||
static constexpr size_t kSizeInMemory = 12 * sizeof(SkScalar);
|
static constexpr size_t kSizeInMemory = 12 * sizeof(SkScalar);
|
||||||
|
|
||||||
/**
|
/** Writes SkRRect to buffer. Writes kSizeInMemory bytes, and returns
|
||||||
* Write the rrect into the specified buffer. This is guaranteed to always
|
kSizeInMemory, the number of bytes written.
|
||||||
* write kSizeInMemory bytes, and that value is guaranteed to always be
|
|
||||||
* a multiple of 4. Return kSizeInMemory.
|
@param buffer storage for SkRRect
|
||||||
*/
|
@return bytes written, kSizeInMemory
|
||||||
|
*/
|
||||||
size_t writeToMemory(void* buffer) const;
|
size_t writeToMemory(void* buffer) const;
|
||||||
|
|
||||||
/**
|
/** Reads SkRRect from buffer, reading kSizeInMemory bytes.
|
||||||
* Reads the rrect from the specified buffer
|
Returns kSizeInMemory, bytes read if length is at least kSizeInMemory.
|
||||||
*
|
Otherwise, returns zero.
|
||||||
* If the specified buffer is large enough, this will read kSizeInMemory bytes,
|
|
||||||
* and that value is guaranteed to always be a multiple of 4.
|
@param buffer memory to read from
|
||||||
*
|
@param length size of buffer
|
||||||
* @param buffer Memory to read from
|
@return bytes read, or 0 if length is less than kSizeInMemory
|
||||||
* @param length Amount of memory available in the buffer
|
*/
|
||||||
* @return number of bytes read (must be a multiple of 4) or
|
|
||||||
* 0 if there was not enough memory available
|
|
||||||
*/
|
|
||||||
size_t readFromMemory(const void* buffer, size_t length);
|
size_t readFromMemory(const void* buffer, size_t length);
|
||||||
|
|
||||||
/**
|
/** Transforms by SkRRect by matrix, storing result in dst.
|
||||||
* Transform by the specified matrix, and put the result in dst.
|
Returns true if SkRRect transformed can be represented by another SkRRect.
|
||||||
*
|
Returns false if matrix contains transformations other than scale and translate.
|
||||||
* @param matrix SkMatrix specifying the transform. Must only contain
|
|
||||||
* scale and/or translate, or this call will fail.
|
Asserts in debug builds if SkRRect equals dst.
|
||||||
* @param dst SkRRect to store the result. It is an error to use this,
|
|
||||||
* which would make this function no longer const.
|
@param matrix SkMatrix specifying the transform
|
||||||
* @return true on success, false on failure.
|
@param dst SkRRect to store the result
|
||||||
*/
|
@return true if transformation succeeded.
|
||||||
|
*/
|
||||||
bool transform(const SkMatrix& matrix, SkRRect* dst) const;
|
bool transform(const SkMatrix& matrix, SkRRect* dst) const;
|
||||||
|
|
||||||
|
/** Writes text representation of SkRRect to standard output.
|
||||||
|
Set asHex true to generate exact binary representations
|
||||||
|
of floating point numbers.
|
||||||
|
|
||||||
|
@param asHex true if SkScalar values are written as hexadecimal
|
||||||
|
*/
|
||||||
void dump(bool asHex) const;
|
void dump(bool asHex) const;
|
||||||
|
|
||||||
|
/** Writes text representation of SkRRect to standard output. The representation
|
||||||
|
may be directly compiled as C++ code. Floating point values are written
|
||||||
|
with limited precision; it may not be possible to reconstruct original
|
||||||
|
SkRRect from output.
|
||||||
|
*/
|
||||||
void dump() const { this->dump(false); }
|
void dump() const { this->dump(false); }
|
||||||
|
|
||||||
|
/** Writes text representation of SkRRect to standard output. The representation
|
||||||
|
may be directly compiled as C++ code. Floating point values are written
|
||||||
|
in hexadecimal to preserve their exact bit pattern. The output reconstructs the
|
||||||
|
original SkRRect.
|
||||||
|
*/
|
||||||
void dumpHex() const { this->dump(true); }
|
void dumpHex() const { this->dump(true); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Generated by tools/bookmaker from include/core/SkRect.h and docs/SkRect_Reference.bmh
|
/* Generated by tools/bookmaker from include/core/SkRect.h and docs/SkRect_Reference.bmh
|
||||||
on 2018-06-14 13:13:34. Additional documentation and examples can be found at:
|
on 2018-07-13 08:15:11. Additional documentation and examples can be found at:
|
||||||
https://skia.org/user/api/SkRect_Reference
|
https://skia.org/user/api/SkRect_Reference
|
||||||
|
|
||||||
You may edit either file directly. Structural changes to public interfaces require
|
You may edit either file directly. Structural changes to public interfaces require
|
||||||
@ -904,7 +904,7 @@ struct SK_API SkRect {
|
|||||||
*/
|
*/
|
||||||
SkScalar width() const { return fRight - fLeft; }
|
SkScalar width() const { return fRight - fLeft; }
|
||||||
|
|
||||||
/** Returns span on the y-axis. This does not check if SkIRect is sorted, or if
|
/** Returns span on the y-axis. This does not check if SkRect is sorted, or if
|
||||||
result fits in 32-bit float; result may be negative or infinity.
|
result fits in 32-bit float; result may be negative or infinity.
|
||||||
|
|
||||||
@return fBottom minus fTop
|
@return fBottom minus fTop
|
||||||
@ -922,7 +922,7 @@ struct SK_API SkRect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Returns average of top edge and bottom edge. Result does not change if SkRect
|
/** Returns average of top edge and bottom edge. Result does not change if SkRect
|
||||||
is sorted. Result may overflow to infinity if SkRect is far from the origin.
|
is sorted.
|
||||||
|
|
||||||
@return midpoint in y
|
@return midpoint in y
|
||||||
*/
|
*/
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Generated by tools/bookmaker from include/core/SkSurface.h and docs/SkSurface_Reference.bmh
|
/* Generated by tools/bookmaker from include/core/SkSurface.h and docs/SkSurface_Reference.bmh
|
||||||
on 2018-06-14 13:13:34. Additional documentation and examples can be found at:
|
on 2018-07-13 08:15:11. Additional documentation and examples can be found at:
|
||||||
https://skia.org/user/api/SkSurface_Reference
|
https://skia.org/user/api/SkSurface_Reference
|
||||||
|
|
||||||
You may edit either file directly. Structural changes to public interfaces require
|
You may edit either file directly. Structural changes to public interfaces require
|
||||||
@ -609,6 +609,7 @@ public:
|
|||||||
|
|
||||||
Source SkRect corners are (0, 0) and (src.width(), src.height()).
|
Source SkRect corners are (0, 0) and (src.width(), src.height()).
|
||||||
Destination SkRect corners are (dstX, dstY) and (dstX + Surface width(), dstY + Surface height()).
|
Destination SkRect corners are (dstX, dstY) and (dstX + Surface width(), dstY + Surface height()).
|
||||||
|
|
||||||
Copies each readable pixel intersecting both rectangles, without scaling,
|
Copies each readable pixel intersecting both rectangles, without scaling,
|
||||||
converting to SkSurface colorType() and SkSurface alphaType() if required.
|
converting to SkSurface colorType() and SkSurface alphaType() if required.
|
||||||
|
|
||||||
@ -622,6 +623,7 @@ public:
|
|||||||
|
|
||||||
Source SkRect corners are (0, 0) and (src.width(), src.height()).
|
Source SkRect corners are (0, 0) and (src.width(), src.height()).
|
||||||
Destination SkRect corners are (dstX, dstY) and (dstX + Surface width(), dstY + Surface height()).
|
Destination SkRect corners are (dstX, dstY) and (dstX + Surface width(), dstY + Surface height()).
|
||||||
|
|
||||||
Copies each readable pixel intersecting both rectangles, without scaling,
|
Copies each readable pixel intersecting both rectangles, without scaling,
|
||||||
converting to SkSurface colorType() and SkSurface alphaType() if required.
|
converting to SkSurface colorType() and SkSurface alphaType() if required.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user