-
Notifications
You must be signed in to change notification settings - Fork 0
/
display.h
81 lines (54 loc) · 2.97 KB
/
display.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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#pragma once
#include "color.h"
#define ARRAY_SIZE(x) (sizeof((x)) / sizeof((x)[0]))
///=============================================================================
///==== Structure for keeping size properties of Terminal ======================
///=============================================================================
typedef struct {
int lines;
int columns;
} Size;
Size getTerminalSize(void);
///=============================================================================
///==== Structure for keeping point char with Color data =======================
///=============================================================================
typedef struct {
char c;
Color color;
} Point;
///=============================================================================
///==== Structure for keeping data of Display ==================================
///=============================================================================
typedef struct {
Size size;
Point ** array;
} Display;
Display initializeDisplay();
///=============================================================================
///==== Display array management and building ==================================
///=============================================================================
Point ** initializeArray(int m, int n);
void destroyDisplay(Display d);
void makeEmptyDisplay(Display d);
void buildDisplay(Display d, int isColorMode);
void buildMonochromeDisplay(Display d);
void buildColorDisplay(Display d);
///=============================================================================
///==== Methods for creating shapes on display =================================
///=============================================================================
void pushCharToPoint(char c, int ln, int col, Display d, Color color);
void createLine(char c, Display d, int ln, int beg, int end, Color color);
void createColumn(char c, Display d, int col, int beg, int end, Color color);
void createDiagonal(char c, Display d, int xBeg, int yBeg, int xEnd, int yEnd, Color color);
void createLineText(char* c, Display d, int ln, int beg, Color color);
void createColumnText(char* c, Display d, int col, int beg, Color color);
void createBox(char c, Display d, int xBeg, int yBeg, int xEnd, int yEnd, Color color);
void createCircle(char c, Display d, int xBeg, int yBeg, int radius, Color color);
void createWheel(char c, Display d, int xBeg, int yBeg, int radius, Color color);
void createSemiWheelDn(char c, Display d, int xBeg, int yBeg, int radius, Color color);
void createSemiWheelUp(char c, Display d, int xBeg, int yBeg, int radius, Color color);
void createFrame(char c, Display d, Color color);
///=============================================================================
///==== DEPRECATED Methods =====================================================
///=============================================================================
__deprecated void createFrameDeprecated(char c, Display d, Color color);