73 kLastType = kComplex_Type,
78 return static_cast<Type>(fType);
83 inline bool isEmpty()
const {
return kEmpty_Type == this->getType(); }
84 inline bool isRect()
const {
return kRect_Type == this->getType(); }
85 inline bool isOval()
const {
return kOval_Type == this->getType(); }
86 inline bool isSimple()
const {
return kSimple_Type == this->getType(); }
87 inline bool isNinePatch()
const {
return kNinePatch_Type == this->getType(); }
88 inline bool isComplex()
const {
return kComplex_Type == this->getType(); }
127 if (!this->initializeRect(
rect)) {
131 memset(fRadii, 0,
sizeof(fRadii));
342 this->
inset(dx, dy,
this);
379 this->
inset(-dx, -dy,
this);
420 bool isValid()
const;
422 static constexpr size_t kSizeInMemory = 12 *
sizeof(
SkScalar);
432 size_t writeToMemory(
void*
buffer)
const;
444 size_t readFromMemory(
const void*
buffer,
size_t length);
468 void dump(
bool asHex)
const;
469 SkString dumpToString(
bool asHex)
const;
486 static bool AreRectAndRadiiValid(
const SkRect&,
const SkVector[4]);
490 , fRadii{radii[0], radii[1], radii[2], radii[3]}
497 bool initializeRect(
const SkRect&);
506 SkVector fRadii[4] = {{0, 0}, {0, 0}, {0,0}, {0,0}};
508 int32_t fType = kEmpty_Type;
static bool SkScalarsEqual(const SkScalar a[], const SkScalar b[], int n)
static void dump(const float m[20], SkYUVColorSpace cs, bool rgb2yuv)
SkVector getSimpleRadii() const
void outset(SkScalar dx, SkScalar dy, SkRRect *dst) const
SkRRect & operator=(const SkRRect &rrect)=default
const SkRect & rect() const
SkVector radii(Corner corner) const
@ kOval_Type
non-zero width and height filled with radii
@ kSimple_Type
non-zero width and height with equal radii
@ kEmpty_Type
zero width or height
@ kNinePatch_Type
non-zero width and height with axis-aligned radii
@ kRect_Type
non-zero width and height, and zeroed radii
@ kComplex_Type
non-zero width and height with arbitrary radii
friend bool operator==(const SkRRect &a, const SkRRect &b)
static SkRRect MakeOval(const SkRect &oval)
friend bool operator!=(const SkRRect &a, const SkRRect &b)
SkRRect(const SkRRect &rrect)=default
@ kUpperLeft_Corner
index of top-left corner radii
@ kLowerRight_Corner
index of bottom-right corner radii
@ kUpperRight_Corner
index of top-right corner radii
@ kLowerLeft_Corner
index of bottom-left corner radii
static SkRRect MakeRect(const SkRect &r)
void setOval(const SkRect &oval)
void offset(SkScalar dx, SkScalar dy)
static SkRRect MakeRectXY(const SkRect &rect, SkScalar xRad, SkScalar yRad)
void outset(SkScalar dx, SkScalar dy)
SkRRect makeOffset(SkScalar dx, SkScalar dy) const
void setRectXY(const SkRect &rect, SkScalar xRad, SkScalar yRad)
void inset(SkScalar dx, SkScalar dy)
const SkRect & getBounds() const
void setRect(const SkRect &rect)
static SkRRect MakeEmpty()
unsigned useCenter Optional< SkMatrix > matrix
sk_sp< SkBlender > blender SkRect rect
skia_private::AutoTArray< sk_sp< SkImageFilter > > filters TypedMatrix matrix TypedMatrix matrix SkScalar dx
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir Path to the cache directory This is different from the persistent_cache_path in embedder which is used for Skia shader cache icu native lib Path to the library file that exports the ICU data vm service The hostname IP address on which the Dart VM Service should be served If not defaults to or::depending on whether ipv6 is specified vm service A custom Dart VM Service port The default is to pick a randomly available open port disable vm Disable the Dart VM Service The Dart VM Service is never available in release mode disable vm service Disable mDNS Dart VM Service publication Bind to the IPv6 localhost address for the Dart VM Service Ignored if vm service host is set endless trace buffer
constexpr bool contains(std::string_view str, std::string_view needle)
static SkColor4f transform(SkColor4f c, SkColorSpace *src, SkColorSpace *dst)
static SkRect inset(const SkRect &r)
static constexpr SkRect MakeEmpty()
constexpr SkRect makeOffset(float dx, float dy) const
void offset(float dx, float dy)
constexpr float height() const
constexpr float width() const