/* ConLib.h */

/* Avoid redefinition */
#pragma once

/* Windows standard header file */
#include <windows.h>

/* Conlib colour codes */
enum ConColour
{
	ConRed		= 1,
	ConGreen	= 2,
	ConBlue		= 4
};

/* ConLib control Class */
class ConLib
{
	/* Screen and keyboard handles */
	HANDLE m_Screen;
	HANDLE m_Keyboard;

	/* Colour attributes */
	WORD m_TextColour;
	WORD m_BackgroundColour;

public:

	/* Constructor / Destructor */
	ConLib ();
	~ConLib ();

	/* Set attributes */
	void SetBackgroundColour (WORD Colour);
	void SetTextColour (WORD Colour);
	void SetTitle (char * Title);
	void SetPosition (COORD Position);

	/* Output methods */
	void Clear (void);
	void OutputString (char * String);

	/* Input methods */
	void Read (char * Buffer, DWORD BufferSize);
	int GetKey (void);
};