1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-03 11:30:02 +00:00
CLK/Outputs/DisplayMetrics.hpp
Thomas Harte 86a6b04d4a Begins attempts to keep track of display metrics.
i.e. a system that can both make smart decisions about when to use a lower resolution, and hopefully allow some sort of flywheel-esque horizontal retrace synchronisation. And possibly some raster beam chasing?
2019-03-04 21:54:50 -05:00

35 lines
742 B
C++

//
// DisplayMetrics.hpp
// Clock Signal
//
// Created by Thomas Harte on 04/03/2019.
// Copyright © 2019 Thomas Harte. All rights reserved.
//
#ifndef DisplayMetrics_hpp
#define DisplayMetrics_hpp
#include "ScanTarget.hpp"
#include <chrono>
namespace Outputs {
namespace Display {
/*!
A class to derive various metrics about the input to a ScanTarget,
based purely on empirical observation. In particular it is intended
to allow for host-client frame synchronisation.
*/
class Metrics {
public:
void announce_event(ScanTarget::Event event);
void announce_did_resize();
void announce_draw_status(size_t lines, std::chrono::high_resolution_clock::duration duration, bool complete);
};
}
}
#endif /* DisplayMetrics_hpp */