mirror of
https://github.com/reactos/reactos.git
synced 2024-11-05 14:19:25 +00:00
66a44527fd
svn path=/trunk/; revision=58493
60 lines
1.7 KiB
C++
60 lines
1.7 KiB
C++
//
|
|
// Console.h: interface for the CConsole class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(CONSOLE_H__FEF419EC_6EB6_11D3_907D_204C4F4F5020__INCLUDED_)
|
|
#define CONSOLE_H__FEF419EC_6EB6_11D3_907D_204C4F4F5020__INCLUDED_
|
|
|
|
#include "TextHistory.h"
|
|
#include "Completion.h"
|
|
|
|
class CConsole
|
|
{
|
|
public:
|
|
void EnableWrite();
|
|
void DisableWrite();
|
|
void SetReplaceCompletionCallback(ReplaceCompletionCallback pfCallback);
|
|
BOOL SetInsertMode(BOOL blnInsetMode);
|
|
void BeginScrollingOperation();
|
|
TCHAR * Init(DWORD dwBufferSize, DWORD dwMaxHistoryLines = 0);
|
|
BOOL ReadLine();
|
|
BOOL FlushInputBuffer();
|
|
// BOOL SetOutputMode(DWORD dwMode);
|
|
// BOOL SetInputMode(DWORD dwMode);
|
|
BOOL SetTextAttribute(WORD wAttributes);
|
|
BOOL GetTextAttribute(WORD& rwAttributes);
|
|
BOOL SetTitle(const TCHAR *p);
|
|
BOOL Write(const TCHAR *p, DWORD dwChars = 0);
|
|
CConsole();
|
|
virtual ~CConsole();
|
|
unsigned int GetTabWidth();
|
|
private:
|
|
HANDLE m_hStdOut;
|
|
HANDLE m_hStdIn;
|
|
HANDLE m_hStdError;
|
|
COORD m_CursorPosition;
|
|
COORD m_BufferSize;
|
|
WORD m_wAttributes;
|
|
SHORT m_Lines;
|
|
BOOL WriteString(const TCHAR *pchString, COORD Position);
|
|
BOOL WriteChar(TCHAR ch);
|
|
BOOL m_blnInsetMode; // TRUE - insert, FALSE - overwrite
|
|
DWORD m_dwInsertModeCursorHeight;
|
|
DWORD m_dwOverwriteModeCursorHeight;
|
|
TCHAR *m_pchBuffer;
|
|
TCHAR *m_pchBuffer1;
|
|
TCHAR *m_pchBuffer2;
|
|
DWORD m_dwBufferSize;
|
|
ReplaceCompletionCallback m_pfReplaceCompletionCallback;
|
|
SHORT m_LinesScrolled;
|
|
BOOL m_blnMoreMode;
|
|
CTextHistory m_History;
|
|
BOOL m_blnDisableWrite;
|
|
DWORD m_dwOldOutputMode;
|
|
DWORD m_dwOldInputMode;
|
|
BOOL m_blnOldInputModeSaved;
|
|
BOOL m_blnOldOutputModeSaved;
|
|
};
|
|
|
|
#endif // !defined(CONSOLE_H__FEF419EC_6EB6_11D3_907D_204C4F4F5020__INCLUDED_)
|