Summary Files Commits Branches @commit @diff @stats
path: root / src / LEDVideoWall.h
blob: 1e4e70ce6b54410f77b62b524b19f12d32981f44 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef SG_LEDVIDEOWALL
#define SG_LEDVIDEOWALL

#include "Screen.h"

class LEDVideoWall : public Screen {
public:
	virtual ~LEDVideoWall();

	// Named constructor idiom https://isocpp.org/wiki/faq/ctors#named-ctor-idiom

	static LEDVideoWall* Freeform(mm panel_width, mm panel_height, mm wall_max_width, mm wall_max_height);
	static LEDVideoWall* Aspect(mm panel_width, mm panel_height, unsigned int aspect_width, unsigned int aspect_height);

	static LEDVideoWall* fromCommandLine();

protected:
	unsigned int columns_of_panels;
	unsigned int rows_of_panels;

	LEDVideoWall(mm width, mm height, unsigned int columns_of_panels, unsigned int rows_of_panels);
	virtual std::string extraOutput() const;
};

#endif /* SG_LEDVIDEOWALL */