X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bigscreen%2Frotatescreen.h;h=64999123a2b044c9a8f2a97b08a7f111a5d3c009;hb=cad5aff5a3a21bb8c95d8a265e93687234f46a43;hp=0883ca27cc4d24591b4e5d764d28e711820c91d8;hpb=865e85b2e5da68f6bf0b907d239f2277579382a6;p=ccbs diff --git a/bigscreen/rotatescreen.h b/bigscreen/rotatescreen.h index 0883ca2..6499912 100644 --- a/bigscreen/rotatescreen.h +++ b/bigscreen/rotatescreen.h @@ -11,26 +11,29 @@ * one at a time). :-) */ struct Subscreen { - unsigned char *buf; + unsigned char *redbuf, *buf; GenericScreen *screen; }; class RotateScreen : public GenericScreen { private: + unsigned char *fadefrom_buf; bool valid; std::vector subscreens; unsigned current_screen; - struct timeval last_update; + struct timeval last_update, fade_started; + bool in_fade, fade_found_start_time, fade_to_new_info; bool needs_update(); + bool can_update(); public: RotateScreen(); virtual ~RotateScreen(); bool check_invalidated(); - void draw(unsigned char *buf); + void draw(unsigned char *buf, unsigned width, unsigned height); void add_screen(GenericScreen *screen); // void remove_screen(GenericScreen *screen);