8#ifndef skgpu_graphite_geom_Shape_DEFINED
9#define skgpu_graphite_geom_Shape_DEFINED
30 enum class Type : uint8_t {
31 kEmpty, kLine, kRect,
kRRect, kPath
92 bool convex(
bool simpleFill =
true)
const;
167 void writeKey(uint32_t*
key,
bool includeInverted)
const;
183 uint32_t stateKey(
bool includeInverted)
const;
192 bool fInverted =
false;
bool isInverseFillType() const
SkPathFillType getFillType() const
void toggleInverseFillType()
AI float2 topLeft() const
AI float2 botRight() const
bool convex(bool simpleFill=true) const
Shape(const SkPath &path)
void setLine(SkPoint p0, SkPoint p1)
const SkPath & path() const
Shape(SkPoint p0, SkPoint p1)
void setRRect(const SkRRect &rrect)
Shape(const SkRRect &rrect)
void setRect(const Rect &rect)
void setLine(SkV2 p0, SkV2 p1)
Shape(skvx::float2 p0, skvx::float2 p1)
Shape & operator=(Shape &&)=delete
void writeKey(uint32_t *key, bool includeInverted) const
skvx::float4 line() const
SkPathFillType fillType() const
const SkRRect & rrect() const
void setInverted(bool inverted)
const Rect & rect() const
bool conservativeContains(const Rect &rect) const
Shape(const Shape &shape)
void setRect(const SkRect &rect)
static constexpr int kTypeCount
void setPath(const SkPath &path)
void setLine(skvx::float2 p0, skvx::float2 p1)
Shape(const SkRect &rect)