Lines Matching refs:GrShape
31 * GrShape is a convenience class to represent the many different specialized geometries that
41 * Regarding GrShape's empty shape:
42 * - GrShape uses empty to refer to the absence of any geometric data
43 * - SkRect::isEmpty() returns true if the rect is not sorted, even if it has area. GrShape will not
44 * simplify these shapes to an empty GrShape. Rects with actual 0 width and height will simplify
46 * - SkRRect::isEmpty() is true when the bounds have 0 width or height, so GrShape will simplify it
49 class GrShape {
51 // The current set of types GrShape can represent directly
64 GrShape() {}
65 explicit GrShape(const SkPoint& point) { this->setPoint(point); }
66 explicit GrShape(const SkRect& rect) { this->setRect(rect); }
67 explicit GrShape(const SkRRect& rrect) { this->setRRect(rrect); }
68 explicit GrShape(const SkPath& path) { this->setPath(path); }
69 explicit GrShape(const GrArc& arc) { this->setArc(arc); }
70 explicit GrShape(const GrLineSegment& line){ this->setLine(line); }
72 GrShape(const GrShape& shape) { *this = shape; }
74 ~GrShape() { this->reset(); }
77 // defining a move assignment operator for GrShape.
78 GrShape& operator=(const GrShape& shape);
148 // Update the geometry stored in the GrShape and update its associated type to match. This
256 // simplification that hasn't been set on the GrShape yet. The simpler types do not report