source: trunk/src/kernel32/conbuffer.h

Last change on this file was 9975, checked in by sandervl, 22 years ago

YD: Changes for header updates

File size: 11.2 KB
Line 
1/* $Id: conbuffer.h,v 1.6 2003-04-02 12:58:28 sandervl Exp $ */
2
3/*
4 * Project Odin Software License can be found in LICENSE.TXT
5 * Win32 Console Subsystem for OS/2
6 * 1998/02/11 PH Patrick Haller (haller@zebra.fh-weingarten.de)
7 */
8
9#ifndef _CONSOLE_BUFFER_H_
10#define _CONSOLE_BUFFER_H_
11
12
13/*****************************************************************************
14 * Remark *
15 *****************************************************************************
16
17 */
18
19
20/*****************************************************************************
21 * Resources *
22 *****************************************************************************/
23
24
25/*****************************************************************************
26 * Includes *
27 *****************************************************************************/
28
29//#include <win32type.h>
30#include "handlemanager.h"
31#include "HMDevice.h"
32#include "console2.h"
33
34
35/*****************************************************************************
36 * ConsoleBuffer - does all the writing to an internal line buffer array *
37 * if this buffer is the active one, also does a screen updt *
38 *****************************************************************************/
39
40class HMDeviceConsoleBufferClass : public HMDeviceHandler
41{
42 protected:
43 PICONSOLEINPUT pConsoleInput; /* pointer to console input area */
44 PICONSOLEGLOBALS pConsoleGlobals; /* pointer to console global area */
45
46 public:
47 HMDeviceConsoleBufferClass(LPCSTR lpDeviceName,
48 PICONSOLEINPUT piConsoleInput,
49 PICONSOLEGLOBALS piConsoleGlobals)
50 : HMDeviceHandler(lpDeviceName)
51 {
52 pConsoleInput = piConsoleInput; // save pointers to this data
53 pConsoleGlobals = piConsoleGlobals;
54 }
55
56 /* this is a handler method for calls to CreateFile() */
57 virtual DWORD CreateFile (LPCSTR lpFileName,
58 PHMHANDLEDATA pHMHandleData,
59 PVOID lpSecurityAttributes,
60 PHMHANDLEDATA pHMHandleDataTemplate);
61
62 /* this is a handler method for calls to ReadFile() */
63 virtual BOOL ReadFile (PHMHANDLEDATA pHMHandleData,
64 LPCVOID lpBuffer,
65 DWORD nNumberOfBytesToRead,
66 LPDWORD lpNumberOfBytesRead,
67 LPOVERLAPPED lpOverlapped,
68 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
69
70 /* this is a handler method for calls to WriteFile() */
71 virtual BOOL WriteFile (PHMHANDLEDATA pHMHandleData,
72 LPCVOID lpBuffer,
73 DWORD nNumberOfBytesToWrite,
74 LPDWORD lpNumberOfBytesWritten,
75 LPOVERLAPPED lpOverlapped,
76 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
77
78 /* this is a handler method for calls to GetFileType() */
79 virtual DWORD GetFileType (PHMHANDLEDATA pHMHandleData);
80
81 virtual BOOL CloseHandle(PHMHANDLEDATA pHMHandleData);
82
83 virtual DWORD _DeviceRequest (PHMHANDLEDATA pHMHandleData,
84 ULONG ulRequestCode,
85 ULONG arg1,
86 ULONG arg2,
87 ULONG arg3,
88 ULONG arg4);
89
90
91 /************************************
92 * non-standard console I/O methods *
93 ************************************/
94
95 virtual DWORD FillConsoleOutputAttribute(PHMHANDLEDATA pHMHandleData,
96 WORD wAttribute,
97 DWORD nLength,
98 COORD dwWriteCoord,
99 LPDWORD lpNumberOfAttrsWritten);
100
101 virtual DWORD FillConsoleOutputCharacterA(PHMHANDLEDATA pHMHandleData,
102 UCHAR ucCharacter,
103 DWORD nLength,
104 COORD dwWriteCoord,
105 LPDWORD lpNumberOfCharsWritten);
106
107 virtual DWORD FillConsoleOutputCharacterW(PHMHANDLEDATA pHMHandleData,
108 WCHAR wcCharacter,
109 DWORD nLength,
110 COORD dwWriteCoord,
111 LPDWORD lpNumberOfCharsWritten);
112
113 virtual DWORD GetConsoleCursorInfo(PHMHANDLEDATA pHMHandleData,
114 PCONSOLE_CURSOR_INFO pCCI);
115
116 virtual DWORD GetConsoleMode(PHMHANDLEDATA pHMHandleData,
117 LPDWORD lpMode);
118
119 virtual DWORD GetLargestConsoleWindowSize(PHMHANDLEDATA pHMHandleData);
120
121 virtual DWORD GetConsoleScreenBufferInfo(PHMHANDLEDATA pHMHandleData,
122 PCONSOLE_SCREEN_BUFFER_INFO pCSBI);
123
124 virtual DWORD ReadConsoleOutputA(PHMHANDLEDATA pHMHandleData,
125 PCHAR_INFO pchiDestBuffer,
126 COORD coordDestBufferSize,
127 COORD coordDestBufferCoord,
128 PSMALL_RECT psrctSourceRect);
129
130 virtual DWORD ReadConsoleOutputW(PHMHANDLEDATA pHMHandleData,
131 PCHAR_INFO pchiDestBuffer,
132 COORD coordDestBufferSize,
133 COORD coordDestBufferCoord,
134 PSMALL_RECT psrctSourceRect);
135
136 virtual DWORD ReadConsoleOutputAttribute(PHMHANDLEDATA pHMHandleData,
137 LPWORD lpwAttribute,
138 DWORD cReadCells,
139 COORD dwReadCoord,
140 LPDWORD lpcNumberRead);
141
142 virtual DWORD ReadConsoleOutputCharacterA(PHMHANDLEDATA pHMHandleData,
143 LPTSTR lpwReadBuffer,
144 DWORD cchRead,
145 COORD coordReadCoord,
146 LPDWORD lpcNumberRead);
147
148 virtual DWORD ReadConsoleOutputCharacterW(PHMHANDLEDATA pHMHandleData,
149 LPWSTR lpwReadBuffer,
150 DWORD cchRead,
151 COORD coordReadCoord,
152 LPDWORD lpcNumberRead);
153
154 virtual DWORD ScrollConsoleScreenBufferA(PHMHANDLEDATA pHMHandleData,
155 PSMALL_RECT psrctSourceRect,
156 PSMALL_RECT psrctClipRect,
157 COORD coordDestOrigin,
158 PCHAR_INFO pchiFill);
159
160 virtual DWORD ScrollConsoleScreenBufferW(PHMHANDLEDATA pHMHandleData,
161 PSMALL_RECT psrctSourceRect,
162 PSMALL_RECT psrctClipRect,
163 COORD coordDestOrigin,
164 PCHAR_INFO pchiFill);
165
166 virtual DWORD SetConsoleScreenBufferSize (PHMHANDLEDATA pHMHandleData,
167 COORD coordSize);
168
169 virtual DWORD SetConsoleCursorInfo(PHMHANDLEDATA pHMHandleData,
170 PCONSOLE_CURSOR_INFO pCCI);
171
172 virtual DWORD SetConsoleCursorPosition(PHMHANDLEDATA pHMHandleData,
173 COORD coordCursorPosition);
174
175 virtual DWORD SetConsoleMode(PHMHANDLEDATA pHMHandleData,
176 DWORD dwMode);
177
178 virtual DWORD SetConsoleTextAttribute (PHMHANDLEDATA pHMHandleData,
179 WORD wAttr);
180
181 virtual DWORD SetConsoleActiveScreenBuffer(PHMHANDLEDATA pHMHandleData);
182
183 virtual BOOL SetConsoleWindowInfo(PHMHANDLEDATA pHMHandleData,
184 BOOL fAbsolute,
185 PSMALL_RECT psrctWindowRect);
186
187 virtual DWORD WriteConsoleA(PHMHANDLEDATA pHMHandleData,
188 CONST VOID* lpvBuffer,
189 DWORD cchToWrite,
190 LPDWORD lpcchWritten,
191 LPVOID lpvReserved);
192
193 virtual DWORD WriteConsoleW(PHMHANDLEDATA pHMHandleData,
194 CONST VOID* lpvBuffer,
195 DWORD cchToWrite,
196 LPDWORD lpcchWritten,
197 LPVOID lpvReserved);
198
199 virtual DWORD WriteConsoleOutputA(PHMHANDLEDATA pHMHandleData,
200 PCHAR_INFO pchiSrcBuffer,
201 COORD coordSrcBufferSize,
202 COORD coordSrcBufferCoord,
203 PSMALL_RECT psrctDestRect);
204
205 virtual DWORD WriteConsoleOutputW(PHMHANDLEDATA pHMHandleData,
206 PCHAR_INFO pchiSrcBuffer,
207 COORD coordSrcBufferSize,
208 COORD coordSrcBufferCoord,
209 PSMALL_RECT psrctDestRect);
210
211 virtual DWORD WriteConsoleOutputAttribute(PHMHANDLEDATA pHMHandleData,
212 LPWORD lpwAttribute,
213 DWORD cWriteCells,
214 COORD dwWriteCoord,
215 LPDWORD lpcWritten);
216
217 virtual DWORD WriteConsoleOutputCharacterA(PHMHANDLEDATA pHMHandleData,
218 LPTSTR lpWriteBuffer,
219 DWORD cchWrite,
220 COORD dwWriteCoord,
221 LPDWORD lpcWritten);
222
223 virtual DWORD WriteConsoleOutputCharacterW(PHMHANDLEDATA pHMHandleData,
224 LPWSTR lpWriteBuffer,
225 DWORD cchWrite,
226 COORD dwWriteCoord,
227 LPDWORD lpcWritten);
228};
229
230#endif /* _CONSOLE_BUFFER_H_ */
231
Note: See TracBrowser for help on using the repository browser.