blob: 871f5ee0168639fcfd13ba09098fd08679bcd45f [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "flutter/display_list/display_list_builder.h"
namespace flutter {
DisplayListBuilder::DisplayListBuilder(const SkRect& cull_rect,
bool prepare_rtree)
: DisplayListBuilder(
std::make_shared<DlOpRecorder>(cull_rect, prepare_rtree)) {}
DisplayListBuilder::DisplayListBuilder(
const std::shared_ptr<DlOpRecorder>& recorder)
: DlCanvasToReceiver(recorder), recorder_(recorder) {}
sk_sp<DisplayList> DisplayListBuilder::Build() {
FML_CHECK(recorder_ != nullptr);
FML_CHECK(receiver_ != nullptr);
RestoreToCount(1);
sk_sp<DisplayList> dl =
recorder_->Build(current_group_opacity_compatibility(),
current_affects_transparent_layer());
recorder_ = nullptr;
receiver_ = nullptr;
return dl;
}
} // namespace flutter