49 {
51 if (!sdc) {
52 *errorMsg = kErrorMsg_DrawSkippedGpuOnly;
54 }
55
57 static constexpr SkScalar kDX = 12.f;
58 static constexpr SkScalar kOutset = 5.f;
59
60 static constexpr SkRect kRects[] = {
61
63
65
68
71
73 };
74
75 for (auto r : kRects) {
77
83
88 auto drawRect =
rect.makeOutset(kOutset, kOutset);
90 sdc->addDrawOp(std::move(op));
91
93 }
94
95
101 paint.setAntiAlias(
true);
104
106 }
107
109 }
static const int kGrClipEdgeTypeCnt
#define SkScalarCeilToScalar(x)
static std::unique_ptr< GrFragmentProcessor > Rect(std::unique_ptr< GrFragmentProcessor >, GrClipEdgeType, SkRect)
void setXPFactory(const GrXPFactory *xpFactory)
void setColor4f(const SkPMColor4f &color)
void setCoverageFragmentProcessor(std::unique_ptr< GrFragmentProcessor > fp)
static const GrXPFactory * Get(SkBlendMode blendMode)
void drawRect(const SkRect &rect, const SkPaint &paint)
void translate(SkScalar dx, SkScalar dy)
sk_sp< SkBlender > blender SkRect rect
GrOp::Owner MakeRect(GrRecordingContext *context, GrPaint &&paint, const SkRect &drawRect, const SkRect &localRect, const SkMatrix &localM)
SurfaceDrawContext * TopDeviceSurfaceDrawContext(const SkCanvas *canvas)
static constexpr SkRect MakeLTRB(float l, float t, float r, float b)