删除plot_core
This commit is contained in:
@@ -214,3 +214,26 @@ TEST(scene2d_context_test, failed_attach_leaves_renderable_fully_detached) {
|
||||
EXPECT_NO_THROW(scene.attach_renderable(renderable));
|
||||
EXPECT_EQ(scene.renderable_count(), 1);
|
||||
}
|
||||
struct Scene2D_Viewport_Snapshot_Renderable : Renderable_Base {
|
||||
explicit Scene2D_Viewport_Snapshot_Renderable(Scene_Base& scene) : Renderable_Base(scene) {}
|
||||
void prepare(const Scene_Render_Context& context) override {
|
||||
viewport = context.viewport;
|
||||
}
|
||||
Frame_Viewport viewport;
|
||||
};
|
||||
TEST(scene2d_context_test, published_scene_viewport_is_frozen_for_render) {
|
||||
Scene2D_Context<> scene;
|
||||
auto renderable = std::make_shared<Scene2D_Viewport_Snapshot_Renderable>(scene);
|
||||
scene.attach_renderable(renderable);
|
||||
scene.Scene_State_Strategy::set<&Scene2D_State::viewport>(Frame_Viewport{320, 180});
|
||||
scene.publish_frame_state();
|
||||
scene.Scene_State_Strategy::set<&Scene2D_State::viewport>(Frame_Viewport{640, 360});
|
||||
scene.render();
|
||||
scene.wait_for_render();
|
||||
EXPECT_EQ(renderable->viewport, (Frame_Viewport{320, 180}));
|
||||
scene.publish_frame_state();
|
||||
renderable->invalidate_prepare();
|
||||
scene.render();
|
||||
scene.wait_for_render();
|
||||
EXPECT_EQ(renderable->viewport, (Frame_Viewport{640, 360}));
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include <vector>
|
||||
#include "renderive/scene/Scene.hpp"
|
||||
#include "../state/State_Test_Types.hpp"
|
||||
struct Scene_State_Observer_Test_State {
|
||||
struct Scene_State_Observer_Test_State : Scene2D_State {
|
||||
int value{};
|
||||
};
|
||||
struct Scene_State_Observer_Test_Time_Source {
|
||||
@@ -26,7 +26,7 @@ struct Scene_State_Observer_Test_Recorder {
|
||||
};
|
||||
using Scene_State_Observer_Test_Scene_Observer = Observer_State<Scene_State_Observer_Test_Recorder, Scene_State_Observer_Test_Time_Source>;
|
||||
using Scene_State_Observer_Test_State_Observer = Observer_State<>;
|
||||
TEST(scene_state_observer_test, scene_uses_triple_state_and_observes_lifecycle) {
|
||||
TEST(scene_state_observer_test, scene_uses_double_state_and_observes_lifecycle) {
|
||||
State_Render_State_Reader render;
|
||||
Scene_State_Observer_Test_Recorder recorder;
|
||||
using Scene = Scene2D_Context<Low_Latency_Strategy<Scene2D_Frame_Data>, Recording_Color_Cache, Scene_State_Observer_Test_State, Scene_State_Observer_Test_State_Observer, Scene_State_Observer_Test_Scene_Observer>;
|
||||
|
||||
@@ -8,5 +8,5 @@ static_assert(!Scene_3D<Scene2D_Context<>>);
|
||||
TEST(scene_concept_test, accepts_2d_and_3d_contexts) {
|
||||
SUCCEED();
|
||||
}
|
||||
static_assert(std::is_final_v<Scene2D_Context<>>);
|
||||
static_assert(!std::is_final_v<Scene2D_Context<>>);
|
||||
static_assert(std::is_final_v<Scene3D_Context<>>);
|
||||
|
||||
Reference in New Issue
Block a user