Merge "Invoke create_recording_canvas correctly in macro bench tests" into pi-dev

This commit is contained in:
android-build-team Robot
2018-05-02 19:38:43 +00:00
committed by Android (Google) Code Review
4 changed files with 12 additions and 6 deletions

View File

@@ -57,7 +57,8 @@ void TestListViewSceneBase::doFrame(int frameNr) {
int pxOffset = -(scrollPx % (mItemSpacing + mItemHeight));
std::unique_ptr<Canvas> canvas(Canvas::create_recording_canvas(
mListView->stagingProperties().getWidth(), mListView->stagingProperties().getHeight()));
mListView->stagingProperties().getWidth(), mListView->stagingProperties().getHeight(),
mListView.get()));
for (size_t ci = 0; ci < mListItems.size(); ci++) {
// update item position
auto listItem = mListItems[(ci + itemIndexOffset) % mListItems.size()];

View File

@@ -250,7 +250,8 @@ public:
static void recordNode(RenderNode& node, std::function<void(Canvas&)> contentCallback) {
std::unique_ptr<Canvas> canvas(Canvas::create_recording_canvas(
node.stagingProperties().getWidth(), node.stagingProperties().getHeight()));
node.stagingProperties().getWidth(), node.stagingProperties().getHeight(),
&node));
contentCallback(*canvas.get());
node.setStagingDisplayList(canvas->finishRecording());
}

View File

@@ -44,7 +44,8 @@ public:
std::unique_ptr<Canvas> canvas(
Canvas::create_recording_canvas(container->stagingProperties().getWidth(),
container->stagingProperties().getHeight()));
container->stagingProperties().getHeight(),
container.get()));
Paint paint;
paint.setAntiAlias(true);

View File

@@ -194,7 +194,8 @@ private:
// re-recording card's canvas, not necessary but to add some burden to CPU
std::unique_ptr<Canvas> cardcanvas(Canvas::create_recording_canvas(
card->stagingProperties().getWidth(), card->stagingProperties().getHeight()));
card->stagingProperties().getWidth(), card->stagingProperties().getHeight(),
card.get()));
sp<RenderNode> image = mImages[ci];
sp<RenderNode> infoArea = mInfoAreas[ci];
cardcanvas->drawRenderNode(infoArea.get());
@@ -205,14 +206,16 @@ private:
sp<RenderNode> overlay = mOverlays[ci];
std::unique_ptr<Canvas> canvas(
Canvas::create_recording_canvas(overlay->stagingProperties().getWidth(),
overlay->stagingProperties().getHeight()));
overlay->stagingProperties().getHeight(),
overlay.get()));
canvas->drawColor((curFrame % 150) << 24, SkBlendMode::kSrcOver);
overlay->setStagingDisplayList(canvas->finishRecording());
cardcanvas->drawRenderNode(overlay.get());
} else {
// re-recording image node's canvas, animating ColorFilter
std::unique_ptr<Canvas> canvas(Canvas::create_recording_canvas(
image->stagingProperties().getWidth(), image->stagingProperties().getHeight()));
image->stagingProperties().getWidth(), image->stagingProperties().getHeight(),
image.get()));
SkPaint paint;
sk_sp<SkColorFilter> filter(
SkColorFilter::MakeModeFilter((curFrame % 150) << 24, SkBlendMode::kSrcATop));