Added split screen functionality, for showing up to four groups at a time.
[ccbs] / bigscreen / splitscreen.h
1 #ifndef _SPLITSCREEN_H
2 #define _SPLITSCREEN_H 1
3
4 #include "screen.h"
5
6 /* A 4x4 split class */
7 class SplitScreen : public GenericScreen {
8 private:
9         unsigned char subbufs[4][800 * 600 * 4];
10         GenericScreen *subscreens[4];
11         bool valid;
12
13         void downscale_2x2(unsigned char *dst, unsigned char *src);
14         
15 public:
16         SplitScreen(GenericScreen *s1, GenericScreen *s2, GenericScreen *s3, GenericScreen *s4);
17         virtual ~SplitScreen();
18
19         bool check_invalidated();
20         void draw(unsigned char *buf);
21 };
22
23 #endif /* !defined(_SPLITSCREEN_H) */