X-Git-Url: https://git.sesse.net/?p=ccbs;a=blobdiff_plain;f=bigscreen%2Fsplitscreen.h;fp=bigscreen%2Fsplitscreen.h;h=3b0616c37da309d7a7accfd459a6080736109a76;hp=0000000000000000000000000000000000000000;hb=ef3e9f27177227a0f412e6f9995212b36bf27f19;hpb=76518bb5379322ff9015d8cb4eb019724b31c8ec diff --git a/bigscreen/splitscreen.h b/bigscreen/splitscreen.h new file mode 100644 index 0000000..3b0616c --- /dev/null +++ b/bigscreen/splitscreen.h @@ -0,0 +1,23 @@ +#ifndef _SPLITSCREEN_H +#define _SPLITSCREEN_H 1 + +#include "screen.h" + +/* A 4x4 split class */ +class SplitScreen : public GenericScreen { +private: + unsigned char subbufs[4][800 * 600 * 4]; + GenericScreen *subscreens[4]; + bool valid; + + void downscale_2x2(unsigned char *dst, unsigned char *src); + +public: + SplitScreen(GenericScreen *s1, GenericScreen *s2, GenericScreen *s3, GenericScreen *s4); + virtual ~SplitScreen(); + + bool check_invalidated(); + void draw(unsigned char *buf); +}; + +#endif /* !defined(_SPLITSCREEN_H) */