2018-06-27 15:00:21 +00:00
SkRRect Reference
===
2018-10-16 14:30:28 +00:00
2018-10-08 18:57:48 +00:00
< a name = 'SkRRect' > < / a >
2018-06-27 15:00:21 +00:00
2018-10-16 14:30:28 +00:00
---
2018-10-08 18:57:48 +00:00
< pre style = "padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0 " >
class < a href = '#SkRRect' > SkRRect< / a > {
public:
< a href = '#SkRRect_empty_constructor' > SkRRect()< / a > = default;
< a href = '#SkRRect_copy_const_SkRRect' > SkRRect(const SkRRect& rrect)< / a > = default;
< a href = '#SkRRect' > SkRRect< / a > & < a href = '#SkRRect_copy_operator' > operator=(const SkRRect& rrect)< / a > = default;
2018-06-27 15:00:21 +00:00
2018-10-08 18:57:48 +00:00
enum < a href = '#SkRRect_Type' > Type< / a > {
< a href = '#SkRRect_kEmpty_Type' > kEmpty_Type< / a > ,
< a href = '#SkRRect_kRect_Type' > kRect_Type< / a > ,
< a href = '#SkRRect_kOval_Type' > kOval_Type< / a > ,
< a href = '#SkRRect_kSimple_Type' > kSimple_Type< / a > ,
< a href = '#SkRRect_kNinePatch_Type' > kNinePatch_Type< / a > ,
< a href = '#SkRRect_kComplex_Type' > kComplex_Type< / a > ,
< a href = '#SkRRect_kLastType' > kLastType< / a > = < a href = '#SkRRect_kComplex_Type' > kComplex_Type< / a > ,
};
2018-06-27 15:00:21 +00:00
2018-10-08 18:57:48 +00:00
< a href = '#SkRRect_Type' > Type< / a > < a href = '#SkRRect_getType' > getType< / a > () const;
< a href = '#SkRRect_Type' > Type< / a > < a href = '#SkRRect_type' > type< / a > () const;
bool < a href = '#SkRRect_isEmpty' > isEmpty< / a > () const;
bool < a href = '#SkRRect_isRect' > isRect< / a > () const;
bool < a href = '#SkRRect_isOval' > isOval< / a > () const;
bool < a href = '#SkRRect_isSimple' > isSimple< / a > () const;
bool < a href = '#SkRRect_isNinePatch' > isNinePatch< / a > () const;
bool < a href = '#SkRRect_isComplex' > isComplex< / a > () const;
< a href = 'undocumented#SkScalar' > SkScalar< / a > < a href = '#SkRRect_width' > width< / a > () const;
< a href = 'undocumented#SkScalar' > SkScalar< / a > < a href = '#SkRRect_height' > height< / a > () const;
< a href = 'SkPoint_Reference#SkVector' > SkVector< / a > < a href = '#SkRRect_getSimpleRadii' > getSimpleRadii< / a > () const;
void < a href = '#SkRRect_setEmpty' > setEmpty< / a > ();
void < a href = '#SkRRect_setRect' > setRect< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & rect);
static < a href = '#SkRRect' > SkRRect< / a > < a href = '#SkRRect_MakeEmpty' > MakeEmpty< / a > ();
static < a href = '#SkRRect' > SkRRect< / a > < a href = '#SkRRect_MakeRect' > MakeRect< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & r);
static < a href = '#SkRRect' > SkRRect< / a > < a href = '#SkRRect_MakeOval' > MakeOval< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & oval);
static < a href = '#SkRRect' > SkRRect< / a > < a href = '#SkRRect_MakeRectXY' > MakeRectXY< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & rect, < a href = 'undocumented#SkScalar' > SkScalar< / a > xRad, < a href = 'undocumented#SkScalar' > SkScalar< / a > yRad);
void < a href = '#SkRRect_setOval' > setOval< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & oval);
void < a href = '#SkRRect_setRectXY' > setRectXY< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & rect, < a href = 'undocumented#SkScalar' > SkScalar< / a > xRad, < a href = 'undocumented#SkScalar' > SkScalar< / a > yRad);
void < a href = '#SkRRect_setNinePatch' > setNinePatch< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & rect, < a href = 'undocumented#SkScalar' > SkScalar< / a > leftRad, < a href = 'undocumented#SkScalar' > SkScalar< / a > topRad,
< a href = 'undocumented#SkScalar' > SkScalar< / a > rightRad, < a href = 'undocumented#SkScalar' > SkScalar< / a > bottomRad);
void < a href = '#SkRRect_setRectRadii' > setRectRadii< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & rect, const < a href = 'SkPoint_Reference#SkVector' > SkVector< / a > radii[4]);
2018-06-28 12:50:35 +00:00
2018-10-08 18:57:48 +00:00
enum < a href = '#SkRRect_Corner' > Corner< / a > {
< a href = '#SkRRect_kUpperLeft_Corner' > kUpperLeft_Corner< / a > ,
< a href = '#SkRRect_kUpperRight_Corner' > kUpperRight_Corner< / a > ,
< a href = '#SkRRect_kLowerRight_Corner' > kLowerRight_Corner< / a > ,
< a href = '#SkRRect_kLowerLeft_Corner' > kLowerLeft_Corner< / a > ,
};
2018-06-28 12:50:35 +00:00
2018-10-08 18:57:48 +00:00
const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & < a href = '#SkRRect_rect' > rect< / a > () const;
< a href = 'SkPoint_Reference#SkVector' > SkVector< / a > < a href = '#SkRRect_radii' > radii< / a > (< a href = '#SkRRect_Corner' > Corner< / a > corner) const;
const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & < a href = '#SkRRect_getBounds' > getBounds< / a > () const;
friend bool < a href = '#SkRRect_equal_operator' > operator==(const SkRRect& a, const SkRRect& b)< / a > ;
friend bool < a href = '#SkRRect_notequal_operator' > operator!=(const SkRRect& a, const SkRRect& b)< / a > ;
void < a href = '#SkRRect_inset' > inset< / a > (< a href = 'undocumented#SkScalar' > SkScalar< / a > dx, < a href = 'undocumented#SkScalar' > SkScalar< / a > dy, < a href = '#SkRRect' > SkRRect< / a > * dst) const;
void < a href = '#SkRRect_inset_2' > inset< / a > (< a href = 'undocumented#SkScalar' > SkScalar< / a > dx, < a href = 'undocumented#SkScalar' > SkScalar< / a > dy);
void < a href = '#SkRRect_outset' > outset< / a > (< a href = 'undocumented#SkScalar' > SkScalar< / a > dx, < a href = 'undocumented#SkScalar' > SkScalar< / a > dy, < a href = '#SkRRect' > SkRRect< / a > * dst) const;
void < a href = '#SkRRect_outset_2' > outset< / a > (< a href = 'undocumented#SkScalar' > SkScalar< / a > dx, < a href = 'undocumented#SkScalar' > SkScalar< / a > dy);
void < a href = '#SkRRect_offset' > offset< / a > (< a href = 'undocumented#SkScalar' > SkScalar< / a > dx, < a href = 'undocumented#SkScalar' > SkScalar< / a > dy);
< a href = '#SkRRect' > SkRRect< / a > < a href = '#SkRRect_makeOffset' > makeOffset< / a > (< a href = 'undocumented#SkScalar' > SkScalar< / a > dx, < a href = 'undocumented#SkScalar' > SkScalar< / a > dy) const;
bool < a href = '#SkRRect_contains' > contains< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & rect) const;
bool < a href = '#SkRRect_isValid' > isValid< / a > () const;
static constexpr size_t < a href = '#SkRRect_kSizeInMemory' > kSizeInMemory< / a > = 12 * sizeof(SkScalar);
size_t < a href = '#SkRRect_writeToMemory' > writeToMemory< / a > (void* buffer) const;
size_t < a href = '#SkRRect_readFromMemory' > readFromMemory< / a > (const void* buffer, size_t length);
bool < a href = '#SkRRect_transform' > transform< / a > (const < a href = 'SkMatrix_Reference#SkMatrix' > SkMatrix< / a > & matrix, < a href = '#SkRRect' > SkRRect< / a > * dst) const;
void < a href = '#SkRRect_dump' > dump< / a > (bool asHex) const;
void < a href = '#SkRRect_dump_2' > dump< / a > () const;
void < a href = '#SkRRect_dumpHex' > dumpHex< / a > () const;
};
< / pre >
2018-06-28 12:50:35 +00:00
2018-07-11 20:18:41 +00:00
< a href = '#SkRRect' > SkRRect< / a > describes a rounded rectangle with a bounds and a pair of radii for each corner.
2018-07-17 12:20:27 +00:00
The bounds and radii can be set so that < a href = '#SkRRect' > SkRRect< / a > describes: a rectangle with sharp corners;
a < a href = 'undocumented#Circle' > Circle< / a > ; an < a href = 'undocumented#Oval' > Oval< / a > ; or a rectangle with one or more rounded corners.
2018-06-27 15:00:21 +00:00
2018-07-11 20:18:41 +00:00
< a href = '#SkRRect' > SkRRect< / a > allows implementing CSS properties that describe rounded corners.
< a href = '#SkRRect' > SkRRect< / a > may have up to eight different radii, one for each axis on each of its four
2018-06-27 15:00:21 +00:00
corners.
2018-07-11 20:18:41 +00:00
< a href = '#SkRRect' > SkRRect< / a > may modify the provided parameters when initializing bounds and radii.
2018-07-17 12:20:27 +00:00
If either axis radii is zero or less: radii are stored as zero; corner is square.
2018-07-11 20:18:41 +00:00
If corner curves overlap, radii are proportionally reduced to fit within bounds.
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_empty_constructor' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect' > SkRRect< / a > ()
2018-06-27 15:00:21 +00:00
< / pre >
2018-06-28 12:50:35 +00:00
Initializes bounds at (0, 0), the origin, with zero width and height.
2018-10-31 16:14:03 +00:00
Initializes corner radii to (0, 0), and sets type of < a href = '#SkRRect_kEmpty_Type' > kEmpty_Type< / a > .
2018-06-27 15:00:21 +00:00
### Return Value
2018-10-31 16:14:03 +00:00
empty < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-06-28 12:50:35 +00:00
< div > < fiddle-embed name = "471e7aad0feaf9ec3a21757a317a64f5" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_setEmpty' > setEmpty< / a > < a href = '#SkRRect_isEmpty' > isEmpty< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_copy_const_SkRRect' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect' > SkRRect< / a > (const < a href = '#SkRRect' > SkRRect< / a > & rrect)
2018-06-27 15:00:21 +00:00
< / pre >
2018-10-31 16:14:03 +00:00
Initializes to copy of < a href = '#SkRRect_SkRRect(const SkRRect& rrect)_rrect' > rrect< / a > bounds and corner radii.
2018-06-28 12:50:35 +00:00
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_copy_const_SkRRect_rrect' > < code > < strong > rrect< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > bounds and corner to copy< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Return Value
2018-10-31 16:14:03 +00:00
copy of < a href = '#SkRRect_SkRRect(const SkRRect& rrect)_rrect' > rrect< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-07-11 20:18:41 +00:00
< div > < fiddle-embed name = "ad8f5d49edfcee60eddfe2a955b6c5f5" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_copy_operator' > operator=(const SkRRect& rrect)< / a > < a href = '#SkRRect_MakeRect' > MakeRect< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_copy_operator' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect' > SkRRect< / a > & < a href = '#SkRRect_copy_operator' > operator=(const SkRRect& rrect)< / a >
2018-06-27 15:00:21 +00:00
< / pre >
2018-10-31 16:14:03 +00:00
Copies < a href = '#SkRRect_operator=(const SkRRect& rrect)_rrect' > rrect< / a > bounds and corner radii.
2018-06-28 12:50:35 +00:00
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_copy_operator_rrect' > < code > < strong > rrect< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > bounds and corner to copy< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Return Value
2018-10-31 16:14:03 +00:00
copy of < a href = '#SkRRect_operator=(const SkRRect& rrect)_rrect' > rrect< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-07-11 20:18:41 +00:00
< div > < fiddle-embed name = "52926c98c1cca00606d3ea99f23fea3d" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_copy_const_SkRRect' > SkRRect(const SkRRect& rrect)< / a > < a href = '#SkRRect_MakeRect' > MakeRect< / a >
2018-06-27 15:00:21 +00:00
2018-10-16 14:30:28 +00:00
< a name = 'Type' > < / a >
2018-06-27 15:00:21 +00:00
2018-10-16 14:30:28 +00:00
< a name = 'SkRRect_Type' > < / a >
2018-06-28 12:50:35 +00:00
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0 " >
enum < a href = '#SkRRect_Type' > Type< / a > {
2018-10-08 18:57:48 +00:00
< a href = '#SkRRect_kEmpty_Type' > kEmpty_Type< / a > ,
< a href = '#SkRRect_kRect_Type' > kRect_Type< / a > ,
< a href = '#SkRRect_kOval_Type' > kOval_Type< / a > ,
< a href = '#SkRRect_kSimple_Type' > kSimple_Type< / a > ,
< a href = '#SkRRect_kNinePatch_Type' > kNinePatch_Type< / a > ,
< a href = '#SkRRect_kComplex_Type' > kComplex_Type< / a > ,
< a href = '#SkRRect_kLastType' > kLastType< / a > = < a href = '#SkRRect_kComplex_Type' > kComplex_Type< / a > ,
2018-06-27 15:00:21 +00:00
};
< / pre >
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_Type' > Type< / a > describes possible specializations of < a href = '#RRect' > Round Rect< / a > . Each < a href = '#SkRRect_Type' > Type< / a > is
exclusive; a < a href = '#RRect' > Round Rect< / a > may only have one type.
2018-07-11 20:18:41 +00:00
< a href = '#SkRRect_Type' > Type< / a > members become progressively less restrictive; larger values of
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_Type' > Type< / a > have more degrees of freedom than smaller values.
2018-06-27 15:00:21 +00:00
### Constants
< table style = 'border-collapse: collapse; width: 62.5em' >
< tr >< th style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' > Const</ th >
< th style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > Value</ th >
< th style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' > Description</ th ></ tr >
< tr style = 'background-color: #f0f0f0 ; ' >
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >< a name = 'SkRRect_kEmpty_Type' >< code > SkRRect::kEmpty_Type</ code ></ a ></ td >
2018-07-11 20:18:41 +00:00
< td style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > 0</ td >
2018-06-27 15:00:21 +00:00
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >
< a href = '#RRect' > Round Rect< / a > has zero width or height. All radii are zero.
< / td >
< / tr >
< tr >
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >< a name = 'SkRRect_kRect_Type' >< code > SkRRect::kRect_Type</ code ></ a ></ td >
2018-07-11 20:18:41 +00:00
< td style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > 1</ td >
2018-06-27 15:00:21 +00:00
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >
< a href = '#RRect' > Round Rect< / a > has width and height. All radii are zero.
< / td >
< / tr >
< tr style = 'background-color: #f0f0f0 ; ' >
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >< a name = 'SkRRect_kOval_Type' >< code > SkRRect::kOval_Type</ code ></ a ></ td >
2018-07-11 20:18:41 +00:00
< td style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > 2</ td >
2018-06-27 15:00:21 +00:00
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >
< a href = '#RRect' > Round Rect< / a > has width and height. All four x-radii are equal,
and at least half the width. All four y-radii are equal,
and at least half the height.
< / td >
< / tr >
< tr >
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >< a name = 'SkRRect_kSimple_Type' >< code > SkRRect::kSimple_Type</ code ></ a ></ td >
2018-07-11 20:18:41 +00:00
< td style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > 3</ td >
2018-06-27 15:00:21 +00:00
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >
< a href = '#RRect' > Round Rect< / a > has width and height. All four x-radii are equal and
greater than zero, and all four y-radii are equal and greater than
zero. Either x-radii are less than half the width, or y-radii is
less than half the height, or both.
< / td >
< / tr >
< tr style = 'background-color: #f0f0f0 ; ' >
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >< a name = 'SkRRect_kNinePatch_Type' >< code > SkRRect::kNinePatch_Type</ code ></ a ></ td >
2018-07-11 20:18:41 +00:00
< td style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > 4</ td >
2018-06-27 15:00:21 +00:00
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >
< a href = '#RRect' > Round Rect< / a > has width and height. Left x-radii are equal, top
y-radii are equal, right x-radii are equal, and bottom y-radii
2018-07-17 12:20:27 +00:00
are equal. The radii do not describe < a href = 'SkRect_Reference#Rect' > Rect< / a > , < a href = 'undocumented#Oval' > Oval< / a > , or simple type.
2018-06-27 15:00:21 +00:00
The centers of the corner ellipses form an axis-aligned rectangle
that divides the < a href = '#RRect' > Round Rect< / a > into nine rectangular patches; an
interior rectangle, four edges, and four corners.
< / td >
< / tr >
< tr >
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >< a name = 'SkRRect_kComplex_Type' >< code > SkRRect::kComplex_Type</ code ></ a ></ td >
2018-07-11 20:18:41 +00:00
< td style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > 5</ td >
2018-06-27 15:00:21 +00:00
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >
both radii are non-zero.
< / td >
< / tr >
< tr style = 'background-color: #f0f0f0 ; ' >
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >< a name = 'SkRRect_kLastType' >< code > SkRRect::kLastType</ code ></ a ></ td >
2018-07-11 20:18:41 +00:00
< td style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > 5</ td >
2018-06-27 15:00:21 +00:00
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >
2018-06-28 12:50:35 +00:00
largest Type value< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Example
2018-10-30 00:33:51 +00:00
< div > < fiddle-embed name = "a4233634c75b72fc7a2815ddb69bd669" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 12:50:35 +00:00
< a href = 'SkRect_Reference#Rect' > Rect< / a > < a href = 'SkPath_Reference#Path' > Path< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_getType' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
< a href = '#SkRRect_Type' > Type< / a > < a href = '#SkRRect_getType' > getType< / a > () const
< / pre >
2018-06-28 12:50:35 +00:00
Returns < a href = '#SkRRect_Type' > Type< / a > , one of: < a href = '#SkRRect_kEmpty_Type' > kEmpty Type< / a > , < a href = '#SkRRect_kRect_Type' > kRect Type< / a > , < a href = '#SkRRect_kOval_Type' > kOval Type< / a > , < a href = '#SkRRect_kSimple_Type' > kSimple Type< / a > , < a href = '#SkRRect_kNinePatch_Type' > kNinePatch Type< / a > ,
< a href = '#SkRRect_kComplex_Type' > kComplex Type< / a > .
2018-06-27 15:00:21 +00:00
### Return Value
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_Type' > Type< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-10-08 18:57:48 +00:00
< div > < fiddle-embed name = "ace8f4aebf90527d43e4b7291375c9ad" > < div > rrect2 is not a < a href = 'SkRect_Reference#Rect' > Rect< / a > ; < a href = '#SkRRect_inset' > inset< / a > () has made it empty.
2018-06-28 12:50:35 +00:00
< / div > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_Type' > Type< / a > < a href = '#SkRRect_type' > type< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_type' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
< a href = '#SkRRect_Type' > Type< / a > < a href = '#SkRRect_type' > type< / a > () const
< / pre >
2018-06-28 12:50:35 +00:00
Returns < a href = '#SkRRect_Type' > Type< / a > , one of: < a href = '#SkRRect_kEmpty_Type' > kEmpty Type< / a > , < a href = '#SkRRect_kRect_Type' > kRect Type< / a > , < a href = '#SkRRect_kOval_Type' > kOval Type< / a > , < a href = '#SkRRect_kSimple_Type' > kSimple Type< / a > , < a href = '#SkRRect_kNinePatch_Type' > kNinePatch Type< / a > ,
< a href = '#SkRRect_kComplex_Type' > kComplex Type< / a > .
2018-06-27 15:00:21 +00:00
### Return Value
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_Type' > Type< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-10-08 18:57:48 +00:00
< div > < fiddle-embed name = "1080805c8449406a4e26d694bc56d2dc" > < div > < a href = '#SkRRect_inset' > inset< / a > () has made rrect2 empty.
2018-06-28 12:50:35 +00:00
< / div > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_Type' > Type< / a > < a href = '#SkRRect_getType' > getType< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_isEmpty' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
2018-10-08 18:57:48 +00:00
bool < a href = '#SkRRect_isEmpty' > isEmpty< / a > () const
2018-06-27 15:00:21 +00:00
< / pre >
### Example
2018-10-30 00:33:51 +00:00
< div > < fiddle-embed name = "099d79ecfbdfb0a19c10deb7201859c3" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
< a href = 'SkRect_Reference#SkRect_isEmpty' > SkRect::isEmpty< / a > < a href = '#SkRRect_height' > height< / a > < a href = '#SkRRect_width' > width< / a >
< a name = 'SkRRect_isRect' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
2018-10-08 18:57:48 +00:00
bool < a href = '#SkRRect_isRect' > isRect< / a > () const
2018-06-27 15:00:21 +00:00
< / pre >
### Example
2018-10-30 00:33:51 +00:00
< div > < fiddle-embed name = "bc931c9a6eb8ffe7ea8d3fb47e07a475" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
< a href = '#SkRRect_isEmpty' > isEmpty< / a > < a href = '#SkRRect_radii' > radii< / a >
< a name = 'SkRRect_isOval' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
2018-10-08 18:57:48 +00:00
bool < a href = '#SkRRect_isOval' > isOval< / a > () const
2018-06-27 15:00:21 +00:00
< / pre >
### Example
2018-10-30 00:33:51 +00:00
< div > < fiddle-embed name = "4dfdb28d8343958425f2c1323fe8170d" > < div > The first radii are scaled down proportionately until both x-axis and y-axis fit
2018-06-27 15:00:21 +00:00
within the bounds. After scaling, x-axis radius is smaller than half the width;
2018-07-11 20:18:41 +00:00
left < a href = '#RRect' > Round Rect< / a > is not an oval. The second radii are equal to half the
dimensions; right < a href = '#RRect' > Round Rect< / a > is an oval.
2018-06-27 15:00:21 +00:00
< / div > < / fiddle-embed > < / div >
### See Also
< a href = '#SkRRect_isEmpty' > isEmpty< / a > < a href = '#SkRRect_isSimple' > isSimple< / a > < a href = 'SkCanvas_Reference#SkCanvas_drawOval' > SkCanvas::drawOval< / a >
< a name = 'SkRRect_isSimple' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
2018-10-08 18:57:48 +00:00
bool < a href = '#SkRRect_isSimple' > isSimple< / a > () const
2018-06-27 15:00:21 +00:00
< / pre >
### Example
2018-10-30 00:33:51 +00:00
< div > < fiddle-embed name = "f6959ea422a7c6e98ddfad216a52c707" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
< a href = '#SkRRect_isEmpty' > isEmpty< / a > < a href = '#SkRRect_isRect' > isRect< / a > < a href = '#SkRRect_isOval' > isOval< / a > < a href = '#SkRRect_isNinePatch' > isNinePatch< / a >
< a name = 'SkRRect_isNinePatch' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
2018-10-08 18:57:48 +00:00
bool < a href = '#SkRRect_isNinePatch' > isNinePatch< / a > () const
2018-06-27 15:00:21 +00:00
< / pre >
### Example
2018-10-30 00:33:51 +00:00
< div > < fiddle-embed name = "429f6dfd4cf6287df3c3c77fa7681c99" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
< a href = '#SkRRect_isEmpty' > isEmpty< / a > < a href = '#SkRRect_isRect' > isRect< / a > < a href = '#SkRRect_isOval' > isOval< / a > < a href = '#SkRRect_isSimple' > isSimple< / a > < a href = '#SkRRect_isComplex' > isComplex< / a >
< a name = 'SkRRect_isComplex' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
2018-10-08 18:57:48 +00:00
bool < a href = '#SkRRect_isComplex' > isComplex< / a > () const
2018-06-27 15:00:21 +00:00
< / pre >
### Example
2018-10-30 00:33:51 +00:00
< div > < fiddle-embed name = "b62c183dc435d1fc091111fb2f3c3f8e" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
< a href = '#SkRRect_isEmpty' > isEmpty< / a > < a href = '#SkRRect_isRect' > isRect< / a > < a href = '#SkRRect_isOval' > isOval< / a > < a href = '#SkRRect_isSimple' > isSimple< / a > < a href = '#SkRRect_isNinePatch' > isNinePatch< / a >
< a name = 'SkRRect_width' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
< a href = 'undocumented#SkScalar' > SkScalar< / a > < a href = '#SkRRect_width' > width< / a > () const
< / pre >
Returns span on the x-axis. This does not check if result fits in 32-bit float;
result may be infinity.
### Return Value
2018-10-31 16:14:03 +00:00
< a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fRight' > fRight< / a > minus < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fLeft' > fLeft< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-10-08 18:57:48 +00:00
< div > < fiddle-embed name = "c675a480b41dee157f84fa2550a2a53c" > < div > < a href = '#SkRRect_MakeRect' > SkRRect::MakeRect< / a > sorts its input, so < a href = '#SkRRect_width' > width< / a > () is always zero or larger.
2018-06-27 15:00:21 +00:00
< / div >
#### Example Output
~~~~
unsorted width: 5
large width: inf
~~~~
< / fiddle-embed > < / div >
### See Also
< a href = 'SkRect_Reference#SkRect_width' > SkRect::width< / a > < a href = '#SkRRect_height' > height< / a > < a href = '#SkRRect_getBounds' > getBounds< / a >
< a name = 'SkRRect_height' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
< a href = 'undocumented#SkScalar' > SkScalar< / a > < a href = '#SkRRect_height' > height< / a > () const
< / pre >
Returns span on the y-axis. This does not check if result fits in 32-bit float;
result may be infinity.
### Return Value
2018-10-31 16:14:03 +00:00
< a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fBottom' > fBottom< / a > minus < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fTop' > fTop< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-10-08 18:57:48 +00:00
< div > < fiddle-embed name = "5a3eb1755164a7becec33cec6e6eca31" > < div > < a href = '#SkRRect_MakeRect' > SkRRect::MakeRect< / a > sorts its input, so < a href = '#SkRRect_height' > height< / a > () is always zero or larger.
2018-06-27 15:00:21 +00:00
< / div >
#### Example Output
~~~~
unsorted height: 5
large height: inf
~~~~
< / fiddle-embed > < / div >
### See Also
< a href = 'SkRect_Reference#SkRect' > SkRect< / a > .< a href = '#SkRRect_height' > height< / a > < a href = '#SkRRect_width' > width< / a > < a href = '#SkRRect_getBounds' > getBounds< / a >
< a name = 'SkRRect_getSimpleRadii' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
< a href = 'SkPoint_Reference#SkVector' > SkVector< / a > < a href = '#SkRRect_getSimpleRadii' > getSimpleRadii< / a > () const
< / pre >
2018-10-31 16:14:03 +00:00
Returns top-left corner radii. If < a href = '#SkRRect_type' > type()< / a > returns < a href = '#SkRRect_kEmpty_Type' > kEmpty_Type< / a > , < a href = '#SkRRect_kRect_Type' > kRect_Type< / a > ,
< a href = '#SkRRect_kOval_Type' > kOval_Type< / a > , or < a href = '#SkRRect_kSimple_Type' > kSimple_Type< / a > , returns a value representative of all corner radii.
If < a href = '#SkRRect_type' > type()< / a > returns < a href = '#SkRRect_kNinePatch_Type' > kNinePatch_Type< / a > or < a href = '#SkRRect_kComplex_Type' > kComplex_Type< / a > , at least one of the
2018-06-27 15:00:21 +00:00
remaining three corners has a different value.
### Return Value
corner radii for simple types
### Example
2018-10-30 00:33:51 +00:00
< div > < fiddle-embed name = "81345f7619a072bb2b0cf59810fe86d0" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
< a href = '#SkRRect_radii' > radii< / a > < a href = '#SkRRect_getBounds' > getBounds< / a > < a href = '#SkRRect_getType' > getType< / a > < a href = '#SkRRect_isSimple' > isSimple< / a >
< a name = 'SkRRect_setEmpty' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
void < a href = '#SkRRect_setEmpty' > setEmpty< / a > ()
< / pre >
Sets bounds to zero width and height at (0, 0), the origin. Sets
2018-10-31 16:14:03 +00:00
corner radii to zero and sets type to < a href = '#SkRRect_kEmpty_Type' > kEmpty_Type< / a > .
2018-06-27 15:00:21 +00:00
### Example
2018-07-11 20:18:41 +00:00
< div > < fiddle-embed name = "44e9a9c2c5ef1af2a616086ff46a9037" > < div > Nothing blue is drawn because < a href = '#RRect' > Round Rect< / a > is set to empty.
2018-06-27 15:00:21 +00:00
< / div > < / fiddle-embed > < / div >
### See Also
< a href = '#SkRRect_MakeEmpty' > MakeEmpty< / a > < a href = '#SkRRect_setRect' > setRect< / a >
< a name = 'SkRRect_setRect' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
void < a href = '#SkRRect_setRect' > setRect< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & rect)
< / pre >
2018-10-31 16:14:03 +00:00
Sets bounds to sorted < a href = '#SkRRect_setRect_rect' > rect< / a > , and sets corner radii to zero.
If set bounds has width and height, and sets type to < a href = '#SkRRect_kRect_Type' > kRect_Type< / a > ;
otherwise, sets type to < a href = '#SkRRect_kEmpty_Type' > kEmpty_Type< / a > .
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_setRect_rect' > < code > < strong > rect< / strong > < / code > < / a > < / td >
< td > bounds to set< / td >
< / tr >
< / table >
### Example
2018-06-28 12:50:35 +00:00
< div > < fiddle-embed name = "3afc3ac9bebd1d7387822cc608571e82" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
< a href = '#SkRRect_MakeRect' > MakeRect< / a > < a href = '#SkRRect_setRectXY' > setRectXY< / a >
< a name = 'SkRRect_MakeEmpty' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
static < a href = '#SkRRect' > SkRRect< / a > < a href = '#SkRRect_MakeEmpty' > MakeEmpty< / a > ()
< / pre >
2018-06-28 12:50:35 +00:00
Initializes bounds at (0, 0), the origin, with zero width and height.
2018-10-31 16:14:03 +00:00
Initializes corner radii to (0, 0), and sets type of < a href = '#SkRRect_kEmpty_Type' > kEmpty_Type< / a > .
2018-06-27 15:00:21 +00:00
### Return Value
2018-10-31 16:14:03 +00:00
empty < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-06-28 12:50:35 +00:00
< div > < fiddle-embed name = "c6c6be3b3c137226adbb5b5af9203d27" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_empty_constructor' > SkRRect()< / a > < a href = 'SkRect_Reference#SkRect_MakeEmpty' > SkRect::MakeEmpty< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_MakeRect' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
static < a href = '#SkRRect' > SkRRect< / a > < a href = '#SkRRect_MakeRect' > MakeRect< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & r)
< / pre >
2018-06-28 12:50:35 +00:00
Initializes to copy of < a href = '#SkRRect_MakeRect_r' > r< / a > bounds and zeroes corner radii.
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_MakeRect_r' > < code > < strong > r< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > bounds to copy< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Return Value
2018-06-28 12:50:35 +00:00
copy of < a href = '#SkRRect_MakeRect_r' > r< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-06-28 12:50:35 +00:00
< div > < fiddle-embed name = "5295b07fe4d2cdcd077979a9e19854d9" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_setRect' > setRect< / a > < a href = '#SkRRect_MakeOval' > MakeOval< / a > < a href = '#SkRRect_MakeRectXY' > MakeRectXY< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_MakeOval' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
static < a href = '#SkRRect' > SkRRect< / a > < a href = '#SkRRect_MakeOval' > MakeOval< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & oval)
< / pre >
2018-10-31 16:14:03 +00:00
Sets bounds to < a href = '#SkRRect_MakeOval_oval' > oval< / a > , x-axis radii to half < a href = '#SkRRect_MakeOval_oval' > oval< / a > .< a href = '#SkRect_width' > width()< / a > , and all y-axis radii
to half < a href = '#SkRRect_MakeOval_oval' > oval< / a > .< a href = '#SkRect_height' > height()< / a > . If < a href = '#SkRRect_MakeOval_oval' > oval< / a > bounds is empty, sets to < a href = '#SkRRect_kEmpty_Type' > kEmpty_Type< / a > .
Otherwise, sets to < a href = '#SkRRect_kOval_Type' > kOval_Type< / a > .
2018-06-28 12:50:35 +00:00
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_MakeOval_oval' > < code > < strong > oval< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > bounds of < a href = '#SkRRect_MakeOval_oval' > oval< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Return Value
2018-10-31 16:14:03 +00:00
< a href = '#SkRRect_MakeOval_oval' > oval< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-07-16 12:12:01 +00:00
< div > < fiddle-embed name = "0b99ee38fd154f769f6031242e02fa7a" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_setOval' > setOval< / a > < a href = '#SkRRect_MakeRect' > MakeRect< / a > < a href = '#SkRRect_MakeRectXY' > MakeRectXY< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_MakeRectXY' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
static < a href = '#SkRRect' > SkRRect< / a > < a href = '#SkRRect_MakeRectXY' > MakeRectXY< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & rect, < a href = 'undocumented#SkScalar' > SkScalar< / a > xRad, < a href = 'undocumented#SkScalar' > SkScalar< / a > yRad)
< / pre >
2018-06-28 12:50:35 +00:00
Sets to rounded rectangle with the same radii for all four corners.
2018-10-31 16:14:03 +00:00
If < a href = '#SkRRect_MakeRectXY_rect' > rect< / a > is empty, sets to < a href = '#SkRRect_kEmpty_Type' > kEmpty_Type< / a > .
Otherwise, if < a href = '#SkRRect_MakeRectXY_xRad' > xRad< / a > and < a href = '#SkRRect_MakeRectXY_yRad' > yRad< / a > are zero, sets to < a href = '#SkRRect_kRect_Type' > kRect_Type< / a > .
Otherwise, if < a href = '#SkRRect_MakeRectXY_xRad' > xRad< / a > is at least half < a href = '#SkRRect_MakeRectXY_rect' > rect< / a > .< a href = '#SkRect_width' > width()< / a > and < a href = '#SkRRect_MakeRectXY_yRad' > yRad< / a > is at least half
< a href = '#SkRRect_MakeRectXY_rect' > rect< / a > .< a href = '#SkRect_height' > height()< / a > , sets to < a href = '#SkRRect_kOval_Type' > kOval_Type< / a > .
Otherwise, sets to < a href = '#SkRRect_kSimple_Type' > kSimple_Type< / a > .
2018-06-28 12:50:35 +00:00
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_MakeRectXY_rect' > < code > < strong > rect< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > bounds of rounded rectangle< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_MakeRectXY_xRad' > < code > < strong > xRad< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > x-axis radius of corners< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_MakeRectXY_yRad' > < code > < strong > yRad< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > y-axis radius of corners< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Return Value
2018-06-28 12:50:35 +00:00
rounded rectangle
2018-06-27 15:00:21 +00:00
### Example
2018-06-28 12:50:35 +00:00
< div > < fiddle-embed name = "2b24a1247637cbc94f8b3c77d37ed3e2" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_setRectXY' > setRectXY< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_setOval' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
void < a href = '#SkRRect_setOval' > setOval< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & oval)
< / pre >
2018-10-31 16:14:03 +00:00
Sets bounds to < a href = '#SkRRect_setOval_oval' > oval< / a > , x-axis radii to half < a href = '#SkRRect_setOval_oval' > oval< / a > .< a href = '#SkRect_width' > width()< / a > , and all y-axis radii
to half < a href = '#SkRRect_setOval_oval' > oval< / a > .< a href = '#SkRect_height' > height()< / a > . If < a href = '#SkRRect_setOval_oval' > oval< / a > bounds is empty, sets to < a href = '#SkRRect_kEmpty_Type' > kEmpty_Type< / a > .
Otherwise, sets to < a href = '#SkRRect_kOval_Type' > kOval_Type< / a > .
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_setOval_oval' > < code > < strong > oval< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > bounds of < a href = '#SkRRect_setOval_oval' > oval< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Example
2018-06-28 12:50:35 +00:00
< div > < fiddle-embed name = "cf418af29cbab6243ac16aacd1217ffe" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_MakeOval' > MakeOval< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_setRectXY' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
void < a href = '#SkRRect_setRectXY' > setRectXY< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & rect, < a href = 'undocumented#SkScalar' > SkScalar< / a > xRad, < a href = 'undocumented#SkScalar' > SkScalar< / a > yRad)
< / pre >
2018-06-28 12:50:35 +00:00
Sets to rounded rectangle with the same radii for all four corners.
2018-10-31 16:14:03 +00:00
If < a href = '#SkRRect_setRectXY_rect' > rect< / a > is empty, sets to < a href = '#SkRRect_kEmpty_Type' > kEmpty_Type< / a > .
Otherwise, if < a href = '#SkRRect_setRectXY_xRad' > xRad< / a > or < a href = '#SkRRect_setRectXY_yRad' > yRad< / a > is zero, sets to < a href = '#SkRRect_kRect_Type' > kRect_Type< / a > .
Otherwise, if < a href = '#SkRRect_setRectXY_xRad' > xRad< / a > is at least half < a href = '#SkRRect_setRectXY_rect' > rect< / a > .< a href = '#SkRect_width' > width()< / a > and < a href = '#SkRRect_setRectXY_yRad' > yRad< / a > is at least half
< a href = '#SkRRect_setRectXY_rect' > rect< / a > .< a href = '#SkRect_height' > height()< / a > , sets to < a href = '#SkRRect_kOval_Type' > kOval_Type< / a > .
Otherwise, sets to < a href = '#SkRRect_kSimple_Type' > kSimple_Type< / a > .
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_setRectXY_rect' > < code > < strong > rect< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > bounds of rounded rectangle< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_setRectXY_xRad' > < code > < strong > xRad< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > x-axis radius of corners< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_setRectXY_yRad' > < code > < strong > yRad< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > y-axis radius of corners< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Example
2018-07-04 05:33:26 +00:00
< div > < fiddle-embed name = "6ac569e40fb68c758319e85428b9ae95" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_MakeRectXY' > MakeRectXY< / a > < a href = 'SkPath_Reference#SkPath_addRoundRect' > SkPath::addRoundRect< / a > < sup > < a href = 'SkPath_Reference#SkPath_addRoundRect_2' > [2]< / a > < / sup >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_setNinePatch' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
void < a href = '#SkRRect_setNinePatch' > setNinePatch< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & rect, < a href = 'undocumented#SkScalar' > SkScalar< / a > leftRad, < a href = 'undocumented#SkScalar' > SkScalar< / a > topRad, < a href = 'undocumented#SkScalar' > SkScalar< / a > rightRad,
< a href = 'undocumented#SkScalar' > SkScalar< / a > bottomRad)
< / pre >
2018-10-31 16:14:03 +00:00
Sets bounds to < a href = '#SkRRect_setNinePatch_rect' > rect< / a > . Sets radii to (< a href = '#SkRRect_setNinePatch_leftRad' > leftRad< / a > , < a href = '#SkRRect_setNinePatch_topRad' > topRad< / a > ), (< a href = '#SkRRect_setNinePatch_rightRad' > rightRad< / a > , < a href = '#SkRRect_setNinePatch_topRad' > topRad< / a > ),
2018-06-28 12:50:35 +00:00
(< a href = '#SkRRect_setNinePatch_rightRad' > rightRad< / a > , < a href = '#SkRRect_setNinePatch_bottomRad' > bottomRad< / a > ), (< a href = '#SkRRect_setNinePatch_leftRad' > leftRad< / a > , < a href = '#SkRRect_setNinePatch_bottomRad' > bottomRad< / a > ).
2018-10-31 16:14:03 +00:00
If < a href = '#SkRRect_setNinePatch_rect' > rect< / a > is empty, sets to < a href = '#SkRRect_kEmpty_Type' > kEmpty_Type< / a > .
Otherwise, if < a href = '#SkRRect_setNinePatch_leftRad' > leftRad< / a > and < a href = '#SkRRect_setNinePatch_rightRad' > rightRad< / a > are zero, sets to < a href = '#SkRRect_kRect_Type' > kRect_Type< / a > .
Otherwise, if < a href = '#SkRRect_setNinePatch_topRad' > topRad< / a > and < a href = '#SkRRect_setNinePatch_bottomRad' > bottomRad< / a > are zero, sets to < a href = '#SkRRect_kRect_Type' > kRect_Type< / a > .
Otherwise, if < a href = '#SkRRect_setNinePatch_leftRad' > leftRad< / a > and < a href = '#SkRRect_setNinePatch_rightRad' > rightRad< / a > are equal and at least half < a href = '#SkRRect_setNinePatch_rect' > rect< / a > .< a href = '#SkRect_width' > width()< / a > , and
< a href = '#SkRRect_setNinePatch_topRad' > topRad< / a > and < a href = '#SkRRect_setNinePatch_bottomRad' > bottomRad< / a > are equal at least half < a href = '#SkRRect_setNinePatch_rect' > rect< / a > .< a href = '#SkRect_height' > height()< / a > , sets to < a href = '#SkRRect_kOval_Type' > kOval_Type< / a > .
2018-06-28 12:50:35 +00:00
Otherwise, if < a href = '#SkRRect_setNinePatch_leftRad' > leftRad< / a > and < a href = '#SkRRect_setNinePatch_rightRad' > rightRad< / a > are equal, and < a href = '#SkRRect_setNinePatch_topRad' > topRad< / a > and < a href = '#SkRRect_setNinePatch_bottomRad' > bottomRad< / a > are equal,
2018-10-31 16:14:03 +00:00
sets to < a href = '#SkRRect_kSimple_Type' > kSimple_Type< / a > . Otherwise, sets to < a href = '#SkRRect_kNinePatch_Type' > kNinePatch_Type< / a > .
2018-06-28 12:50:35 +00:00
2018-10-31 16:14:03 +00:00
Nine < a href = 'undocumented#Patch' > patch< / a > refers to the nine parts defined by the radii: one center rectangle,
four edge < a href = 'undocumented#Patch' > patches< / a > , and four corner < a href = 'undocumented#Patch' > patches< / a > .
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_setNinePatch_rect' > < code > < strong > rect< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > bounds of rounded rectangle< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_setNinePatch_leftRad' > < code > < strong > leftRad< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > left-top and left-bottom x-axis radius< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_setNinePatch_topRad' > < code > < strong > topRad< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > left-top and right-top y-axis radius< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_setNinePatch_rightRad' > < code > < strong > rightRad< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > right-top and right-bottom x-axis radius< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_setNinePatch_bottomRad' > < code > < strong > bottomRad< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > left-bottom and right-bottom y-axis radius< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Example
2018-07-07 05:34:31 +00:00
< div > < fiddle-embed name = "c4620df2eaba447b581688d3100053b1" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_setRectRadii' > setRectRadii< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_setRectRadii' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
void < a href = '#SkRRect_setRectRadii' > setRectRadii< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & rect, const < a href = 'SkPoint_Reference#SkVector' > SkVector< / a > radii[4])
< / pre >
2018-10-31 16:14:03 +00:00
Sets bounds to < a href = '#SkRRect_setRectRadii_rect' > rect< / a > . Sets < a href = '#SkRRect_setRectRadii_radii' > radii< / a > array for individual control of all for corners.
2018-06-28 12:50:35 +00:00
2018-10-31 16:14:03 +00:00
If < a href = '#SkRRect_setRectRadii_rect' > rect< / a > is empty, sets to < a href = '#SkRRect_kEmpty_Type' > kEmpty_Type< / a > .
Otherwise, if one of each corner < a href = '#SkRRect_setRectRadii_radii' > radii< / a > are zero, sets to < a href = '#SkRRect_kRect_Type' > kRect_Type< / a > .
Otherwise, if all x-axis < a href = '#SkRRect_setRectRadii_radii' > radii< / a > are equal and at least half < a href = '#SkRRect_setRectRadii_rect' > rect< / a > .< a href = '#SkRect_width' > width()< / a > , and
all y-axis < a href = '#SkRRect_setRectRadii_radii' > radii< / a > are equal at least half < a href = '#SkRRect_setRectRadii_rect' > rect< / a > .< a href = '#SkRect_height' > height()< / a > , sets to < a href = '#SkRRect_kOval_Type' > kOval_Type< / a > .
Otherwise, if all x-axis < a href = '#SkRRect_setRectRadii_radii' > radii< / a > are equal, and all y-axis < a href = '#SkRRect_setRectRadii_radii' > radii< / a > are equal,
sets to < a href = '#SkRRect_kSimple_Type' > kSimple_Type< / a > . Otherwise, sets to < a href = '#SkRRect_kNinePatch_Type' > kNinePatch_Type< / a > .
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_setRectRadii_rect' > < code > < strong > rect< / strong > < / code > < / a > < / td >
2018-06-28 12:50:35 +00:00
< td > bounds of rounded rectangle< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_setRectRadii_radii' > < code > < strong > radii< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > corner x-axis and y-axis < a href = '#SkRRect_setRectRadii_radii' > radii< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Example
2018-07-11 20:18:41 +00:00
< div > < fiddle-embed name = "340d6c51efaa1f7f3d0dcaf8b0e90696" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 12:50:35 +00:00
< a href = '#SkRRect_setNinePatch' > setNinePatch< / a > < a href = 'SkPath_Reference#SkPath_addRoundRect' > SkPath::addRoundRect< / a > < sup > < a href = 'SkPath_Reference#SkPath_addRoundRect_2' > [2]< / a > < / sup >
2018-06-27 15:00:21 +00:00
2018-10-16 14:30:28 +00:00
< a name = 'SkRRect_Corner' > < / a >
2018-06-27 15:00:21 +00:00
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0 " >
enum < a href = '#SkRRect_Corner' > Corner< / a > {
2018-10-08 18:57:48 +00:00
< a href = '#SkRRect_kUpperLeft_Corner' > kUpperLeft_Corner< / a > ,
< a href = '#SkRRect_kUpperRight_Corner' > kUpperRight_Corner< / a > ,
< a href = '#SkRRect_kLowerRight_Corner' > kLowerRight_Corner< / a > ,
< a href = '#SkRRect_kLowerLeft_Corner' > kLowerLeft_Corner< / a > ,
2018-06-27 15:00:21 +00:00
};
< / pre >
The radii are stored: top-left, top-right, bottom-right, bottom-left.
### Constants
< table style = 'border-collapse: collapse; width: 62.5em' >
< tr >< th style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' > Const</ th >
< th style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > Value</ th >
< th style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' > Description</ th ></ tr >
< tr style = 'background-color: #f0f0f0 ; ' >
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >< a name = 'SkRRect_kUpperLeft_Corner' >< code > SkRRect::kUpperLeft_Corner</ code ></ a ></ td >
2018-06-28 23:13:56 +00:00
< td style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > 0</ td >
2018-06-27 15:00:21 +00:00
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >
2018-06-28 23:13:56 +00:00
index of top-left corner radii< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr >
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >< a name = 'SkRRect_kUpperRight_Corner' >< code > SkRRect::kUpperRight_Corner</ code ></ a ></ td >
2018-06-28 23:13:56 +00:00
< td style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > 1</ td >
2018-06-27 15:00:21 +00:00
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >
2018-06-28 23:13:56 +00:00
index of top-right corner radii< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr style = 'background-color: #f0f0f0 ; ' >
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >< a name = 'SkRRect_kLowerRight_Corner' >< code > SkRRect::kLowerRight_Corner</ code ></ a ></ td >
2018-06-28 23:13:56 +00:00
< td style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > 2</ td >
2018-06-27 15:00:21 +00:00
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >
2018-06-28 23:13:56 +00:00
index of bottom-right corner radii< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr >
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >< a name = 'SkRRect_kLowerLeft_Corner' >< code > SkRRect::kLowerLeft_Corner</ code ></ a ></ td >
2018-06-28 23:13:56 +00:00
< td style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > 3</ td >
2018-06-27 15:00:21 +00:00
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >
2018-06-28 23:13:56 +00:00
index of bottom-left corner radii< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Example
2018-06-28 23:13:56 +00:00
< div > < fiddle-embed name = "9205393f30b156e1507e88aa27f1dd91" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_radii' > radii< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_rect' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & < a href = '#SkRRect_rect' > rect< / a > () const
< / pre >
2018-06-28 23:13:56 +00:00
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.
2018-10-31 16:14:03 +00:00
Result is identical to < a href = '#SkRRect_getBounds' > getBounds< / a > ().
2018-06-28 23:13:56 +00:00
2018-06-27 15:00:21 +00:00
### Return Value
2018-06-28 23:13:56 +00:00
bounding box
2018-06-27 15:00:21 +00:00
### Example
2018-06-28 23:13:56 +00:00
< div > < fiddle-embed name = "6831adf4c536047f4709c686feb10c48" >
#### Example Output
~~~~
left bounds: (nan) 0
left bounds: (inf) 0
left bounds: (100) 60
left bounds: (50) 50
left bounds: (25) 25
~~~~
< / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_getBounds' > getBounds< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_radii' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
< a href = 'SkPoint_Reference#SkVector' > SkVector< / a > < a href = '#SkRRect_radii' > radii< / a > (< a href = '#SkRRect_Corner' > Corner< / a > corner) const
< / pre >
2018-10-31 16:14:03 +00:00
Returns < a href = 'undocumented#Scalar' > scalar< / a > pair for radius of < a href = 'undocumented#Curve' > curve< / a > on x-axis and y-axis for one < a href = '#SkRRect_radii()_corner' > corner< / a > .
2018-06-28 23:13:56 +00:00
Both radii may be zero. If not zero, both are positive and finite.
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_radii_corner' > < code > < strong > corner< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > one of: < a href = '#SkRRect_kUpperLeft_Corner' > kUpperLeft_Corner< / a > , < a href = '#SkRRect_kUpperRight_Corner' > kUpperRight_Corner< / a > ,< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
2018-10-31 16:14:03 +00:00
< a href = '#SkRRect_kLowerRight_Corner' > kLowerRight_Corner< / a > , < a href = '#SkRRect_kLowerLeft_Corner' > kLowerLeft_Corner< / a >
2018-06-27 15:00:21 +00:00
### Return Value
2018-10-31 16:14:03 +00:00
x-axis and y-axis radii for one < a href = '#SkRRect_radii()_corner' > corner< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-07-11 05:28:17 +00:00
< div > < fiddle-embed name = "8d5c88478528584913867ada423e0d59" > < div > Finite values are scaled proportionately to fit; other values are set to zero.
2018-07-11 20:18:41 +00:00
Scaled values cannot be larger than 25, half the bounding < a href = '#RRect' > Round Rect< / a > width.
2018-10-31 16:14:03 +00:00
Small scaled values are halved to scale in proportion to the y-axis corner
2018-06-28 23:13:56 +00:00
radius, which is twice the bounds height.
< / div >
#### Example Output
~~~~
left corner: (nan) 0
left corner: (inf) 0
left corner: (100) 25
left corner: (50) 25
left corner: (25) 12.5
~~~~
< / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_Corner' > Corner< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_getBounds' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & < a href = '#SkRRect_getBounds' > getBounds< / a > () const
< / pre >
2018-06-28 23:13:56 +00:00
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.
2018-10-31 16:14:03 +00:00
Result is identical to < a href = '#SkRRect_rect' > rect()< / a > .
2018-06-28 23:13:56 +00:00
2018-06-27 15:00:21 +00:00
### Return Value
2018-06-28 23:13:56 +00:00
bounding box
2018-06-27 15:00:21 +00:00
### Example
2018-07-04 05:33:26 +00:00
< div > < fiddle-embed name = "4577e2dcb086b241bb43d8b89ee0b0dd" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_rect' > rect< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_equal_operator' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
bool < a href = '#SkRRect_equal_operator' > operator==(const SkRRect& a, const SkRRect& b)< / a >
< / pre >
2018-10-31 16:14:03 +00:00
Returns true if bounds and radii in < a href = '#SkRRect_operator==(const SkRRect& a, const SkRRect& b)_a' > a< / a > are equal to bounds and radii in < a href = '#SkRRect_operator==(const SkRRect& a, const SkRRect& b)_b' > b< / a > .
2018-06-28 23:13:56 +00:00
2018-10-31 16:14:03 +00:00
< a href = '#SkRRect_operator==(const SkRRect& a, const SkRRect& b)_a' > a< / a > and < a href = '#SkRRect_operator==(const SkRRect& a, const SkRRect& b)_b' > b< / a > are not equal if either contain NaN. < a href = '#SkRRect_operator==(const SkRRect& a, const SkRRect& b)_a' > a< / a > and < a href = '#SkRRect_operator==(const SkRRect& a, const SkRRect& b)_b' > b< / a > are equal if members
contain zeroes with different signs.
2018-06-28 23:13:56 +00:00
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_equal_operator_a' > < code > < strong > a< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > < a href = 'SkRect_Reference#SkRect' > SkRect< / a > bounds and radii to compare< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_equal_operator_b' > < code > < strong > b< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > < a href = 'SkRect_Reference#SkRect' > SkRect< / a > bounds and radii to compare< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Return Value
2018-06-28 23:13:56 +00:00
true if members are equal
2018-06-27 15:00:21 +00:00
### Example
2018-06-28 23:13:56 +00:00
< div > < fiddle-embed name = "df181af37f1d2b06f0f45af73df7b47d" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_notequal_operator' > operator!=(const SkRRect& a, const SkRRect& b)< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_notequal_operator' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
bool < a href = '#SkRRect_notequal_operator' > operator!=(const SkRRect& a, const SkRRect& b)< / a >
< / pre >
2018-10-31 16:14:03 +00:00
Returns true if bounds and radii in < a href = '#SkRRect_operator!=(const SkRRect& a, const SkRRect& b)_a' > a< / a > are not equal to bounds and radii in < a href = '#SkRRect_operator!=(const SkRRect& a, const SkRRect& b)_b' > b< / a > .
2018-06-28 23:13:56 +00:00
2018-10-31 16:14:03 +00:00
< a href = '#SkRRect_operator!=(const SkRRect& a, const SkRRect& b)_a' > a< / a > and < a href = '#SkRRect_operator!=(const SkRRect& a, const SkRRect& b)_b' > b< / a > are not equal if either contain NaN. < a href = '#SkRRect_operator!=(const SkRRect& a, const SkRRect& b)_a' > a< / a > and < a href = '#SkRRect_operator!=(const SkRRect& a, const SkRRect& b)_b' > b< / a > are equal if members
contain zeroes with different signs.
2018-06-28 23:13:56 +00:00
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_notequal_operator_a' > < code > < strong > a< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > < a href = 'SkRect_Reference#SkRect' > SkRect< / a > bounds and radii to compare< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_notequal_operator_b' > < code > < strong > b< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > < a href = 'SkRect_Reference#SkRect' > SkRect< / a > bounds and radii to compare< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Return Value
2018-06-28 23:13:56 +00:00
true if members are not equal
2018-06-27 15:00:21 +00:00
### Example
2018-06-28 23:13:56 +00:00
< div > < fiddle-embed name = "505e47b3e6474ebdecdc04c3c2af2c34" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_equal_operator' > operator==(const SkRRect& a, const SkRRect& b)< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_inset' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
void < a href = '#SkRRect_inset' > inset< / a > (< a href = 'undocumented#SkScalar' > SkScalar< / a > dx, < a href = 'undocumented#SkScalar' > SkScalar< / a > dy, < a href = '#SkRRect' > SkRRect< / a > * dst) const
< / pre >
2018-10-31 16:14:03 +00:00
Copies < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > to < a href = '#SkRRect_inset()_dst' > dst< / a > , then insets < a href = '#SkRRect_inset()_dst' > dst< / a > bounds by < a href = '#SkRRect_inset()_dx' > dx< / a > and < a href = '#SkRRect_inset()_dy' > dy< / a > , and adjusts < a href = '#SkRRect_inset()_dst' > dst< / a >
radii by < a href = '#SkRRect_inset()_dx' > dx< / a > and < a href = '#SkRRect_inset()_dy' > dy< / a > . < a href = '#SkRRect_inset()_dx' > dx< / a > and < a href = '#SkRRect_inset()_dy' > dy< / a > may be positive, negative, or zero. < a href = '#SkRRect_inset()_dst' > dst< / a > may be
< a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > .
2018-07-11 20:18:41 +00:00
If either corner radius is zero, the corner has no curvature and is unchanged.
Otherwise, if adjusted radius becomes negative, pins radius to zero.
2018-10-31 16:14:03 +00:00
If < a href = '#SkRRect_inset()_dx' > dx< / a > exceeds half < a href = '#SkRRect_inset()_dst' > dst< / a > bounds width, < a href = '#SkRRect_inset()_dst' > dst< / a > bounds left and right are set to
bounds x-axis center. If < a href = '#SkRRect_inset()_dy' > dy< / a > exceeds half < a href = '#SkRRect_inset()_dst' > dst< / a > bounds height, < a href = '#SkRRect_inset()_dst' > dst< / a > bounds top and
2018-07-11 20:18:41 +00:00
bottom are set to bounds y-axis center.
2018-10-31 16:14:03 +00:00
If < a href = '#SkRRect_inset()_dx' > dx< / a > or < a href = '#SkRRect_inset()_dy' > dy< / a > cause the bounds to become infinite, < a href = '#SkRRect_inset()_dst' > dst< / a > bounds is zeroed.
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_inset_dx' > < code > < strong > dx< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > added to < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fLeft' > fLeft< / a > , and subtracted from < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fRight' > fRight< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_inset_dy' > < code > < strong > dy< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > added to < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fTop' > fTop< / a > , and subtracted from < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fBottom' > fBottom< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_inset_dst' > < code > < strong > dst< / strong > < / code > < / a > < / td >
2018-06-28 23:13:56 +00:00
< td > insets bounds and radii< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Example
2018-06-28 23:13:56 +00:00
< div > < fiddle-embed name = "f02f0110d5605dac6d14dcb8d1d8cb6e" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_outset' > outset< / a > < sup > < a href = '#SkRRect_outset_2' > [2]< / a > < / sup > < a href = '#SkRRect_offset' > offset< / a > < a href = '#SkRRect_makeOffset' > makeOffset< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_inset_2' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
void < a href = '#SkRRect_inset' > inset< / a > (< a href = 'undocumented#SkScalar' > SkScalar< / a > dx, < a href = 'undocumented#SkScalar' > SkScalar< / a > dy)
< / pre >
2018-07-11 20:18:41 +00:00
Insets bounds by < a href = '#SkRRect_inset_2_dx' > dx< / a > and < a href = '#SkRRect_inset_2_dy' > dy< / a > , and adjusts radii by < a href = '#SkRRect_inset_2_dx' > dx< / a > and < a href = '#SkRRect_inset_2_dy' > dy< / a > . < a href = '#SkRRect_inset_2_dx' > dx< / a > and < a href = '#SkRRect_inset_2_dy' > dy< / a > 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 < a href = '#SkRRect_inset_2_dx' > dx< / a > exceeds half bounds width, bounds left and right are set to
bounds x-axis center. If < a href = '#SkRRect_inset_2_dy' > dy< / a > exceeds half bounds height, bounds top and
bottom are set to bounds y-axis center.
If < a href = '#SkRRect_inset_2_dx' > dx< / a > or < a href = '#SkRRect_inset_2_dy' > dy< / a > cause the bounds to become infinite, bounds is zeroed.
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_inset_2_dx' > < code > < strong > dx< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > added to < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fLeft' > fLeft< / a > , and subtracted from < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fRight' > fRight< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_inset_2_dy' > < code > < strong > dy< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > added to < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fTop' > fTop< / a > , and subtracted from < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fBottom' > fBottom< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Example
2018-06-28 23:13:56 +00:00
< div > < fiddle-embed name = "da61054322550a2d5ac15114da23bd23" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_outset' > outset< / a > < sup > < a href = '#SkRRect_outset_2' > [2]< / a > < / sup > < a href = '#SkRRect_offset' > offset< / a > < a href = '#SkRRect_makeOffset' > makeOffset< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_outset' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
void < a href = '#SkRRect_outset' > outset< / a > (< a href = 'undocumented#SkScalar' > SkScalar< / a > dx, < a href = 'undocumented#SkScalar' > SkScalar< / a > dy, < a href = '#SkRRect' > SkRRect< / a > * dst) const
< / pre >
2018-10-31 16:14:03 +00:00
Outsets < a href = '#SkRRect_outset()_dst' > dst< / a > bounds by < a href = '#SkRRect_outset()_dx' > dx< / a > and < a href = '#SkRRect_outset()_dy' > dy< / a > , and adjusts radii by < a href = '#SkRRect_outset()_dx' > dx< / a > and < a href = '#SkRRect_outset()_dy' > dy< / a > . < a href = '#SkRRect_outset()_dx' > dx< / a > and < a href = '#SkRRect_outset()_dy' > dy< / a > may be
2018-07-11 20:18:41 +00:00
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.
2018-10-31 16:14:03 +00:00
If < a href = '#SkRRect_outset()_dx' > dx< / a > exceeds half < a href = '#SkRRect_outset()_dst' > dst< / a > bounds width, < a href = '#SkRRect_outset()_dst' > dst< / a > bounds left and right are set to
bounds x-axis center. If < a href = '#SkRRect_outset()_dy' > dy< / a > exceeds half < a href = '#SkRRect_outset()_dst' > dst< / a > bounds height, < a href = '#SkRRect_outset()_dst' > dst< / a > bounds top and
2018-07-11 20:18:41 +00:00
bottom are set to bounds y-axis center.
2018-10-31 16:14:03 +00:00
If < a href = '#SkRRect_outset()_dx' > dx< / a > or < a href = '#SkRRect_outset()_dy' > dy< / a > cause the bounds to become infinite, < a href = '#SkRRect_outset()_dst' > dst< / a > bounds is zeroed.
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_outset_dx' > < code > < strong > dx< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > subtracted from < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fLeft' > fLeft< / a > , and added to < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fRight' > fRight< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_outset_dy' > < code > < strong > dy< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > subtracted from < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fTop' > fTop< / a > , and added to < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fBottom' > fBottom< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_outset_dst' > < code > < strong > dst< / strong > < / code > < / a > < / td >
2018-06-28 23:13:56 +00:00
< td > outset bounds and radii< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Example
2018-06-28 23:13:56 +00:00
< div > < fiddle-embed name = "4d69b6d9c7726c47c42827d79fc7899c" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_inset' > inset< / a > < sup > < a href = '#SkRRect_inset_2' > [2]< / a > < / sup > < a href = '#SkRRect_offset' > offset< / a > < a href = '#SkRRect_makeOffset' > makeOffset< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_outset_2' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
void < a href = '#SkRRect_outset' > outset< / a > (< a href = 'undocumented#SkScalar' > SkScalar< / a > dx, < a href = 'undocumented#SkScalar' > SkScalar< / a > dy)
< / pre >
2018-07-11 20:18:41 +00:00
Outsets bounds by < a href = '#SkRRect_outset_2_dx' > dx< / a > and < a href = '#SkRRect_outset_2_dy' > dy< / a > , and adjusts radii by < a href = '#SkRRect_outset_2_dx' > dx< / a > and < a href = '#SkRRect_outset_2_dy' > dy< / a > . < a href = '#SkRRect_outset_2_dx' > dx< / a > and < a href = '#SkRRect_outset_2_dy' > dy< / a > 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 < a href = '#SkRRect_outset_2_dx' > dx< / a > exceeds half bounds width, bounds left and right are set to
bounds x-axis center. If < a href = '#SkRRect_outset_2_dy' > dy< / a > exceeds half bounds height, bounds top and
bottom are set to bounds y-axis center.
If < a href = '#SkRRect_outset_2_dx' > dx< / a > or < a href = '#SkRRect_outset_2_dy' > dy< / a > cause the bounds to become infinite, bounds is zeroed.
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_outset_2_dx' > < code > < strong > dx< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > subtracted from < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fLeft' > fLeft< / a > , and added to < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fRight' > fRight< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_outset_2_dy' > < code > < strong > dy< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > subtracted from < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fTop' > fTop< / a > , and added to < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fBottom' > fBottom< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Example
2018-06-28 23:13:56 +00:00
< div > < fiddle-embed name = "4391cced86653dcd0f84439a5c0bb3f2" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_inset' > inset< / a > < sup > < a href = '#SkRRect_inset_2' > [2]< / a > < / sup > < a href = '#SkRRect_offset' > offset< / a > < a href = '#SkRRect_makeOffset' > makeOffset< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_offset' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
void < a href = '#SkRRect_offset' > offset< / a > (< a href = 'undocumented#SkScalar' > SkScalar< / a > dx, < a href = 'undocumented#SkScalar' > SkScalar< / a > dy)
< / pre >
2018-10-31 16:14:03 +00:00
Translates < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > by (< a href = '#SkRRect_offset()_dx' > dx< / a > , < a href = '#SkRRect_offset()_dy' > dy< / a > ).
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_offset_dx' > < code > < strong > dx< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > offset added to < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fLeft' > fLeft< / a > and < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fRight' > fRight< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_offset_dy' > < code > < strong > dy< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > offset added to < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fTop' > fTop< / a > and < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fBottom' > fBottom< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Example
2018-06-28 23:13:56 +00:00
< div > < fiddle-embed name = "a45cdd46ef2fe0df62d84d41713e82e2" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_makeOffset' > makeOffset< / a > < a href = '#SkRRect_inset' > inset< / a > < sup > < a href = '#SkRRect_inset_2' > [2]< / a > < / sup > < a href = '#SkRRect_outset' > outset< / a > < sup > < a href = '#SkRRect_outset_2' > [2]< / a > < / sup >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_makeOffset' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
2018-10-08 18:57:48 +00:00
< a href = '#SkRRect' > SkRRect< / a > < a href = '#SkRRect_makeOffset' > makeOffset< / a > (< a href = 'undocumented#SkScalar' > SkScalar< / a > dx, < a href = 'undocumented#SkScalar' > SkScalar< / a > dy) const
2018-06-27 15:00:21 +00:00
< / pre >
2018-10-31 16:14:03 +00:00
Returns < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > translated by (< a href = '#SkRRect_makeOffset_dx' > dx< / a > , < a href = '#SkRRect_makeOffset_dy' > dy< / a > ).
2018-07-11 20:18:41 +00:00
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_makeOffset_dx' > < code > < strong > dx< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > offset added to < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fLeft' > fLeft< / a > and < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fRight' > fRight< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_makeOffset_dy' > < code > < strong > dy< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > offset added to < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fTop' > fTop< / a > and < a href = '#SkRRect_rect' > rect()< / a > .< a href = '#SkRect_fBottom' > fBottom< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Return Value
2018-10-31 16:14:03 +00:00
< a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > bounds offset by (< a href = '#SkRRect_makeOffset_dx' > dx< / a > , < a href = '#SkRRect_makeOffset_dy' > dy< / a > ), with unchanged corner radii
2018-06-27 15:00:21 +00:00
### Example
2018-06-28 23:13:56 +00:00
< div > < fiddle-embed name = "c433aa41eaf5e419e3349fb970a08151" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_offset' > offset< / a > < a href = '#SkRRect_inset' > inset< / a > < sup > < a href = '#SkRRect_inset_2' > [2]< / a > < / sup > < a href = '#SkRRect_outset' > outset< / a > < sup > < a href = '#SkRRect_outset_2' > [2]< / a > < / sup >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_contains' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
bool < a href = '#SkRRect_contains' > contains< / a > (const < a href = 'SkRect_Reference#SkRect' > SkRect< / a > & rect) const
< / pre >
2018-10-31 16:14:03 +00:00
Returns true if < a href = '#SkRRect_contains()_rect' > rect< / a > is inside the bounds and corner radii, and if
< a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > and < a href = '#SkRRect_contains()_rect' > rect< / a > are not empty.
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_contains_rect' > < code > < strong > rect< / strong > < / code > < / a > < / td >
2018-06-28 23:13:56 +00:00
< td > area tested for containment< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Return Value
2018-10-31 16:14:03 +00:00
true if < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > contains < a href = '#SkRRect_contains()_rect' > rect< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-10-30 00:33:51 +00:00
< div > < fiddle-embed name = "0bb057140e4119234bdd2e8dd2f0fa19" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = 'SkRect_Reference#SkRect_contains' > SkRect::contains< / a > < sup > < a href = 'SkRect_Reference#SkRect_contains_2' > [2]< / a > < / sup > < sup > < a href = 'SkRect_Reference#SkRect_contains_3' > [3]< / a > < / sup >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_isValid' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
bool < a href = '#SkRRect_isValid' > isValid< / a > () const
< / pre >
2018-10-31 16:14:03 +00:00
Returns true if bounds and radii values are finite and describe a < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a >
< a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > ::< a href = '#SkRRect_Type' > Type< / a > that matches < a href = '#SkRRect_getType' > getType< / a > (). All < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > methods construct valid types,
even if the input values are not valid. Invalid < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > < a href = 'undocumented#Data' > data< / a > can only
2018-07-11 20:18:41 +00:00
be generated by corrupting memory.
2018-06-27 15:00:21 +00:00
### Return Value
2018-10-31 16:14:03 +00:00
true if bounds and radii match < a href = '#SkRRect_type' > type()< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-10-30 00:33:51 +00:00
< div > < fiddle-embed name = "8cc1f21c98c0416f7724ad218f557a00" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-07-11 20:18:41 +00:00
< a href = '#SkRRect_Type' > Type< / a > < a href = '#SkRRect_getType' > getType< / a >
2018-06-27 15:00:21 +00:00
### Constants
< table style = 'border-collapse: collapse; width: 62.5em' >
< tr >< th style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' > Const</ th >
< th style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > Value</ th >
< th style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' > Description</ th ></ tr >
< tr style = 'background-color: #f0f0f0 ; ' >
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >< a name = 'SkRRect_kSizeInMemory' >< code > SkRRect::kSizeInMemory</ code ></ a ></ td >
< td style = 'text-align: center; border: 2px solid #dddddd ; padding: 8px; ' > 48</ td >
< td style = 'text-align: left; border: 2px solid #dddddd ; padding: 8px; ' >
2018-07-11 20:18:41 +00:00
Space required to serialize < a href = '#SkRRect' > SkRRect< / a > into a buffer. Always a multiple of four.
2018-06-27 15:00:21 +00:00
< / td >
< / tr >
< / table >
< a name = 'SkRRect_writeToMemory' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
size_t < a href = '#SkRRect_writeToMemory' > writeToMemory< / a > (void* buffer) const
< / pre >
2018-10-31 16:14:03 +00:00
Writes < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > to < a href = '#SkRRect_writeToMemory_buffer' > buffer< / a > . Writes < a href = '#SkRRect_kSizeInMemory' > kSizeInMemory< / a > bytes, and returns
2018-07-11 20:18:41 +00:00
< a href = '#SkRRect_kSizeInMemory' > kSizeInMemory< / a > , the number of bytes written.
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_writeToMemory_buffer' > < code > < strong > buffer< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > storage for < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Return Value
2018-07-11 20:18:41 +00:00
bytes written, < a href = '#SkRRect_kSizeInMemory' > kSizeInMemory< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-10-30 00:33:51 +00:00
< div > < fiddle-embed name = "d6f5a3d21727ddc15e10ef4d5103ff91" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-07-11 20:18:41 +00:00
< a href = '#SkRRect_readFromMemory' > readFromMemory< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_readFromMemory' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
size_t < a href = '#SkRRect_readFromMemory' > readFromMemory< / a > (const void* buffer, size_t length)
< / pre >
2018-10-31 16:14:03 +00:00
Reads < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > from < a href = '#SkRRect_readFromMemory_buffer' > buffer< / a > , reading < a href = '#SkRRect_kSizeInMemory' > kSizeInMemory< / a > bytes.
2018-07-11 20:18:41 +00:00
Returns < a href = '#SkRRect_kSizeInMemory' > kSizeInMemory< / a > , bytes read if < a href = '#SkRRect_readFromMemory_length' > length< / a > is at least < a href = '#SkRRect_kSizeInMemory' > kSizeInMemory< / a > .
Otherwise, returns zero.
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_readFromMemory_buffer' > < code > < strong > buffer< / strong > < / code > < / a > < / td >
< td > memory to read from< / td >
< / tr >
< tr > < td > < a name = 'SkRRect_readFromMemory_length' > < code > < strong > length< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > < a href = 'undocumented#Size' > size< / a > of < a href = '#SkRRect_readFromMemory_buffer' > buffer< / a > < / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Return Value
2018-07-11 20:18:41 +00:00
bytes read, or 0 if < a href = '#SkRRect_readFromMemory_length' > length< / a > is less than < a href = '#SkRRect_kSizeInMemory' > kSizeInMemory< / a >
2018-06-27 15:00:21 +00:00
### Example
2018-10-30 00:33:51 +00:00
< div > < fiddle-embed name = "50969745cf2b23544362f4cff5592b75" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-07-11 20:18:41 +00:00
< a href = '#SkRRect_writeToMemory' > writeToMemory< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_transform' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
bool < a href = '#SkRRect_transform' > transform< / a > (const < a href = 'SkMatrix_Reference#SkMatrix' > SkMatrix< / a > & matrix, < a href = '#SkRRect' > SkRRect< / a > * dst) const
< / pre >
2018-10-31 16:14:03 +00:00
Transforms by < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > by < a href = '#SkRRect_transform()_matrix' > matrix< / a > , storing result in < a href = '#SkRRect_transform()_dst' > dst< / a > .
Returns true if < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > transformed can be represented by another < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > .
Returns false if < a href = '#SkRRect_transform()_matrix' > matrix< / a > contains transformations other than scale and translate.
2018-06-28 23:13:56 +00:00
2018-10-31 16:14:03 +00:00
Asserts in debug builds if < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > equals < a href = '#SkRRect_transform()_dst' > dst< / a > .
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_transform_matrix' > < code > < strong > matrix< / strong > < / code > < / a > < / td >
2018-06-28 23:13:56 +00:00
< td > < a href = 'SkMatrix_Reference#SkMatrix' > SkMatrix< / a > specifying the transform< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< tr > < td > < a name = 'SkRRect_transform_dst' > < code > < strong > dst< / strong > < / code > < / a > < / td >
2018-10-31 16:14:03 +00:00
< td > < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > to store the result< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Return Value
2018-06-28 23:13:56 +00:00
true if transformation succeeded.
2018-06-27 15:00:21 +00:00
### Example
2018-10-30 00:33:51 +00:00
< div > < fiddle-embed name = "68a5d24f22e2d798608fce8a20e47fd0" > < / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-07-11 20:18:41 +00:00
< a href = 'SkPath_Reference#SkPath_transform' > SkPath::transform< / a > < sup > < a href = 'SkPath_Reference#SkPath_transform_2' > [2]< / a > < / sup >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_dump' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
void < a href = '#SkRRect_dump' > dump< / a > (bool asHex) const
< / pre >
2018-10-31 16:14:03 +00:00
Writes < a href = 'undocumented#Text' > text< / a > representation of < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > to standard output.
Set < a href = '#SkRRect_dump()_asHex' > asHex< / a > true to generate exact binary representations
of floating < a href = 'SkPoint_Reference#Point' > point< / a > numbers.
2018-06-28 23:13:56 +00:00
2018-06-27 15:00:21 +00:00
### Parameters
< table > < tr > < td > < a name = 'SkRRect_dump_asHex' > < code > < strong > asHex< / strong > < / code > < / a > < / td >
2018-06-28 23:13:56 +00:00
< td > true if < a href = 'undocumented#SkScalar' > SkScalar< / a > values are written as hexadecimal< / td >
2018-06-27 15:00:21 +00:00
< / tr >
< / table >
### Example
2018-06-28 23:13:56 +00:00
< div > < fiddle-embed name = "265b8d23288dc8026ff788e809360af7" >
#### Example Output
~~~~
SkRect::MakeLTRB(0.857143f, 0.666667f, 0.857143f, 0.666667f);
const SkPoint corners[] = {
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
};
SkRect::MakeLTRB(SkBits2Float(0x3f5b6db7), /* 0.857143 */
SkBits2Float(0x3f2aaaab), /* 0.666667 */
SkBits2Float(0x3f5b6db7), /* 0.857143 */
SkBits2Float(0x3f2aaaab) /* 0.666667 */);
const SkPoint corners[] = {
{ SkBits2Float(0x00000000), SkBits2Float(0x00000000) }, /* 0.000000 0.000000 */
{ SkBits2Float(0x00000000), SkBits2Float(0x00000000) }, /* 0.000000 0.000000 */
{ SkBits2Float(0x00000000), SkBits2Float(0x00000000) }, /* 0.000000 0.000000 */
{ SkBits2Float(0x00000000), SkBits2Float(0x00000000) }, /* 0.000000 0.000000 */
};
~~~~
< / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_dumpHex' > dumpHex< / a > < a href = 'SkRect_Reference#SkRect_dump' > SkRect::dump< / a > < sup > < a href = 'SkRect_Reference#SkRect_dump_2' > [2]< / a > < / sup > < a href = 'SkPath_Reference#SkPath_dump' > SkPath::dump< / a > < sup > < a href = 'SkPath_Reference#SkPath_dump_2' > [2]< / a > < / sup > < a href = 'undocumented#SkPathMeasure_dump' > SkPathMeasure::dump< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_dump_2' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
void < a href = '#SkRRect_dump' > dump< / a > () const
< / pre >
2018-10-31 16:14:03 +00:00
Writes < a href = 'undocumented#Text' > text< / a > representation of < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > to standard output. The representation
may be directly compiled as C++ code. Floating < a href = 'SkPoint_Reference#Point' > point< / a > values are written
2018-06-28 23:13:56 +00:00
with limited precision; it may not be possible to reconstruct original
2018-10-31 16:14:03 +00:00
< a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > from output.
2018-06-28 23:13:56 +00:00
2018-06-27 15:00:21 +00:00
### Example
2018-06-28 23:13:56 +00:00
< div > < fiddle-embed name = "f850423c7c0c4f803d479ecd92221059" >
#### Example Output
~~~~
SkRect::MakeLTRB(0.857143f, 0.666667f, 0.857143f, 0.666667f);
const SkPoint corners[] = {
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
};
rrect is not equal to copy
~~~~
< / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_dumpHex' > dumpHex< / a > < a href = 'SkRect_Reference#SkRect_dump' > SkRect::dump< / a > < sup > < a href = 'SkRect_Reference#SkRect_dump_2' > [2]< / a > < / sup > < a href = 'SkPath_Reference#SkPath_dump' > SkPath::dump< / a > < sup > < a href = 'SkPath_Reference#SkPath_dump_2' > [2]< / a > < / sup > < a href = 'undocumented#SkPathMeasure_dump' > SkPathMeasure::dump< / a >
2018-06-27 15:00:21 +00:00
< a name = 'SkRRect_dumpHex' > < / a >
2018-10-16 14:30:28 +00:00
---
2018-06-27 15:00:21 +00:00
< pre style = "padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0 " >
void < a href = '#SkRRect_dumpHex' > dumpHex< / a > () const
< / pre >
2018-10-31 16:14:03 +00:00
Writes < a href = 'undocumented#Text' > text< / a > representation of < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > to standard output. The representation
may be directly compiled as C++ code. Floating < a href = 'SkPoint_Reference#Point' > point< / a > values are written
2018-06-28 23:13:56 +00:00
in hexadecimal to preserve their exact bit pattern. The output reconstructs the
2018-10-31 16:14:03 +00:00
original < a href = 'SkRRect_Reference#SkRRect' > SkRRect< / a > .
2018-06-28 23:13:56 +00:00
2018-06-27 15:00:21 +00:00
### Example
2018-06-28 23:13:56 +00:00
< div > < fiddle-embed name = "c73f5e2644d949b859f05bd367883454" >
#### Example Output
~~~~
SkRect::MakeLTRB(SkBits2Float(0x3f5b6db7), /* 0.857143 */
SkBits2Float(0x3f2aaaab), /* 0.666667 */
SkBits2Float(0x3f5b6db7), /* 0.857143 */
SkBits2Float(0x3f2aaaab) /* 0.666667 */);
const SkPoint corners[] = {
{ SkBits2Float(0x00000000), SkBits2Float(0x00000000) }, /* 0.000000 0.000000 */
{ SkBits2Float(0x00000000), SkBits2Float(0x00000000) }, /* 0.000000 0.000000 */
{ SkBits2Float(0x00000000), SkBits2Float(0x00000000) }, /* 0.000000 0.000000 */
{ SkBits2Float(0x00000000), SkBits2Float(0x00000000) }, /* 0.000000 0.000000 */
};
rrect is equal to copy
~~~~
< / fiddle-embed > < / div >
2018-06-27 15:00:21 +00:00
### See Also
2018-06-28 23:13:56 +00:00
< a href = '#SkRRect_dump' > dump< / a > < sup > < a href = '#SkRRect_dump_2' > [2]< / a > < / sup > < a href = 'SkRect_Reference#SkRect_dumpHex' > SkRect::dumpHex< / a > < a href = 'SkPath_Reference#SkPath_dumpHex' > SkPath::dumpHex< / a >
2018-06-27 15:00:21 +00:00