44 this->setBGColor(0xFFFFFFFF);
58 fPaths.push_back(tri);
59 fPaths.emplace_back();
60 fPaths.back().reverseAddPath(tri);
63 fPaths.push_back(tri);
80 fPaths.push_back(ngon);
84 fPaths.push_back(ngon);
89 fPaths.push_back(linePath);
95 *errorMsg = kErrorMsg_DrawSkippedGpuOnly;
100 static constexpr SkScalar kDX = 12.f;
101 static constexpr SkScalar kOutset = 5.f;
103 for (
const SkPath& path : fPaths) {
109 path.transform(m, &p);
121 auto rect = p.getBounds().makeOutset(kOutset, kOutset);
122 auto op = sk_gpu_test::test_ops::MakeRect(rContext, std::move(grPaint), rect);
123 sdc->addDrawOp(std::move(op));
133 canvas->
translate(path.getBounds().width() + 10.f, 0);
134 paint.setAntiAlias(
true);
145 std::vector<SkPath> fPaths;
147 using INHERITED =
GM;
150DEF_GM(
return new ConvexPolyEffect;)
static const int kGrClipEdgeTypeCnt
#define SkScalarSin(radians)
#define SkScalarCos(radians)
#define SkScalarCeilToScalar(x)
static SkScalar center(float pos0, float pos1)
static constexpr int kMaxEdges
static GrFPResult Make(std::unique_ptr< GrFragmentProcessor > inputFP, GrClipEdgeType edgeType, int n, const float edges[])
void setXPFactory(const GrXPFactory *xpFactory)
void setColor4f(const SkPMColor4f &color)
void setCoverageFragmentProcessor(std::unique_ptr< GrFragmentProcessor > fp)
static const GrXPFactory * Get(SkBlendMode blendMode)
void translate(SkScalar dx, SkScalar dy)
void drawPath(const SkPath &path, const SkPaint &paint)
static SkMatrix Translate(SkScalar dx, SkScalar dy)
SkMatrix & setScale(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py)
SkPath & moveTo(SkScalar x, SkScalar y)
SkPath & lineTo(SkScalar x, SkScalar y)
void transform(const SkMatrix &matrix, SkPath *dst, SkApplyPerspectiveClip pc=SkApplyPerspectiveClip::kYes) const
SkISize getISize() override
DrawResult onDraw(GrRecordingContext *rContext, SkCanvas *canvas, SkString *errorMsg) override
SkString getName() const override
void onOnceBeforeDraw() override
SurfaceDrawContext * TopDeviceSurfaceDrawContext(const SkCanvas *canvas)
static constexpr SkISize Make(int32_t w, int32_t h)
void scale(float scale, SkPoint *dst) const