Summary Files Commits Branches @commit @diff @stats
path: root / src / Screen.h
blob: 346d04d986f0682b41820da641dc4afd4cb2715e (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
26
27
28
#ifndef SG_SCREEN
#define SG_SCREEN

#include <ostream>
#include <string>

typedef unsigned int mm;

class Screen {
public:
	virtual ~Screen();

	mm getHeight() const;
	mm getWidth() const;

	friend std::ostream& operator<<(std::ostream& ostr, const Screen& screen);

protected:
	mm width;
	mm height;

	Screen(mm width, mm height);
	virtual std::string extraOutput() const = 0;
};

std::ostream& operator<<(std::ostream& ostr, const Screen& screen);

#endif /* SG_SCREEN */