summaryrefslogtreecommitdiff
path: root/chromium/third_party/skia/gm/beziereffects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/skia/gm/beziereffects.cpp')
-rw-r--r--chromium/third_party/skia/gm/beziereffects.cpp149
1 files changed, 68 insertions, 81 deletions
diff --git a/chromium/third_party/skia/gm/beziereffects.cpp b/chromium/third_party/skia/gm/beziereffects.cpp
index e61e0f39c59..327f8067cd4 100644
--- a/chromium/third_party/skia/gm/beziereffects.cpp
+++ b/chromium/third_party/skia/gm/beziereffects.cpp
@@ -78,11 +78,10 @@ public:
}
protected:
- BezierTestOp(GrClipEdgeType et, const SkRect& rect, const SkPMColor4f& color, int32_t classID)
+ BezierTestOp(const SkRect& rect, const SkPMColor4f& color, int32_t classID)
: INHERITED(classID)
, fRect(rect)
, fColor(color)
- , fEdgeType(et)
, fProcessorSet(SkBlendMode::kSrc) {
this->setBounds(rect, HasAABloat::kYes, IsHairline::kNo);
}
@@ -125,8 +124,6 @@ protected:
flushState->drawMesh(*fMesh);
}
- GrClipEdgeType edgeType() const { return fEdgeType; }
-
const SkRect& rect() const { return fRect; }
const SkPMColor4f& color() const { return fColor; }
@@ -136,7 +133,6 @@ protected:
private:
SkRect fRect;
SkPMColor4f fColor;
- GrClipEdgeType fEdgeType;
GrProcessorSet fProcessorSet;
GrProgramInfo* fProgramInfo = nullptr;
@@ -153,21 +149,20 @@ public:
const char* name() const final { return "BezierConicTestOp"; }
static std::unique_ptr<GrDrawOp> Make(GrRecordingContext* context,
- GrClipEdgeType et,
const SkRect& rect,
const SkPMColor4f& color,
const SkMatrix& klm) {
GrOpMemoryPool* pool = context->priv().opMemoryPool();
- return pool->allocate<BezierConicTestOp>(et, rect, color, klm);
+ return pool->allocate<BezierConicTestOp>(rect, color, klm);
}
private:
friend class ::GrOpMemoryPool; // for ctor
- BezierConicTestOp(GrClipEdgeType et, const SkRect& rect,
- const SkPMColor4f& color, const SkMatrix& klm)
- : INHERITED(et, rect, color, ClassID()), fKLM(klm) {}
+ BezierConicTestOp(const SkRect& rect, const SkPMColor4f& color, const SkMatrix& klm)
+ : INHERITED(rect, color, ClassID())
+ , fKLM(klm) {}
struct Vertex {
SkPoint fPosition;
@@ -175,8 +170,8 @@ private:
};
GrGeometryProcessor* makeGP(const GrCaps& caps, SkArenaAlloc* arena) final {
- auto tmp = GrConicEffect::Make(arena, this->color(), SkMatrix::I(), this->edgeType(),
- caps, SkMatrix::I(), false);
+ auto tmp = GrConicEffect::Make(arena, this->color(), SkMatrix::I(), caps, SkMatrix::I(),
+ false);
if (!tmp) {
return nullptr;
}
@@ -228,7 +223,7 @@ protected:
}
SkISize onISize() override {
- return SkISize::Make(kGrClipEdgeTypeCnt*kCellWidth, kNumConics*kCellHeight);
+ return SkISize::Make(kCellWidth, kNumConics*kCellHeight);
}
void onDraw(GrContext* context, GrRenderTargetContext* renderTargetContext,
@@ -270,43 +265,39 @@ protected:
for (int row = 0; row < kNumConics; ++row) {
- for(int col = 0; col < kGrClipEdgeTypeCnt; ++col) {
- GrClipEdgeType et = (GrClipEdgeType) col;
+ SkScalar x = 0;
+ SkScalar y = row * h;
+ SkPoint controlPts[] = {
+ {x + baseControlPts[row][0].fX, y + baseControlPts[row][0].fY},
+ {x + baseControlPts[row][1].fX, y + baseControlPts[row][1].fY},
+ {x + baseControlPts[row][2].fX, y + baseControlPts[row][2].fY}
+ };
+
+ for (int i = 0; i < 3; ++i) {
+ canvas->drawCircle(controlPts[i], 6.f, ctrlPtPaint);
+ }
- SkScalar x = col * w;
- SkScalar y = row * h;
- SkPoint controlPts[] = {
- {x + baseControlPts[row][0].fX, y + baseControlPts[row][0].fY},
- {x + baseControlPts[row][1].fX, y + baseControlPts[row][1].fY},
- {x + baseControlPts[row][2].fX, y + baseControlPts[row][2].fY}
- };
+ canvas->drawPoints(SkCanvas::kPolygon_PointMode, 3, controlPts, polyPaint);
+ SkConic dst[4];
+ SkMatrix klm;
+ int cnt = ChopConic(controlPts, dst, weights[row]);
+ GrPathUtils::getConicKLM(controlPts, weights[row], &klm);
+
+ for (int c = 0; c < cnt; ++c) {
+ SkPoint* pts = dst[c].fPts;
for (int i = 0; i < 3; ++i) {
- canvas->drawCircle(controlPts[i], 6.f, ctrlPtPaint);
+ canvas->drawCircle(pts[i], 3.f, choppedPtPaint);
}
- canvas->drawPoints(SkCanvas::kPolygon_PointMode, 3, controlPts, polyPaint);
-
- SkConic dst[4];
- SkMatrix klm;
- int cnt = ChopConic(controlPts, dst, weights[row]);
- GrPathUtils::getConicKLM(controlPts, weights[row], &klm);
+ SkRect bounds;
+ bounds.setBounds(pts, 3);
- for (int c = 0; c < cnt; ++c) {
- SkPoint* pts = dst[c].fPts;
- for (int i = 0; i < 3; ++i) {
- canvas->drawCircle(pts[i], 3.f, choppedPtPaint);
- }
+ canvas->drawRect(bounds, boundsPaint);
- SkRect bounds;
- bounds.setBounds(pts, 3);
-
- canvas->drawRect(bounds, boundsPaint);
-
- std::unique_ptr<GrDrawOp> op = BezierConicTestOp::Make(context, et, bounds,
- kOpaqueBlack, klm);
- renderTargetContext->priv().testingOnly_addDrawOp(std::move(op));
- }
+ std::unique_ptr<GrDrawOp> op = BezierConicTestOp::Make(context, bounds,
+ kOpaqueBlack, klm);
+ renderTargetContext->priv().testingOnly_addDrawOp(std::move(op));
}
}
}
@@ -363,21 +354,21 @@ public:
const char* name() const override { return "BezierQuadTestOp"; }
static std::unique_ptr<GrDrawOp> Make(GrRecordingContext* context,
- GrClipEdgeType et,
const SkRect& rect,
const SkPMColor4f& color,
const GrPathUtils::QuadUVMatrix& devToUV) {
GrOpMemoryPool* pool = context->priv().opMemoryPool();
- return pool->allocate<BezierQuadTestOp>(et, rect, color, devToUV);
+ return pool->allocate<BezierQuadTestOp>(rect, color, devToUV);
}
private:
friend class ::GrOpMemoryPool; // for ctor
- BezierQuadTestOp(GrClipEdgeType et, const SkRect& rect,
- const SkPMColor4f& color, const GrPathUtils::QuadUVMatrix& devToUV)
- : INHERITED(et, rect, color, ClassID()), fDevToUV(devToUV) {}
+ BezierQuadTestOp(const SkRect& rect, const SkPMColor4f& color,
+ const GrPathUtils::QuadUVMatrix& devToUV)
+ : INHERITED(rect, color, ClassID())
+ , fDevToUV(devToUV) {}
struct Vertex {
SkPoint fPosition;
@@ -385,8 +376,8 @@ private:
};
GrGeometryProcessor* makeGP(const GrCaps& caps, SkArenaAlloc* arena) final {
- auto tmp = GrQuadEffect::Make(arena, this->color(), SkMatrix::I(), this->edgeType(),
- caps, SkMatrix::I(), false);
+ auto tmp = GrQuadEffect::Make(arena, this->color(), SkMatrix::I(), caps, SkMatrix::I(),
+ false);
if (!tmp) {
return nullptr;
}
@@ -434,7 +425,7 @@ protected:
}
SkISize onISize() override {
- return SkISize::Make(kGrClipEdgeTypeCnt*kCellWidth, kNumQuads*kCellHeight);
+ return SkISize::Make(kCellWidth, kNumQuads*kCellHeight);
}
void onDraw(GrContext* context, GrRenderTargetContext* renderTargetContext,
@@ -468,44 +459,40 @@ protected:
boundsPaint.setStyle(SkPaint::kStroke_Style);
for (int row = 0; row < kNumQuads; ++row) {
- for(int col = 0; col < kGrClipEdgeTypeCnt; ++col) {
- GrClipEdgeType et = (GrClipEdgeType) col;
-
- SkScalar x = col * w;
- SkScalar y = row * h;
- SkPoint controlPts[] = {
- {x + baseControlPts[row][0].fX, y + baseControlPts[row][0].fY},
- {x + baseControlPts[row][1].fX, y + baseControlPts[row][1].fY},
- {x + baseControlPts[row][2].fX, y + baseControlPts[row][2].fY}
- };
-
- for (int i = 0; i < 3; ++i) {
- canvas->drawCircle(controlPts[i], 6.f, ctrlPtPaint);
- }
+ SkScalar x = 0;
+ SkScalar y = row * h;
+ SkPoint controlPts[] = {
+ {x + baseControlPts[row][0].fX, y + baseControlPts[row][0].fY},
+ {x + baseControlPts[row][1].fX, y + baseControlPts[row][1].fY},
+ {x + baseControlPts[row][2].fX, y + baseControlPts[row][2].fY}
+ };
+
+ for (int i = 0; i < 3; ++i) {
+ canvas->drawCircle(controlPts[i], 6.f, ctrlPtPaint);
+ }
- canvas->drawPoints(SkCanvas::kPolygon_PointMode, 3, controlPts, polyPaint);
+ canvas->drawPoints(SkCanvas::kPolygon_PointMode, 3, controlPts, polyPaint);
- SkPoint chopped[5];
- int cnt = SkChopQuadAtMaxCurvature(controlPts, chopped);
+ SkPoint chopped[5];
+ int cnt = SkChopQuadAtMaxCurvature(controlPts, chopped);
- for (int c = 0; c < cnt; ++c) {
- SkPoint* pts = chopped + 2 * c;
+ for (int c = 0; c < cnt; ++c) {
+ SkPoint* pts = chopped + 2 * c;
- for (int i = 0; i < 3; ++i) {
- canvas->drawCircle(pts[i], 3.f, choppedPtPaint);
- }
+ for (int i = 0; i < 3; ++i) {
+ canvas->drawCircle(pts[i], 3.f, choppedPtPaint);
+ }
- SkRect bounds;
- bounds.setBounds(pts, 3);
+ SkRect bounds;
+ bounds.setBounds(pts, 3);
- canvas->drawRect(bounds, boundsPaint);
+ canvas->drawRect(bounds, boundsPaint);
- GrPathUtils::QuadUVMatrix DevToUV(pts);
+ GrPathUtils::QuadUVMatrix DevToUV(pts);
- std::unique_ptr<GrDrawOp> op = BezierQuadTestOp::Make(context, et, bounds,
- kOpaqueBlack, DevToUV);
- renderTargetContext->priv().testingOnly_addDrawOp(std::move(op));
- }
+ std::unique_ptr<GrDrawOp> op = BezierQuadTestOp::Make(context, bounds,
+ kOpaqueBlack, DevToUV);
+ renderTargetContext->priv().testingOnly_addDrawOp(std::move(op));
}
}
}