-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathScreen.h
52 lines (47 loc) · 1.73 KB
/
Screen.h
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifndef SCREEN_H
#define SCREEN_H
#include <vector>
#include <fstream>
using namespace std;
/**
* @brief A classe Screen é uma classe concreta que serve para desenhar pontos em uma tela virtual
* os pontos sao armazenados em uma matriz do tipo char que depois será impressa
*/
class Screen
{
private:
int nl, nc;
char brush;
vector< vector<char> > mat;
public:
/**
* @brief Construtor da classe Screen
* @param nlin numero de linhas da matriz que irá compor a tela virtual
* @param ncol numero de colunas da matriz que irá compora tela virtual
*/
Screen(int nlin, int ncol);
/**
* @brief clear cada elemento da matriz é limpo ou seja atribui-se ' ' este espaço em branco em todos os
* elementos da matriz da tela
*/
void clear();
/**
* @brief setBrush determina o pincel utilizado para desenhar os pontos na tela virtual
* @param _brush caractere utilizado como pincel
*/
void setBrush(char _brush);
/**
* @brief setPixel atribui o caractere do pincel no elemento da matriz localizado nas coordenadas x e y especificadas
* @param x coordenada x do ponto a ser desenhado
* @param y coordenada y do ponto a ser desenhado
*/
void setPixel(int x, int y);
/**
* @brief operator << sobrecarga do operador <<
* @param os referencia a objeto ostream
* @param tela referencia a um objeto(tela virtual) da classe Screen
* @return objeto da classe Screen
*/
friend ostream& operator<<(ostream &os, Screen &tela);
};
#endif // SCREEN_H