5 #include "generic/managed.h"
6 #include "generic/data_carrier.h"
7 #include "threads/mutex.h"
23 Screen(
Window* window,
const std::string& name, uint16_t w, uint16_t h, ScreenFormat format=SCREEN_FORMAT_G1, uint16_t refresh=60);
37 void render(
const uint8_t* data);
39 uint16_t height()
const {
43 uint16_t width()
const {
47 ScreenFormat format()
const {
51 uint16_t refresh_rate()
const {
59 uint16_t integer_scale()
const {
60 return integer_scale_;
65 void _set_integer_scale(uint8_t scale) {
66 integer_scale_ = scale;
69 std::string name()
const;
71 void update(
float dt);
79 uint16_t row_stride_ = 0;
80 ScreenFormat format_ = SCREEN_FORMAT_G1;
81 uint16_t refresh_rate_ = 15;
82 uint8_t integer_scale_ = 1;
83 float time_till_next_refresh_ = 0.0f;
84 bool buffer_dirty_ =
false;
86 std::vector<uint8_t> buffer_;