修复builder 调用方式
This commit is contained in:
@@ -9,7 +9,11 @@ std::unique_ptr<Render_Scene_2D> make_scene(
|
||||
Render_Scene_2D::State state = {}) {
|
||||
auto strategy =
|
||||
std::make_shared<Low_Latency_Render_Scene_2D_Strategy>();
|
||||
return Render_Scene_2D::Builder{state}.build(std::move(strategy));
|
||||
return Render_Scene_2D::Builder(std::move(strategy))
|
||||
.configure([&](Render_Scene_2D::Properties& properties) {
|
||||
properties = state;
|
||||
})
|
||||
.build();
|
||||
}
|
||||
|
||||
TEST(RenderScene2DFramePipeline, BuilderOwnsConstructionAndState) {
|
||||
|
||||
@@ -8,8 +8,12 @@ namespace {
|
||||
TEST(RenderScene2DIntegration, BuilderStatePublishesAtFrameBoundary) {
|
||||
Render_Scene_2D::State initial;
|
||||
initial.viewport = {64, 32};
|
||||
auto scene = Render_Scene_2D::Builder{initial}.build(
|
||||
std::make_shared<Manual_Render_Scene_2D_Strategy>());
|
||||
auto scene = Render_Scene_2D::Builder(
|
||||
std::make_shared<Manual_Render_Scene_2D_Strategy>())
|
||||
.configure([&](Render_Scene_2D::Properties& properties) {
|
||||
properties = initial;
|
||||
})
|
||||
.build();
|
||||
scene->activate_view();
|
||||
ASSERT_EQ(scene->render_frame().value(), Plot_Render_Status::rendered);
|
||||
ASSERT_EQ(scene->wait_for_render(), Scene_Render_Result::none);
|
||||
@@ -19,8 +23,12 @@ TEST(RenderScene2DIntegration, BuilderStatePublishesAtFrameBoundary) {
|
||||
TEST(RenderScene2DIntegration, FrameImageMatchesConfiguredViewport) {
|
||||
Render_Scene_2D::State state;
|
||||
state.viewport = {48, 27};
|
||||
auto scene = Render_Scene_2D::Builder{state}.build(
|
||||
std::make_shared<Low_Latency_Render_Scene_2D_Strategy>());
|
||||
auto scene = Render_Scene_2D::Builder(
|
||||
std::make_shared<Low_Latency_Render_Scene_2D_Strategy>())
|
||||
.configure([&](Render_Scene_2D::Properties& properties) {
|
||||
properties = state;
|
||||
})
|
||||
.build();
|
||||
scene->activate_view();
|
||||
ASSERT_EQ(scene->render_frame().value(), Plot_Render_Status::rendered);
|
||||
ASSERT_EQ(scene->wait_for_render(), Scene_Render_Result::none);
|
||||
@@ -34,8 +42,12 @@ TEST(RenderScene2DIntegration, FrameImageMatchesConfiguredViewport) {
|
||||
TEST(RenderScene2DIntegration, FrameStrategyIsReplacedInsideRenderableEdit) {
|
||||
Render_Scene_2D::State state;
|
||||
state.viewport = {48, 27};
|
||||
auto scene = Render_Scene_2D::Builder{state}.build(
|
||||
std::make_shared<Low_Latency_Render_Scene_2D_Strategy>());
|
||||
auto scene = Render_Scene_2D::Builder(
|
||||
std::make_shared<Low_Latency_Render_Scene_2D_Strategy>())
|
||||
.configure([&](Render_Scene_2D::Properties& properties) {
|
||||
properties = state;
|
||||
})
|
||||
.build();
|
||||
const auto operation = scene->edit_renderables(
|
||||
[](Scene_2D_Base::Renderable_Editor& editor) {
|
||||
editor.replace_frame_control_strategy(
|
||||
|
||||
Reference in New Issue
Block a user