功能比较完善的一版
This commit is contained in:
@@ -36,6 +36,10 @@ TEST(axis_dispatch, numeric_axis_public_shell_reads_final_private_state) {
|
||||
EXPECT_DOUBLE_EQ(axis->tick_step({0.0, 20.0}), 5.0);
|
||||
EXPECT_EQ(axis->tick_label(2.5), "2.5");
|
||||
EXPECT_EQ(axis->sub_tick_count(5.0), 4);
|
||||
axis->set<&Abs_Axis::Prop::pixel_length>(-200.0);
|
||||
axis->advance();
|
||||
EXPECT_DOUBLE_EQ(axis->coordinate_to_pixel(5.0), -40.0);
|
||||
EXPECT_DOUBLE_EQ(axis->pixel_to_coordinate(-40.0), 5.0);
|
||||
}
|
||||
TEST(axis_dispatch, point_conversion_uses_current_orientation) {
|
||||
using Object = Impl<Numeric_Axis>;
|
||||
@@ -71,7 +75,6 @@ TEST(axis_render, scene_prepares_and_paints_uncached_axis_into_frame) {
|
||||
auto axis = build_axis<Object>();
|
||||
auto scene = build_axis<Scene_Object>();
|
||||
axis->set<&Abs_Axis::Prop::position>(Point_F{8.0, 8.0});
|
||||
axis->set<&Abs_Axis::Prop::canvas_size>(Size{160, 64});
|
||||
axis->set<&Abs_Axis::Prop::pixel_length>(120.0);
|
||||
scene->set<&Render_Scene_2D::Prop::viewport>(Size{160, 64});
|
||||
scene->activate_view();
|
||||
@@ -122,11 +125,9 @@ TEST(axis_event, scene_routes_pointer_interaction_to_the_nearest_axis_segment) {
|
||||
auto vertical = build_axis<Axis_Object>();
|
||||
auto scene = build_axis<Scene_Object>();
|
||||
horizontal->set<&Abs_Axis::Prop::position>(Point_F{20.0, 180.0});
|
||||
horizontal->set<&Abs_Axis::Prop::canvas_size>(Size{200, 200});
|
||||
horizontal->set<&Abs_Axis::Prop::pixel_length>(160.0);
|
||||
horizontal->set<&Numeric_Axis::Prop::coordinate_range>(Axis_Range{0.0, 10.0});
|
||||
vertical->set<&Abs_Axis::Prop::position>(Point_F{20.0, 180.0});
|
||||
vertical->set<&Abs_Axis::Prop::canvas_size>(Size{200, 200});
|
||||
vertical->set<&Abs_Axis::Prop::pixel_length>(-160.0);
|
||||
vertical->set<&Abs_Axis::Prop::orientation>(Axis_Orientation::vertical);
|
||||
vertical->set<&Numeric_Axis::Prop::coordinate_range>(Axis_Range{0.0, 10.0});
|
||||
|
||||
@@ -29,7 +29,6 @@ void configure_axis(Axis* axis, Axis_Orientation orientation, Point_F position,
|
||||
axis->template set<&Abs_Axis::Prop::orientation>(orientation);
|
||||
axis->template set<&Abs_Axis::Prop::position>(position);
|
||||
axis->template set<&Abs_Axis::Prop::pixel_length>(length);
|
||||
axis->template set<&Abs_Axis::Prop::canvas_size>(canvas);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -85,11 +85,9 @@ TEST(render_scene_2d, composites_axes_and_spectrum_into_final_frame) {
|
||||
auto spectrum = build_object<Spectrum_Object>(scene.get(), frequency.get(), power.get());
|
||||
const Size canvas{160, 120};
|
||||
frequency->set<&Abs_Axis::Prop::position>(Point_F{20.0, 100.0});
|
||||
frequency->set<&Abs_Axis::Prop::canvas_size>(canvas);
|
||||
frequency->set<&Abs_Axis::Prop::pixel_length>(120.0);
|
||||
frequency->set<&Numeric_Axis::Prop::coordinate_range>(Axis_Range{0.0, 100.0});
|
||||
power->set<&Abs_Axis::Prop::position>(Point_F{20.0, 100.0});
|
||||
power->set<&Abs_Axis::Prop::canvas_size>(canvas);
|
||||
power->set<&Abs_Axis::Prop::pixel_length>(-80.0);
|
||||
power->set<&Abs_Axis::Prop::orientation>(Axis_Orientation::vertical);
|
||||
power->set<&Numeric_Axis::Prop::coordinate_range>(Axis_Range{-100.0, 0.0});
|
||||
@@ -149,8 +147,6 @@ TEST(render_scene_2d, composites_axes_and_spectrum_into_final_frame) {
|
||||
EXPECT_TRUE(contains_color(scene->frame_view()));
|
||||
const Size resized_canvas{200, 140};
|
||||
scene->set<&Render_Scene_2D::Prop::viewport>(resized_canvas);
|
||||
frequency->set<&Abs_Axis::Prop::canvas_size>(resized_canvas);
|
||||
power->set<&Abs_Axis::Prop::canvas_size>(resized_canvas);
|
||||
EXPECT_TRUE(frequency->dirty<Prepare_Data_Tag>());
|
||||
EXPECT_TRUE(power->dirty<Prepare_Data_Tag>());
|
||||
scene->render();
|
||||
|
||||
Reference in New Issue
Block a user