Use Canvas::create_recording_canvas instead of RecordingCanvas ctor
Modify HWUI tests to support different recording canvases. Delete
TestCanvas class and use base Canvas class instead. Use
Canvas::create_recording_canvas to create recording canvas instances
instead of RecordingCanvas constructor.
Change-Id: I651fb9bb4add0874d7110bac467a2eb1012357fc
diff --git a/libs/hwui/tests/unit/FrameBuilderTests.cpp b/libs/hwui/tests/unit/FrameBuilderTests.cpp
index e5fc556..d70476d 100644
--- a/libs/hwui/tests/unit/FrameBuilderTests.cpp
+++ b/libs/hwui/tests/unit/FrameBuilderTests.cpp
@@ -127,7 +127,7 @@
}
};
- auto node = TestUtils::createNode(0, 0, 100, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 100, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
SkBitmap bitmap = TestUtils::createSkBitmap(25, 25);
canvas.drawRect(0, 0, 100, 200, SkPaint());
@@ -155,7 +155,7 @@
}
};
- auto node = TestUtils::createNode(0, 0, 100, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 100, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
SkPaint strokedPaint;
strokedPaint.setStrokeWidth(10);
@@ -171,7 +171,7 @@
}
RENDERTHREAD_TEST(FrameBuilder, simpleRejection) {
- auto node = TestUtils::createNode(0, 0, 200, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
canvas.save(SaveFlags::MatrixClip);
canvas.clipRect(200, 200, 400, 400, SkRegion::kIntersect_Op); // intersection should be empty
@@ -198,7 +198,7 @@
}
};
- auto node = TestUtils::createNode(0, 0, 200, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
SkBitmap bitmap = TestUtils::createSkBitmap(10, 10,
kAlpha_8_SkColorType); // Disable merging by using alpha 8 bitmap
@@ -234,7 +234,7 @@
}
};
- auto node = TestUtils::createNode(0, 0, 100, 100,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 100, 100,
[](RenderProperties& props, RecordingCanvas& canvas) {
canvas.drawRect(0, 0, 100, 100, SkPaint());
});
@@ -287,20 +287,20 @@
transparentPaint.setAlpha(128);
// backdrop
- nodes.push_back(TestUtils::createNode(100, 100, 700, 500, // 600x400
+ nodes.push_back(TestUtils::createNode<RecordingCanvas>(100, 100, 700, 500, // 600x400
[&transparentPaint](RenderProperties& props, RecordingCanvas& canvas) {
canvas.drawRect(0, 0, 600, 400, transparentPaint);
}));
// content
Rect contentDrawBounds(150, 150, 650, 450); // 500x300
- nodes.push_back(TestUtils::createNode(0, 0, 800, 600,
+ nodes.push_back(TestUtils::createNode<RecordingCanvas>(0, 0, 800, 600,
[&transparentPaint](RenderProperties& props, RecordingCanvas& canvas) {
canvas.drawRect(0, 0, 800, 600, transparentPaint);
}));
// overlay
- nodes.push_back(TestUtils::createNode(0, 0, 800, 600,
+ nodes.push_back(TestUtils::createNode<RecordingCanvas>(0, 0, 800, 600,
[&transparentPaint](RenderProperties& props, RecordingCanvas& canvas) {
canvas.drawRect(0, 0, 800, 200, transparentPaint);
}));
@@ -346,7 +346,7 @@
EXPECT_EQ(1, mIndex++);
}
};
- auto node = TestUtils::createNode(10, 10, 110, 110,
+ auto node = TestUtils::createNode<RecordingCanvas>(10, 10, 110, 110,
[](RenderProperties& props, RecordingCanvas& canvas) {
// no drawn content
});
@@ -371,7 +371,7 @@
<< "Last rect should occlude others.";
}
};
- auto node = TestUtils::createNode(0, 0, 200, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
canvas.drawRect(0, 0, 200, 200, SkPaint());
canvas.drawRect(0, 0, 200, 200, SkPaint());
@@ -413,7 +413,7 @@
}
};
- auto node = TestUtils::createNode(0, 0, 50, 50,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 50, 50,
[](RenderProperties& props, RecordingCanvas& canvas) {
canvas.drawRect(0, 0, 50, 50, SkPaint());
canvas.drawRect(0, 0, 50, 50, SkPaint());
@@ -447,8 +447,8 @@
opList.clipSideFlags);
}
};
- auto node = TestUtils::createNode(0, 0, 100, 100,
- [](RenderProperties& props, TestCanvas& canvas) {
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 100, 100,
+ [](RenderProperties& props, RecordingCanvas& canvas) {
SkBitmap bitmap = TestUtils::createSkBitmap(20, 20);
// left side clipped (to inset left half)
@@ -489,8 +489,8 @@
EXPECT_EQ(OpClipSideFlags::None, opList.states[1]->computedState.clipSideFlags);
}
};
- auto node = TestUtils::createNode(0, 0, 400, 400,
- [](RenderProperties& props, TestCanvas& canvas) {
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 400, 400,
+ [](RenderProperties& props, RecordingCanvas& canvas) {
SkPaint paint;
paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
paint.setAntiAlias(true);
@@ -520,7 +520,7 @@
EXPECT_EQ(5u, opList.count);
}
};
- auto node = TestUtils::createNode(0, 0, 200, 2000,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 2000,
[](RenderProperties& props, RecordingCanvas& canvas) {
SkPaint textPaint;
textPaint.setAntiAlias(true);
@@ -576,8 +576,8 @@
EXPECT_EQ(stroke, outsetFill);
}
};
- auto node = TestUtils::createNode(0, 0, 400, 400,
- [](RenderProperties& props, TestCanvas& canvas) {
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 400, 400,
+ [](RenderProperties& props, RecordingCanvas& canvas) {
SkPaint paint;
paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
paint.setAntiAlias(true);
@@ -616,7 +616,7 @@
auto layerUpdater = TestUtils::createTextureLayerUpdater(renderThread, 100, 100,
SkMatrix::MakeTrans(5, 5));
- auto node = TestUtils::createNode(0, 0, 200, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[&layerUpdater](RenderProperties& props, RecordingCanvas& canvas) {
canvas.save(SaveFlags::MatrixClip);
canvas.clipRect(50, 50, 150, 150, SkRegion::kIntersect_Op);
@@ -648,7 +648,7 @@
auto layerUpdater = TestUtils::createTextureLayerUpdater(renderThread, 100, 100,
SkMatrix::MakeTrans(5, 5));
- auto node = TestUtils::createNode(0, 0, 200, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[&layerUpdater](RenderProperties& props, RecordingCanvas& canvas) {
canvas.save(SaveFlags::MatrixClip);
canvas.translate(30, 40);
@@ -670,7 +670,7 @@
SkMatrix::MakeTrans(5, 5));
layerUpdater->backingLayer()->setRenderTarget(GL_NONE); // Should be rejected
- auto node = TestUtils::createNode(0, 0, 200, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[&layerUpdater](RenderProperties& props, RecordingCanvas& canvas) {
canvas.drawLayer(layerUpdater.get());
});
@@ -693,7 +693,7 @@
Functor noopFunctor;
// 1 million pixel tall view, scrolled down 80%
- auto scrolledFunctorView = TestUtils::createNode(0, 0, 400, 1000000,
+ auto scrolledFunctorView = TestUtils::createNode<RecordingCanvas>(0, 0, 400, 1000000,
[&noopFunctor](RenderProperties& props, RecordingCanvas& canvas) {
canvas.translate(0, -800000);
canvas.callDrawGLFunction(&noopFunctor, nullptr);
@@ -718,7 +718,7 @@
}
};
- auto unclippedColorView = TestUtils::createNode(0, 0, 10, 10,
+ auto unclippedColorView = TestUtils::createNode<RecordingCanvas>(0, 0, 10, 10,
[](RenderProperties& props, RecordingCanvas& canvas) {
props.setClipToBounds(false);
canvas.drawColor(SK_ColorWHITE, SkXfermode::Mode::kSrcOver_Mode);
@@ -752,14 +752,14 @@
}
};
- auto child = TestUtils::createNode(10, 10, 110, 110,
+ auto child = TestUtils::createNode<RecordingCanvas>(10, 10, 110, 110,
[](RenderProperties& props, RecordingCanvas& canvas) {
SkPaint paint;
paint.setColor(SK_ColorWHITE);
canvas.drawRect(0, 0, 100, 100, paint);
});
- auto parent = TestUtils::createNode(0, 0, 200, 200,
+ auto parent = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[&child](RenderProperties& props, RecordingCanvas& canvas) {
SkPaint paint;
paint.setColor(SK_ColorDKGRAY);
@@ -791,7 +791,7 @@
}
};
- auto node = TestUtils::createNode(0, 0, 200, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
SkBitmap bitmap = TestUtils::createSkBitmap(200, 200);
canvas.drawBitmap(bitmap, 0, 0, nullptr);
@@ -840,7 +840,7 @@
}
};
- auto node = TestUtils::createNode(0, 0, 200, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
canvas.saveLayerAlpha(10, 10, 190, 190, 128, SaveFlags::ClipToLayer);
canvas.drawRect(10, 10, 190, 190, SkPaint());
@@ -916,7 +916,7 @@
}
};
- auto node = TestUtils::createNode(0, 0, 800, 800,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 800, 800,
[](RenderProperties& props, RecordingCanvas& canvas) {
canvas.saveLayerAlpha(0, 0, 800, 800, 128, SaveFlags::ClipToLayer);
{
@@ -940,7 +940,7 @@
}
RENDERTHREAD_TEST(FrameBuilder, saveLayer_contentRejection) {
- auto node = TestUtils::createNode(0, 0, 200, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
canvas.save(SaveFlags::MatrixClip);
canvas.clipRect(200, 200, 400, 400, SkRegion::kIntersect_Op);
@@ -991,7 +991,7 @@
}
};
- auto node = TestUtils::createNode(0, 0, 200, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
canvas.saveLayerAlpha(10, 10, 190, 190, 128, (SaveFlags::Flags)(0));
canvas.drawRect(0, 0, 200, 200, SkPaint());
@@ -1024,7 +1024,7 @@
}
};
- auto node = TestUtils::createNode(0, 0, 200, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
canvas.saveLayerAlpha(10.95f, 10.5f, 189.75f, 189.25f, // values should all round out
128, (SaveFlags::Flags)(0));
@@ -1076,7 +1076,7 @@
}
};
- auto node = TestUtils::createNode(0, 0, 200, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
int restoreTo = canvas.save(SaveFlags::MatrixClip);
@@ -1123,7 +1123,7 @@
}
};
- auto node = TestUtils::createNode(0, 0, 200, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
// save smaller than clip, so we get unclipped behavior
canvas.saveLayerAlpha(10, 10, 190, 190, 128, (SaveFlags::Flags)(0));
@@ -1142,7 +1142,7 @@
}
RENDERTHREAD_TEST(FrameBuilder, saveLayerUnclipped_reject) {
- auto node = TestUtils::createNode(0, 0, 200, 200,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
// unclipped savelayer + rect both in area that won't intersect with dirty
canvas.saveLayerAlpha(100, 100, 200, 200, 128, (SaveFlags::Flags)(0));
@@ -1208,7 +1208,7 @@
}
};
- auto node = TestUtils::createNode(0, 0, 600, 600, // 500x500 triggers clipping
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 600, 600, // 500x500 triggers clipping
[](RenderProperties& props, RecordingCanvas& canvas) {
canvas.saveLayerAlpha(0, 0, 500, 500, 128, (SaveFlags::Flags)0); // unclipped
canvas.saveLayerAlpha(100, 100, 400, 400, 128, SaveFlags::ClipToLayer); // clipped
@@ -1260,7 +1260,7 @@
}
};
- auto node = TestUtils::createNode(10, 10, 110, 110,
+ auto node = TestUtils::createNode<RecordingCanvas>(10, 10, 110, 110,
[](RenderProperties& props, RecordingCanvas& canvas) {
props.mutateLayerProperties().setType(LayerType::RenderLayer);
SkPaint paint;
@@ -1355,7 +1355,7 @@
}
};
- auto child = TestUtils::createNode(50, 50, 150, 150,
+ auto child = TestUtils::createNode<RecordingCanvas>(50, 50, 150, 150,
[](RenderProperties& props, RecordingCanvas& canvas) {
props.mutateLayerProperties().setType(LayerType::RenderLayer);
SkPaint paint;
@@ -1366,7 +1366,7 @@
*(child->getLayerHandle()) = &childLayer;
RenderNode* childPtr = child.get();
- auto parent = TestUtils::createNode(0, 0, 200, 200,
+ auto parent = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[childPtr](RenderProperties& props, RecordingCanvas& canvas) {
props.mutateLayerProperties().setType(LayerType::RenderLayer);
SkPaint paint;
@@ -1430,7 +1430,7 @@
}
};
- auto node = TestUtils::createNode(10, 10, 110, 110,
+ auto node = TestUtils::createNode<RecordingCanvas>(10, 10, 110, 110,
[](RenderProperties& props, RecordingCanvas& canvas) {
props.mutateLayerProperties().setType(LayerType::RenderLayer);
canvas.drawColor(SK_ColorWHITE, SkXfermode::Mode::kSrcOver_Mode);
@@ -1457,13 +1457,13 @@
*layerHandle = nullptr;
}
-static void drawOrderedRect(RecordingCanvas* canvas, uint8_t expectedDrawOrder) {
+static void drawOrderedRect(Canvas* canvas, uint8_t expectedDrawOrder) {
SkPaint paint;
paint.setColor(SkColorSetARGB(256, 0, 0, expectedDrawOrder)); // order put in blue channel
canvas->drawRect(0, 0, 100, 100, paint);
}
-static void drawOrderedNode(RecordingCanvas* canvas, uint8_t expectedDrawOrder, float z) {
- auto node = TestUtils::createNode(0, 0, 100, 100,
+static void drawOrderedNode(Canvas* canvas, uint8_t expectedDrawOrder, float z) {
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 100, 100,
[expectedDrawOrder](RenderProperties& props, RecordingCanvas& canvas) {
drawOrderedRect(&canvas, expectedDrawOrder);
});
@@ -1480,7 +1480,7 @@
}
};
- auto parent = TestUtils::createNode(0, 0, 100, 100,
+ auto parent = TestUtils::createNode<RecordingCanvas>(0, 0, 100, 100,
[](RenderProperties& props, RecordingCanvas& canvas) {
drawOrderedNode(&canvas, 0, 10.0f); // in reorder=false at this point, so played inorder
drawOrderedRect(&canvas, 1);
@@ -1549,7 +1549,7 @@
* The parent is scrolled by scrollX/scrollY, but this does not affect the background
* (which isn't affected by scroll).
*/
- auto receiverBackground = TestUtils::createNode(0, 0, 100, 100,
+ auto receiverBackground = TestUtils::createNode<RecordingCanvas>(0, 0, 100, 100,
[](RenderProperties& properties, RecordingCanvas& canvas) {
properties.setProjectionReceiver(true);
// scroll doesn't apply to background, so undone via translationX/Y
@@ -1561,7 +1561,7 @@
paint.setColor(SK_ColorWHITE);
canvas.drawRect(0, 0, 100, 100, paint);
});
- auto projectingRipple = TestUtils::createNode(50, 0, 100, 50,
+ auto projectingRipple = TestUtils::createNode<RecordingCanvas>(50, 0, 100, 50,
[](RenderProperties& properties, RecordingCanvas& canvas) {
properties.setProjectBackwards(true);
properties.setClipToBounds(false);
@@ -1569,14 +1569,14 @@
paint.setColor(SK_ColorDKGRAY);
canvas.drawRect(-10, -10, 60, 60, paint);
});
- auto child = TestUtils::createNode(0, 50, 100, 100,
+ auto child = TestUtils::createNode<RecordingCanvas>(0, 50, 100, 100,
[&projectingRipple](RenderProperties& properties, RecordingCanvas& canvas) {
SkPaint paint;
paint.setColor(SK_ColorBLUE);
canvas.drawRect(0, 0, 100, 50, paint);
canvas.drawRenderNode(projectingRipple.get());
});
- auto parent = TestUtils::createNode(0, 0, 100, 100,
+ auto parent = TestUtils::createNode<RecordingCanvas>(0, 0, 100, 100,
[&receiverBackground, &child](RenderProperties& properties, RecordingCanvas& canvas) {
// Set a rect outline for the projecting ripple to be masked against.
properties.mutableOutline().setRoundRect(10, 10, 90, 90, 5, 1.0f);
@@ -1630,7 +1630,7 @@
ASSERT_EQ(nullptr, state.computedState.localProjectionPathMask);
}
};
- auto receiverBackground = TestUtils::createNode(0, 0, 400, 400,
+ auto receiverBackground = TestUtils::createNode<RecordingCanvas>(0, 0, 400, 400,
[](RenderProperties& properties, RecordingCanvas& canvas) {
properties.setProjectionReceiver(true);
// scroll doesn't apply to background, so undone via translationX/Y
@@ -1640,19 +1640,19 @@
canvas.drawRect(0, 0, 400, 400, SkPaint());
});
- auto projectingRipple = TestUtils::createNode(0, 0, 200, 200,
+ auto projectingRipple = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& properties, RecordingCanvas& canvas) {
properties.setProjectBackwards(true);
properties.setClipToBounds(false);
canvas.drawOval(100, 100, 300, 300, SkPaint()); // drawn mostly out of layer bounds
});
- auto child = TestUtils::createNode(100, 100, 300, 300,
+ auto child = TestUtils::createNode<RecordingCanvas>(100, 100, 300, 300,
[&projectingRipple](RenderProperties& properties, RecordingCanvas& canvas) {
properties.mutateLayerProperties().setType(LayerType::RenderLayer);
canvas.drawRenderNode(projectingRipple.get());
canvas.drawArc(0, 0, 200, 200, 0.0f, 280.0f, true, SkPaint());
});
- auto parent = TestUtils::createNode(0, 0, 400, 400,
+ auto parent = TestUtils::createNode<RecordingCanvas>(0, 0, 400, 400,
[&receiverBackground, &child](RenderProperties& properties, RecordingCanvas& canvas) {
// Set a rect outline for the projecting ripple to be masked against.
properties.mutableOutline().setRoundRect(10, 10, 390, 390, 0, 1.0f);
@@ -1705,12 +1705,12 @@
EXPECT_TRUE(state.computedState.transform.isIdentity());
}
};
- auto receiverBackground = TestUtils::createNode(0, 0, 400, 400,
+ auto receiverBackground = TestUtils::createNode<RecordingCanvas>(0, 0, 400, 400,
[](RenderProperties& properties, RecordingCanvas& canvas) {
properties.setProjectionReceiver(true);
canvas.drawRect(0, 0, 400, 400, SkPaint());
});
- auto projectingRipple = TestUtils::createNode(0, 0, 200, 200,
+ auto projectingRipple = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& properties, RecordingCanvas& canvas) {
// scroll doesn't apply to background, so undone via translationX/Y
// NOTE: translationX/Y only! no other transform properties may be set for a proj receiver!
@@ -1720,7 +1720,7 @@
properties.setClipToBounds(false);
canvas.drawOval(0, 0, 200, 200, SkPaint());
});
- auto child = TestUtils::createNode(0, 0, 400, 400,
+ auto child = TestUtils::createNode<RecordingCanvas>(0, 0, 400, 400,
[&projectingRipple](RenderProperties& properties, RecordingCanvas& canvas) {
// Record time clip will be ignored by projectee
canvas.clipRect(100, 100, 300, 300, SkRegion::kIntersect_Op);
@@ -1728,7 +1728,7 @@
canvas.translate(-scrollX, -scrollY); // Apply scroll (note: bg undoes this internally)
canvas.drawRenderNode(projectingRipple.get());
});
- auto parent = TestUtils::createNode(0, 0, 400, 400,
+ auto parent = TestUtils::createNode<RecordingCanvas>(0, 0, 400, 400,
[&receiverBackground, &child](RenderProperties& properties, RecordingCanvas& canvas) {
canvas.drawRenderNode(receiverBackground.get());
canvas.drawRenderNode(child.get());
@@ -1745,7 +1745,7 @@
// creates a 100x100 shadow casting node with provided translationZ
static sp<RenderNode> createWhiteRectShadowCaster(float translationZ) {
- return TestUtils::createNode(0, 0, 100, 100,
+ return TestUtils::createNode<RecordingCanvas>(0, 0, 100, 100,
[translationZ](RenderProperties& properties, RecordingCanvas& canvas) {
properties.setTranslationZ(translationZ);
properties.mutableOutline().setRoundRect(0, 0, 100, 100, 0.0f, 1.0f);
@@ -1773,7 +1773,7 @@
}
};
- auto parent = TestUtils::createNode(0, 0, 200, 200,
+ auto parent = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
canvas.insertReorderBarrier(true);
canvas.drawRenderNode(createWhiteRectShadowCaster(5.0f).get());
@@ -1814,7 +1814,7 @@
}
};
- auto parent = TestUtils::createNode(0, 0, 200, 200,
+ auto parent = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
// save/restore outside of reorderBarrier, so they don't get moved out of place
canvas.translate(20, 10);
@@ -1857,7 +1857,7 @@
}
};
- auto parent = TestUtils::createNode(50, 60, 150, 160,
+ auto parent = TestUtils::createNode<RecordingCanvas>(50, 60, 150, 160,
[](RenderProperties& props, RecordingCanvas& canvas) {
props.mutateLayerProperties().setType(LayerType::RenderLayer);
canvas.insertReorderBarrier(true);
@@ -1904,7 +1904,7 @@
EXPECT_TRUE(index == 2 || index == 3);
}
};
- auto parent = TestUtils::createNode(0, 0, 200, 200,
+ auto parent = TestUtils::createNode<RecordingCanvas>(0, 0, 200, 200,
[](RenderProperties& props, RecordingCanvas& canvas) {
canvas.insertReorderBarrier(true);
canvas.drawRenderNode(createWhiteRectShadowCaster(5.0f).get());
@@ -1931,7 +1931,7 @@
EXPECT_EQ(1, mIndex++);
}
};
- auto parent = TestUtils::createNode(0, 0, 100, 100,
+ auto parent = TestUtils::createNode<RecordingCanvas>(0, 0, 100, 100,
[](RenderProperties& props, RecordingCanvas& canvas) {
// Apply a clip before the reorder barrier/shadow casting child is drawn.
// This clip must be applied to the shadow cast by the child.
@@ -1962,7 +1962,7 @@
std::function<void(const RectOp&, const BakedOpState&)> mCallback;
};
- auto node = TestUtils::createNode(0, 0, 100, 100,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 100, 100,
[propSetupCallback](RenderProperties& props, RecordingCanvas& canvas) {
propSetupCallback(props);
SkPaint paint;
@@ -2106,7 +2106,7 @@
ASSERT_GT(10000, DeviceInfo::get()->maxTextureSize())
<< "Node must be bigger than max texture size to exercise saveLayer codepath";
- auto node = TestUtils::createNode(0, 0, 10000, 10000,
+ auto node = TestUtils::createNode<RecordingCanvas>(0, 0, 10000, 10000,
[&propSetupCallback](RenderProperties& properties, RecordingCanvas& canvas) {
properties.setHasOverlappingRendering(true);
properties.setAlpha(0.5f); // force saveLayer, since too big for HW layer
@@ -2192,7 +2192,7 @@
<< "Expect resolved clip to be intersection of viewport clip and clip op";
}
};
- auto node = TestUtils::createNode(20, 20, 30, 30,
+ auto node = TestUtils::createNode<RecordingCanvas>(20, 20, 30, 30,
[](RenderProperties& props, RecordingCanvas& canvas) {
canvas.clipRect(0, -20, 10, 30, SkRegion::kReplace_Op);
canvas.drawColor(SK_ColorWHITE, SkXfermode::Mode::kSrcOver_Mode);