-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconcol.hpp
More file actions
88 lines (80 loc) · 3.39 KB
/
concol.hpp
File metadata and controls
88 lines (80 loc) · 3.39 KB
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
82
83
84
85
86
87
88
// concol.hpp: interface for the concol class.
//
//////////////////////////////////////////////////////////////////////
/*********************************************************************************
** Author : C.Brown (c)COPYRIGHT C.Brown 2001-2026 ALL RIGHTS RESERVED **
** Date : 19/09/2001 **
** Purpose : Provide GUI function for C/C++ Programs **
** Version : 1.2 **
** St_num : **
** History : have made this version more generalised and **
** improved naming conventions. Still would like to improve the **
** colour selection choice and should be improved next version **
** Added Orange to the color scheme(bloody ugly) **
** FIXED warnings when using light background colours **
*********************************************************************************/
#if !defined(AFX_CONCOL_HPP__763B0EF1_655E_402B_9E8F_7DED1AE186B4__INCLUDED_)
#define AFX_CONCOL_HPP__763B0EF1_655E_402B_9E8F_7DED1AE186B4__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Include Windows headers first to avoid std::byte conflicts
#define _HAS_STD_BYTE 0
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#define Black 0
#define Blue FOREGROUND_BLUE
#define Red FOREGROUND_RED
#define Green FOREGROUND_GREEN
#define Cyan FOREGROUND_GREEN | FOREGROUND_BLUE
#define Magenta FOREGROUND_RED | FOREGROUND_BLUE
#define Orange FOREGROUND_GREEN | FOREGROUND_RED
#define DkGray FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE
#define LtGray FOREGROUND_INTENSITY
#define LtRed FOREGROUND_INTENSITY | FOREGROUND_RED
#define LtGreen FOREGROUND_INTENSITY | FOREGROUND_GREEN
#define LtBlue FOREGROUND_INTENSITY | FOREGROUND_BLUE
#define LtCyan FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE
#define LtMagenta FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE
#define Yellow FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN
#define White FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE
#define bBlue BACKGROUND_BLUE
#define bRed BACKGROUND_RED
#define bGreen BACKGROUND_GREEN
#define bCyan BACKGROUND_GREEN | BACKGROUND_BLUE
#define bMagenta BACKGROUND_RED | BACKGROUND_BLUE
#define bOrange BACKGROUND_RED | BACKGROUND_GREEN
#define bDkGray BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE
#define bLtGray BACKGROUND_INTENSITY
#define bLtRed BACKGROUND_INTENSITY | BACKGROUND_RED
#define bLtGreen BACKGROUND_INTENSITY | BACKGROUND_GREEN
#define bLtBlue BACKGROUND_INTENSITY | BACKGROUND_BLUE
#define bLtCyan BACKGROUND_INTENSITY | BACKGROUND_GREEN | BACKGROUND_BLUE
#define bLtMagenta BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_BLUE
#define bYellow BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN
#define bWhite BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE
class concol
{
public:
concol();
short getPosX();
short getPosY();
void setBackground (int back);
void setForeground(int fore);
void setColour(int fore, int back);
void goto_XY(short X_in, short Y_in);
void ClearSect(short X, short Y);
void ClearScreen();
void resizeWindow(short xSize, short ySize);
HANDLE getBufferOut()
{ //this is used in each section put it here for speed
HANDLE hCon;
hCon = GetStdHandle(STD_OUTPUT_HANDLE);
return hCon;
}
virtual ~concol();
};
#endif //