[FONTSUB] Fix buildĀ²
[reactos.git] / modules / rosapps / applications / sysutils / regexpl / Console.h
1 //
2 // Console.h: interface for the CConsole class.
3 //
4 //////////////////////////////////////////////////////////////////////
5
6 #if !defined(CONSOLE_H__FEF419EC_6EB6_11D3_907D_204C4F4F5020__INCLUDED_)
7 #define CONSOLE_H__FEF419EC_6EB6_11D3_907D_204C4F4F5020__INCLUDED_
8
9 #include "TextHistory.h"
10 #include "Completion.h"
11
12 class CConsole
13 {
14 public:
15 void EnableWrite();
16 void DisableWrite();
17 void SetReplaceCompletionCallback(ReplaceCompletionCallback pfCallback);
18 BOOL SetInsertMode(BOOL blnInsetMode);
19 void BeginScrollingOperation();
20 TCHAR * Init(DWORD dwBufferSize, DWORD dwMaxHistoryLines = 0);
21 BOOL ReadLine();
22 BOOL FlushInputBuffer();
23 // BOOL SetOutputMode(DWORD dwMode);
24 // BOOL SetInputMode(DWORD dwMode);
25 BOOL SetTextAttribute(WORD wAttributes);
26 BOOL GetTextAttribute(WORD& rwAttributes);
27 BOOL SetTitle(const TCHAR *p);
28 BOOL Write(const TCHAR *p, DWORD dwChars = 0);
29 CConsole();
30 virtual ~CConsole();
31 unsigned int GetTabWidth();
32 private:
33 HANDLE m_hStdOut;
34 HANDLE m_hStdIn;
35 HANDLE m_hStdError;
36 COORD m_CursorPosition;
37 COORD m_BufferSize;
38 WORD m_wAttributes;
39 SHORT m_Lines;
40 BOOL WriteString(const TCHAR *pchString, COORD Position);
41 BOOL WriteChar(TCHAR ch);
42 BOOL m_blnInsetMode; // TRUE - insert, FALSE - overwrite
43 DWORD m_dwInsertModeCursorHeight;
44 DWORD m_dwOverwriteModeCursorHeight;
45 TCHAR *m_pchBuffer;
46 TCHAR *m_pchBuffer1;
47 TCHAR *m_pchBuffer2;
48 DWORD m_dwBufferSize;
49 ReplaceCompletionCallback m_pfReplaceCompletionCallback;
50 SHORT m_LinesScrolled;
51 BOOL m_blnMoreMode;
52 CTextHistory m_History;
53 BOOL m_blnDisableWrite;
54 DWORD m_dwOldOutputMode;
55 DWORD m_dwOldInputMode;
56 BOOL m_blnOldInputModeSaved;
57 BOOL m_blnOldOutputModeSaved;
58 };
59
60 #endif // !defined(CONSOLE_H__FEF419EC_6EB6_11D3_907D_204C4F4F5020__INCLUDED_)