]> git.sesse.net Git - ccbs/blobdiff - bigscreen/splitscreen.h
Added split screen functionality, for showing up to four groups at a time.
[ccbs] / bigscreen / splitscreen.h
diff --git a/bigscreen/splitscreen.h b/bigscreen/splitscreen.h
new file mode 100644 (file)
index 0000000..3b0616c
--- /dev/null
@@ -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) */