diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/third_party/skia/samplecode/SampleTessellatedWedge.cpp | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/third_party/skia/samplecode/SampleTessellatedWedge.cpp')
-rw-r--r-- | chromium/third_party/skia/samplecode/SampleTessellatedWedge.cpp | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/chromium/third_party/skia/samplecode/SampleTessellatedWedge.cpp b/chromium/third_party/skia/samplecode/SampleTessellatedWedge.cpp index 66b73ba37c1..0598b1f026c 100644 --- a/chromium/third_party/skia/samplecode/SampleTessellatedWedge.cpp +++ b/chromium/third_party/skia/samplecode/SampleTessellatedWedge.cpp @@ -22,9 +22,9 @@ // This sample enables wireframe and visualizes the triangulation generated by // GrTessellateWedgeShader. -class TessellatedWedgeView : public Sample { +class TessellatedWedge : public Sample { public: - TessellatedWedgeView() { + TessellatedWedge() { #if 0 fPath.moveTo(1, 0); int numSides = 32 * 3; @@ -32,8 +32,8 @@ public: float theta = 2*3.1415926535897932384626433832785 * i / numSides; fPath.lineTo(std::cos(theta), std::sin(theta)); } - fPath.transform(SkMatrix::MakeScale(200, 200)); - fPath.transform(SkMatrix::MakeTrans(300, 300)); + fPath.transform(SkMatrix::Scale(200, 200)); + fPath.transform(SkMatrix::Translate(300, 300)); #else fPath.moveTo(100, 200); fPath.cubicTo(100, 100, 400, 100, 400, 200); @@ -51,12 +51,12 @@ private: SkMatrix fLastViewMatrix = SkMatrix::I(); SkPath fPath; - GrTessellatePathOp::Flags fFlags = GrTessellatePathOp::Flags::kWireframe; + GrTessellationPathRenderer::OpFlags fOpFlags = GrTessellationPathRenderer::OpFlags::kWireframe; class Click; }; -void TessellatedWedgeView::onDrawContent(SkCanvas* canvas) { +void TessellatedWedge::onDrawContent(SkCanvas* canvas) { canvas->clear(SK_ColorBLACK); GrContext* ctx = canvas->getGrContext(); @@ -65,8 +65,8 @@ void TessellatedWedgeView::onDrawContent(SkCanvas* canvas) { SkString error; if (!rtc || !ctx) { error = "GPU Only."; - } else if (!ctx->priv().caps()->shaderCaps()->tessellationSupport()) { - error = "GPU tessellation not supported."; + } else if (!ctx->priv().caps()->drawInstancedSupport()) { + error = "Instanced rendering not supported."; } else if (1 == rtc->numSamples() && !ctx->priv().caps()->mixedSamplesSupport()) { error = "MSAA/mixed samples only."; } @@ -92,7 +92,7 @@ void TessellatedWedgeView::onDrawContent(SkCanvas* canvas) { GrOpMemoryPool* pool = ctx->priv().opMemoryPool(); rtc->priv().testingOnly_addDrawOp(pool->allocate<GrTessellatePathOp>( - canvas->getTotalMatrix(), fPath, std::move(paint), aa, fFlags)); + canvas->getTotalMatrix(), fPath, std::move(paint), aa, fOpFlags)); // Draw the path points. SkPaint pointsPaint; @@ -110,7 +110,7 @@ void TessellatedWedgeView::onDrawContent(SkCanvas* canvas) { fLastViewMatrix = canvas->getTotalMatrix(); } -class TessellatedWedgeView::Click : public Sample::Click { +class TessellatedWedge::Click : public Sample::Click { public: Click(int ptIdx) : fPtIdx(ptIdx) {} @@ -120,7 +120,7 @@ public: SkPathPriv::UpdatePathPoint(path, fPtIdx, pt + fCurr - fPrev); } else { path->transform( - SkMatrix::MakeTrans(fCurr.x() - fPrev.x(), fCurr.y() - fPrev.y()), path); + SkMatrix::Translate(fCurr.x() - fPrev.x(), fCurr.y() - fPrev.y()), path); } } @@ -128,7 +128,7 @@ private: int fPtIdx; }; -Sample::Click* TessellatedWedgeView::onFindClickHandler(SkScalar x, SkScalar y, skui::ModifierKey) { +Sample::Click* TessellatedWedge::onFindClickHandler(SkScalar x, SkScalar y, skui::ModifierKey) { const SkPoint* pts = SkPathPriv::PointData(fPath); float fuzz = 20 / fLastViewMatrix.getMaxScale(); for (int i = 0; i < fPath.countPoints(); ++i) { @@ -140,17 +140,17 @@ Sample::Click* TessellatedWedgeView::onFindClickHandler(SkScalar x, SkScalar y, return new Click(-1); } -bool TessellatedWedgeView::onClick(Sample::Click* click) { +bool TessellatedWedge::onClick(Sample::Click* click) { Click* myClick = (Click*)click; myClick->doClick(&fPath); return true; } -bool TessellatedWedgeView::onChar(SkUnichar unichar) { +bool TessellatedWedge::onChar(SkUnichar unichar) { switch (unichar) { case 'w': - fFlags = (GrTessellatePathOp::Flags)( - (int)fFlags ^ (int)GrTessellatePathOp::Flags::kWireframe); + fOpFlags = (GrTessellationPathRenderer::OpFlags)( + (int)fOpFlags ^ (int)GrTessellationPathRenderer::OpFlags::kWireframe); return true; case 'D': { fPath.dump(); @@ -160,6 +160,7 @@ bool TessellatedWedgeView::onChar(SkUnichar unichar) { return false; } -DEF_SAMPLE(return new TessellatedWedgeView;) +Sample* MakeTessellatedWedgeSample() { return new TessellatedWedge; } +static SampleRegistry gTessellatedWedgeSample(MakeTessellatedWedgeSample); #endif // SK_SUPPORT_GPU |