Author: hbelusca
Date: Sun Dec 14 17:30:38 2014
New Revision: 65643
URL: http://svn.reactos.org/svn/reactos?rev=65643&view=rev
Log:
[CONSRV]: Move all references to VDM screenbuffers from condrv back to consrv (only ConDrvWriteConsoleOutputVDM remains in condrv for now...)
Modified:
branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/conoutput.c
branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/text.c
branches/condrv_restructure/win32ss/user/winsrv/consrv/conoutput.c
branches/condrv_restructure/win32ss/user/winsrv/consrv/include/conio.h
Modified: branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/conoutput.c
URL: http://svn.reactos.org/svn/reactos/branches/condrv_restructure/win32ss/user…
==============================================================================
--- branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/conoutput.c [iso-8859-1] (original)
+++ branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/conoutput.c [iso-8859-1] Sun Dec 14 17:30:38 2014
@@ -215,13 +215,6 @@
/* PUBLIC DRIVER APIS *********************************************************/
NTSTATUS NTAPI
-ConDrvWriteConsoleOutputVDM(IN PCONSOLE Console,
- IN PTEXTMODE_SCREEN_BUFFER Buffer,
- IN PCHAR_CELL CharInfo/*Buffer*/,
- IN COORD CharInfoSize,
- IN OUT PSMALL_RECT WriteRegion,
- IN BOOLEAN DrawRegion);
-NTSTATUS NTAPI
ConDrvInvalidateBitMapRect(IN PCONSOLE Console,
IN PCONSOLE_SCREEN_BUFFER Buffer,
IN PSMALL_RECT Region)
@@ -231,19 +224,6 @@
/* Validity check */
ASSERT(Console == Buffer->Header.Console);
-
- /* In text-mode only, draw the VDM buffer if present */
- if (GetType(Buffer) == TEXTMODE_BUFFER)
- {
- PTEXTMODE_SCREEN_BUFFER TextBuffer = (PTEXTMODE_SCREEN_BUFFER)Buffer;
-
- /*Status =*/ ConDrvWriteConsoleOutputVDM(Buffer->Header.Console,
- TextBuffer,
- Console->VDMBuffer,
- Console->VDMBufferSize,
- Region,
- FALSE);
- }
/* If the output buffer is the current one, redraw the correct portion of the screen */
if (Buffer == Console->ActiveBuffer) TermDrawRegion(Console, Region);
Modified: branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/text.c
URL: http://svn.reactos.org/svn/reactos/branches/condrv_restructure/win32ss/user…
==============================================================================
--- branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/text.c [iso-8859-1] (original)
+++ branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/text.c [iso-8859-1] Sun Dec 14 17:30:38 2014
@@ -597,14 +597,15 @@
/*
* NOTE: This function is strongly inspired by ConDrvWriteConsoleOutput...
+ * FIXME: This function MUST be moved into consrv/conoutput.c because only
+ * consrv knows how to manipulate VDM screenbuffers.
*/
NTSTATUS NTAPI
ConDrvWriteConsoleOutputVDM(IN PCONSOLE Console,
IN PTEXTMODE_SCREEN_BUFFER Buffer,
IN PCHAR_CELL CharInfo/*Buffer*/,
IN COORD CharInfoSize,
- IN OUT PSMALL_RECT WriteRegion,
- IN BOOLEAN DrawRegion)
+ IN PSMALL_RECT WriteRegion)
{
SHORT X, Y;
SMALL_RECT ScreenBuffer;
@@ -649,10 +650,6 @@
++CurCharInfo;
}
}
-
- if (DrawRegion) TermDrawRegion(Console, &CapturedWriteRegion);
-
- *WriteRegion = CapturedWriteRegion;
return STATUS_SUCCESS;
}
Modified: branches/condrv_restructure/win32ss/user/winsrv/consrv/conoutput.c
URL: http://svn.reactos.org/svn/reactos/branches/condrv_restructure/win32ss/user…
==============================================================================
--- branches/condrv_restructure/win32ss/user/winsrv/consrv/conoutput.c [iso-8859-1] (original)
+++ branches/condrv_restructure/win32ss/user/winsrv/consrv/conoutput.c [iso-8859-1] Sun Dec 14 17:30:38 2014
@@ -16,6 +16,16 @@
/* PUBLIC SERVER APIS *********************************************************/
+/*
+ * FIXME: This function MUST be moved fro condrv/conoutput.c because only
+ * consrv knows how to manipulate VDM screenbuffers.
+ */
+NTSTATUS NTAPI
+ConDrvWriteConsoleOutputVDM(IN PCONSOLE Console,
+ IN PTEXTMODE_SCREEN_BUFFER Buffer,
+ IN PCHAR_CELL CharInfo/*Buffer*/,
+ IN COORD CharInfoSize,
+ IN PSMALL_RECT WriteRegion);
NTSTATUS NTAPI
ConDrvInvalidateBitMapRect(IN PCONSOLE Console,
IN PCONSOLE_SCREEN_BUFFER Buffer,
@@ -32,6 +42,18 @@
InvalidateDIBitsRequest->OutputHandle,
&Buffer, GENERIC_READ, TRUE);
if (!NT_SUCCESS(Status)) return Status;
+
+ /* In text-mode only, draw the VDM buffer if present */
+ if (GetType(Buffer) == TEXTMODE_BUFFER)
+ {
+ PTEXTMODE_SCREEN_BUFFER TextBuffer = (PTEXTMODE_SCREEN_BUFFER)Buffer;
+
+ /*Status =*/ ConDrvWriteConsoleOutputVDM(Buffer->Header.Console,
+ TextBuffer,
+ Buffer->Header.Console->VDMBuffer,
+ Buffer->Header.Console->VDMBufferSize,
+ &InvalidateDIBitsRequest->Region);
+ }
Status = ConDrvInvalidateBitMapRect(Buffer->Header.Console,
Buffer,
Modified: branches/condrv_restructure/win32ss/user/winsrv/consrv/include/conio.h
URL: http://svn.reactos.org/svn/reactos/branches/condrv_restructure/win32ss/user…
==============================================================================
--- branches/condrv_restructure/win32ss/user/winsrv/consrv/include/conio.h [iso-8859-1] (original)
+++ branches/condrv_restructure/win32ss/user/winsrv/consrv/include/conio.h [iso-8859-1] Sun Dec 14 17:30:38 2014
@@ -307,11 +307,11 @@
LONG ReferenceCount; /* Is incremented each time a handle to something in the console (a screen-buffer or the input buffer of this console) gets referenced */
CRITICAL_SECTION Lock;
- CONSOLE_STATE State; /* State of the console */
- TERMINAL TermIFace; /* Frontend-specific interface */
-
ULONG ConsoleID; /* The ID of the console */
LIST_ENTRY ListEntry; /* Entry in the list of consoles */
+
+ CONSOLE_STATE State; /* State of the console */
+ TERMINAL TermIFace; /* Terminal-specific interface */
HANDLE UnpauseEvent; /* When != NULL, event for pausing the console */