#include "Latency_Eager_Plot.h"

#include "Plot_p.h"

namespace renderive {

Latency_Eager_Plot::Latency_Eager_Plot()
    : Abs_Plot(new Abs_Plot_Private(true)) {}

void Latency_Eager_Plot::start() {
    start_render_timer();
}

void Latency_Eager_Plot::pause() {
    stop_render_timer();
}

bool Latency_Eager_Plot::running() const {
    return d->scene->view_active();
}

double Latency_Eager_Plot::max_render_fps() const {
    return d->scene->max_render_fps();
}

void Latency_Eager_Plot::set_max_render_fps(double fps) {
    d->scene->set_max_render_fps(fps);
    update_render_interval();
}

Low_Latency_Diagnostics Latency_Eager_Plot::diagnostics() const {
    return d->scene->diagnostics();
}

Refresh_Control_Snapshot Latency_Eager_Plot::refresh_feedback_snapshot() const {
    return d->scene->refresh_feedback_snapshot();
}

} // namespace renderive
