改结构
This commit is contained in:
@@ -14,8 +14,5 @@ void Render_Scene_2D::activate_view() {
|
||||
void Render_Scene_2D::deactivate_view() {
|
||||
double_buffer::detail::Internal_Access::get(this).set_view_active(this, false);
|
||||
}
|
||||
void Render_Scene_2D::reset_diagnostics() {
|
||||
double_buffer::detail::Internal_Access::get(this).reset_diagnostics(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -50,7 +50,6 @@ struct Render_Scene_2D : Def<Render_Scene_2D, Scene,
|
||||
*/
|
||||
void activate_view();
|
||||
void deactivate_view();
|
||||
void reset_diagnostics();
|
||||
};
|
||||
}
|
||||
#include "Render_Scene_2D.ipp"
|
||||
|
||||
@@ -86,7 +86,6 @@ struct Render_Scene_2D::Private : Prev_Private {
|
||||
Object* object, not_null<Frame_2D*> frame,
|
||||
Frame_Callback callback);
|
||||
template <Attached Object> void set_view_active(Object* object, bool active);
|
||||
template <Attached Object> void reset_diagnostics(Object* object);
|
||||
/* CRTP 覆盖:Builder 挂接最终 Private 后安装二维 Scene 的无虚函数业务分派。 */
|
||||
template <Attached Object>
|
||||
void bind_private_crtp(Object* object);
|
||||
@@ -469,15 +468,6 @@ void Render_Scene_2D::Private::dispatch_events(Object* object, Size viewport,
|
||||
}
|
||||
}
|
||||
template <Attached Object>
|
||||
void Render_Scene_2D::Private::reset_diagnostics(Object* object) {
|
||||
double_buffer::detail::Internal_Access::publish_state<Scene::Base_Tag, &Scene::State::event_statistics>(object,
|
||||
[this](State_Access<typename Object::State> states) {
|
||||
event_statistics.reset();
|
||||
auto& state = states.template get<Scene::Base_Tag>();
|
||||
state.event_statistics = {};
|
||||
});
|
||||
}
|
||||
template <Attached Object>
|
||||
void Render_Scene_2D::Private::set_view_active(Object* object, bool active) {
|
||||
double_buffer::detail::Internal_Access::set<&Prop::view_active>(object, active);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user